@deephaven/file-explorer 0.5.2-lessredux.14 → 0.6.1-demo.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/FileExplorer.d.ts +2 -2
- package/dist/FileExplorer.d.ts.map +1 -1
- package/dist/FileExplorer.js.map +1 -1
- package/dist/FileList.d.ts +1 -1
- package/dist/FileList.d.ts.map +1 -1
- package/dist/FileList.js +4 -3
- package/dist/FileList.js.map +1 -1
- package/dist/FileListContainer.d.ts +2 -2
- package/dist/FileListContainer.d.ts.map +1 -1
- package/dist/FileListContainer.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +15 -31
package/dist/FileExplorer.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import FileStorage, { FileStorageItem } from './FileStorage';
|
|
3
3
|
import './FileExplorer.scss';
|
|
4
4
|
export interface FileExplorerProps {
|
|
@@ -6,7 +6,7 @@ export interface FileExplorerProps {
|
|
|
6
6
|
isMultiSelect?: boolean;
|
|
7
7
|
onDelete?: (files: FileStorageItem[]) => void;
|
|
8
8
|
onRename?: (oldName: string, newName: string) => void;
|
|
9
|
-
onSelect: (file: FileStorageItem) => void;
|
|
9
|
+
onSelect: (file: FileStorageItem, event: React.SyntheticEvent) => void;
|
|
10
10
|
/** Height of each item in the list */
|
|
11
11
|
rowHeight?: number;
|
|
12
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileExplorer.d.ts","sourceRoot":"","sources":["../src/FileExplorer.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"FileExplorer.d.ts","sourceRoot":"","sources":["../src/FileExplorer.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAEzE,OAAO,WAAW,EAAE,EAClB,eAAe,EAGhB,MAAM,eAAe,CAAC;AACvB,OAAO,qBAAqB,CAAC;AAQ7B,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,WAAW,CAAC;IAErB,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,IAAI,CAAC;IAC9C,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACtD,QAAQ,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,cAAc,KAAK,IAAI,CAAC;IAEvE,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,YAAY;YAAW,iBAAiB,GAAG,WAAW;;CAkKlE,CAAC;AAIF,eAAe,YAAY,CAAC"}
|
package/dist/FileExplorer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/FileExplorer.tsx"],"names":["BasicModal","Log","PromiseUtils","React","useCallback","useEffect","useMemo","useState","DEFAULT_ROW_HEIGHT","isDirectory","FileListContainer","FileUtils","FileExistsError","FileNotFoundError","log","module","FileExplorer","props","storage","isMultiSelect","onDelete","undefined","onRename","onSelect","rowHeight","itemsToDelete","setItemsToDelete","table","setTable","tablePromise","initTable","debug","makeCancelable","getTable","t","close","e","isCanceled","error","cancel","handleError","handleDelete","files","handleDeleteConfirm","forEach","file","deleteFile","makePath","filename","handleDeleteCancel","handleMove","path","filesToMove","reducePaths","map","newFile","isPath","getBaseName","substring","length","moveFile","then","catch","handleRename","item","newName","name","isDir","endsWith","destination","getParent","debug2","handleValidateRename","renameItem","basename","validateName","newValue","getPath","fileInfo","info","isDeleteConfirmationShown","deleteConfirmationMessage","displayName"],"mappings":"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","sourcesContent":["import { BasicModal } from '@deephaven/components';\nimport Log from '@deephaven/log';\nimport { CancelablePromise, PromiseUtils } from '@deephaven/utils';\nimport React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport { DEFAULT_ROW_HEIGHT } from './FileList';\nimport FileStorage, {\n FileStorageItem,\n FileStorageTable,\n isDirectory,\n} from './FileStorage';\nimport './FileExplorer.scss';\nimport FileListContainer from './FileListContainer';\nimport FileUtils from './FileUtils';\nimport FileExistsError from './FileExistsError';\nimport FileNotFoundError from './FileNotFoundError';\n\nconst log = Log.module('FileExplorer');\n\nexport interface FileExplorerProps {\n storage: FileStorage;\n\n isMultiSelect?: boolean;\n\n onDelete?: (files: FileStorageItem[]) => void;\n onRename?: (oldName: string, newName: string) => void;\n onSelect: (file: FileStorageItem) => void;\n\n /** Height of each item in the list */\n rowHeight?: number;\n}\n\n/**\n * Component that displays and allows interaction with the file system in the provided FileStorage.\n */\nexport const FileExplorer = (props: FileExplorerProps): JSX.Element => {\n const {\n storage,\n isMultiSelect = false,\n onDelete = () => undefined,\n onRename = () => undefined,\n onSelect,\n rowHeight = DEFAULT_ROW_HEIGHT,\n } = props;\n const [itemsToDelete, setItemsToDelete] = useState<FileStorageItem[]>([]);\n const [table, setTable] = useState<FileStorageTable>();\n\n useEffect(() => {\n let tablePromise: CancelablePromise<FileStorageTable>;\n async function initTable() {\n log.debug('initTable');\n\n tablePromise = PromiseUtils.makeCancelable(storage.getTable(), t =>\n t.close()\n );\n\n try {\n setTable(await tablePromise);\n } catch (e) {\n if (!PromiseUtils.isCanceled(e)) {\n log.error('Unable to initialize table', e);\n }\n }\n }\n initTable();\n return () => {\n tablePromise.cancel();\n };\n }, [storage]);\n\n const handleError = useCallback((e: Error) => {\n if (!PromiseUtils.isCanceled(e)) {\n log.error(e);\n }\n }, []);\n\n const handleDelete = useCallback((files: FileStorageItem[]) => {\n log.debug('handleDelete, pending confirmation', files);\n setItemsToDelete(files);\n }, []);\n\n const handleDeleteConfirm = useCallback(() => {\n log.debug('handleDeleteConfirm', itemsToDelete);\n itemsToDelete.forEach(file =>\n storage.deleteFile(\n isDirectory(file) ? FileUtils.makePath(file.filename) : file.filename\n )\n );\n onDelete(itemsToDelete);\n setItemsToDelete([]);\n }, [itemsToDelete, onDelete, storage]);\n\n const handleDeleteCancel = useCallback(() => {\n log.debug('handleDeleteCancel');\n setItemsToDelete([]);\n }, []);\n\n const handleMove = useCallback(\n (files: FileStorageItem[], path: string) => {\n const filesToMove = FileUtils.reducePaths(\n files.map(file =>\n isDirectory(file) ? FileUtils.makePath(file.filename) : file.filename\n )\n );\n\n filesToMove.forEach(file => {\n const newFile = FileUtils.isPath(file)\n ? `${path}${FileUtils.getBaseName(\n file.substring(0, file.length - 1)\n )}/`\n : `${path}${FileUtils.getBaseName(file)}`;\n storage\n .moveFile(file, newFile)\n .then(() => {\n // Each moved file triggers a rename so parent knows something has happened\n // We signal each individually if for some reason there's an error moving one of the files\n onRename(file, newFile);\n })\n .catch(handleError);\n });\n },\n [handleError, onRename, storage]\n );\n\n const handleRename = useCallback(\n (item: FileStorageItem, newName: string) => {\n let name = item.filename;\n const isDir = isDirectory(item);\n if (isDir && !name.endsWith('/')) {\n name = `${name}/`;\n }\n let destination = `${FileUtils.getParent(name)}${newName}`;\n if (isDir && !destination.endsWith('/')) {\n destination = `${destination}/`;\n }\n log.debug2('handleRename', name, destination);\n storage.moveFile(name, destination).catch(handleError);\n onRename(name, destination);\n },\n [handleError, onRename, storage]\n );\n\n const handleValidateRename = useCallback(\n async (renameItem: FileStorageItem, newName: string): Promise<void> => {\n if (newName === renameItem.basename) {\n // Same name is fine\n return undefined;\n }\n FileUtils.validateName(newName);\n\n const newValue = `${FileUtils.getPath(renameItem.filename)}${newName}`;\n try {\n const fileInfo = await storage.info(newValue);\n throw new FileExistsError(fileInfo);\n } catch (e) {\n if (!(e instanceof FileNotFoundError)) {\n throw e;\n }\n // The file does not exist, fine to save at that path\n }\n },\n [storage]\n );\n\n const isDeleteConfirmationShown = itemsToDelete.length > 0;\n const deleteConfirmationMessage = useMemo(() => {\n if (itemsToDelete.length === 1) {\n return `Are you sure you want to delete \"${itemsToDelete[0].filename}\"?`;\n }\n return `Are you sure you want to delete the selected files?`;\n }, [itemsToDelete]);\n\n return (\n <div className=\"file-explorer\">\n {table && (\n <FileListContainer\n isMultiSelect={isMultiSelect}\n showContextMenu\n onMove={handleMove}\n onDelete={handleDelete}\n onRename={handleRename}\n onSelect={onSelect}\n rowHeight={rowHeight}\n table={table}\n validateRename={handleValidateRename}\n />\n )}\n <BasicModal\n isOpen={isDeleteConfirmationShown}\n headerText={deleteConfirmationMessage}\n bodyText=\"You cannot undo this action.\"\n onCancel={handleDeleteCancel}\n onConfirm={handleDeleteConfirm}\n confirmButtonText=\"Delete\"\n />\n </div>\n );\n};\n\nFileExplorer.displayName = 'FileExplorer';\n\nexport default FileExplorer;\n"],"file":"FileExplorer.js"}
|
|
1
|
+
{"version":3,"sources":["../src/FileExplorer.tsx"],"names":["BasicModal","Log","PromiseUtils","React","useCallback","useEffect","useMemo","useState","DEFAULT_ROW_HEIGHT","isDirectory","FileListContainer","FileUtils","FileExistsError","FileNotFoundError","log","module","FileExplorer","props","storage","isMultiSelect","onDelete","undefined","onRename","onSelect","rowHeight","itemsToDelete","setItemsToDelete","table","setTable","tablePromise","initTable","debug","makeCancelable","getTable","t","close","e","isCanceled","error","cancel","handleError","handleDelete","files","handleDeleteConfirm","forEach","file","deleteFile","makePath","filename","handleDeleteCancel","handleMove","path","filesToMove","reducePaths","map","newFile","isPath","getBaseName","substring","length","moveFile","then","catch","handleRename","item","newName","name","isDir","endsWith","destination","getParent","debug2","handleValidateRename","renameItem","basename","validateName","newValue","getPath","fileInfo","info","isDeleteConfirmationShown","deleteConfirmationMessage","displayName"],"mappings":"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","sourcesContent":["import { BasicModal } from '@deephaven/components';\nimport Log from '@deephaven/log';\nimport { CancelablePromise, PromiseUtils } from '@deephaven/utils';\nimport React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport { DEFAULT_ROW_HEIGHT } from './FileList';\nimport FileStorage, {\n FileStorageItem,\n FileStorageTable,\n isDirectory,\n} from './FileStorage';\nimport './FileExplorer.scss';\nimport FileListContainer from './FileListContainer';\nimport FileUtils from './FileUtils';\nimport FileExistsError from './FileExistsError';\nimport FileNotFoundError from './FileNotFoundError';\n\nconst log = Log.module('FileExplorer');\n\nexport interface FileExplorerProps {\n storage: FileStorage;\n\n isMultiSelect?: boolean;\n\n onDelete?: (files: FileStorageItem[]) => void;\n onRename?: (oldName: string, newName: string) => void;\n onSelect: (file: FileStorageItem, event: React.SyntheticEvent) => void;\n\n /** Height of each item in the list */\n rowHeight?: number;\n}\n\n/**\n * Component that displays and allows interaction with the file system in the provided FileStorage.\n */\nexport const FileExplorer = (props: FileExplorerProps): JSX.Element => {\n const {\n storage,\n isMultiSelect = false,\n onDelete = () => undefined,\n onRename = () => undefined,\n onSelect,\n rowHeight = DEFAULT_ROW_HEIGHT,\n } = props;\n const [itemsToDelete, setItemsToDelete] = useState<FileStorageItem[]>([]);\n const [table, setTable] = useState<FileStorageTable>();\n\n useEffect(() => {\n let tablePromise: CancelablePromise<FileStorageTable>;\n async function initTable() {\n log.debug('initTable');\n\n tablePromise = PromiseUtils.makeCancelable(storage.getTable(), t =>\n t.close()\n );\n\n try {\n setTable(await tablePromise);\n } catch (e) {\n if (!PromiseUtils.isCanceled(e)) {\n log.error('Unable to initialize table', e);\n }\n }\n }\n initTable();\n return () => {\n tablePromise.cancel();\n };\n }, [storage]);\n\n const handleError = useCallback((e: Error) => {\n if (!PromiseUtils.isCanceled(e)) {\n log.error(e);\n }\n }, []);\n\n const handleDelete = useCallback((files: FileStorageItem[]) => {\n log.debug('handleDelete, pending confirmation', files);\n setItemsToDelete(files);\n }, []);\n\n const handleDeleteConfirm = useCallback(() => {\n log.debug('handleDeleteConfirm', itemsToDelete);\n itemsToDelete.forEach(file =>\n storage.deleteFile(\n isDirectory(file) ? FileUtils.makePath(file.filename) : file.filename\n )\n );\n onDelete(itemsToDelete);\n setItemsToDelete([]);\n }, [itemsToDelete, onDelete, storage]);\n\n const handleDeleteCancel = useCallback(() => {\n log.debug('handleDeleteCancel');\n setItemsToDelete([]);\n }, []);\n\n const handleMove = useCallback(\n (files: FileStorageItem[], path: string) => {\n const filesToMove = FileUtils.reducePaths(\n files.map(file =>\n isDirectory(file) ? FileUtils.makePath(file.filename) : file.filename\n )\n );\n\n filesToMove.forEach(file => {\n const newFile = FileUtils.isPath(file)\n ? `${path}${FileUtils.getBaseName(\n file.substring(0, file.length - 1)\n )}/`\n : `${path}${FileUtils.getBaseName(file)}`;\n storage\n .moveFile(file, newFile)\n .then(() => {\n // Each moved file triggers a rename so parent knows something has happened\n // We signal each individually if for some reason there's an error moving one of the files\n onRename(file, newFile);\n })\n .catch(handleError);\n });\n },\n [handleError, onRename, storage]\n );\n\n const handleRename = useCallback(\n (item: FileStorageItem, newName: string) => {\n let name = item.filename;\n const isDir = isDirectory(item);\n if (isDir && !name.endsWith('/')) {\n name = `${name}/`;\n }\n let destination = `${FileUtils.getParent(name)}${newName}`;\n if (isDir && !destination.endsWith('/')) {\n destination = `${destination}/`;\n }\n log.debug2('handleRename', name, destination);\n storage.moveFile(name, destination).catch(handleError);\n onRename(name, destination);\n },\n [handleError, onRename, storage]\n );\n\n const handleValidateRename = useCallback(\n async (renameItem: FileStorageItem, newName: string): Promise<void> => {\n if (newName === renameItem.basename) {\n // Same name is fine\n return undefined;\n }\n FileUtils.validateName(newName);\n\n const newValue = `${FileUtils.getPath(renameItem.filename)}${newName}`;\n try {\n const fileInfo = await storage.info(newValue);\n throw new FileExistsError(fileInfo);\n } catch (e) {\n if (!(e instanceof FileNotFoundError)) {\n throw e;\n }\n // The file does not exist, fine to save at that path\n }\n },\n [storage]\n );\n\n const isDeleteConfirmationShown = itemsToDelete.length > 0;\n const deleteConfirmationMessage = useMemo(() => {\n if (itemsToDelete.length === 1) {\n return `Are you sure you want to delete \"${itemsToDelete[0].filename}\"?`;\n }\n return `Are you sure you want to delete the selected files?`;\n }, [itemsToDelete]);\n\n return (\n <div className=\"file-explorer\">\n {table && (\n <FileListContainer\n isMultiSelect={isMultiSelect}\n showContextMenu\n onMove={handleMove}\n onDelete={handleDelete}\n onRename={handleRename}\n onSelect={onSelect}\n rowHeight={rowHeight}\n table={table}\n validateRename={handleValidateRename}\n />\n )}\n <BasicModal\n isOpen={isDeleteConfirmationShown}\n headerText={deleteConfirmationMessage}\n bodyText=\"You cannot undo this action.\"\n onCancel={handleDeleteCancel}\n onConfirm={handleDeleteConfirm}\n confirmButtonText=\"Delete\"\n />\n </div>\n );\n};\n\nFileExplorer.displayName = 'FileExplorer';\n\nexport default FileExplorer;\n"],"file":"FileExplorer.js"}
|
package/dist/FileList.d.ts
CHANGED
|
@@ -28,7 +28,7 @@ export interface FileListProps {
|
|
|
28
28
|
isMultiSelect?: boolean;
|
|
29
29
|
onFocusChange?: (focusedItem?: FileStorageItem) => void;
|
|
30
30
|
onMove: (files: FileStorageItem[], path: string) => void;
|
|
31
|
-
onSelect: (file: FileStorageItem) => void;
|
|
31
|
+
onSelect: (file: FileStorageItem, event: React.SyntheticEvent) => void;
|
|
32
32
|
onSelectionChange?: (selectedItems: FileStorageItem[]) => void;
|
|
33
33
|
renderItem?: (props: FileListRenderItemProps) => JSX.Element;
|
|
34
34
|
/** Height of each item in the list */
|
package/dist/FileList.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileList.d.ts","sourceRoot":"","sources":["../src/FileList.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAmB,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAKzE,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAEnE,OAAO,KAMN,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAe,MAAM,eAAe,CAAC;AAC/E,OAAO,iBAAiB,CAAC;AAKzB,oBAAY,cAAc,GAAG;IAC3B,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,oBAAY,YAAY,GAAG;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,oBAAY,uBAAuB,GAAG,eAAe,CAAC,eAAe,CAAC,GAAG;IACvE,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,eAAe,CAAC;IACjC,YAAY,CAAC,EAAE,eAAe,EAAE,CAAC;IACjC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iBAAiB,EAAE,OAAO,CAAC;IAE3B,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;IACrE,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;IACpE,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;IACnE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;CACjE,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,gBAAgB,CAAC;IAExB,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,aAAa,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC;IACxD,MAAM,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,QAAQ,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"FileList.d.ts","sourceRoot":"","sources":["../src/FileList.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAmB,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAKzE,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAEnE,OAAO,KAMN,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAe,MAAM,eAAe,CAAC;AAC/E,OAAO,iBAAiB,CAAC;AAKzB,oBAAY,cAAc,GAAG;IAC3B,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,oBAAY,YAAY,GAAG;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,oBAAY,uBAAuB,GAAG,eAAe,CAAC,eAAe,CAAC,GAAG;IACvE,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,eAAe,CAAC;IACjC,YAAY,CAAC,EAAE,eAAe,EAAE,CAAC;IACjC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iBAAiB,EAAE,OAAO,CAAC;IAE3B,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;IACrE,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;IACpE,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;IACnE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;CACjE,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,gBAAgB,CAAC;IAExB,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,aAAa,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC;IACxD,MAAM,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,QAAQ,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,cAAc,KAAK,IAAI,CAAC;IACvE,iBAAiB,CAAC,EAAE,CAAC,aAAa,EAAE,eAAe,EAAE,KAAK,IAAI,CAAC;IAE/D,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,GAAG,CAAC,OAAO,CAAC;IAE7D,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,eAAe,SAAU,eAAe,KAAG,MAGlB,CAAC;AAEvC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAGrC,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAItC,eAAO,MAAM,kBAAkB,UACtB,uBAAuB,KAC7B,WAkEF,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,cAAc,CAWjE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,eAAe,EAAE,EAC/B,UAAU,EAAE,eAAe,GAC1B;IAAE,KAAK,EAAE,eAAe,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAyBlD;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,UAAW,aAAa,KAAG,WAgX/C,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
package/dist/FileList.js
CHANGED
|
@@ -272,12 +272,12 @@ export var FileList = props => {
|
|
|
272
272
|
log.error('Unable to complete move', err);
|
|
273
273
|
}
|
|
274
274
|
}, [draggedItems, dropTargetItem, onMove]);
|
|
275
|
-
var handleSelect = useCallback(itemIndex => {
|
|
275
|
+
var handleSelect = useCallback((itemIndex, event) => {
|
|
276
276
|
var item = loadedViewport.items[itemIndex - loadedViewport.offset];
|
|
277
277
|
|
|
278
278
|
if (item !== undefined) {
|
|
279
279
|
log.debug('handleItemClick', item);
|
|
280
|
-
onSelect(item);
|
|
280
|
+
onSelect(item, event);
|
|
281
281
|
|
|
282
282
|
if (isDirectory(item)) {
|
|
283
283
|
table === null || table === void 0 ? void 0 : table.setExpanded(item.filename, !item.isExpanded);
|
|
@@ -456,7 +456,8 @@ export var FileList = props => {
|
|
|
456
456
|
renderItem: renderWrapper,
|
|
457
457
|
rowHeight: rowHeight,
|
|
458
458
|
isMultiSelect: isMultiSelect,
|
|
459
|
-
isDragSelect: false
|
|
459
|
+
isDragSelect: false,
|
|
460
|
+
isDeselectOnClick: false
|
|
460
461
|
}));
|
|
461
462
|
};
|
|
462
463
|
export default FileList;
|
package/dist/FileList.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/FileList.tsx"],"names":["ItemList","dhPython","vsCode","vsFolder","vsFolderOpened","Log","RangeUtils","FontAwesomeIcon","classNames","React","useCallback","useEffect","useMemo","useRef","useState","isDirectory","FileUtils","MIME_TYPE","log","module","getPathFromItem","file","makePath","filename","getPath","DEFAULT_ROW_HEIGHT","DRAG_HOVER_TIMEOUT","ITEM_LIST_CLASS_NAME","renderFileListItem","props","children","draggedItems","isDragInProgress","isDropTargetValid","isSelected","item","itemIndex","dropTargetItem","onDragStart","onDragOver","onDragEnd","onDrop","isDragged","some","draggedItem","id","itemPath","dropTargetPath","isExactDropTarget","isInDropTarget","isInvalidDropTarget","icon","getItemIcon","depth","getDepth","depthLines","Array","fill","map","value","index","e","basename","isExpanded","mimeType","getMimeType","PYTHON","getMoveOperation","targetItem","length","Error","targetPath","startsWith","files","FileList","isMultiSelect","table","onFocusChange","undefined","onMove","onSelect","onSelectionChange","renderItem","rowHeight","overscanCount","DEFAULT_OVERSCAN","loadedViewport","setLoadedViewport","items","offset","itemCount","viewport","setViewport","top","bottom","setDropTargetItem","setDraggedItems","dragPlaceholder","setDragPlaceholder","selectedRanges","setSelectedRanges","itemList","fileList","getItems","ranges","i","range","j","push","getItem","getDragPlaceholderText","count","dropItems","debug","current","focusItem","err","error","handleSelect","setExpanded","handleItemDragStart","debug2","draggedRanges","resetMouseState","newDragPlaceholder","document","createElement","innerHTML","className","body","appendChild","dataTransfer","setDragImage","effectAllowed","handleItemDragOver","preventDefault","handleItemDragEnd","remove","handleItemDrop","handleItemDragExit","handleListDragOver","target","Element","classList","contains","type","handleListDrop","handleSelectionChange","newSelectedRanges","selectedItems","handleFocusChange","focusIndex","focusedItem","handleViewportChange","Math","max","listenerRemover","onUpdate","newViewport","itemName","size","timeout","setTimeout","clearTimeout","renderWrapper","itemProps","onDragExit"],"mappings":"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","sourcesContent":["import { ItemList, Range, RenderItemProps } from '@deephaven/components';\nimport { dhPython, vsCode, vsFolder, vsFolderOpened } from '@deephaven/icons';\nimport Log from '@deephaven/log';\nimport { RangeUtils } from '@deephaven/utils';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { IconDefinition } from '@fortawesome/fontawesome-svg-core';\nimport classNames from 'classnames';\nimport React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { FileStorageItem, FileStorageTable, isDirectory } from './FileStorage';\nimport './FileList.scss';\nimport FileUtils, { MIME_TYPE } from './FileUtils';\n\nconst log = Log.module('FileList');\n\nexport type LoadedViewport = {\n items: FileStorageItem[];\n offset: number;\n itemCount: number;\n};\n\nexport type ListViewport = {\n top: number;\n bottom: number;\n};\n\nexport type FileListRenderItemProps = RenderItemProps<FileStorageItem> & {\n children?: JSX.Element;\n dropTargetItem?: FileStorageItem;\n draggedItems?: FileStorageItem[];\n isDragInProgress: boolean;\n isDropTargetValid: boolean;\n\n onDragStart(index: number, e: React.DragEvent<HTMLDivElement>): void;\n onDragOver(index: number, e: React.DragEvent<HTMLDivElement>): void;\n onDragEnd(index: number, e: React.DragEvent<HTMLDivElement>): void;\n onDrop(index: number, e: React.DragEvent<HTMLDivElement>): void;\n};\n\nexport interface FileListProps {\n table: FileStorageTable;\n\n isMultiSelect?: boolean;\n\n onFocusChange?: (focusedItem?: FileStorageItem) => void;\n onMove: (files: FileStorageItem[], path: string) => void;\n onSelect: (file: FileStorageItem) => void;\n onSelectionChange?: (selectedItems: FileStorageItem[]) => void;\n\n renderItem?: (props: FileListRenderItemProps) => JSX.Element;\n\n /** Height of each item in the list */\n rowHeight?: number;\n\n overscanCount?: number;\n}\n\nexport const getPathFromItem = (file: FileStorageItem): string =>\n isDirectory(file)\n ? FileUtils.makePath(file.filename)\n : FileUtils.getPath(file.filename);\n\nexport const DEFAULT_ROW_HEIGHT = 26;\n\n// How long you need to hover over a directory before it expands\nexport const DRAG_HOVER_TIMEOUT = 500;\n\nconst ITEM_LIST_CLASS_NAME = 'item-list-scroll-pane';\n\nexport const renderFileListItem = (\n props: FileListRenderItemProps\n): JSX.Element => {\n const {\n children,\n draggedItems,\n isDragInProgress,\n isDropTargetValid,\n isSelected,\n item,\n itemIndex,\n dropTargetItem,\n onDragStart,\n onDragOver,\n onDragEnd,\n onDrop,\n } = props;\n\n const isDragged =\n draggedItems?.some(draggedItem => draggedItem.id === item.id) ?? false;\n const itemPath = getPathFromItem(item);\n const dropTargetPath =\n isDragInProgress && dropTargetItem ? getPathFromItem(dropTargetItem) : null;\n\n const isExactDropTarget =\n isDragInProgress &&\n isDropTargetValid &&\n isDirectory(item) &&\n dropTargetPath === itemPath;\n const isInDropTarget =\n isDragInProgress && isDropTargetValid && dropTargetPath === itemPath;\n const isInvalidDropTarget =\n isDragInProgress && !isDropTargetValid && dropTargetPath === itemPath;\n\n const icon = getItemIcon(item);\n const depth = FileUtils.getDepth(item.filename);\n const depthLines = Array(depth)\n .fill(null)\n .map((value, index) => (\n // eslint-disable-next-line react/no-array-index-key\n <span className=\"file-list-depth-line\" key={index} />\n ));\n\n return (\n <div\n className={classNames(\n 'd-flex w-100 align-items-center',\n 'file-list-item',\n {\n 'is-dragged': isDragged,\n 'is-exact-drop-target': isExactDropTarget,\n 'is-in-drop-target': isInDropTarget,\n 'is-invalid-drop-target': isInvalidDropTarget,\n 'is-selected': isSelected,\n }\n )}\n onDragStart={e => onDragStart(itemIndex, e)}\n onDragOver={e => onDragOver(itemIndex, e)}\n onDragEnd={e => onDragEnd(itemIndex, e)}\n onDrop={e => onDrop(itemIndex, e)}\n draggable\n role=\"presentation\"\n >\n {depthLines}{' '}\n <FontAwesomeIcon icon={icon} className=\"item-icon\" fixedWidth />{' '}\n {children ?? item.basename}\n </div>\n );\n};\n\n/**\n * Get the icon definition for a file or folder item\n * @param {FileStorageItem} item Item to get the icon for\n * @returns {IconDefinition} Icon definition to pass in the FontAwesomeIcon icon prop\n */\nexport function getItemIcon(item: FileStorageItem): IconDefinition {\n if (isDirectory(item)) {\n return item.isExpanded ? vsFolderOpened : vsFolder;\n }\n const mimeType = FileUtils.getMimeType(item.basename);\n switch (mimeType) {\n case MIME_TYPE.PYTHON:\n return dhPython;\n default:\n return vsCode;\n }\n}\n\n/**\n * Get the move operation for the current selection and the given target. Throws if the operation is invalid.\n */\nexport function getMoveOperation(\n draggedItems: FileStorageItem[],\n targetItem: FileStorageItem\n): { files: FileStorageItem[]; targetPath: string } {\n if (draggedItems.length === 0 || !targetItem) {\n throw new Error('No items to move');\n }\n\n const targetPath = getPathFromItem(targetItem);\n if (\n draggedItems.some(\n ({ filename }) => FileUtils.getPath(filename) === targetPath\n )\n ) {\n // Cannot drop if target is one of the dragged items is already in the target folder\n throw new Error('File already in the destination folder');\n }\n if (\n draggedItems.some(\n item =>\n isDirectory(item) &&\n targetPath.startsWith(FileUtils.makePath(item.filename))\n )\n ) {\n // Cannot drop if target is a child of one of the directories being moved\n throw new Error('Destination folder cannot be a child of a dragged folder');\n }\n return { files: draggedItems, targetPath };\n}\n\n/**\n * Component that displays and allows interaction with the file system in the provided FileStorageTable.\n */\nexport const FileList = (props: FileListProps): JSX.Element => {\n const {\n isMultiSelect = false,\n table,\n onFocusChange = () => undefined,\n onMove,\n onSelect,\n onSelectionChange = () => undefined,\n renderItem = renderFileListItem,\n rowHeight = DEFAULT_ROW_HEIGHT,\n overscanCount = ItemList.DEFAULT_OVERSCAN,\n } = props;\n const [loadedViewport, setLoadedViewport] = useState<LoadedViewport>(() => ({\n items: [],\n offset: 0,\n itemCount: 0,\n }));\n const [viewport, setViewport] = useState<ListViewport>({\n top: 0,\n bottom: 0,\n });\n\n const [dropTargetItem, setDropTargetItem] = useState<FileStorageItem>();\n const [draggedItems, setDraggedItems] = useState<FileStorageItem[]>();\n const [dragPlaceholder, setDragPlaceholder] = useState<HTMLDivElement>();\n const [selectedRanges, setSelectedRanges] = useState([] as Range[]);\n const itemList = useRef<ItemList<FileStorageItem>>(null);\n const fileList = useRef<HTMLDivElement>(null);\n\n const getItems = useCallback(\n (ranges: Range[]): FileStorageItem[] => {\n if (ranges.length === 0 || !loadedViewport) {\n return [];\n }\n\n const items = [] as FileStorageItem[];\n for (let i = 0; i < ranges.length; i += 1) {\n const range = ranges[i];\n for (let j = range[0]; j <= range[1]; j += 1) {\n if (\n j >= loadedViewport.offset &&\n j < loadedViewport.offset + loadedViewport.items.length\n ) {\n items.push(loadedViewport.items[j - loadedViewport.offset]);\n }\n }\n }\n return items;\n },\n [loadedViewport]\n );\n\n const getItem = useCallback(\n (itemIndex: number): FileStorageItem | undefined => {\n const items = getItems([[itemIndex, itemIndex]]);\n if (items.length > 0) {\n return items[0];\n }\n },\n [getItems]\n );\n\n /**\n * Get the placeholder text to show when a drag operation is in progress\n */\n const getDragPlaceholderText = useCallback(() => {\n const count = RangeUtils.count(selectedRanges);\n if (count === 0) {\n return null;\n }\n\n if (count === 1) {\n const index = selectedRanges[0][0];\n const item = getItem(index);\n if (item != null) {\n return item.filename;\n }\n }\n return `${count} items`;\n }, [getItem, selectedRanges]);\n\n /**\n * Drop the currently dragged items at the currently set drop target.\n * If an itemIndex is provided, focus that index after the drop.\n */\n const dropItems = useCallback(\n (itemIndex?: number) => {\n if (!draggedItems || !dropTargetItem) {\n return;\n }\n\n log.debug('dropItems', draggedItems, 'to', itemIndex);\n\n try {\n const { files, targetPath } = getMoveOperation(\n draggedItems,\n dropTargetItem\n );\n onMove(files, targetPath);\n if (itemIndex != null) {\n setSelectedRanges([[itemIndex, itemIndex]]);\n itemList.current?.focusItem(itemIndex);\n }\n } catch (err) {\n log.error('Unable to complete move', err);\n }\n },\n [draggedItems, dropTargetItem, onMove]\n );\n\n const handleSelect = useCallback(\n (itemIndex: number) => {\n const item = loadedViewport.items[itemIndex - loadedViewport.offset];\n if (item !== undefined) {\n log.debug('handleItemClick', item);\n\n onSelect(item);\n if (isDirectory(item)) {\n table?.setExpanded(item.filename, !item.isExpanded);\n }\n }\n },\n [loadedViewport, onSelect, table]\n );\n\n const handleItemDragStart = useCallback(\n (itemIndex: number, e: React.DragEvent<HTMLDivElement>) => {\n log.debug2('handleItemDragStart', itemIndex, selectedRanges);\n\n let draggedRanges = selectedRanges;\n if (!RangeUtils.isSelected(selectedRanges, itemIndex)) {\n draggedRanges = [[itemIndex, itemIndex]];\n setSelectedRanges(draggedRanges);\n }\n\n setDraggedItems(getItems(draggedRanges));\n\n // We need to reset reset the mouse state since we steal the drag\n itemList.current?.resetMouseState();\n\n const newDragPlaceholder = document.createElement('div');\n newDragPlaceholder.innerHTML = `<div class=\"dnd-placeholder-content\">${getDragPlaceholderText()}</div>`;\n newDragPlaceholder.className = 'file-list-dnd-placeholder';\n document.body.appendChild(newDragPlaceholder);\n e.dataTransfer.setDragImage(newDragPlaceholder, 0, 0);\n e.dataTransfer.effectAllowed = 'move';\n setDragPlaceholder(newDragPlaceholder);\n },\n [getDragPlaceholderText, getItems, selectedRanges]\n );\n\n const handleItemDragOver = useCallback(\n (itemIndex: number, e: React.DragEvent<HTMLDivElement>) => {\n e.preventDefault();\n\n log.debug2('handleItemDragOver', e);\n setDropTargetItem(getItem(itemIndex));\n },\n [getItem]\n );\n\n const handleItemDragEnd = useCallback(\n (itemIndex: number, e: React.DragEvent<HTMLDivElement>) => {\n log.debug('handleItemDragEnd', itemIndex);\n\n dragPlaceholder?.remove();\n\n // Drag end is triggered after drop\n // Also drop isn't triggered if drag end is outside of the list\n setDraggedItems(undefined);\n setDropTargetItem(undefined);\n setDragPlaceholder(undefined);\n },\n [dragPlaceholder]\n );\n\n const handleItemDrop = useCallback(\n (itemIndex: number, e: React.DragEvent<HTMLDivElement>) => {\n dropItems(itemIndex);\n },\n [dropItems]\n );\n\n const handleItemDragExit = useCallback(() => {\n log.debug2('handleItemDragExit');\n setDropTargetItem(undefined);\n }, []);\n\n const handleListDragOver = useCallback(\n (e: React.DragEvent<HTMLDivElement>) => {\n if (\n e.target instanceof Element &&\n e.target.classList.contains(ITEM_LIST_CLASS_NAME)\n ) {\n // Need to prevent default to enable drop\n // https://developer.mozilla.org/en-US/docs/Web/API/HTML_Drag_and_Drop_API/Drag_operations#droptargets\n e.preventDefault();\n\n log.debug2('handleListDragOver', e);\n setDropTargetItem({\n type: 'directory',\n filename: '/',\n basename: '/',\n id: '/',\n });\n }\n },\n []\n );\n\n const handleListDrop = useCallback(\n (e: React.DragEvent<HTMLDivElement>) => {\n if (\n e.target instanceof Element &&\n e.target.classList.contains(ITEM_LIST_CLASS_NAME)\n ) {\n log.debug('handleListDrop');\n dropItems();\n }\n },\n [dropItems]\n );\n\n const handleSelectionChange = useCallback(\n newSelectedRanges => {\n log.debug2('handleSelectionChange', newSelectedRanges);\n if (newSelectedRanges !== selectedRanges) {\n setSelectedRanges(newSelectedRanges);\n const selectedItems = getItems(newSelectedRanges);\n onSelectionChange(selectedItems);\n }\n },\n [getItems, onSelectionChange, selectedRanges]\n );\n\n const handleFocusChange = useCallback(\n focusIndex => {\n log.debug2('handleFocusChange', focusIndex);\n if (focusIndex != null) {\n const [focusedItem] = getItems([[focusIndex, focusIndex]]);\n onFocusChange(focusedItem);\n } else {\n onFocusChange();\n }\n },\n [getItems, onFocusChange]\n );\n\n const handleViewportChange = useCallback(\n (top: number, bottom: number) => {\n log.debug('handleViewportChange', top, bottom);\n if (top !== viewport.top || bottom !== viewport.bottom) {\n setViewport({ top, bottom });\n }\n },\n [viewport]\n );\n\n const isDropTargetValid = useMemo(() => {\n if (!draggedItems || !dropTargetItem) {\n return false;\n }\n\n try {\n getMoveOperation(draggedItems, dropTargetItem);\n log.debug('handleValidateDropTarget true');\n return true;\n } catch (e) {\n log.debug('handleValidateDropTarget false');\n return false;\n }\n }, [draggedItems, dropTargetItem]);\n\n useEffect(() => {\n log.debug('updating table viewport', viewport);\n table?.setViewport({\n top: Math.max(0, viewport.top - overscanCount),\n bottom: viewport.bottom + overscanCount,\n });\n }, [overscanCount, table, viewport]);\n\n // Listen for table updates\n useEffect(() => {\n const listenerRemover = table.onUpdate(newViewport => {\n setLoadedViewport({\n items: newViewport.items.map(item => ({\n ...item,\n itemName: item.basename,\n })),\n offset: newViewport.offset,\n itemCount: table.size,\n });\n });\n return () => {\n listenerRemover();\n };\n }, [table]);\n\n // Expand a folder if hovering over it\n useEffect(() => {\n if (\n dropTargetItem != null &&\n isDirectory(dropTargetItem) &&\n dropTargetItem.filename !== '/'\n ) {\n const timeout = setTimeout(() => {\n if (!dropTargetItem.isExpanded) {\n table?.setExpanded(dropTargetItem.filename, true);\n }\n }, DRAG_HOVER_TIMEOUT);\n return () => clearTimeout(timeout);\n }\n }, [dropTargetItem, table]);\n\n const renderWrapper = useCallback(\n itemProps =>\n renderItem({\n ...itemProps,\n isDragInProgress: draggedItems != null,\n dropTargetItem,\n draggedItems,\n isDropTargetValid,\n onDragStart: handleItemDragStart,\n onDragEnd: handleItemDragEnd,\n onDragOver: handleItemDragOver,\n onDragExit: handleItemDragExit,\n onDrop: handleItemDrop,\n }),\n [\n handleItemDragEnd,\n handleItemDragExit,\n handleItemDragOver,\n handleItemDragStart,\n handleItemDrop,\n draggedItems,\n dropTargetItem,\n isDropTargetValid,\n renderItem,\n ]\n );\n\n return (\n <div\n ref={fileList}\n className={classNames('file-list', {\n 'is-dragging': draggedItems != null,\n })}\n onDragOver={handleListDragOver}\n onDrop={handleListDrop}\n >\n <ItemList\n ref={itemList}\n items={loadedViewport.items}\n itemCount={loadedViewport.itemCount}\n offset={loadedViewport.offset}\n onFocusChange={handleFocusChange}\n onSelect={handleSelect}\n onSelectionChange={handleSelectionChange}\n onViewportChange={handleViewportChange}\n selectedRanges={selectedRanges}\n renderItem={renderWrapper}\n rowHeight={rowHeight}\n isMultiSelect={isMultiSelect}\n isDragSelect={false}\n />\n </div>\n );\n};\n\nexport default FileList;\n"],"file":"FileList.js"}
|
|
1
|
+
{"version":3,"sources":["../src/FileList.tsx"],"names":["ItemList","dhPython","vsCode","vsFolder","vsFolderOpened","Log","RangeUtils","FontAwesomeIcon","classNames","React","useCallback","useEffect","useMemo","useRef","useState","isDirectory","FileUtils","MIME_TYPE","log","module","getPathFromItem","file","makePath","filename","getPath","DEFAULT_ROW_HEIGHT","DRAG_HOVER_TIMEOUT","ITEM_LIST_CLASS_NAME","renderFileListItem","props","children","draggedItems","isDragInProgress","isDropTargetValid","isSelected","item","itemIndex","dropTargetItem","onDragStart","onDragOver","onDragEnd","onDrop","isDragged","some","draggedItem","id","itemPath","dropTargetPath","isExactDropTarget","isInDropTarget","isInvalidDropTarget","icon","getItemIcon","depth","getDepth","depthLines","Array","fill","map","value","index","e","basename","isExpanded","mimeType","getMimeType","PYTHON","getMoveOperation","targetItem","length","Error","targetPath","startsWith","files","FileList","isMultiSelect","table","onFocusChange","undefined","onMove","onSelect","onSelectionChange","renderItem","rowHeight","overscanCount","DEFAULT_OVERSCAN","loadedViewport","setLoadedViewport","items","offset","itemCount","viewport","setViewport","top","bottom","setDropTargetItem","setDraggedItems","dragPlaceholder","setDragPlaceholder","selectedRanges","setSelectedRanges","itemList","fileList","getItems","ranges","i","range","j","push","getItem","getDragPlaceholderText","count","dropItems","debug","current","focusItem","err","error","handleSelect","event","setExpanded","handleItemDragStart","debug2","draggedRanges","resetMouseState","newDragPlaceholder","document","createElement","innerHTML","className","body","appendChild","dataTransfer","setDragImage","effectAllowed","handleItemDragOver","preventDefault","handleItemDragEnd","remove","handleItemDrop","handleItemDragExit","handleListDragOver","target","Element","classList","contains","type","handleListDrop","handleSelectionChange","newSelectedRanges","selectedItems","handleFocusChange","focusIndex","focusedItem","handleViewportChange","Math","max","listenerRemover","onUpdate","newViewport","itemName","size","timeout","setTimeout","clearTimeout","renderWrapper","itemProps","onDragExit"],"mappings":"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","sourcesContent":["import { ItemList, Range, RenderItemProps } from '@deephaven/components';\nimport { dhPython, vsCode, vsFolder, vsFolderOpened } from '@deephaven/icons';\nimport Log from '@deephaven/log';\nimport { RangeUtils } from '@deephaven/utils';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { IconDefinition } from '@fortawesome/fontawesome-svg-core';\nimport classNames from 'classnames';\nimport React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { FileStorageItem, FileStorageTable, isDirectory } from './FileStorage';\nimport './FileList.scss';\nimport FileUtils, { MIME_TYPE } from './FileUtils';\n\nconst log = Log.module('FileList');\n\nexport type LoadedViewport = {\n items: FileStorageItem[];\n offset: number;\n itemCount: number;\n};\n\nexport type ListViewport = {\n top: number;\n bottom: number;\n};\n\nexport type FileListRenderItemProps = RenderItemProps<FileStorageItem> & {\n children?: JSX.Element;\n dropTargetItem?: FileStorageItem;\n draggedItems?: FileStorageItem[];\n isDragInProgress: boolean;\n isDropTargetValid: boolean;\n\n onDragStart(index: number, e: React.DragEvent<HTMLDivElement>): void;\n onDragOver(index: number, e: React.DragEvent<HTMLDivElement>): void;\n onDragEnd(index: number, e: React.DragEvent<HTMLDivElement>): void;\n onDrop(index: number, e: React.DragEvent<HTMLDivElement>): void;\n};\n\nexport interface FileListProps {\n table: FileStorageTable;\n\n isMultiSelect?: boolean;\n\n onFocusChange?: (focusedItem?: FileStorageItem) => void;\n onMove: (files: FileStorageItem[], path: string) => void;\n onSelect: (file: FileStorageItem, event: React.SyntheticEvent) => void;\n onSelectionChange?: (selectedItems: FileStorageItem[]) => void;\n\n renderItem?: (props: FileListRenderItemProps) => JSX.Element;\n\n /** Height of each item in the list */\n rowHeight?: number;\n\n overscanCount?: number;\n}\n\nexport const getPathFromItem = (file: FileStorageItem): string =>\n isDirectory(file)\n ? FileUtils.makePath(file.filename)\n : FileUtils.getPath(file.filename);\n\nexport const DEFAULT_ROW_HEIGHT = 26;\n\n// How long you need to hover over a directory before it expands\nexport const DRAG_HOVER_TIMEOUT = 500;\n\nconst ITEM_LIST_CLASS_NAME = 'item-list-scroll-pane';\n\nexport const renderFileListItem = (\n props: FileListRenderItemProps\n): JSX.Element => {\n const {\n children,\n draggedItems,\n isDragInProgress,\n isDropTargetValid,\n isSelected,\n item,\n itemIndex,\n dropTargetItem,\n onDragStart,\n onDragOver,\n onDragEnd,\n onDrop,\n } = props;\n\n const isDragged =\n draggedItems?.some(draggedItem => draggedItem.id === item.id) ?? false;\n const itemPath = getPathFromItem(item);\n const dropTargetPath =\n isDragInProgress && dropTargetItem ? getPathFromItem(dropTargetItem) : null;\n\n const isExactDropTarget =\n isDragInProgress &&\n isDropTargetValid &&\n isDirectory(item) &&\n dropTargetPath === itemPath;\n const isInDropTarget =\n isDragInProgress && isDropTargetValid && dropTargetPath === itemPath;\n const isInvalidDropTarget =\n isDragInProgress && !isDropTargetValid && dropTargetPath === itemPath;\n\n const icon = getItemIcon(item);\n const depth = FileUtils.getDepth(item.filename);\n const depthLines = Array(depth)\n .fill(null)\n .map((value, index) => (\n // eslint-disable-next-line react/no-array-index-key\n <span className=\"file-list-depth-line\" key={index} />\n ));\n\n return (\n <div\n className={classNames(\n 'd-flex w-100 align-items-center',\n 'file-list-item',\n {\n 'is-dragged': isDragged,\n 'is-exact-drop-target': isExactDropTarget,\n 'is-in-drop-target': isInDropTarget,\n 'is-invalid-drop-target': isInvalidDropTarget,\n 'is-selected': isSelected,\n }\n )}\n onDragStart={e => onDragStart(itemIndex, e)}\n onDragOver={e => onDragOver(itemIndex, e)}\n onDragEnd={e => onDragEnd(itemIndex, e)}\n onDrop={e => onDrop(itemIndex, e)}\n draggable\n role=\"presentation\"\n >\n {depthLines}{' '}\n <FontAwesomeIcon icon={icon} className=\"item-icon\" fixedWidth />{' '}\n {children ?? item.basename}\n </div>\n );\n};\n\n/**\n * Get the icon definition for a file or folder item\n * @param {FileStorageItem} item Item to get the icon for\n * @returns {IconDefinition} Icon definition to pass in the FontAwesomeIcon icon prop\n */\nexport function getItemIcon(item: FileStorageItem): IconDefinition {\n if (isDirectory(item)) {\n return item.isExpanded ? vsFolderOpened : vsFolder;\n }\n const mimeType = FileUtils.getMimeType(item.basename);\n switch (mimeType) {\n case MIME_TYPE.PYTHON:\n return dhPython;\n default:\n return vsCode;\n }\n}\n\n/**\n * Get the move operation for the current selection and the given target. Throws if the operation is invalid.\n */\nexport function getMoveOperation(\n draggedItems: FileStorageItem[],\n targetItem: FileStorageItem\n): { files: FileStorageItem[]; targetPath: string } {\n if (draggedItems.length === 0 || !targetItem) {\n throw new Error('No items to move');\n }\n\n const targetPath = getPathFromItem(targetItem);\n if (\n draggedItems.some(\n ({ filename }) => FileUtils.getPath(filename) === targetPath\n )\n ) {\n // Cannot drop if target is one of the dragged items is already in the target folder\n throw new Error('File already in the destination folder');\n }\n if (\n draggedItems.some(\n item =>\n isDirectory(item) &&\n targetPath.startsWith(FileUtils.makePath(item.filename))\n )\n ) {\n // Cannot drop if target is a child of one of the directories being moved\n throw new Error('Destination folder cannot be a child of a dragged folder');\n }\n return { files: draggedItems, targetPath };\n}\n\n/**\n * Component that displays and allows interaction with the file system in the provided FileStorageTable.\n */\nexport const FileList = (props: FileListProps): JSX.Element => {\n const {\n isMultiSelect = false,\n table,\n onFocusChange = () => undefined,\n onMove,\n onSelect,\n onSelectionChange = () => undefined,\n renderItem = renderFileListItem,\n rowHeight = DEFAULT_ROW_HEIGHT,\n overscanCount = ItemList.DEFAULT_OVERSCAN,\n } = props;\n const [loadedViewport, setLoadedViewport] = useState<LoadedViewport>(() => ({\n items: [],\n offset: 0,\n itemCount: 0,\n }));\n const [viewport, setViewport] = useState<ListViewport>({\n top: 0,\n bottom: 0,\n });\n\n const [dropTargetItem, setDropTargetItem] = useState<FileStorageItem>();\n const [draggedItems, setDraggedItems] = useState<FileStorageItem[]>();\n const [dragPlaceholder, setDragPlaceholder] = useState<HTMLDivElement>();\n const [selectedRanges, setSelectedRanges] = useState([] as Range[]);\n const itemList = useRef<ItemList<FileStorageItem>>(null);\n const fileList = useRef<HTMLDivElement>(null);\n\n const getItems = useCallback(\n (ranges: Range[]): FileStorageItem[] => {\n if (ranges.length === 0 || !loadedViewport) {\n return [];\n }\n\n const items = [] as FileStorageItem[];\n for (let i = 0; i < ranges.length; i += 1) {\n const range = ranges[i];\n for (let j = range[0]; j <= range[1]; j += 1) {\n if (\n j >= loadedViewport.offset &&\n j < loadedViewport.offset + loadedViewport.items.length\n ) {\n items.push(loadedViewport.items[j - loadedViewport.offset]);\n }\n }\n }\n return items;\n },\n [loadedViewport]\n );\n\n const getItem = useCallback(\n (itemIndex: number): FileStorageItem | undefined => {\n const items = getItems([[itemIndex, itemIndex]]);\n if (items.length > 0) {\n return items[0];\n }\n },\n [getItems]\n );\n\n /**\n * Get the placeholder text to show when a drag operation is in progress\n */\n const getDragPlaceholderText = useCallback(() => {\n const count = RangeUtils.count(selectedRanges);\n if (count === 0) {\n return null;\n }\n\n if (count === 1) {\n const index = selectedRanges[0][0];\n const item = getItem(index);\n if (item != null) {\n return item.filename;\n }\n }\n return `${count} items`;\n }, [getItem, selectedRanges]);\n\n /**\n * Drop the currently dragged items at the currently set drop target.\n * If an itemIndex is provided, focus that index after the drop.\n */\n const dropItems = useCallback(\n (itemIndex?: number) => {\n if (!draggedItems || !dropTargetItem) {\n return;\n }\n\n log.debug('dropItems', draggedItems, 'to', itemIndex);\n\n try {\n const { files, targetPath } = getMoveOperation(\n draggedItems,\n dropTargetItem\n );\n onMove(files, targetPath);\n if (itemIndex != null) {\n setSelectedRanges([[itemIndex, itemIndex]]);\n itemList.current?.focusItem(itemIndex);\n }\n } catch (err) {\n log.error('Unable to complete move', err);\n }\n },\n [draggedItems, dropTargetItem, onMove]\n );\n\n const handleSelect = useCallback(\n (itemIndex: number, event: React.SyntheticEvent) => {\n const item = loadedViewport.items[itemIndex - loadedViewport.offset];\n if (item !== undefined) {\n log.debug('handleItemClick', item);\n\n onSelect(item, event);\n if (isDirectory(item)) {\n table?.setExpanded(item.filename, !item.isExpanded);\n }\n }\n },\n [loadedViewport, onSelect, table]\n );\n\n const handleItemDragStart = useCallback(\n (itemIndex: number, e: React.DragEvent<HTMLDivElement>) => {\n log.debug2('handleItemDragStart', itemIndex, selectedRanges);\n\n let draggedRanges = selectedRanges;\n if (!RangeUtils.isSelected(selectedRanges, itemIndex)) {\n draggedRanges = [[itemIndex, itemIndex]];\n setSelectedRanges(draggedRanges);\n }\n\n setDraggedItems(getItems(draggedRanges));\n\n // We need to reset reset the mouse state since we steal the drag\n itemList.current?.resetMouseState();\n\n const newDragPlaceholder = document.createElement('div');\n newDragPlaceholder.innerHTML = `<div class=\"dnd-placeholder-content\">${getDragPlaceholderText()}</div>`;\n newDragPlaceholder.className = 'file-list-dnd-placeholder';\n document.body.appendChild(newDragPlaceholder);\n e.dataTransfer.setDragImage(newDragPlaceholder, 0, 0);\n e.dataTransfer.effectAllowed = 'move';\n setDragPlaceholder(newDragPlaceholder);\n },\n [getDragPlaceholderText, getItems, selectedRanges]\n );\n\n const handleItemDragOver = useCallback(\n (itemIndex: number, e: React.DragEvent<HTMLDivElement>) => {\n e.preventDefault();\n\n log.debug2('handleItemDragOver', e);\n setDropTargetItem(getItem(itemIndex));\n },\n [getItem]\n );\n\n const handleItemDragEnd = useCallback(\n (itemIndex: number, e: React.DragEvent<HTMLDivElement>) => {\n log.debug('handleItemDragEnd', itemIndex);\n\n dragPlaceholder?.remove();\n\n // Drag end is triggered after drop\n // Also drop isn't triggered if drag end is outside of the list\n setDraggedItems(undefined);\n setDropTargetItem(undefined);\n setDragPlaceholder(undefined);\n },\n [dragPlaceholder]\n );\n\n const handleItemDrop = useCallback(\n (itemIndex: number, e: React.DragEvent<HTMLDivElement>) => {\n dropItems(itemIndex);\n },\n [dropItems]\n );\n\n const handleItemDragExit = useCallback(() => {\n log.debug2('handleItemDragExit');\n setDropTargetItem(undefined);\n }, []);\n\n const handleListDragOver = useCallback(\n (e: React.DragEvent<HTMLDivElement>) => {\n if (\n e.target instanceof Element &&\n e.target.classList.contains(ITEM_LIST_CLASS_NAME)\n ) {\n // Need to prevent default to enable drop\n // https://developer.mozilla.org/en-US/docs/Web/API/HTML_Drag_and_Drop_API/Drag_operations#droptargets\n e.preventDefault();\n\n log.debug2('handleListDragOver', e);\n setDropTargetItem({\n type: 'directory',\n filename: '/',\n basename: '/',\n id: '/',\n });\n }\n },\n []\n );\n\n const handleListDrop = useCallback(\n (e: React.DragEvent<HTMLDivElement>) => {\n if (\n e.target instanceof Element &&\n e.target.classList.contains(ITEM_LIST_CLASS_NAME)\n ) {\n log.debug('handleListDrop');\n dropItems();\n }\n },\n [dropItems]\n );\n\n const handleSelectionChange = useCallback(\n newSelectedRanges => {\n log.debug2('handleSelectionChange', newSelectedRanges);\n if (newSelectedRanges !== selectedRanges) {\n setSelectedRanges(newSelectedRanges);\n const selectedItems = getItems(newSelectedRanges);\n onSelectionChange(selectedItems);\n }\n },\n [getItems, onSelectionChange, selectedRanges]\n );\n\n const handleFocusChange = useCallback(\n focusIndex => {\n log.debug2('handleFocusChange', focusIndex);\n if (focusIndex != null) {\n const [focusedItem] = getItems([[focusIndex, focusIndex]]);\n onFocusChange(focusedItem);\n } else {\n onFocusChange();\n }\n },\n [getItems, onFocusChange]\n );\n\n const handleViewportChange = useCallback(\n (top: number, bottom: number) => {\n log.debug('handleViewportChange', top, bottom);\n if (top !== viewport.top || bottom !== viewport.bottom) {\n setViewport({ top, bottom });\n }\n },\n [viewport]\n );\n\n const isDropTargetValid = useMemo(() => {\n if (!draggedItems || !dropTargetItem) {\n return false;\n }\n\n try {\n getMoveOperation(draggedItems, dropTargetItem);\n log.debug('handleValidateDropTarget true');\n return true;\n } catch (e) {\n log.debug('handleValidateDropTarget false');\n return false;\n }\n }, [draggedItems, dropTargetItem]);\n\n useEffect(() => {\n log.debug('updating table viewport', viewport);\n table?.setViewport({\n top: Math.max(0, viewport.top - overscanCount),\n bottom: viewport.bottom + overscanCount,\n });\n }, [overscanCount, table, viewport]);\n\n // Listen for table updates\n useEffect(() => {\n const listenerRemover = table.onUpdate(newViewport => {\n setLoadedViewport({\n items: newViewport.items.map(item => ({\n ...item,\n itemName: item.basename,\n })),\n offset: newViewport.offset,\n itemCount: table.size,\n });\n });\n return () => {\n listenerRemover();\n };\n }, [table]);\n\n // Expand a folder if hovering over it\n useEffect(() => {\n if (\n dropTargetItem != null &&\n isDirectory(dropTargetItem) &&\n dropTargetItem.filename !== '/'\n ) {\n const timeout = setTimeout(() => {\n if (!dropTargetItem.isExpanded) {\n table?.setExpanded(dropTargetItem.filename, true);\n }\n }, DRAG_HOVER_TIMEOUT);\n return () => clearTimeout(timeout);\n }\n }, [dropTargetItem, table]);\n\n const renderWrapper = useCallback(\n itemProps =>\n renderItem({\n ...itemProps,\n isDragInProgress: draggedItems != null,\n dropTargetItem,\n draggedItems,\n isDropTargetValid,\n onDragStart: handleItemDragStart,\n onDragEnd: handleItemDragEnd,\n onDragOver: handleItemDragOver,\n onDragExit: handleItemDragExit,\n onDrop: handleItemDrop,\n }),\n [\n handleItemDragEnd,\n handleItemDragExit,\n handleItemDragOver,\n handleItemDragStart,\n handleItemDrop,\n draggedItems,\n dropTargetItem,\n isDropTargetValid,\n renderItem,\n ]\n );\n\n return (\n <div\n ref={fileList}\n className={classNames('file-list', {\n 'is-dragging': draggedItems != null,\n })}\n onDragOver={handleListDragOver}\n onDrop={handleListDrop}\n >\n <ItemList\n ref={itemList}\n items={loadedViewport.items}\n itemCount={loadedViewport.itemCount}\n offset={loadedViewport.offset}\n onFocusChange={handleFocusChange}\n onSelect={handleSelect}\n onSelectionChange={handleSelectionChange}\n onViewportChange={handleViewportChange}\n selectedRanges={selectedRanges}\n renderItem={renderWrapper}\n rowHeight={rowHeight}\n isMultiSelect={isMultiSelect}\n isDragSelect={false}\n isDeselectOnClick={false}\n />\n </div>\n );\n};\n\nexport default FileList;\n"],"file":"FileList.js"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import { FileStorageItem, FileStorageTable } from './FileStorage';
|
|
3
3
|
import './FileExplorer.scss';
|
|
4
4
|
export interface FileListContainerProps {
|
|
@@ -11,7 +11,7 @@ export interface FileListContainerProps {
|
|
|
11
11
|
onDelete?: (files: FileStorageItem[]) => void;
|
|
12
12
|
onMove?: (files: FileStorageItem[], path: string) => void;
|
|
13
13
|
onRename?: (file: FileStorageItem, newName: string) => void;
|
|
14
|
-
onSelect: (file: FileStorageItem) => void;
|
|
14
|
+
onSelect: (file: FileStorageItem, event: React.SyntheticEvent) => void;
|
|
15
15
|
validateRename?: (file: FileStorageItem, newName: string) => Promise<void>;
|
|
16
16
|
/** Height of each item in the list */
|
|
17
17
|
rowHeight?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileListContainer.d.ts","sourceRoot":"","sources":["../src/FileListContainer.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"FileListContainer.d.ts","sourceRoot":"","sources":["../src/FileListContainer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAM9D,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAe,MAAM,eAAe,CAAC;AAE/E,OAAO,qBAAqB,CAAC;AAI7B,MAAM,WAAW,sBAAsB;IACrC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,EAAE,gBAAgB,CAAC;IAExB,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;IACzC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,IAAI,CAAC;IAC9C,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5D,QAAQ,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,cAAc,KAAK,IAAI,CAAC;IACvE,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3E,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB;YACrB,sBAAsB,GAC5B,WAAW;;CAyLb,CAAC;AAIF,eAAe,iBAAiB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/FileListContainer.tsx"],"names":["ContextActions","React","useCallback","useMemo","useState","FileList","renderFileListItem","DEFAULT_ROW_HEIGHT","isDirectory","SHORTCUTS","FileUtils","FileListItemEditor","FileListContainer","props","isMultiSelect","showContextMenu","onCreateFile","onCreateFolder","onCopy","onDelete","onMove","undefined","onRename","onSelect","table","rowHeight","validateRename","Promise","resolve","renameItem","setRenameItem","selectedItems","setSelectedItems","focusedItem","setFocusedItem","handleSelectionChange","newSelectedItems","handleFocusChange","newFocusedItem","handleCopyAction","handleDeleteAction","length","handleNewFileAction","handleNewFolderAction","getPath","filename","handleRenameAction","handleRenameCancel","handleRenameSubmit","newName","actions","result","push","title","description","action","group","groups","medium","low","disabled","shortcut","FILE_EXPLORER","DELETE","RENAME","validateRenameItem","reject","Error","renderItem","itemProps","item","children","displayName"],"mappings":"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","sourcesContent":["import { ContextAction, ContextActions } from '@deephaven/components';\nimport React, { useCallback, useMemo, useState } from 'react';\nimport FileList, {\n renderFileListItem,\n DEFAULT_ROW_HEIGHT,\n FileListRenderItemProps,\n} from './FileList';\nimport { FileStorageItem, FileStorageTable, isDirectory } from './FileStorage';\nimport SHORTCUTS from './FileExplorerShortcuts';\nimport './FileExplorer.scss';\nimport FileUtils from './FileUtils';\nimport FileListItemEditor from './FileListItemEditor';\n\nexport interface FileListContainerProps {\n showContextMenu?: boolean;\n table: FileStorageTable;\n\n isMultiSelect?: boolean;\n\n onCreateFile?: (path?: string) => void;\n onCreateFolder?: (path?: string) => void;\n onCopy?: (file: FileStorageItem) => void;\n onDelete?: (files: FileStorageItem[]) => void;\n onMove?: (files: FileStorageItem[], path: string) => void;\n onRename?: (file: FileStorageItem, newName: string) => void;\n onSelect: (file: FileStorageItem) => void;\n validateRename?: (file: FileStorageItem, newName: string) => Promise<void>;\n\n /** Height of each item in the list */\n rowHeight?: number;\n}\n\n/**\n * Component that displays and allows interaction with the file system in the provided FileStorage.\n */\nexport const FileListContainer = (\n props: FileListContainerProps\n): JSX.Element => {\n const {\n isMultiSelect = false,\n showContextMenu = false,\n onCreateFile,\n onCreateFolder,\n onCopy,\n onDelete,\n onMove = () => undefined,\n onRename,\n onSelect,\n table,\n rowHeight = DEFAULT_ROW_HEIGHT,\n validateRename = () => Promise.resolve(),\n } = props;\n const [renameItem, setRenameItem] = useState<FileStorageItem>();\n const [selectedItems, setSelectedItems] = useState([] as FileStorageItem[]);\n const [focusedItem, setFocusedItem] = useState<FileStorageItem>();\n\n const handleSelectionChange = useCallback(newSelectedItems => {\n setSelectedItems(newSelectedItems);\n }, []);\n\n const handleFocusChange = useCallback(newFocusedItem => {\n setFocusedItem(newFocusedItem);\n }, []);\n\n const handleCopyAction = useCallback(() => {\n if (focusedItem) {\n onCopy?.(focusedItem);\n }\n }, [focusedItem, onCopy]);\n\n const handleDeleteAction = useCallback(() => {\n if (selectedItems.length > 0) {\n onDelete?.(selectedItems);\n }\n }, [onDelete, selectedItems]);\n\n const handleNewFileAction = useCallback(() => {\n onCreateFile?.();\n }, [onCreateFile]);\n\n const handleNewFolderAction = useCallback(() => {\n if (focusedItem) {\n onCreateFolder?.(FileUtils.getPath(focusedItem.filename));\n }\n }, [focusedItem, onCreateFolder]);\n\n const handleRenameAction = useCallback(() => {\n if (focusedItem) {\n setRenameItem(focusedItem);\n }\n }, [focusedItem]);\n\n const handleRenameCancel = useCallback((): void => {\n setRenameItem(undefined);\n }, []);\n\n const handleRenameSubmit = useCallback(\n (newName: string): void => {\n if (renameItem) {\n onRename?.(renameItem, newName);\n setRenameItem(undefined);\n }\n },\n [onRename, renameItem]\n );\n\n const actions = useMemo(() => {\n if (renameItem) {\n // While renaming, we don't want to enable any of the context actions or it may interfere with renaming input\n return [];\n }\n\n const result = [] as ContextAction[];\n if (onCreateFile) {\n result.push({\n title: 'New File',\n description: 'Create new file',\n action: handleNewFileAction,\n group: ContextActions.groups.medium,\n });\n }\n if (onCreateFolder) {\n result.push({\n title: 'New Folder',\n description: 'Create new folder',\n action: handleNewFolderAction,\n group: ContextActions.groups.medium,\n });\n }\n if (onCopy) {\n result.push({\n title: 'Copy',\n description: 'Copy',\n action: handleCopyAction,\n group: ContextActions.groups.low,\n disabled: focusedItem == null || isDirectory(focusedItem),\n });\n }\n if (onDelete && selectedItems.length > 0) {\n result.push({\n title: 'Delete',\n description: 'Delete',\n shortcut: SHORTCUTS.FILE_EXPLORER.DELETE,\n action: handleDeleteAction,\n group: ContextActions.groups.low,\n });\n }\n if (onRename) {\n result.push({\n title: 'Rename',\n description: 'Rename',\n shortcut: SHORTCUTS.FILE_EXPLORER.RENAME,\n action: handleRenameAction,\n group: ContextActions.groups.low,\n disabled: focusedItem == null,\n });\n }\n return result;\n }, [\n handleCopyAction,\n handleDeleteAction,\n handleNewFileAction,\n handleNewFolderAction,\n handleRenameAction,\n focusedItem,\n onCopy,\n onCreateFile,\n onCreateFolder,\n onDelete,\n onRename,\n selectedItems,\n renameItem,\n ]);\n\n const validateRenameItem = useCallback(\n (newName: string): Promise<void> => {\n if (renameItem) {\n return validateRename(renameItem, newName);\n }\n return Promise.reject(new Error('No rename item'));\n },\n [renameItem, validateRename]\n );\n\n const renderItem = useCallback(\n (itemProps: FileListRenderItemProps): JSX.Element => {\n const { item } = itemProps;\n if (renameItem && renameItem.filename === item.filename) {\n return renderFileListItem({\n ...itemProps,\n children: (\n <FileListItemEditor\n item={item}\n validate={validateRenameItem}\n onSubmit={handleRenameSubmit}\n onCancel={handleRenameCancel}\n />\n ),\n });\n }\n return renderFileListItem(itemProps);\n },\n [handleRenameCancel, handleRenameSubmit, renameItem, validateRenameItem]\n );\n\n return (\n <div className=\"file-list-container\">\n {table && (\n <FileList\n onMove={onMove}\n onSelect={onSelect}\n onSelectionChange={handleSelectionChange}\n onFocusChange={handleFocusChange}\n renderItem={renderItem}\n rowHeight={rowHeight}\n table={table}\n isMultiSelect={isMultiSelect}\n />\n )}\n {showContextMenu && <ContextActions actions={actions} />}\n </div>\n );\n};\n\nFileListContainer.displayName = 'FileListContainer';\n\nexport default FileListContainer;\n"],"file":"FileListContainer.js"}
|
|
1
|
+
{"version":3,"sources":["../src/FileListContainer.tsx"],"names":["ContextActions","React","useCallback","useMemo","useState","FileList","renderFileListItem","DEFAULT_ROW_HEIGHT","isDirectory","SHORTCUTS","FileUtils","FileListItemEditor","FileListContainer","props","isMultiSelect","showContextMenu","onCreateFile","onCreateFolder","onCopy","onDelete","onMove","undefined","onRename","onSelect","table","rowHeight","validateRename","Promise","resolve","renameItem","setRenameItem","selectedItems","setSelectedItems","focusedItem","setFocusedItem","handleSelectionChange","newSelectedItems","handleFocusChange","newFocusedItem","handleCopyAction","handleDeleteAction","length","handleNewFileAction","handleNewFolderAction","getPath","filename","handleRenameAction","handleRenameCancel","handleRenameSubmit","newName","actions","result","push","title","description","action","group","groups","medium","low","disabled","shortcut","FILE_EXPLORER","DELETE","RENAME","validateRenameItem","reject","Error","renderItem","itemProps","item","children","displayName"],"mappings":"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","sourcesContent":["import { ContextAction, ContextActions } from '@deephaven/components';\nimport React, { useCallback, useMemo, useState } from 'react';\nimport FileList, {\n renderFileListItem,\n DEFAULT_ROW_HEIGHT,\n FileListRenderItemProps,\n} from './FileList';\nimport { FileStorageItem, FileStorageTable, isDirectory } from './FileStorage';\nimport SHORTCUTS from './FileExplorerShortcuts';\nimport './FileExplorer.scss';\nimport FileUtils from './FileUtils';\nimport FileListItemEditor from './FileListItemEditor';\n\nexport interface FileListContainerProps {\n showContextMenu?: boolean;\n table: FileStorageTable;\n\n isMultiSelect?: boolean;\n\n onCreateFile?: (path?: string) => void;\n onCreateFolder?: (path?: string) => void;\n onCopy?: (file: FileStorageItem) => void;\n onDelete?: (files: FileStorageItem[]) => void;\n onMove?: (files: FileStorageItem[], path: string) => void;\n onRename?: (file: FileStorageItem, newName: string) => void;\n onSelect: (file: FileStorageItem, event: React.SyntheticEvent) => void;\n validateRename?: (file: FileStorageItem, newName: string) => Promise<void>;\n\n /** Height of each item in the list */\n rowHeight?: number;\n}\n\n/**\n * Component that displays and allows interaction with the file system in the provided FileStorage.\n */\nexport const FileListContainer = (\n props: FileListContainerProps\n): JSX.Element => {\n const {\n isMultiSelect = false,\n showContextMenu = false,\n onCreateFile,\n onCreateFolder,\n onCopy,\n onDelete,\n onMove = () => undefined,\n onRename,\n onSelect,\n table,\n rowHeight = DEFAULT_ROW_HEIGHT,\n validateRename = () => Promise.resolve(),\n } = props;\n const [renameItem, setRenameItem] = useState<FileStorageItem>();\n const [selectedItems, setSelectedItems] = useState([] as FileStorageItem[]);\n const [focusedItem, setFocusedItem] = useState<FileStorageItem>();\n\n const handleSelectionChange = useCallback(newSelectedItems => {\n setSelectedItems(newSelectedItems);\n }, []);\n\n const handleFocusChange = useCallback(newFocusedItem => {\n setFocusedItem(newFocusedItem);\n }, []);\n\n const handleCopyAction = useCallback(() => {\n if (focusedItem) {\n onCopy?.(focusedItem);\n }\n }, [focusedItem, onCopy]);\n\n const handleDeleteAction = useCallback(() => {\n if (selectedItems.length > 0) {\n onDelete?.(selectedItems);\n }\n }, [onDelete, selectedItems]);\n\n const handleNewFileAction = useCallback(() => {\n onCreateFile?.();\n }, [onCreateFile]);\n\n const handleNewFolderAction = useCallback(() => {\n if (focusedItem) {\n onCreateFolder?.(FileUtils.getPath(focusedItem.filename));\n }\n }, [focusedItem, onCreateFolder]);\n\n const handleRenameAction = useCallback(() => {\n if (focusedItem) {\n setRenameItem(focusedItem);\n }\n }, [focusedItem]);\n\n const handleRenameCancel = useCallback((): void => {\n setRenameItem(undefined);\n }, []);\n\n const handleRenameSubmit = useCallback(\n (newName: string): void => {\n if (renameItem) {\n onRename?.(renameItem, newName);\n setRenameItem(undefined);\n }\n },\n [onRename, renameItem]\n );\n\n const actions = useMemo(() => {\n if (renameItem) {\n // While renaming, we don't want to enable any of the context actions or it may interfere with renaming input\n return [];\n }\n\n const result = [] as ContextAction[];\n if (onCreateFile) {\n result.push({\n title: 'New File',\n description: 'Create new file',\n action: handleNewFileAction,\n group: ContextActions.groups.medium,\n });\n }\n if (onCreateFolder) {\n result.push({\n title: 'New Folder',\n description: 'Create new folder',\n action: handleNewFolderAction,\n group: ContextActions.groups.medium,\n });\n }\n if (onCopy) {\n result.push({\n title: 'Copy',\n description: 'Copy',\n action: handleCopyAction,\n group: ContextActions.groups.low,\n disabled: focusedItem == null || isDirectory(focusedItem),\n });\n }\n if (onDelete && selectedItems.length > 0) {\n result.push({\n title: 'Delete',\n description: 'Delete',\n shortcut: SHORTCUTS.FILE_EXPLORER.DELETE,\n action: handleDeleteAction,\n group: ContextActions.groups.low,\n });\n }\n if (onRename) {\n result.push({\n title: 'Rename',\n description: 'Rename',\n shortcut: SHORTCUTS.FILE_EXPLORER.RENAME,\n action: handleRenameAction,\n group: ContextActions.groups.low,\n disabled: focusedItem == null,\n });\n }\n return result;\n }, [\n handleCopyAction,\n handleDeleteAction,\n handleNewFileAction,\n handleNewFolderAction,\n handleRenameAction,\n focusedItem,\n onCopy,\n onCreateFile,\n onCreateFolder,\n onDelete,\n onRename,\n selectedItems,\n renameItem,\n ]);\n\n const validateRenameItem = useCallback(\n (newName: string): Promise<void> => {\n if (renameItem) {\n return validateRename(renameItem, newName);\n }\n return Promise.reject(new Error('No rename item'));\n },\n [renameItem, validateRename]\n );\n\n const renderItem = useCallback(\n (itemProps: FileListRenderItemProps): JSX.Element => {\n const { item } = itemProps;\n if (renameItem && renameItem.filename === item.filename) {\n return renderFileListItem({\n ...itemProps,\n children: (\n <FileListItemEditor\n item={item}\n validate={validateRenameItem}\n onSubmit={handleRenameSubmit}\n onCancel={handleRenameCancel}\n />\n ),\n });\n }\n return renderFileListItem(itemProps);\n },\n [handleRenameCancel, handleRenameSubmit, renameItem, validateRenameItem]\n );\n\n return (\n <div className=\"file-list-container\">\n {table && (\n <FileList\n onMove={onMove}\n onSelect={onSelect}\n onSelectionChange={handleSelectionChange}\n onFocusChange={handleFocusChange}\n renderItem={renderItem}\n rowHeight={rowHeight}\n table={table}\n isMultiSelect={isMultiSelect}\n />\n )}\n {showContextMenu && <ContextActions actions={actions} />}\n </div>\n );\n};\n\nFileListContainer.displayName = 'FileListContainer';\n\nexport default FileListContainer;\n"],"file":"FileListContainer.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/@types/react/global.d.ts","../../../node_modules/csstype/index.d.ts","../../../node_modules/@types/prop-types/index.d.ts","../../../node_modules/@types/scheduler/tracing.d.ts","../../../node_modules/@types/react/index.d.ts","../../../node_modules/@types/react/jsx-runtime.d.ts","../../utils/dist/CanceledPromiseError.d.ts","../../utils/dist/ColorUtils.d.ts","../../utils/dist/DbNameValidator.d.ts","../../utils/dist/DOMUtils.d.ts","../../utils/dist/PromiseUtils.d.ts","../../utils/dist/Pending.d.ts","../../utils/dist/RangeUtils.d.ts","../../utils/dist/TextUtils.d.ts","../../utils/dist/TimeoutError.d.ts","../../utils/dist/TimeUtils.d.ts","../../utils/dist/InvalidMetadataError.d.ts","../../utils/dist/ValidationError.d.ts","../../../node_modules/jest-diff/build/cleanupSemantic.d.ts","../../../node_modules/jest-diff/build/types.d.ts","../../../node_modules/jest-diff/build/diffLines.d.ts","../../../node_modules/jest-diff/build/printDiffs.d.ts","../../../node_modules/jest-diff/build/index.d.ts","../../../node_modules/pretty-format/build/types.d.ts","../../../node_modules/pretty-format/build/index.d.ts","../../../node_modules/@types/jest/index.d.ts","../../utils/dist/TestUtils.d.ts","../../utils/dist/index.d.ts","../../storage/dist/Storage.d.ts","../../storage/dist/StorageTableViewportUpdater.d.ts","../../storage/dist/StorageUtils.d.ts","../../storage/dist/index.d.ts","../src/FileStorage.ts","../src/FileExistsError.ts","../../../node_modules/@types/jquery/JQueryStatic.d.ts","../../../node_modules/@types/jquery/JQuery.d.ts","../../../node_modules/@types/jquery/misc.d.ts","../../../node_modules/@types/jquery/legacy.d.ts","../../../node_modules/@types/sizzle/index.d.ts","../../../node_modules/@types/jquery/index.d.ts","../../../node_modules/@types/memoizee/index.d.ts","../../../node_modules/popper.js/index.d.ts","../../components/dist/popper/Popper.d.ts","../../components/dist/popper/Tooltip.d.ts","../../components/dist/popper/index.d.ts","../../components/dist/AutoCompleteInput.d.ts","../../components/dist/AutoResizeTextarea.d.ts","../../components/dist/BasicModal.d.ts","../../../node_modules/@fortawesome/fontawesome-common-types/index.d.ts","../../../node_modules/@fortawesome/fontawesome-svg-core/index.d.ts","../../components/dist/Button.d.ts","../../components/dist/ButtonGroup.d.ts","../../components/dist/ButtonOld.d.ts","../../components/dist/CardFlip.d.ts","../../icons/dist/index.d.ts","../../components/dist/shortcuts/Shortcut.d.ts","../../components/dist/shortcuts/GlobalShortcuts.d.ts","../../components/dist/shortcuts/ShortcutRegistry.d.ts","../../components/dist/shortcuts/index.d.ts","../../components/dist/context-actions/ContextActionUtils.d.ts","../../components/dist/context-actions/ContextActions.d.ts","../../components/dist/context-actions/ContextMenuItem.d.ts","../../components/dist/context-actions/ContextMenu.d.ts","../../components/dist/context-actions/ContextMenuRoot.d.ts","../../components/dist/context-actions/index.d.ts","../../components/dist/Collapse.d.ts","../../components/dist/Checkbox.d.ts","../../components/dist/SearchInput.d.ts","../../components/dist/ComboBox.d.ts","../../components/dist/CustomTimeSelect.d.ts","../../components/dist/DebouncedSearchInput.d.ts","../../components/dist/DeephavenSpinner.d.ts","../../../node_modules/@types/react-beautiful-dnd/index.d.ts","../../../node_modules/@types/react-window/index.d.ts","../../../node_modules/@types/react-virtualized-auto-sizer/index.d.ts","../../components/dist/ItemList.d.ts","../../components/dist/DraggableItemList.d.ts","../../components/dist/DragUtils.d.ts","../../components/dist/HierarchicalCheckboxMenu.d.ts","../../components/dist/ItemListItem.d.ts","../../components/dist/LoadingOverlay.d.ts","../../components/dist/LoadingSpinner.d.ts","../../components/dist/menu-actions/Menu.d.ts","../../components/dist/menu-actions/DropdownMenu.d.ts","../../components/dist/menu-actions/index.d.ts","../../components/dist/MaskedInput.d.ts","../../components/dist/navigation/MenuItem.d.ts","../../components/dist/navigation/Menu.d.ts","../../components/dist/navigation/Page.d.ts","../../components/dist/navigation/Stack.d.ts","../../components/dist/navigation/index.d.ts","../../components/dist/Option.d.ts","../../components/dist/RadioGroup.d.ts","../../components/dist/RadioItem.d.ts","../../components/dist/Select.d.ts","../../components/dist/SelectValueList.d.ts","../../components/dist/SocketedButton.d.ts","../../components/dist/ThemeExport.d.ts","../../components/dist/TimeInput.d.ts","../../components/dist/TimeSlider.d.ts","../../components/dist/ToastNotification.d.ts","../../components/dist/UISwitch.d.ts","../../components/dist/index.d.ts","../src/FileExplorerShortcuts.ts","../src/FileNotFoundError.ts","../src/FileUtils.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/ts3.6/base.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/base.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/webdav/web/types.d.ts","../../../node_modules/webdav/web/factory.d.ts","../../../node_modules/webdav/web/compat/patcher.d.ts","../../../node_modules/webdav/web/tools/dav.d.ts","../../../node_modules/webdav/web/index.d.ts","../../../node_modules/@types/lodash/common/common.d.ts","../../../node_modules/@types/lodash/common/array.d.ts","../../../node_modules/@types/lodash/common/collection.d.ts","../../../node_modules/@types/lodash/common/date.d.ts","../../../node_modules/@types/lodash/common/function.d.ts","../../../node_modules/@types/lodash/common/lang.d.ts","../../../node_modules/@types/lodash/common/math.d.ts","../../../node_modules/@types/lodash/common/number.d.ts","../../../node_modules/@types/lodash/common/object.d.ts","../../../node_modules/@types/lodash/common/seq.d.ts","../../../node_modules/@types/lodash/common/string.d.ts","../../../node_modules/@types/lodash/common/util.d.ts","../../../node_modules/@types/lodash/index.d.ts","../../../node_modules/@types/lodash.throttle/index.d.ts","../../log/dist/Logger.d.ts","../../log/dist/DefaultLogger.d.ts","../../log/dist/Log.d.ts","../../log/dist/LogProxy.d.ts","../../log/dist/LogHistory.d.ts","../../log/dist/LoggerLevel.d.ts","../../log/dist/index.d.ts","../src/WebdavFileStorageTable.ts","../src/WebdavFileStorage.ts","../../../node_modules/@fortawesome/react-fontawesome/index.d.ts","../../../node_modules/classnames/index.d.ts","../src/FileList.tsx","../src/FileListItemEditor.tsx","../src/FileListContainer.tsx","../src/FileExplorer.tsx","../../../node_modules/reactstrap/es/Fade.d.ts","../../../node_modules/reactstrap/es/Alert.d.ts","../../../node_modules/reactstrap/es/Badge.d.ts","../../../node_modules/reactstrap/es/Breadcrumb.d.ts","../../../node_modules/reactstrap/es/BreadcrumbItem.d.ts","../../../node_modules/reactstrap/es/Button.d.ts","../../../node_modules/reactstrap/es/Dropdown.d.ts","../../../node_modules/reactstrap/es/ButtonDropdown.d.ts","../../../node_modules/reactstrap/es/ButtonGroup.d.ts","../../../node_modules/reactstrap/es/ButtonToggle.d.ts","../../../node_modules/reactstrap/es/ButtonToolbar.d.ts","../../../node_modules/reactstrap/es/Card.d.ts","../../../node_modules/reactstrap/es/CardBody.d.ts","../../../node_modules/reactstrap/es/CardColumns.d.ts","../../../node_modules/reactstrap/es/CardDeck.d.ts","../../../node_modules/reactstrap/es/CardFooter.d.ts","../../../node_modules/reactstrap/es/CardGroup.d.ts","../../../node_modules/reactstrap/es/CardHeader.d.ts","../../../node_modules/reactstrap/es/CardImg.d.ts","../../../node_modules/reactstrap/es/CardImgOverlay.d.ts","../../../node_modules/reactstrap/es/CardLink.d.ts","../../../node_modules/reactstrap/es/CardSubtitle.d.ts","../../../node_modules/reactstrap/es/CardText.d.ts","../../../node_modules/reactstrap/es/CardTitle.d.ts","../../../node_modules/reactstrap/es/Carousel.d.ts","../../../node_modules/reactstrap/es/CarouselItem.d.ts","../../../node_modules/reactstrap/es/CarouselControl.d.ts","../../../node_modules/reactstrap/es/CarouselIndicators.d.ts","../../../node_modules/reactstrap/es/CarouselCaption.d.ts","../../../node_modules/reactstrap/es/Col.d.ts","../../../node_modules/reactstrap/es/Collapse.d.ts","../../../node_modules/reactstrap/es/Container.d.ts","../../../node_modules/reactstrap/es/CustomInput.d.ts","../../../node_modules/reactstrap/es/DropdownItem.d.ts","../../../node_modules/reactstrap/es/DropdownMenu.d.ts","../../../node_modules/reactstrap/es/DropdownToggle.d.ts","../../../node_modules/reactstrap/es/Form.d.ts","../../../node_modules/reactstrap/es/FormFeedback.d.ts","../../../node_modules/reactstrap/es/FormGroup.d.ts","../../../node_modules/reactstrap/es/FormText.d.ts","../../../node_modules/reactstrap/es/Input.d.ts","../../../node_modules/reactstrap/es/InputGroup.d.ts","../../../node_modules/reactstrap/es/InputGroupAddon.d.ts","../../../node_modules/reactstrap/es/InputGroupButtonDropdown.d.ts","../../../node_modules/reactstrap/es/InputGroupText.d.ts","../../../node_modules/reactstrap/es/Jumbotron.d.ts","../../../node_modules/reactstrap/es/Label.d.ts","../../../node_modules/reactstrap/es/ListGroup.d.ts","../../../node_modules/reactstrap/es/ListGroupItem.d.ts","../../../node_modules/reactstrap/es/ListGroupItemHeading.d.ts","../../../node_modules/reactstrap/es/ListGroupItemText.d.ts","../../../node_modules/reactstrap/es/Media.d.ts","../../../node_modules/reactstrap/es/Modal.d.ts","../../../node_modules/reactstrap/es/ModalBody.d.ts","../../../node_modules/reactstrap/es/ModalFooter.d.ts","../../../node_modules/reactstrap/es/ModalHeader.d.ts","../../../node_modules/reactstrap/es/Nav.d.ts","../../../node_modules/reactstrap/es/Navbar.d.ts","../../../node_modules/reactstrap/es/NavbarBrand.d.ts","../../../node_modules/reactstrap/es/NavbarText.d.ts","../../../node_modules/reactstrap/es/NavbarToggler.d.ts","../../../node_modules/reactstrap/es/NavItem.d.ts","../../../node_modules/reactstrap/es/NavLink.d.ts","../../../node_modules/reactstrap/es/Pagination.d.ts","../../../node_modules/reactstrap/es/PaginationItem.d.ts","../../../node_modules/reactstrap/es/PaginationLink.d.ts","../../../node_modules/reactstrap/es/Popover.d.ts","../../../node_modules/reactstrap/es/PopoverBody.d.ts","../../../node_modules/reactstrap/es/PopoverHeader.d.ts","../../../node_modules/reactstrap/es/Progress.d.ts","../../../node_modules/reactstrap/es/Row.d.ts","../../../node_modules/reactstrap/es/Spinner.d.ts","../../../node_modules/reactstrap/es/TabContent.d.ts","../../../node_modules/reactstrap/es/Table.d.ts","../../../node_modules/reactstrap/es/TabPane.d.ts","../../../node_modules/reactstrap/es/Tag.d.ts","../../../node_modules/reactstrap/es/Toast.d.ts","../../../node_modules/reactstrap/es/ToastBody.d.ts","../../../node_modules/reactstrap/es/ToastHeader.d.ts","../../../node_modules/reactstrap/es/Tooltip.d.ts","../../../node_modules/reactstrap/es/Uncontrolled.d.ts","../../../node_modules/reactstrap/es/utils.d.ts","../../../node_modules/reactstrap/es/index.d.ts","../src/NewItemModal.tsx","../src/FileExplorerToolbar.tsx","../src/index.ts","../../../node_modules/@babel/types/lib/index.d.ts","../../../node_modules/@types/babel__generator/index.d.ts","../../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../../node_modules/@types/babel__template/index.d.ts","../../../node_modules/@types/babel__traverse/index.d.ts","../../../node_modules/@types/babel__core/index.d.ts","../../../node_modules/@types/bootstrap/index.d.ts","../../../node_modules/@types/braces/index.d.ts","../../../node_modules/@types/cheerio/index.d.ts","../../../node_modules/@types/color-name/index.d.ts","../../../node_modules/@types/color-convert/conversions.d.ts","../../../node_modules/@types/color-convert/route.d.ts","../../../node_modules/@types/color-convert/index.d.ts","../../../node_modules/@types/ms/index.d.ts","../../../node_modules/@types/debug/index.d.ts","../../../node_modules/@types/enzyme/index.d.ts","../../../node_modules/@types/enzyme-adapter-react-16/index.d.ts","../../../node_modules/@types/eslint/helpers.d.ts","../../../node_modules/@types/eslint/lib/rules/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/eslint/index.d.ts","../../../node_modules/@types/minimatch/index.d.ts","../../../node_modules/@types/glob/index.d.ts","../../../node_modules/@types/glob-base/index.d.ts","../../../node_modules/@types/graceful-fs/index.d.ts","../../../node_modules/@types/unist/index.d.ts","../../../node_modules/@types/hast/index.d.ts","../../../node_modules/@types/hoist-non-react-statics/index.d.ts","../../../node_modules/@types/html-minifier-terser/index.d.ts","../../../node_modules/@types/is-function/index.d.ts","../../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../../node_modules/@types/istanbul-lib-report/index.d.ts","../../../node_modules/@types/istanbul-reports/index.d.ts","../../../node_modules/@types/json5/index.d.ts","../../../node_modules/@types/jszip/index.d.ts","../../../node_modules/@types/lodash.clamp/index.d.ts","../../../node_modules/@types/lodash.debounce/index.d.ts","../../../node_modules/@types/lodash.flatten/index.d.ts","../../../node_modules/@types/markdown-to-jsx/index.d.ts","../../../node_modules/@types/mdast/index.d.ts","../../../node_modules/@types/micromatch/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/node-fetch/node_modules/form-data/index.d.ts","../../../node_modules/@types/node-fetch/externals.d.ts","../../../node_modules/@types/node-fetch/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/npmlog/index.d.ts","../../../node_modules/@types/overlayscrollbars/index.d.ts","../../../node_modules/@types/parse-json/index.d.ts","../../../node_modules/@types/parse5/index.d.ts","../../../node_modules/@types/pouchdb-find/index.d.ts","../../../node_modules/@types/pouchdb-core/index.d.ts","../../../node_modules/@types/pouchdb-adapter-http/index.d.ts","../../../node_modules/@types/pouchdb-adapter-idb/index.d.ts","../../../node_modules/@types/pouchdb-adapter-websql/index.d.ts","../../../node_modules/@types/pouchdb-mapreduce/index.d.ts","../../../node_modules/@types/pouchdb-replication/index.d.ts","../../../node_modules/@types/pouchdb-browser/index.d.ts","../../../node_modules/@types/prettier/index.d.ts","../../../node_modules/@types/pretty-hrtime/index.d.ts","../../../node_modules/@types/q/index.d.ts","../../../node_modules/@types/qs/index.d.ts","../../../node_modules/@types/reach__router/index.d.ts","../../../node_modules/@types/react-dom/index.d.ts","../../../node_modules/redux/index.d.ts","../../../node_modules/@types/react-redux/index.d.ts","../../../node_modules/@types/react-syntax-highlighter/index.d.ts","../../../node_modules/@types/react-test-renderer/index.d.ts","../../../node_modules/@types/react-transition-group/Transition.d.ts","../../../node_modules/@types/react-transition-group/CSSTransition.d.ts","../../../node_modules/@types/react-transition-group/TransitionGroup.d.ts","../../../node_modules/@types/react-transition-group/SwitchTransition.d.ts","../../../node_modules/@types/react-transition-group/config.d.ts","../../../node_modules/@types/react-transition-group/index.d.ts","../../../node_modules/@types/resolve/index.d.ts","../../../node_modules/@types/scheduler/index.d.ts","../../../node_modules/@types/shortid/index.d.ts","../../../node_modules/@types/source-list-map/index.d.ts","../../../node_modules/@types/stack-utils/index.d.ts","../../../node_modules/source-map/source-map.d.ts","../../../node_modules/postcss/lib/postcss.d.ts","../../../node_modules/@types/stylelint/index.d.ts","../../../node_modules/@types/tapable/index.d.ts","../../../node_modules/@types/uglify-js/index.d.ts","../../../node_modules/anymatch/index.d.ts","../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts","../../../node_modules/@types/webpack-sources/lib/Source.d.ts","../../../node_modules/@types/webpack-sources/lib/CompatSource.d.ts","../../../node_modules/@types/webpack-sources/lib/ConcatSource.d.ts","../../../node_modules/@types/webpack-sources/lib/OriginalSource.d.ts","../../../node_modules/@types/webpack-sources/lib/PrefixSource.d.ts","../../../node_modules/@types/webpack-sources/lib/RawSource.d.ts","../../../node_modules/@types/webpack-sources/lib/ReplaceSource.d.ts","../../../node_modules/@types/webpack-sources/lib/SizeOnlySource.d.ts","../../../node_modules/@types/webpack-sources/lib/SourceMapSource.d.ts","../../../node_modules/@types/webpack-sources/lib/index.d.ts","../../../node_modules/@types/webpack-sources/lib/CachedSource.d.ts","../../../node_modules/@types/webpack-sources/index.d.ts","../../../node_modules/@types/webpack/index.d.ts","../../../node_modules/@types/webpack-env/index.d.ts","../../../node_modules/@types/yargs-parser/index.d.ts","../../../node_modules/@types/yargs/index.d.ts"],"fileInfos":[{"version":"ac3a8c4040e183ce38da69d23b96939112457d1936198e6542672b7963cf0fce","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","e21c071ca3e1b4a815d5f04a7475adcaeea5d64367e840dd0154096d705c3940","eb75e89d63b3b72dd9ca8b0cac801cecae5be352307c004adeaa60bc9d6df51f","2cc028cd0bdb35b1b5eb723d84666a255933fffbea607f72cbd0c7c7b4bee144",{"version":"1dad4fe1561d99dfd6709127608b99a76e5c2643626c800434f99c48038567ee","affectsGlobalScope":true},{"version":"a8fe23ae87c3e9d2877032cafeb290f2ebe0c51e216d175a0408b10915ebe9f0","affectsGlobalScope":true},{"version":"cce43d02223f8049864f8568bed322c39424013275cd3bcc3f51492d8b546cb3","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"8dff1b4c2df638fcd976cbb0e636f23ab5968e836cd45084cc31d47d1ab19c49","affectsGlobalScope":true},{"version":"2bb4b3927299434052b37851a47bf5c39764f2ba88a888a107b32262e9292b7c","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"8f4c9f651c8294a2eb1cbd12581fe25bfb901ab1d474bb93cd38c7e2f4be7a30","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"df9c8a72ca8b0ed62f5470b41208a0587f0f73f0a7db28e5a1272cf92537518e","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"93544ca2f26a48716c1b6c5091842cad63129daac422dfa4bc52460465f22bb1","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"60761e6ea886034af0f294f025a7199360ce4e2c8ba4ec6408bc049cf9b89799","affectsGlobalScope":true},{"version":"7435b75fdf3509622e79622dbe5091cf4b09688410ee2034e4fc17d0c99d0862","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"9f1817f7c3f02f6d56e0f403b927e90bb133f371dcebc36fa7d6d208ef6899da","affectsGlobalScope":true},{"version":"cd6efb9467a8b6338ece2e2855e37765700f2cd061ca54b01b33878cf5c7677e","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true},{"version":"506b80b9951c9381dc5f11897b31fca5e2a65731d96ddefa19687fbc26b23c6e","affectsGlobalScope":true},{"version":"ecf78e637f710f340ec08d5d92b3f31b134a46a4fcf2e758690d8c46ce62cba6","affectsGlobalScope":true},"4ee363f83d7be2202f34fcd84c44da71bf3a9329fee8a05f976f75083a52ea94","f7b46d22a307739c145e5fddf537818038fdfffd580d79ed717f4d4d37249380","f5a8b384f182b3851cec3596ccc96cb7464f8d3469f48c74bf2befb782a19de5",{"version":"38943ef508ccbc71691ff6c14f30e0468a85a4ec22c9e0a4eea2c9ba8ca19352","affectsGlobalScope":true},"af7fd2870746deed40e130fc0a3966de74e8f52a97ec114d0fbb35876ab05ca9","50eac108cc307665c28801910626932956adcf8dc0dc70ab1939dd0e8aeb6f28","1a68643644167daaea17e2f89d04edd9d1fec7bf881e4fa3ad4cd43d92447ce1","7255a17d460541e2ccca5f485bb58b6fa64bc750047c5e57ce7abf17cc3f4f3d","571ffdcb677c42d897370ca1a616798670d7715361dc099f713f03c067e8c988","1f8d8388b2da5785ef9c169db1493969f8c9e1ea50e1db1194a21708403f2e10","a299dcd51a18896ffb9f1249507d387a996b8d733cd1ee7c0a5fb46b86f88524","2c3d2bc00ffd291568c89e1ea920cf5c41b6b6a532cdc0bcb74e917eaf133f3b","d164084ca52fc07a704d35264d524307e7e8ace196b817d4a86d0b93cf11ebd0","0de99ed9f5d0a953aabe8de8999b0ce24944f36374d36c06abf9dca6e5567368","a756f87e33897fd95428da3288ed3061182b8678e38b48000c53e5499c7f8863","f68abba533f1aee022d1800ab3ad273e163909b97c171c8eea15fa04e3d02280","9b526aac58282b2b9c1afd1969828336c77a81ca52916214ae63a70e256a8032","d8aab31ba8e618cc3eea10b0945de81cb93b7e8150a013a482332263b9305322","69da61a7b5093dac77fa3bec8be95dcf9a74c95a0e9161edb98bb24e30e439d2","561eca7a381b96d6ccac6e4061e6d2ae53f5bc44203f3fd9f5b26864c32ae6e9","62ea38627e3ebab429f7616812a9394d327c2bc271003dfba985de9b4137369f","b4439890c168d646357928431100daac5cbdee1d345a34e6bf6eca9f3abe22bc","5d72971a459517c44c1379dab9ed248e87a61ba0a1e0f25c9d67e1e640cd9a09","02d734976af36f4273d930bea88b3e62adf6b078cf120c1c63d49aa8d8427c5c",{"version":"516a426e3960379f310107635b8f3a7e8c307c6c665080b128039d9299ec4087","affectsGlobalScope":true},"f544c98b782364169412ac2bc65143918f9f1dd49880920302693f2eb3bd3570","e5d5ee66044d79018aadeabf3dc39d758d9c45c49c004b3a57b76a974fb346d7","5de15b99127d39fe510552b41db9135f81b2c6da52a604b1154c71f080963b32","fbb8558d76ab3469b95e00950f0f427fd59b34fe02485b23b1c99f732c8bcd52","822a794a93be1d9241f102cbc143c30692bbbf190f6e609c6b216560411d291b","b43cf409ba840bb753ff71edcd5ee4398f646e87c63f1d799cbb436b7c049870","b17ccd76e7d102e52ee705e773fbd65af8f78c6d011761ba49d936ec3cc80589","0469548c3570f52ab834e90454e705b5a4a4837faeb292f0848d7888890b6393",{"version":"2a19c7dd007f71b9db87dba915e20d894dbdac8aa8fab5d1c3083a61f2316a5c","affectsGlobalScope":true},{"version":"f3832e609ad73d8001ef05659bea2b8b03ea96026623e814834ff128f5e0f99b","affectsGlobalScope":true},{"version":"a4832e26b82049fc2774c96ca6e1c17b2c204246570a62fdbe7e8ee8af2cd4d4","affectsGlobalScope":true},{"version":"6f1f78e8c2a5c7cd2c38aa9cc5da26d9c039f2bbfa753f2a0a54ce41c4dff8d0","affectsGlobalScope":true},"ec89427601297d439c961528832a75017d9356bec2ee42c1d16f2274590d9330","d0b93cf4a086095121a40a8a878f81c72783fc819ad055225a36ef829c6f41d4","34ef06f1d5e0ae95afb816e93c40f04f93641c11ad06e54b6fbe9335c3238c03","1873db8f2261ba4f248bde3e5bb4c79b1fdc990315054e9604fce8f41ddd1587","7fde24f7b90ddb8aef7ab8f3e2c318babe0c606b7ea5a833369475b0129a05ee","366c22193ba68d3c1ea31d37d98dd5f133fc9e234f07c46656284422bb4209fa","ff60413f9896b702b4e653cf85f6f8246e11482ad4d6859997ca9edafed9cc46","b682e653b63b5aa118887e61cd81a78fc45d4ef8fe95d8c6449742919a5638a4","bbc1e78124f19ccf50225278b700436ce64cf92b0c6b1ca15567431a28371b31","1f93a4dd7096a18c6cf99085327b467de58f3cd7f0f941a8bdc1d7ec4284b301","98edf9bdfe6c7794349a88d720af3035fd4a68480895e72beaf8ff8e758a33f5","a822e999d9c1814859735e919c2bd2a11f7d3c8633ab6656215dc386684e07bc","ae1b8ffb16f8dd0a4008ccf2534e6503af171a3c4ea17da590faeb0c41f85f3e","1cfe76cc39491c2f2059192c7486297154f0a517fe9b3bd9d223824a5f803573","acc42289b4e6d8d789b9f3a4c48fe601c23ab6fe747080f1dc99787b8e79d256","9de7ce840e4a5b95405a164d166d010eaa99fd631817ea3b0310ec4e22b98d0e","8a2395a5c1a95d05c205b791f012b120b4d02eb50a806e24d69da02c51de9d6f","e2624cd48a969f5f8da7560fed327adddbcb3089897923f9f7d5a7cf04f4e917","21e1b303e758ec4a1e9f703e1e1be8c47c8dd74034c2369fd01e9bfe1da98acc","427a853968c89787bcdc5ba0e0603c6fdca97766e343ceaa5acef230883ba807","33cb56e3cc910266a13ca59281b907459131acc58739c2bd68dab246f8ed01fa","c6d0cb5ad7498c2c977a5340f17bcfcc151609118789bbace2336079f2d9f84a","383d4add4d2b7a9b03bb0b7b9b2f62b70c269e79616b629946b51283c14a92cf","4162810d701126188368ff58526c81e7c4c6a9a32ed26c4b763a5d3535b46748","513b7862a230ed479fb045bbe87d37f9ee91cc20fee15dd4b16c3cc74aa3e514","8ff77a6b5f0b74c681e132e9510f5576a29150ee53b1324efed33d3d7fabd736","7bdf81223f6cfae94a48484223d4b59b8ef609cf680f0fa90941d8e093ff27b0","9fbe4ad05e10d7957283cc4a3aa909e70717c62d51bdc19516ffd75a60c2eaf4","8b423ba6b1f81c80542db7deba332d1938db29f6f127fe169287903abe67fe8d","9c0a4431746ad0073026505df7a5724b4126c0e1f41b90e87c1efa6b8335711d","0ec7fb37f4303f3cac4f35819f0d5d75b3b4692990da2590c63c656729447dfe","ed6fbb1cb7cb8dc283f9d5efa68c17d5a9fc5e32fc481e2be7eccd5077d3afc0","e96e84cd79dac3fb1369911a8e9888308deda9542dcfb19d1540414e9ab64465","616ed304b4a011a969ba5d2aa5fca781d66b3f0c8f3d099e19c7158da36fa07b","163be962fa11ca0e3bc9afd1188701e16f5db0d84f904be3a5327c04bf14c1dc","f51c2abd01bb55990a6c5758c8ec34ea7802952c40c30c3941c75eea15539842","23255560340f60336ff79daf50b3b6432ec0f32f7dd19638d3a2406826a15d49","d94c688e938fdcacdf011087d023c63f5804cbcf78f225d5bfcdc097adbeaba3","d9e3d9e3bc7721e47365457cfcc0f52532c143bfba01a34c76643a60fafbfc9d","fca853da554cd762704a9bf8ad62cbf6d55d81c9d69b07b3c8a552367f4976d6","6b8d8f68865166b7f761ccdea7a66018f0452ddb7c6f75bf5cbaa31e6163af8f","d9cef8e439c407166963fa89b317d3ea7367e204035611447c9765786026f03b","ca888feddeab794c01fb1bec893ff46186801a30bca77c8a1aa28477f7e6f839","bb96345dfdd3b0695f5281537427e38fa85cb79449e3c6b59151bb7d753ef6f7","2561fd263d1d42554d0de99369f6fb352981090e2de0966b2e257891abf9977a","b01b764b8b1ce1376a70aa1bde2914093b36810a2a3e60cc9fd8f2741490a8f9","e6047a9c095d3b4a903aea90b49815be068476f1719e76766b7792ee21310f3a","cdcd29d866abedc194a88851871320fbb9c29e1c4868583b1f91ee2786acb818","c02107d9cae7a0c7541e8af0f4e0497650b1494e561e409e7cb90a12bc65ed09","5e62225c303695c8511d3831bca37c141931fd584e3aa1c8c5dd4b57cf01b1d0","1c3dd3b5d7eee485481470a75bd1829ee8e0388e87c8c8f8a8418f702592876a","53336c5924937a0a2a4ba1a515499f48092e4dd853386e77276c0a4ff8a1fa50","5a42225ecf779e7d42b44ff91cd7f842421835f28287e295e42622aa51aeeb6f","baab49106b672deb07dcd3e31333e4a2539970b5db9ee896aedbdba3ca2400e5","2af60becd168c31f931c6839f2cb126713bb0f556780b07959afd04b8311eade","826ea84343ee53323b8b67320019287543a15c1f25ad163552f4adfba79368da","7181cfa9a4f05524e825271e409017810c1bc6a4b9544e05be5bd59ee76ca691","ad9afc2c60e7303174e70e6cbfc1eca63d8a770855d5fa3ddaac8769b9d93658","7e6b3017bd81ce434b27ae46cee6bdc5850db0e0d75e6a1d45c6c23e17eb135b","9304c3176830887fd3bbb010a9542ce549397b63624a51c8e7f2be032adb76e9","6c9c7d76d7f525a366d5ebdb0b42bccfab0ec7bdc0bce4db5b97573ee0970d3e","c7322d04c36fbd32b9035e07416c30073fbadf0bb6c1e855425f12c1df645aee","198c3858acc28364fb1cdf1d99d140fd9e0f3732c57ccd40a1752bcf8f318a0b","0625a691c77d71dd48fc83a59bff500dfbf3bdc1fe9c079b64bcaf078b5158d4",{"version":"662564f7dc409b31c6ad48129d12a1320c132b45bcafd3a990d0f8f545ce0529","affectsGlobalScope":true},"c7da564a19dd4e3f4da17ea97ea4f64fd102465d3b0e3ac2777c86281ca89072","68a0bc5cf72fbd88b11b2ea78bbc6d7bd6c9ed5960d94ee57e0766de09300795","d159c2e6b3efd74df9244340e0915ee1c7548354038f898edd00a1c851d0e67c",{"version":"3e432cdf56538889e5742d388cdf03d670bfb17f4547dbbb1daf90701ec790d5","affectsGlobalScope":true},"85d545d430795d54a8b2896f67f9aeb7bf19fd74a1469ae0627311eb72f0dfa2","a473cf45c3d9809518f8af913312139d9f4db6887dc554e0d06d0f4e52722e6b","55cb77e6ff3d95a68568446f53d3f1dc8fca753575d7c60471a865685f08dcc3","3d68ecf05475492f041c88395372c3a01b30351619bebcd38287ab185be7f7e4",{"version":"36c956a3a6dc279f1e6b77aa4b97b7b229b7d828102573ef5002de456ff5e1d9","affectsGlobalScope":true},"45ac321f2e15d268fd74a90ddaa6467dcaaff2c5b13f95b4b85831520fb7a491","6e8b894365ab993dbb55c58542598d1548fdda072c974f98b89c218891e2ba09","ddd6169dff8e5263397a9399ba7ba92521d3959f8f9dcdc27f24403dc7b751ba","508e1e25ca40ea6cde332d3232c826fcd82f456f45ae535d817754684f048f9e",{"version":"2866a528b2708aa272ec3eaafd3c980abb23aec1ef831cfc5eb2186b98c37ce5","affectsGlobalScope":true},{"version":"8f8f6ee2a0c94077f79439f51640a625ac7e2f5dd6866bd3b5a41705c836adfc","affectsGlobalScope":true},"dda27180d5ff550ace8378f5df0f7a26e616f0c4e310c77e94329e2355f9c255","839421b494b57cd2bc0074e914130277051850eba6def6c25870056e6652640b","12a01de318341fefb7be11f22eb4bf28478a5f137b1b4546c509156e9c158198","88587b5c94b0c4f5d78026e4beeb93383b3933c860d9840b55d6bf47d7b632bb","5aa2a9a778a055cd668ea419ea80ba6e195210eb37d47707a1a58886aa4d80f0","9e8947666e44137405fd378f3a8a0515a492e967e552406c02b991c98c78fc61","0cff7901aedfe78e314f7d44088f07e2afa1b6e4f0473a4169b8456ca2fb245d","9e6a556cf660a94faa51f5bce6ed009b9e02373546a4c67925da909f36c039d0","69640cc2e76dad52daeb9914e6b70c5c9a5591a3a65190a2d3ea432cf0015e16","a39a4c527b7a2dc7a2661b711a534c10c76852c5ad6ae320767d3f7d2621b67d","1bb5c9857b2ee32c199dd85bc0f4c0299112485d6e5dc91428eabfdee0dbd68c",{"version":"61dd09b57a0a5cf1486c3ceb3a18ad23babfe602c323035ce3d01544c5e3e0b6","affectsGlobalScope":true},"7f77304372efe3c9967e5f9ea2061f1b4bf41dc3cda3c83cdd676f2e5af6b7e6","662661bbf9ccd869f3bca82d34234b2abdc95c657e2187c35352d42dddb24c2d","5caa645cc390a0a8d5a031072b6b4e49218c17017cd80a63bd2557b19be13c5f","4c4334eb5d8fae83416a361d787b55a5743916aed8af812a909898bc7333e709","352104835f5c468c7d8a277f2c8c02fac239a37cd2293181fe421faa153878d3","4fd3c4debadce3e9ab9dec3eb45f7f5e2e3d4ad65cf975a6d938d883cfb25a50","0953427f9c2498f71dd912fdd8a81b19cf6925de3e1ad67ab9a77b9a0f79bf0b","a4aa075328fe61190b8547e74fae18179591a67fedb2ad274c63044a00716743","7df562288f949945cf69c21cd912100c2afedeeb7cdb219085f7f4b46cb7dde4","9d16690485ff1eb4f6fc57aebe237728fd8e03130c460919da3a35f4d9bd97f5","40c6ed5dc58e1c6afa7dcd23b1697bf290cc5b1170c63d0a4dd12f52aa39291c","71d6da3b0150ecdcd16c08b3b546fe4cc7f53df642eccfeb03c813ee788fae0c","a364b4a8a015ae377052fa4fac94204d79a69d879567f444c7ceff1b7a18482d","c5ec3b97d9db756c689cd11f4a11eaa9e6077b2768e3e9b54ff727a93c03a909","bdb07038733b2d74a75ba9c381dcb92774cd6f161ee125bfa921eae7d883ccc9","ad93e960a3a07dff7394bf0c8a558006a9ff2d0725ab28fc33dec227d4cb251e",{"version":"2708349d5a11a5c2e5f3a0765259ebe7ee00cdcc8161cb9990cb4910328442a1","affectsGlobalScope":true},"c14e9e86f18189c7d32b5dd03b4cf3f40bed68f0509dec06d75d41b82c065fe2","ae68a04912ee5a0f589276f9ec60b095f8c40d48128a4575b3fdd7d93806931c","d555cd63a3fc837840db192596273fdf52fb28092b0a33bec98e89a0334b3a4c","e61a21e9418f279bc480394a94d1581b2dee73747adcbdef999b6737e34d721b","49daf80661034e07d919f1c716aef69324e34d18a63a282f8100f52c961b58a7","088c526ade9e8b1113afbd9ab33eca948b79cf6460f2a975fa0d63b38eb89564","ded21dcd743228306d360bd0ae935001c61d55664d469475e3420e66240c739f","095ba9fde23dad176c321c77944ba9c45f765934b0da5d516c113d2f550a69f4","deebc0ad524fca6c15a9be3360f62a7e4e26391cf10a3e1238f7eda0d3fb5a22","67dc790ac76433e627c672e9d2d1741af068a5652016a19761ff0231680b1753","675e702f2032766a91eeadee64f51014c64688525da99dccd8178f0c599f13a8","378df8bbbb9e3f6fca05d58f644aab538e1062eab5e778fb0b83d41125df246d","d88a479cccf787b4aa82362150fbeba5211a32dbfafa7b92ba6995ecaf9a1a89","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","c24ad9be9adf28f0927e3d9d9e9cec1c677022356f241ccbbfb97bfe8fb3d1a1","0ec0998e2d085e8ea54266f547976ae152c9dd6cdb9ac4d8a520a230f5ebae84","9364c7566b0be2f7b70ff5285eb34686f83ccb01bda529b82d23b2a844653bfb","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","ae9930989ed57478eb03b9b80ad3efa7a3eacdfeff0f78ecf7894c4963a64f93","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","3e59f00ab03c33717b3130066d4debb272da90eeded4935ff0604c2bc25a5cae","9fa6b83a35e897f340858995ca5d77e901d89fd18644cd4c9e8a4afe0b2e6363",{"version":"0714e2046df66c0e93c3330d30dbc0565b3e8cd3ee302cf99e4ede6220e5fec8","affectsGlobalScope":true},"620a033e8ff8ffc3d280c3d78981d8a929d0a8c14574a3b87413d99d7f02fadd","5f34e74f9d889817c1388da54dbfdb28a36af5676c396fa3041309690bfa9ade","b0e23a13de5e00df2097f3bbc0ba67ecc18946f10222c2d4571814ba718467d7","2f89dab4002cafa419a8385e6cd54f3fd5458a024feb0f79e9967bf4c47157f7","e841f45cbf880c37dfc3279dd87523670ac8bf5477541a682ab10669ae6db0f0","4dfb0de036b79d6c4851ad323b7b8ba8d2eff92099edb928c28e2b8f151b4c73","b59fc967b467026aeb1dc3f3fc02c26b8b0b613212ade066d58cb1050b774da1","b10686e239ffd69ba14643969dd14c8be05f0fabeaff6490637efd034686474a","3976ffc023bc898b0af0bc8f72230b490a8e3d8d653c45bd9667113f3b3c0bdd","c36af53b3a2c4d1c4cd4d30d17f9f09ce2e5203e2390ab406bc94d2c8451902d","786093bf8792839268d761ac49e641a7bba644744f9d6b5cd9d7e1f0b40efb13","d153cbce75b7e1621eda0a4148748f44edd71ff44cc5351bac1c7787da4d5b05","884ea89936f796c251beb26bb7cae616f8e9858a8a06e8c9b3d5456119a3b380","efa621b57b272b529680203b2ac28923b3816ed920f6eeadb5c290c5fc7835f3","efb466f21b29b646f85d3fe9db64d28f610178e2ba161ac25df3a6bf9a35115e","921d4f4464dd72896cf20e2fee242dcdfbd199dd44168c89b987d4bc459ae9ee","8324f6184476658a7f6037abab28f9f0d8260465c5c32ee8d63ca6d0aa8ffba1","47d260086f267834921978107baff46e35a149748a581d4060c36e56aee2912d","8ca06460f06932688a9fd4f30578adaa0f51ca9e3c554db3cefebc1ad17d5930","5642691b3d0abab3967f1c424b30d35a9a38fc76752c224686058c370efe9d3c","cca75548d405e8c29d4bae03017e6dbde372a84f35c2d4288d89681afff0e996","be3810189b331a0c1c708e3e1daca80369975e6179a7d0428e7fde762724ee43","3f7154fc5845512c00d15dbf5f1068eb990ee42968f5e7063900b5755e459a1d","9fa431501f0b3e19395b06d7b05caaca6765b98fbe2d6657d45397f6ee6857ac","29e61c6b7c1261977c6b9a266028f02ba8241174dae0992dce9d4b438225a7a2","2620f260d093d78f35f3710ecc396bcbb99c1fc9db48e53cd0e460860e847d0d","bb6ee31362037d496a42b9ce4d791204af6d4277440132075083569bd268af1b","c9350f7965640f7bd6592a5d486a2780b64bac3b08a481e61875683fa7362c82","913b070bc16b3785a4d73452ad707e906a9429e7c6d78826b594c6bd23bf92f5","e61e77338d6272a617918991bf821cabaf9d38add657862fe574ed911bd2579a","8328bdaf8c3aeb4c37a0e34aa8a06d974f447b8cded8777e8ac4c855799688b1","c6cc2d1ba720e6869a00dbd5892e219b773c2840138f8c2f522564554b96c0b2","d85979e8eebc442572b28de156e7f00c6bcd7460b2a614a2f335f067b99a10cd","a13c2ed74a04e36229cac85d6197efd1c602400669ccfe649935330353ce7205","1fd99a595de087b52539dfa3ed541b0da05013e32fe126c4def0d7ffba89a06f","b8dd5d9eedd28ed3758b8a9c8d782f919d370d4fa4904b41fa8a278279e7b7ba","206bc59c1f84cc0de548e71bdcebac771ff4ce293c0bbf1403e1799d439f159e","cf27882062c79333f59f731c839c7091b7f5f6bed07a10b772c686a6b06389f9","23828c9b0ba2fc1950cfc4e6557677c78afd379ddc471ec3734c93c4ad0dde79","573006ea68dd4d14a37eb8977c1d52c4171454331ed5cd891f81f71e585711d1","bf584cd8537c8fe823d4d4eea995bdda771e73746b848bbddf4dddba5fa435d6","5bd14a35999ca4c499b38cfa3fdf67b4315b8c714c59b3cf321df1c532a6dfc1","3b53789f99a9a3cc12fe57d0b23f0ce85939b2f6288ea874d6632a886d7860a3","1bd11d6a40067d5f87e35187f8870ea13b6a51a50f77d6590052a7e12458dc25","3b7abfaaf97a49aa5a172032f4a8cd4ee0950e7faac77f3fdefd2dbe627fdcd9","bfe21f1da4b5ee3e4f8363daecf32f390bb19bcd81c9cc2cb8cb11be436f3ee3","9270f76c584dd3e7ef4c98d7f94b85e10842f9cc481aa165825e11b537b5fb10","5449741bbcf49da3c7ea918176f7f037f69fc3d0332d49e590b4199bf4a55e3e","9db0654318c9a4bb4b7639f06c6611951726088fad711763f6155c728d6fa386","c62d0d079c4cab8c3707a05e6049d8293254a2b706da1de9024d2b71ddf2575c","0202407d01fa6775a7d3a81d7d22dd857daeb2d69d11ba6d8521e88860eae4f3","f31503d8743ff0a756d5d1bc5b2d1731d50aee7de7d1beb7c0f0591fc1be6496","c389f68b3f527d949ce422ca4aa1c702da76d67f29d49d9822287dc8884c4724","a0623b19878b74ccc8880f8705742a58b5921a16ce90989322477c77f6a0336e","3659f75cdcc77526a560937ff20ad1a6160b9479d08813452d088c186a7f0080","acf8004477bf1a4bc83ff0ca16ea8df314c57a5212cf9419ba647afe5d075cee","1c09322d4baa9c3e5484eb7c5d69548fb9a6f38ecf47177aee5eaecaaee792b0","7eab9e316a87588661477eb7182466c339474eb479063e12c85d93408dcf2242","0cb40624dbe8394e7a6e4936ef46a9de684adf16927bdd78786ce3f00ca5d819","88dfd779677fab3a554fb07a84526ed752fec33ed15d0686c9b30c3bc73876fe","c8c08274305017c3d2a191b7fa9d09af366b4d1469b44158d78c72c2e4145d55","2d3773c3318042f94fb18fb9c6ca4842c69c2ecceeae55bcaae77abc75ef618e","8291d3cc4b7b7928d3415c393e864cab4a4e739808c3eff0bc9896e9f8297e0c","03c4780547e866512c1163466aeb1ddf034ae8e536ebeb1d5caa6e9f4189e6f7","28f79cebcfca19772fd026483f9f44106cb7038874efbc05ae199df32942ff3c","773866fe1d7d930f400ec00a2785a9cec4744725d266271fe00952e4aaf21f4d","318eda7f33f18551afbb2e4da4575c680f50fc287b40a7b39372328bf1ab8727","57390c22b3d030bfe1128a0f47d8969c1f3f2730fd4d6f4a7f26f19a57027855","13f9563ca9bf6eb7a9f45378928e2be95af752a5d256e235e1ba448a00701068","86d5adaf90c4ad9da1ffaa4f3408ea2fea4ff983fcdc410baf291eb7a16ab5aa","61936869f70a6930923e89a03f8899778aa86456188facb3794e10bb9f175471","956679d05d0f9ee7404db2d2a5a9928f421d4f14ef182fa1508e865dc3f6190f","3d0f69998d8d6136860bcb1a72d7fb674030a20807ebbfa858499af29ba55277","6060ad1346f5e68afd2ddef2ffd62734cb60d390f8d171fca2348383b48fbc0e","f1bc11dfda183ce8f2f5548d7c23e42cd1f9ff59ddbc4402a13c5d20e468dd2c","4e014cee4796be9c210a34e6f73090dd9dafc819a1f4c7fa1dd88187bfbdd68b","1a02dacb14700b61266aaa306e4ec7326e54c6046d01475348305bdbf633168c","63a82802003beacae76d48bcb0dc2cf9a4045c7fe87566555669966e03ece89d","225261cac509cdaa8fe26f74af7185fc970dcbf2b2134b8bcbfdc71df5eae784","18b319f248f6878aeb77ecf685ecbf55d10b24323083cdceab57679cafec1453","029808df424ac107ca0313b3c8839414cddafa3c4358c555a8eb8c7f7105ac72","218d093e1a8e9fbe15092ef53a04950e36c45e2786e9af129457796fee484a8a","410c052a6db9399a7a8e3f17abad2f3ba436097c76bc0fa974712d5ad7a53d52","70e7a0db947123f52c001757a92a658a436355d6ee7e8bbb17a185915c7fc81a","3c4fec352fb787fff51dbe2a554ac288d931bdc7a0efc353fe420b25e8ca60b2","69c55d74808b59c1e7be9dac7998183a9b52da3f55b5aefd9fd333661fc29baf","ed7199c8c1a7fc4ebbdab6d0b7fa25616828626e21a6e845df62ab80da04d9c6","1e2c4d1512a469189b0eff3d18d15b855e9324c5403f8f1df8a16d1f06d7be8d","27bbe24a8fcc790e9f91317ff8babf4b4d06e6eec37b74b5f9bd16b896e5a680","7e8fb2d2b5b64653930d1e66bfd9854052fb5f55ff016fa15d62f48c7bcdfb23","86a156ff88a5ab8f324f69260af9d4ecb1dbb15df0950b565c5c4a85e5943fcc","9ca9ecab24f5b09b14a6197d78bdbfea1fd56f18d564bee7f4547d6b8ae52062","e59428917848dadcec095e588fecef7874712c32efe12caa6f4519db9c31e453","ad22a1ba145b4d8308ca4b24e5ae426d10d6297ff2580929a2e82d6341c2ead2","1da7acb76112f0a1620847c0ae99e65a4e0c3a641fbeec2e8ba9c6e62e9fd4f1","289ff4ced6f598d4ea56c6a974f4b17a08108da58d52d82c3dacd6dddd40a259","811fce480f76e6bef4b3ec5da429b806ac48555a58eb45b6b9638e5fd74adb8e","4a4b6d4dcd946add8d09152bfd19154bc0e35f8c1fa88c023404a38bb214db94","fca04d1d9f330d917a891981dde47cc9c9ebe080dccd42281efc8b5fee1f1d4b","59d7bb748dd9ef6acdc29d8f5a041a61d3c1d2352e5ff8d174c8f4392605ba04","789c30657d7209ea015666e66418c630dae77c91b6cf5caca12214d0680d29ff","f0370b8a5b43373fb4355e8afb64b88fa2403fe202008b351e482b576daf5bf5","c13e280d244dc0829d954089e1d0446455efdb72fb4bdc2e3f0561ffbc66c905","8dfed5c91ad36e69e6da6b7e49be929d4e19666db2b651aa839c485170a2902c","6da9e714516d081abaa435946d77c8d74dba888530412dc71601e83d2c8a512e","93de1c6dab503f053efe8d304cb522bb3a89feab8c98f307a674a4fae04773e9","3b043cf9a81854a72963fdb57d1884fc4da1cf5be69b5e0a4c5b751e58cb6d88","71c56bdaa82d7ce75a72d3c06c04fe10becec09bd9c4ef21776a2a055d3f428e",{"version":"24ff7ac33bdb941a8cd04408a31ba15fafab9684f751e7e88234813b89712c19","affectsGlobalScope":true},"40304c033bb6e39f0eb01b106d29523950148dfc3cd547ddb500167871171281",{"version":"42c1b00421aa4d5f03b85a2639c1573d32bd82533f34423bbf1f5fb2b0ddc4d8","affectsGlobalScope":true},"f0cb4b3ab88193e3e51e9e2622e4c375955003f1f81239d72c5b7a95415dad3e","92450d617e92f96354d281c8ed5613fd16cacea79eb60b1e9736494b3c057e69","8a9086357fe289efb682dc925358f30b6312c7219a5ca92212857a0a79612012","92bc42ed0e2d41559513fd457ee30d834c2f0fedb9ed5004c029cbf0ad2f8bd9","6a9c5127096b35264eb7cd21b2417bfc1d42cceca9ba4ce2bb0c3410b7816042","78828b06c0d3b586954015e9ebde5480b009e166c71244763bda328ec0920f41","b1b1adc57093310531ddf3f78b21bda16c30f7319088b0981449476a6616cff3","b6167e00019a8db27428651c58358d8cfac239107f25744e608816ed04361df7",{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true},"0133ebdd17a823ae56861948870cde4dac18dd8818ab641039c85bbb720429e0","3a1e165b22a1cb8df82c44c9a09502fd2b33f160cd277de2cd3a055d8e5c6b27","7d7c8ef7d48a035142c07dae60545ecc0e4af4c337742760cb09726f2f8e31db","e300bf65972ac08167a72787e19d1b43c285c5424707194d0ba64422f6b02c77","1d1e6bd176eee5970968423d7e215bfd66828b6db8d54d17afec05a831322633","fd326577c62145816fe1acc306c734c2396487f76719d3785d4e825b34540b33","d1ae472dde31ac39e68d52e1e21dcccba3989d146b7b8472f03525d0caad1775","3ebae8c00411116a66fca65b08228ea0cf0b72724701f9b854442100aab55aba","1320ee42b30487cceb6da9f230354fc34826111f76bf12f0ad76c717c12625b0","3d2cd8f3047fff04a71e7037a6a4cb9f4accb28dbd8c0d83164d414811025af0","bfe1b52cf71aea9bf8815810cc5d9490fa9617313e3d3c2ee3809a28b80d0bb4","70b34c8420d6226ed565d55f47fe04912d0ca0ad128825c5a06e018a3498db32","de1d6e224048139baf7494237a9231be6bab9e990fb239c7825bfd38b06d8c90","de18acda71730bac52f4b256ce7511bb56cc21f6f114c59c46782eff2f632857","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","abc2748988e07e7e754b43cfcfadca4d45f3449eb4c0be503f13630a3f15f22b","6109487f86bc33b14eebb35cbc878b591328e19657d92bc6c61b667f7f9594c8","7044c407773c0900946b7a02f3a0e7e5e79af8b0a32b14aeb419b7beedfb3fcd","96b729b46007058fceb10567283275a023415f724af78e91cab3ac7073c19635","9c138947e4cf970491111d971aa615db8353c7f0efc72bd84d8ad6e4743079c5","9a6d65d77455efaaaeff945bea30c38b8fe0922b807ba45cd23792392f1bfe76","1a255ad66d2b50f7b42eca69228b9587878cf06900780ad57a306a933c6eaeb4","e437d83044ba17246a861aa9691aa14223ff4a9d6f338ab1269c41c758586a88","736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50","208bb742e0f201470da121bc73847c74b62cff4172f38ae5949ae77d6c9c6b71","062bd2910098fc059ba93e347649b3e126c555f7b144033d21d3f8ef63d3e39b","c9ad058b2cc9ce6dc2ed92960d6d009e8c04bef46d3f5312283debca6869f613","fda7ad096a1619fbae01b3d869cc82e29116f22be50133ac8fb08cee21279acd","9751247ee3bbcf1c63592f0f4dafb44559680b2b3e5736b7f0578c6a737d74c8","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","c555dd691dd05955e99cd93dd99c685a65e5287813ccb5e6bfde951183248e26",{"version":"2d2482647045d334fcfce6eefa3340db2800cb2d0814e7b58d4f3b53c274d8ec","affectsGlobalScope":true},{"version":"216033f81a7bbc9e0725f6a38f60b6acdce6381e1f0652efc0705a2e6a6d5a70","affectsGlobalScope":true},{"version":"838524a3cc660f7bbb104ffa15febad659d1ef1633dac47340bfbfcbbbffdb08","affectsGlobalScope":true},{"version":"50a03e74fae4542ecfb326b34517ec2e058aee15bcb60af5b2e41c5e2db0d079","affectsGlobalScope":true},{"version":"d252bde46b7594f8f90a45d59181b08134ee8c4919ebb2ba7088ba26056bf621","affectsGlobalScope":true},{"version":"e7a62a242d0948ba6687f0442bb26668444114bc64ca629511676e3ffec77e3f","affectsGlobalScope":true},{"version":"1abdfe21f6b99b864965f9dc5073c49f0c0f3d5e8e1fe498fb94bd0a479d3afe","affectsGlobalScope":true},"4d737cdd77685ed65bd61d375375cae446fb0f46f711bbb3ef3f81a350212569","65455ea1b00bae7bd26d3c8c2401eb3d10401c09c55192d6f3b8b2275eda20c2","c0a3ea3aee13c4946a6aefce3a6ab9292a40a29f6622cde0fda0b1067a1a1f5f","62b931417104c7cb35d0725e1869f51d52d7b18462fd58f32f846a314a42ba10","ba601641fac98c229ccd4a303f747de376d761babb33229bb7153bed9356c9cc","94a274c882504de552300fc5d6be141820041e9e2c530064ea10a0b76e2f905f","c45d6f4d3a20be54e46237608f537a8d85397f87b9c3318d68ed925c2f1d0b51",{"version":"d530250769a14518ebd6edda5b5f94abaaf3b9f612363c0da32082fa6acd0da8","affectsGlobalScope":true},"4370c91e46f6992a89e3979c50434cf932088e1b5ae6e3a5214d778634dea768",{"version":"cffd3848b7af4922d70028c805b7df5e8f0eac4a8d2410b0f55b47ca62c6c3a8","affectsGlobalScope":true},"ef6cede608fc396d0ad86d0240c40989a080c6a4c5b2ac5c84072c7e0ff2942e","30688eab034d1aa3bbe4d8f2c7f462ddaec9f30f1a38a306a4728a9a06a58b11","e03334588c63840b7054accd0b90f29c5890db6a6555ac0869a78a23297f1396","c3052485f32a96bfde75a2976c1238995522584ba464f04ff16a8a40af5e50d1","c220410b8e956fa157ce4e5e6ac871f0f433aa120c334d906ff1f5e2c7369e95","960a68ced7820108787135bdae5265d2cc4b511b7dcfd5b8f213432a8483daf1","ed3b711f533ddb3a5451f4c4bb0df3a0b95e9d0433b3b7834644dd1718d06d31","2880728492d6a6baa55411d14cc42fa55714a24b1d1d27ff9a8a610abd47c761","74b0245c42990ed8a849df955db3f4362c81b13f799ebc981b7bec2d5b414a57","30783d97bd0231ae2c4b9320043d61442a8177e81c7df826a5536b95fdd63280","67fc055eb86a0632e2e072838f889ffe1754083cb13c8c80a06a7d895d877aae","b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","2887592574fcdfd087647c539dcb0fbe5af2521270dad4a37f9d17c16190d579","aec0cabbdfacf43db998d8e50ee6f1e72131d24b5018dfb84f14806717baa0a6","e32dad799d088c53cbe1da736e34cad03027d56dd2fc77d484a67100278bc4bd","3833c70307dc3d2b46cb6f2a8b6a90e4d7e7367a21ab18c481d7de0909a43e67","9d74c7330800b325bb19cc8c1a153a612c080a60094e1ab6cfb6e39cf1b88c36","4fb0b7d532aa6fb850b6cd2f1ee4f00802d877b5c66a51903bc1fb0624126349","b90c59ac4682368a01c83881b814738eb151de8a58f52eb7edadea2bcffb11b9","8560a87b2e9f8e2c3808c8f6172c9b7eb6c9b08cb9f937db71c285ecf292c81d","ffe3931ff864f28d80ae2f33bd11123ad3d7bad9896b910a1e61504cc093e1f5","083c1bd82f8dc3a1ed6fc9e8eaddf141f7c05df418eca386598821e045253af9","274ebe605bd7f71ce161f9f5328febc7d547a2929f803f04b44ec4a7d8729517","6ca0207e70d985a24396583f55836b10dc181063ab6069733561bfde404d1bad","5908142efeaab38ffdf43927ee0af681ae77e0d7672b956dfb8b6c705dbfe106","f772b188b943549b5c5eb803133314b8aa7689eced80eed0b70e2f30ca07ab9c","0026b816ef05cfbf290e8585820eef0f13250438669107dfc44482bac007b14f","05d64cc1118031b29786632a9a0f6d7cf1dcacb303f27023a466cf3cdc860538","e0fff9119e1a5d2fdd46345734126cd6cb99c2d98a9debf0257047fe3937cc3f","d84398556ba4595ee6be554671da142cfe964cbdebb2f0c517a10f76f2b016c0","e275297155ec3251200abbb334c7f5641fecc68b2a9573e40eed50dff7584762","cd6a7c1c2a6461c6868601ca2144a41f8ee6d4a85d4b4cf1deb651e6c2ebc9e5",{"version":"3a1e422f919c70fca66e94dc641ad8d9732b3d2533ac047b8a9aaca9eea3aa10","affectsGlobalScope":true},"f7e133b20ee2669b6c0e5d7f0cd510868c57cd64b283e68c7f598e30ce9d76d2","09c4b2e2d3070239d563fc690f0cc5db04a2d9b66a23e61aef8b5274e3e9910c"],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"declarationDir":"./","declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"jsx":4,"module":99,"noFallthroughCasesInSwitch":true,"outDir":"./","skipLibCheck":true,"sourceMap":true,"target":2},"fileIdsList":[[318],[94],[50,95],[318,319,320,321,322],[318,320],[85,87],[197],[327],[328,329],[328],[331],[333],[50,326],[335,336,337,338],[339],[163,164,197,340],[164,197],[344],[50],[349],[350],[68,70],[80,81,82,83,84],[215],[203,205,206,207,208,209,210,211,212,213,214,215],[203,204,206,207,208,209,210,211,212,213,214,215],[204,205,206,207,208,209,210,211,212,213,214,215],[203,204,205,207,208,209,210,211,212,213,214,215],[203,204,205,206,208,209,210,211,212,213,214,215],[203,204,205,206,207,209,210,211,212,213,214,215],[203,204,205,206,207,208,210,211,212,213,214,215],[203,204,205,206,207,208,209,211,212,213,214,215],[203,204,205,206,207,208,209,210,212,213,214,215],[203,204,205,206,207,208,209,210,211,213,214,215],[203,204,205,206,207,208,209,210,211,212,214,215],[203,204,205,206,207,208,209,210,211,212,213,215],[203,204,205,206,207,208,209,210,211,212,213,214],[325],[166,186,197,361,362],[166,180,197],[194,195],[163,164,171,180],[155,163,171],[187],[159,164,172],[180],[161,163,171],[163],[163,165,180,186],[164],[171,180,186],[163,164,166,171,180,183,186],[166,183,186],[196],[186],[161,163,180],[153],[185],[178,187,189],[171],[152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193],[177],[163,165,180,186,189],[370],[370,371,372,373,374,375],[332,369],[369,370],[50,346,383],[50,385],[50,387],[387,388,389,390,391],[46,47,48,49],[399],[398],[197,405,406,407,408,409,410,411,412,413,414,415],[404,405,414],[405,414],[396,404,405,414],[405],[159,404,414],[404,405,406,407,408,409,410,411,412,413,415],[159,197,398,401,402,403,416],[419],[64,65],[64,65,66,67],[69],[50,232,314],[50,314],[50,238],[50,87,314],[50,261,314],[50,233,238,239,256,262,298,311],[232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313],[314],[198],[198,199,200,201],[180,197],[48,50,86,87,90],[48,50],[48,50,86,87,90,113],[50,87,100],[50,113],[50,73,86,118,121],[50,100],[50,73,86,119,120],[50,86],[50,96],[50,100,104],[50,105],[50,73,105],[50,105,108],[105,106,107,109],[73,85,90,91,92,93,96,97,98,99,104,110,111,112,113,114,115,116,117,121,122,123,124,125,126,127,130,131,136,137,138,139,140,141,142,143,144,145,146,147],[50,87,90,105,128],[129],[50,132],[132,133,134,135],[48,50,87],[50,88],[88,89],[101],[101,102,103],[51,73,78],[50,51,73,78,79,148,150,151,223,228,230],[51,148],[50,51,100,148],[50,51,73,78,95,100,148,151,223,226,227],[50,51,78,148,149,151,228,229],[50,51,73,78,223,227],[51],[51,77],[51,73],[48,50,51,73,78,79,148,150,151,223,227,231,314],[51,78,150,151,202,216,224],[51,73,77,78,202,223],[51,78,149,151,225,228,230,231,315,316],[217],[218],[220],[217,219,220,221,222],[74],[74,75,76],[56],[71],[52,53,54,55,56,57,58,59,60,61,62,63,72]],"referencedMap":[[320,1],[95,2],[226,3],[323,4],[319,1],[321,5],[322,1],[324,6],[326,7],[328,8],[330,9],[329,10],[332,11],[334,12],[333,13],[339,14],[336,15],[341,16],[343,17],[345,18],[346,19],[350,20],[351,21],[71,22],[85,23],[353,7],[354,24],[355,24],[356,24],[216,24],[204,25],[205,26],[203,27],[206,28],[207,29],[208,30],[209,31],[210,32],[211,33],[212,34],[213,35],[214,36],[215,37],[357,19],[358,18],[359,38],[363,39],[361,40],[196,41],[155,42],[156,43],[157,44],[158,45],[159,46],[160,47],[162,48],[163,48],[164,49],[165,50],[166,51],[167,52],[168,53],[197,54],[169,48],[170,55],[171,56],[174,57],[175,58],[178,48],[179,59],[180,48],[183,60],[194,61],[185,60],[186,62],[188,46],[190,63],[191,46],[365,48],[371,64],[372,64],[373,64],[376,65],[370,66],[369,64],[374,64],[375,67],[381,19],[118,19],[382,19],[384,68],[385,69],[386,19],[388,70],[390,19],[387,19],[389,70],[392,71],[120,19],[119,19],[50,72],[51,19],[393,7],[400,73],[402,74],[416,75],[415,76],[406,77],[407,78],[408,78],[409,77],[410,77],[411,77],[412,79],[405,80],[413,76],[414,81],[417,82],[420,83],[66,84],[68,85],[67,84],[399,74],[70,86],[233,87],[234,88],[235,88],[236,88],[237,88],[239,89],[240,88],[241,19],[242,88],[243,88],[244,88],[245,88],[246,88],[247,88],[248,88],[249,88],[250,88],[251,88],[252,88],[253,88],[254,88],[255,88],[256,88],[260,88],[258,88],[259,88],[257,88],[261,88],[262,88],[263,88],[264,88],[238,88],[265,88],[266,90],[267,88],[232,88],[268,88],[269,88],[270,88],[271,88],[272,88],[273,88],[274,88],[275,89],[276,88],[277,88],[278,91],[279,88],[280,88],[281,88],[282,88],[283,88],[284,87],[285,88],[286,88],[287,88],[288,88],[293,88],[294,88],[289,88],[290,88],[291,88],[292,88],[295,88],[296,88],[297,88],[298,90],[299,88],[300,88],[301,88],[302,88],[303,88],[304,88],[306,88],[305,88],[307,88],[308,87],[309,88],[310,88],[311,90],[312,92],[314,93],[313,94],[199,95],[202,96],[201,95],[198,97],[91,98],[92,99],[93,19],[96,3],[97,99],[98,19],[99,19],[112,19],[111,99],[114,100],[115,101],[116,102],[117,19],[122,103],[124,104],[121,105],[125,19],[126,19],[127,19],[131,19],[137,19],[138,19],[139,19],[113,19],[140,19],[141,106],[142,19],[144,19],[145,19],[146,107],[147,19],[105,108],[106,109],[108,110],[107,109],[109,111],[110,112],[148,113],[129,114],[128,109],[130,115],[133,116],[132,3],[134,19],[135,19],[136,117],[88,118],[89,119],[90,120],[102,121],[101,19],[103,121],[104,122],[79,123],[231,124],[149,125],[316,126],[228,127],[230,128],[229,129],[150,130],[78,131],[151,132],[315,133],[225,134],[224,135],[317,136],[100,2],[218,137],[219,138],[221,139],[223,140],[75,141],[76,141],[77,142],[57,143],[72,144],[73,145]],"exportedModulesMap":[[320,1],[95,2],[226,3],[323,4],[319,1],[321,5],[322,1],[324,6],[326,7],[328,8],[330,9],[329,10],[332,11],[334,12],[333,13],[339,14],[336,15],[341,16],[343,17],[345,18],[346,19],[350,20],[351,21],[71,22],[85,23],[353,7],[354,24],[355,24],[356,24],[216,24],[204,25],[205,26],[203,27],[206,28],[207,29],[208,30],[209,31],[210,32],[211,33],[212,34],[213,35],[214,36],[215,37],[357,19],[358,18],[359,38],[363,39],[361,40],[196,41],[155,42],[156,43],[157,44],[158,45],[159,46],[160,47],[162,48],[163,48],[164,49],[165,50],[166,51],[167,52],[168,53],[197,54],[169,48],[170,55],[171,56],[174,57],[175,58],[178,48],[179,59],[180,48],[183,60],[194,61],[185,60],[186,62],[188,46],[190,63],[191,46],[365,48],[371,64],[372,64],[373,64],[376,65],[370,66],[369,64],[374,64],[375,67],[381,19],[118,19],[382,19],[384,68],[385,69],[386,19],[388,70],[390,19],[387,19],[389,70],[392,71],[120,19],[119,19],[50,72],[51,19],[393,7],[400,73],[402,74],[416,75],[415,76],[406,77],[407,78],[408,78],[409,77],[410,77],[411,77],[412,79],[405,80],[413,76],[414,81],[417,82],[420,83],[66,84],[68,85],[67,84],[399,74],[70,86],[233,87],[234,88],[235,88],[236,88],[237,88],[239,89],[240,88],[241,19],[242,88],[243,88],[244,88],[245,88],[246,88],[247,88],[248,88],[249,88],[250,88],[251,88],[252,88],[253,88],[254,88],[255,88],[256,88],[260,88],[258,88],[259,88],[257,88],[261,88],[262,88],[263,88],[264,88],[238,88],[265,88],[266,90],[267,88],[232,88],[268,88],[269,88],[270,88],[271,88],[272,88],[273,88],[274,88],[275,89],[276,88],[277,88],[278,91],[279,88],[280,88],[281,88],[282,88],[283,88],[284,87],[285,88],[286,88],[287,88],[288,88],[293,88],[294,88],[289,88],[290,88],[291,88],[292,88],[295,88],[296,88],[297,88],[298,90],[299,88],[300,88],[301,88],[302,88],[303,88],[304,88],[306,88],[305,88],[307,88],[308,87],[309,88],[310,88],[311,90],[312,92],[314,93],[313,94],[199,95],[202,96],[201,95],[198,97],[91,98],[92,99],[93,19],[96,3],[97,99],[98,19],[99,19],[112,19],[111,99],[114,100],[115,101],[116,102],[117,19],[122,103],[124,104],[121,105],[125,19],[126,19],[127,19],[131,19],[137,19],[138,19],[139,19],[113,19],[140,19],[141,106],[142,19],[144,19],[145,19],[146,107],[147,19],[105,108],[106,109],[108,110],[107,109],[109,111],[110,112],[148,113],[129,114],[128,109],[130,115],[133,116],[132,3],[134,19],[135,19],[136,117],[88,118],[89,119],[90,120],[102,121],[101,19],[103,121],[104,122],[79,123],[231,124],[149,125],[316,126],[228,127],[230,128],[229,129],[150,130],[78,131],[151,132],[315,133],[225,134],[224,135],[317,136],[100,2],[218,137],[219,138],[221,139],[223,140],[75,141],[76,141],[77,142],[57,143],[72,144],[73,145]],"semanticDiagnosticsPerFile":[320,318,94,95,226,323,319,321,322,324,325,326,328,330,329,327,332,334,333,335,339,336,338,342,341,343,345,346,347,348,349,350,351,71,81,80,85,83,82,337,352,353,354,355,356,216,204,205,203,206,207,208,209,210,211,212,213,214,215,357,358,86,359,340,360,331,362,363,361,195,153,196,154,155,156,157,158,159,160,161,162,163,164,165,152,192,166,167,168,197,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,194,185,186,187,188,189,193,190,191,364,365,366,367,368,371,372,373,376,370,369,374,375,377,378,48,379,380,381,118,382,384,385,386,388,390,387,389,391,392,120,119,46,50,51,393,394,49,395,84,396,397,400,401,402,344,418,416,415,406,407,408,409,410,411,412,405,413,414,404,417,419,420,403,227,47,64,66,68,67,65,87,399,70,69,233,234,235,236,237,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,260,258,259,257,261,262,263,264,238,265,266,267,232,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,293,294,289,290,291,292,295,296,297,298,299,300,301,302,303,304,306,305,307,308,309,310,311,312,314,313,383,398,10,11,13,12,2,14,15,16,17,18,19,20,21,3,4,25,22,23,24,26,27,28,5,29,30,31,32,6,33,34,35,36,7,41,37,38,39,40,8,42,43,44,1,9,45,200,199,202,201,198,91,92,93,96,97,98,99,112,111,114,115,116,117,123,122,124,121,125,126,127,131,137,138,139,113,140,141,142,143,144,145,146,147,105,106,108,107,109,110,148,129,128,130,133,132,134,135,136,88,89,90,102,101,103,104,79,231,149,316,228,230,229,150,78,151,315,225,224,317,100,218,219,221,220,217,222,223,74,75,76,77,52,53,55,54,62,57,56,58,72,59,61,60,63,73]},"version":"4.3.2"}
|
|
1
|
+
{"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/@types/react/global.d.ts","../../../node_modules/csstype/index.d.ts","../../../node_modules/@types/prop-types/index.d.ts","../../../node_modules/@types/scheduler/tracing.d.ts","../../../node_modules/@types/react/index.d.ts","../../../node_modules/@types/react/jsx-runtime.d.ts","../../utils/dist/CanceledPromiseError.d.ts","../../utils/dist/ColorUtils.d.ts","../../utils/dist/DbNameValidator.d.ts","../../utils/dist/DOMUtils.d.ts","../../utils/dist/PromiseUtils.d.ts","../../utils/dist/Pending.d.ts","../../utils/dist/RangeUtils.d.ts","../../utils/dist/TextUtils.d.ts","../../utils/dist/TimeoutError.d.ts","../../utils/dist/TimeUtils.d.ts","../../utils/dist/InvalidMetadataError.d.ts","../../utils/dist/ValidationError.d.ts","../../../node_modules/jest-diff/build/cleanupSemantic.d.ts","../../../node_modules/jest-diff/build/types.d.ts","../../../node_modules/jest-diff/build/diffLines.d.ts","../../../node_modules/jest-diff/build/printDiffs.d.ts","../../../node_modules/jest-diff/build/index.d.ts","../../../node_modules/pretty-format/build/types.d.ts","../../../node_modules/pretty-format/build/index.d.ts","../../../node_modules/@types/jest/index.d.ts","../../utils/dist/TestUtils.d.ts","../../utils/dist/index.d.ts","../../storage/dist/Storage.d.ts","../../storage/dist/StorageTableViewportUpdater.d.ts","../../storage/dist/StorageUtils.d.ts","../../storage/dist/index.d.ts","../src/FileStorage.ts","../src/FileExistsError.ts","../../../node_modules/@types/jquery/JQueryStatic.d.ts","../../../node_modules/@types/jquery/JQuery.d.ts","../../../node_modules/@types/jquery/misc.d.ts","../../../node_modules/@types/jquery/legacy.d.ts","../../../node_modules/@types/sizzle/index.d.ts","../../../node_modules/@types/jquery/index.d.ts","../../../node_modules/@types/memoizee/index.d.ts","../../../node_modules/popper.js/index.d.ts","../../components/dist/popper/Popper.d.ts","../../components/dist/popper/Tooltip.d.ts","../../components/dist/popper/index.d.ts","../../components/dist/AutoCompleteInput.d.ts","../../components/dist/AutoResizeTextarea.d.ts","../../components/dist/BasicModal.d.ts","../../../node_modules/@fortawesome/fontawesome-common-types/index.d.ts","../../../node_modules/@fortawesome/fontawesome-svg-core/index.d.ts","../../components/dist/Button.d.ts","../../components/dist/ButtonGroup.d.ts","../../components/dist/ButtonOld.d.ts","../../components/dist/CardFlip.d.ts","../../icons/dist/index.d.ts","../../components/dist/shortcuts/Shortcut.d.ts","../../components/dist/shortcuts/GlobalShortcuts.d.ts","../../components/dist/shortcuts/ShortcutRegistry.d.ts","../../components/dist/shortcuts/index.d.ts","../../components/dist/context-actions/ContextActionUtils.d.ts","../../components/dist/context-actions/ContextActions.d.ts","../../components/dist/context-actions/ContextMenuItem.d.ts","../../components/dist/context-actions/ContextMenu.d.ts","../../components/dist/context-actions/ContextMenuRoot.d.ts","../../components/dist/context-actions/index.d.ts","../../components/dist/Collapse.d.ts","../../components/dist/Checkbox.d.ts","../../components/dist/SearchInput.d.ts","../../components/dist/ComboBox.d.ts","../../components/dist/CustomTimeSelect.d.ts","../../components/dist/DebouncedSearchInput.d.ts","../../components/dist/DeephavenSpinner.d.ts","../../../node_modules/@types/react-beautiful-dnd/index.d.ts","../../../node_modules/@types/react-window/index.d.ts","../../../node_modules/@types/react-virtualized-auto-sizer/index.d.ts","../../components/dist/ItemList.d.ts","../../components/dist/DraggableItemList.d.ts","../../components/dist/DragUtils.d.ts","../../components/dist/HierarchicalCheckboxMenu.d.ts","../../components/dist/ItemListItem.d.ts","../../components/dist/LoadingOverlay.d.ts","../../components/dist/LoadingSpinner.d.ts","../../components/dist/menu-actions/Menu.d.ts","../../components/dist/menu-actions/DropdownMenu.d.ts","../../components/dist/menu-actions/index.d.ts","../../components/dist/MaskedInput.d.ts","../../components/dist/navigation/MenuItem.d.ts","../../components/dist/navigation/Menu.d.ts","../../components/dist/navigation/Page.d.ts","../../components/dist/navigation/Stack.d.ts","../../components/dist/navigation/index.d.ts","../../components/dist/Option.d.ts","../../components/dist/RadioGroup.d.ts","../../components/dist/RadioItem.d.ts","../../components/dist/Select.d.ts","../../components/dist/SelectValueList.d.ts","../../components/dist/SocketedButton.d.ts","../../components/dist/ThemeExport.d.ts","../../components/dist/TimeInput.d.ts","../../components/dist/TimeSlider.d.ts","../../components/dist/ToastNotification.d.ts","../../components/dist/UISwitch.d.ts","../../components/dist/index.d.ts","../src/FileExplorerShortcuts.ts","../src/FileNotFoundError.ts","../src/FileUtils.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/ts3.6/base.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/base.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/webdav/web/types.d.ts","../../../node_modules/webdav/web/factory.d.ts","../../../node_modules/webdav/web/compat/patcher.d.ts","../../../node_modules/webdav/web/tools/dav.d.ts","../../../node_modules/webdav/web/index.d.ts","../../../node_modules/@types/lodash/common/common.d.ts","../../../node_modules/@types/lodash/common/array.d.ts","../../../node_modules/@types/lodash/common/collection.d.ts","../../../node_modules/@types/lodash/common/date.d.ts","../../../node_modules/@types/lodash/common/function.d.ts","../../../node_modules/@types/lodash/common/lang.d.ts","../../../node_modules/@types/lodash/common/math.d.ts","../../../node_modules/@types/lodash/common/number.d.ts","../../../node_modules/@types/lodash/common/object.d.ts","../../../node_modules/@types/lodash/common/seq.d.ts","../../../node_modules/@types/lodash/common/string.d.ts","../../../node_modules/@types/lodash/common/util.d.ts","../../../node_modules/@types/lodash/index.d.ts","../../../node_modules/@types/lodash.throttle/index.d.ts","../../log/dist/Logger.d.ts","../../log/dist/DefaultLogger.d.ts","../../log/dist/Log.d.ts","../../log/dist/LogProxy.d.ts","../../log/dist/LogHistory.d.ts","../../log/dist/LoggerLevel.d.ts","../../log/dist/index.d.ts","../src/WebdavFileStorageTable.ts","../src/WebdavFileStorage.ts","../../../node_modules/@fortawesome/react-fontawesome/index.d.ts","../../../node_modules/classnames/index.d.ts","../src/FileList.tsx","../src/FileListItemEditor.tsx","../src/FileListContainer.tsx","../src/FileExplorer.tsx","../../../node_modules/reactstrap/es/Fade.d.ts","../../../node_modules/reactstrap/es/Alert.d.ts","../../../node_modules/reactstrap/es/Badge.d.ts","../../../node_modules/reactstrap/es/Breadcrumb.d.ts","../../../node_modules/reactstrap/es/BreadcrumbItem.d.ts","../../../node_modules/reactstrap/es/Button.d.ts","../../../node_modules/reactstrap/es/Dropdown.d.ts","../../../node_modules/reactstrap/es/ButtonDropdown.d.ts","../../../node_modules/reactstrap/es/ButtonGroup.d.ts","../../../node_modules/reactstrap/es/ButtonToggle.d.ts","../../../node_modules/reactstrap/es/ButtonToolbar.d.ts","../../../node_modules/reactstrap/es/Card.d.ts","../../../node_modules/reactstrap/es/CardBody.d.ts","../../../node_modules/reactstrap/es/CardColumns.d.ts","../../../node_modules/reactstrap/es/CardDeck.d.ts","../../../node_modules/reactstrap/es/CardFooter.d.ts","../../../node_modules/reactstrap/es/CardGroup.d.ts","../../../node_modules/reactstrap/es/CardHeader.d.ts","../../../node_modules/reactstrap/es/CardImg.d.ts","../../../node_modules/reactstrap/es/CardImgOverlay.d.ts","../../../node_modules/reactstrap/es/CardLink.d.ts","../../../node_modules/reactstrap/es/CardSubtitle.d.ts","../../../node_modules/reactstrap/es/CardText.d.ts","../../../node_modules/reactstrap/es/CardTitle.d.ts","../../../node_modules/reactstrap/es/Carousel.d.ts","../../../node_modules/reactstrap/es/CarouselItem.d.ts","../../../node_modules/reactstrap/es/CarouselControl.d.ts","../../../node_modules/reactstrap/es/CarouselIndicators.d.ts","../../../node_modules/reactstrap/es/CarouselCaption.d.ts","../../../node_modules/reactstrap/es/Col.d.ts","../../../node_modules/reactstrap/es/Collapse.d.ts","../../../node_modules/reactstrap/es/Container.d.ts","../../../node_modules/reactstrap/es/CustomInput.d.ts","../../../node_modules/reactstrap/es/DropdownItem.d.ts","../../../node_modules/reactstrap/es/DropdownMenu.d.ts","../../../node_modules/reactstrap/es/DropdownToggle.d.ts","../../../node_modules/reactstrap/es/Form.d.ts","../../../node_modules/reactstrap/es/FormFeedback.d.ts","../../../node_modules/reactstrap/es/FormGroup.d.ts","../../../node_modules/reactstrap/es/FormText.d.ts","../../../node_modules/reactstrap/es/Input.d.ts","../../../node_modules/reactstrap/es/InputGroup.d.ts","../../../node_modules/reactstrap/es/InputGroupAddon.d.ts","../../../node_modules/reactstrap/es/InputGroupButtonDropdown.d.ts","../../../node_modules/reactstrap/es/InputGroupText.d.ts","../../../node_modules/reactstrap/es/Jumbotron.d.ts","../../../node_modules/reactstrap/es/Label.d.ts","../../../node_modules/reactstrap/es/ListGroup.d.ts","../../../node_modules/reactstrap/es/ListGroupItem.d.ts","../../../node_modules/reactstrap/es/ListGroupItemHeading.d.ts","../../../node_modules/reactstrap/es/ListGroupItemText.d.ts","../../../node_modules/reactstrap/es/Media.d.ts","../../../node_modules/reactstrap/es/Modal.d.ts","../../../node_modules/reactstrap/es/ModalBody.d.ts","../../../node_modules/reactstrap/es/ModalFooter.d.ts","../../../node_modules/reactstrap/es/ModalHeader.d.ts","../../../node_modules/reactstrap/es/Nav.d.ts","../../../node_modules/reactstrap/es/Navbar.d.ts","../../../node_modules/reactstrap/es/NavbarBrand.d.ts","../../../node_modules/reactstrap/es/NavbarText.d.ts","../../../node_modules/reactstrap/es/NavbarToggler.d.ts","../../../node_modules/reactstrap/es/NavItem.d.ts","../../../node_modules/reactstrap/es/NavLink.d.ts","../../../node_modules/reactstrap/es/Pagination.d.ts","../../../node_modules/reactstrap/es/PaginationItem.d.ts","../../../node_modules/reactstrap/es/PaginationLink.d.ts","../../../node_modules/reactstrap/es/Popover.d.ts","../../../node_modules/reactstrap/es/PopoverBody.d.ts","../../../node_modules/reactstrap/es/PopoverHeader.d.ts","../../../node_modules/reactstrap/es/Progress.d.ts","../../../node_modules/reactstrap/es/Row.d.ts","../../../node_modules/reactstrap/es/Spinner.d.ts","../../../node_modules/reactstrap/es/TabContent.d.ts","../../../node_modules/reactstrap/es/Table.d.ts","../../../node_modules/reactstrap/es/TabPane.d.ts","../../../node_modules/reactstrap/es/Tag.d.ts","../../../node_modules/reactstrap/es/Toast.d.ts","../../../node_modules/reactstrap/es/ToastBody.d.ts","../../../node_modules/reactstrap/es/ToastHeader.d.ts","../../../node_modules/reactstrap/es/Tooltip.d.ts","../../../node_modules/reactstrap/es/Uncontrolled.d.ts","../../../node_modules/reactstrap/es/utils.d.ts","../../../node_modules/reactstrap/es/index.d.ts","../src/NewItemModal.tsx","../src/FileExplorerToolbar.tsx","../src/index.ts","../../../node_modules/@babel/types/lib/index.d.ts","../../../node_modules/@types/babel__generator/index.d.ts","../../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../../node_modules/@types/babel__template/index.d.ts","../../../node_modules/@types/babel__traverse/index.d.ts","../../../node_modules/@types/babel__core/index.d.ts","../../../node_modules/@types/bootstrap/index.d.ts","../../../node_modules/@types/cheerio/index.d.ts","../../../node_modules/@types/color-name/index.d.ts","../../../node_modules/@types/color-convert/conversions.d.ts","../../../node_modules/@types/color-convert/route.d.ts","../../../node_modules/@types/color-convert/index.d.ts","../../../node_modules/@types/ms/index.d.ts","../../../node_modules/@types/debug/index.d.ts","../../../node_modules/@types/enzyme/index.d.ts","../../../node_modules/@types/enzyme-adapter-react-16/index.d.ts","../../../node_modules/@types/eslint/helpers.d.ts","../../../node_modules/@types/eslint/lib/rules/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/eslint/index.d.ts","../../../node_modules/@types/minimatch/index.d.ts","../../../node_modules/@types/glob/index.d.ts","../../../node_modules/@types/graceful-fs/index.d.ts","../../../node_modules/@types/unist/index.d.ts","../../../node_modules/@types/hast/index.d.ts","../../../node_modules/@types/history/DOMUtils.d.ts","../../../node_modules/@types/history/createBrowserHistory.d.ts","../../../node_modules/@types/history/createHashHistory.d.ts","../../../node_modules/@types/history/createMemoryHistory.d.ts","../../../node_modules/@types/history/LocationUtils.d.ts","../../../node_modules/@types/history/PathUtils.d.ts","../../../node_modules/@types/history/index.d.ts","../../../node_modules/@types/hoist-non-react-statics/index.d.ts","../../../node_modules/@types/html-minifier-terser/index.d.ts","../../../node_modules/@types/is-function/index.d.ts","../../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../../node_modules/@types/istanbul-lib-report/index.d.ts","../../../node_modules/@types/istanbul-reports/index.d.ts","../../../node_modules/@types/json5/index.d.ts","../../../node_modules/@types/jszip/index.d.ts","../../../node_modules/@types/lodash.clamp/index.d.ts","../../../node_modules/@types/lodash.debounce/index.d.ts","../../../node_modules/@types/lodash.flatten/index.d.ts","../../../node_modules/@types/mdast/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/node-fetch/node_modules/form-data/index.d.ts","../../../node_modules/@types/node-fetch/externals.d.ts","../../../node_modules/@types/node-fetch/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/npmlog/index.d.ts","../../../node_modules/@types/overlayscrollbars/index.d.ts","../../../node_modules/@types/parse-json/index.d.ts","../../../node_modules/@types/parse5/index.d.ts","../../../node_modules/@types/pouchdb-find/index.d.ts","../../../node_modules/@types/pouchdb-core/index.d.ts","../../../node_modules/@types/pouchdb-adapter-http/index.d.ts","../../../node_modules/@types/pouchdb-adapter-idb/index.d.ts","../../../node_modules/@types/pouchdb-adapter-websql/index.d.ts","../../../node_modules/@types/pouchdb-mapreduce/index.d.ts","../../../node_modules/@types/pouchdb-replication/index.d.ts","../../../node_modules/@types/pouchdb-browser/index.d.ts","../../../node_modules/@types/prettier/index.d.ts","../../../node_modules/@types/pretty-hrtime/index.d.ts","../../../node_modules/@types/q/index.d.ts","../../../node_modules/@types/qs/index.d.ts","../../../node_modules/@types/react-dom/index.d.ts","../../../node_modules/redux/index.d.ts","../../../node_modules/@types/react-redux/index.d.ts","../../../node_modules/history/index.d.ts","../../../node_modules/@types/react-router/index.d.ts","../../../node_modules/react-router/node_modules/history/index.d.ts","../../../node_modules/react-router/index.d.ts","../../../node_modules/@types/react-router-dom/index.d.ts","../../../node_modules/@types/react-syntax-highlighter/index.d.ts","../../../node_modules/@types/react-test-renderer/index.d.ts","../../../node_modules/@types/react-transition-group/Transition.d.ts","../../../node_modules/@types/react-transition-group/CSSTransition.d.ts","../../../node_modules/@types/react-transition-group/TransitionGroup.d.ts","../../../node_modules/@types/react-transition-group/SwitchTransition.d.ts","../../../node_modules/@types/react-transition-group/config.d.ts","../../../node_modules/@types/react-transition-group/index.d.ts","../../../node_modules/@types/resolve/index.d.ts","../../../node_modules/@types/scheduler/index.d.ts","../../../node_modules/@types/shortid/index.d.ts","../../../node_modules/@types/source-list-map/index.d.ts","../../../node_modules/@types/stack-utils/index.d.ts","../../../node_modules/source-map/source-map.d.ts","../../../node_modules/postcss/lib/postcss.d.ts","../../../node_modules/@types/stylelint/index.d.ts","../../../node_modules/@types/tapable/index.d.ts","../../../node_modules/@types/uglify-js/index.d.ts","../../../node_modules/anymatch/index.d.ts","../../../node_modules/@types/webpack-sources/node_modules/source-map/source-map.d.ts","../../../node_modules/@types/webpack-sources/lib/Source.d.ts","../../../node_modules/@types/webpack-sources/lib/CompatSource.d.ts","../../../node_modules/@types/webpack-sources/lib/ConcatSource.d.ts","../../../node_modules/@types/webpack-sources/lib/OriginalSource.d.ts","../../../node_modules/@types/webpack-sources/lib/PrefixSource.d.ts","../../../node_modules/@types/webpack-sources/lib/RawSource.d.ts","../../../node_modules/@types/webpack-sources/lib/ReplaceSource.d.ts","../../../node_modules/@types/webpack-sources/lib/SizeOnlySource.d.ts","../../../node_modules/@types/webpack-sources/lib/SourceMapSource.d.ts","../../../node_modules/@types/webpack-sources/lib/index.d.ts","../../../node_modules/@types/webpack-sources/lib/CachedSource.d.ts","../../../node_modules/@types/webpack-sources/index.d.ts","../../../node_modules/@types/webpack/index.d.ts","../../../node_modules/@types/webpack-env/index.d.ts","../../../node_modules/@types/yargs-parser/index.d.ts","../../../node_modules/@types/yargs/index.d.ts"],"fileInfos":[{"version":"ac3a8c4040e183ce38da69d23b96939112457d1936198e6542672b7963cf0fce","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","e21c071ca3e1b4a815d5f04a7475adcaeea5d64367e840dd0154096d705c3940","eb75e89d63b3b72dd9ca8b0cac801cecae5be352307c004adeaa60bc9d6df51f","2cc028cd0bdb35b1b5eb723d84666a255933fffbea607f72cbd0c7c7b4bee144",{"version":"1dad4fe1561d99dfd6709127608b99a76e5c2643626c800434f99c48038567ee","affectsGlobalScope":true},{"version":"a8fe23ae87c3e9d2877032cafeb290f2ebe0c51e216d175a0408b10915ebe9f0","affectsGlobalScope":true},{"version":"cce43d02223f8049864f8568bed322c39424013275cd3bcc3f51492d8b546cb3","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"8dff1b4c2df638fcd976cbb0e636f23ab5968e836cd45084cc31d47d1ab19c49","affectsGlobalScope":true},{"version":"2bb4b3927299434052b37851a47bf5c39764f2ba88a888a107b32262e9292b7c","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"8f4c9f651c8294a2eb1cbd12581fe25bfb901ab1d474bb93cd38c7e2f4be7a30","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"df9c8a72ca8b0ed62f5470b41208a0587f0f73f0a7db28e5a1272cf92537518e","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"93544ca2f26a48716c1b6c5091842cad63129daac422dfa4bc52460465f22bb1","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"60761e6ea886034af0f294f025a7199360ce4e2c8ba4ec6408bc049cf9b89799","affectsGlobalScope":true},{"version":"7435b75fdf3509622e79622dbe5091cf4b09688410ee2034e4fc17d0c99d0862","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"9f1817f7c3f02f6d56e0f403b927e90bb133f371dcebc36fa7d6d208ef6899da","affectsGlobalScope":true},{"version":"cd6efb9467a8b6338ece2e2855e37765700f2cd061ca54b01b33878cf5c7677e","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true},{"version":"506b80b9951c9381dc5f11897b31fca5e2a65731d96ddefa19687fbc26b23c6e","affectsGlobalScope":true},{"version":"ecf78e637f710f340ec08d5d92b3f31b134a46a4fcf2e758690d8c46ce62cba6","affectsGlobalScope":true},"4ee363f83d7be2202f34fcd84c44da71bf3a9329fee8a05f976f75083a52ea94","f7b46d22a307739c145e5fddf537818038fdfffd580d79ed717f4d4d37249380","f5a8b384f182b3851cec3596ccc96cb7464f8d3469f48c74bf2befb782a19de5",{"version":"38943ef508ccbc71691ff6c14f30e0468a85a4ec22c9e0a4eea2c9ba8ca19352","affectsGlobalScope":true},"af7fd2870746deed40e130fc0a3966de74e8f52a97ec114d0fbb35876ab05ca9","50eac108cc307665c28801910626932956adcf8dc0dc70ab1939dd0e8aeb6f28","1a68643644167daaea17e2f89d04edd9d1fec7bf881e4fa3ad4cd43d92447ce1","7255a17d460541e2ccca5f485bb58b6fa64bc750047c5e57ce7abf17cc3f4f3d","571ffdcb677c42d897370ca1a616798670d7715361dc099f713f03c067e8c988","1f8d8388b2da5785ef9c169db1493969f8c9e1ea50e1db1194a21708403f2e10","a299dcd51a18896ffb9f1249507d387a996b8d733cd1ee7c0a5fb46b86f88524","2c3d2bc00ffd291568c89e1ea920cf5c41b6b6a532cdc0bcb74e917eaf133f3b","d164084ca52fc07a704d35264d524307e7e8ace196b817d4a86d0b93cf11ebd0","0de99ed9f5d0a953aabe8de8999b0ce24944f36374d36c06abf9dca6e5567368","a756f87e33897fd95428da3288ed3061182b8678e38b48000c53e5499c7f8863","f68abba533f1aee022d1800ab3ad273e163909b97c171c8eea15fa04e3d02280","9b526aac58282b2b9c1afd1969828336c77a81ca52916214ae63a70e256a8032","d8aab31ba8e618cc3eea10b0945de81cb93b7e8150a013a482332263b9305322","69da61a7b5093dac77fa3bec8be95dcf9a74c95a0e9161edb98bb24e30e439d2","561eca7a381b96d6ccac6e4061e6d2ae53f5bc44203f3fd9f5b26864c32ae6e9","62ea38627e3ebab429f7616812a9394d327c2bc271003dfba985de9b4137369f","b4439890c168d646357928431100daac5cbdee1d345a34e6bf6eca9f3abe22bc","5d72971a459517c44c1379dab9ed248e87a61ba0a1e0f25c9d67e1e640cd9a09","02d734976af36f4273d930bea88b3e62adf6b078cf120c1c63d49aa8d8427c5c",{"version":"516a426e3960379f310107635b8f3a7e8c307c6c665080b128039d9299ec4087","affectsGlobalScope":true},"f544c98b782364169412ac2bc65143918f9f1dd49880920302693f2eb3bd3570","e5d5ee66044d79018aadeabf3dc39d758d9c45c49c004b3a57b76a974fb346d7","5de15b99127d39fe510552b41db9135f81b2c6da52a604b1154c71f080963b32","fbb8558d76ab3469b95e00950f0f427fd59b34fe02485b23b1c99f732c8bcd52","822a794a93be1d9241f102cbc143c30692bbbf190f6e609c6b216560411d291b","b43cf409ba840bb753ff71edcd5ee4398f646e87c63f1d799cbb436b7c049870","b17ccd76e7d102e52ee705e773fbd65af8f78c6d011761ba49d936ec3cc80589","0469548c3570f52ab834e90454e705b5a4a4837faeb292f0848d7888890b6393",{"version":"a139b5f761e657cda95b3a6f938ce7102878b5b39edbb743894d39388d83cc7b","affectsGlobalScope":true},{"version":"513dfbfe04b52253f35007545694c2a99c313fdb6b836bdb8cbc9c7fb0ff6166","affectsGlobalScope":true},{"version":"a4832e26b82049fc2774c96ca6e1c17b2c204246570a62fdbe7e8ee8af2cd4d4","affectsGlobalScope":true},{"version":"6f1f78e8c2a5c7cd2c38aa9cc5da26d9c039f2bbfa753f2a0a54ce41c4dff8d0","affectsGlobalScope":true},"ec89427601297d439c961528832a75017d9356bec2ee42c1d16f2274590d9330","14e869b4871d2288d15687d893cf5d096af51a15ce443423ee21a835a9250036","d73a69ee2796e4ceb9dcb037605d8e7ac1e44aa9683b9664c68b0cd1516a3905","1873db8f2261ba4f248bde3e5bb4c79b1fdc990315054e9604fce8f41ddd1587","7fde24f7b90ddb8aef7ab8f3e2c318babe0c606b7ea5a833369475b0129a05ee","366c22193ba68d3c1ea31d37d98dd5f133fc9e234f07c46656284422bb4209fa","ff60413f9896b702b4e653cf85f6f8246e11482ad4d6859997ca9edafed9cc46","b682e653b63b5aa118887e61cd81a78fc45d4ef8fe95d8c6449742919a5638a4","bbc1e78124f19ccf50225278b700436ce64cf92b0c6b1ca15567431a28371b31","1f93a4dd7096a18c6cf99085327b467de58f3cd7f0f941a8bdc1d7ec4284b301","98edf9bdfe6c7794349a88d720af3035fd4a68480895e72beaf8ff8e758a33f5","a822e999d9c1814859735e919c2bd2a11f7d3c8633ab6656215dc386684e07bc","ae1b8ffb16f8dd0a4008ccf2534e6503af171a3c4ea17da590faeb0c41f85f3e","1cfe76cc39491c2f2059192c7486297154f0a517fe9b3bd9d223824a5f803573","acc42289b4e6d8d789b9f3a4c48fe601c23ab6fe747080f1dc99787b8e79d256","9de7ce840e4a5b95405a164d166d010eaa99fd631817ea3b0310ec4e22b98d0e","8a2395a5c1a95d05c205b791f012b120b4d02eb50a806e24d69da02c51de9d6f","e2624cd48a969f5f8da7560fed327adddbcb3089897923f9f7d5a7cf04f4e917","21e1b303e758ec4a1e9f703e1e1be8c47c8dd74034c2369fd01e9bfe1da98acc","427a853968c89787bcdc5ba0e0603c6fdca97766e343ceaa5acef230883ba807","33cb56e3cc910266a13ca59281b907459131acc58739c2bd68dab246f8ed01fa","c6d0cb5ad7498c2c977a5340f17bcfcc151609118789bbace2336079f2d9f84a","383d4add4d2b7a9b03bb0b7b9b2f62b70c269e79616b629946b51283c14a92cf","4162810d701126188368ff58526c81e7c4c6a9a32ed26c4b763a5d3535b46748","513b7862a230ed479fb045bbe87d37f9ee91cc20fee15dd4b16c3cc74aa3e514","8ff77a6b5f0b74c681e132e9510f5576a29150ee53b1324efed33d3d7fabd736","7bdf81223f6cfae94a48484223d4b59b8ef609cf680f0fa90941d8e093ff27b0","9fbe4ad05e10d7957283cc4a3aa909e70717c62d51bdc19516ffd75a60c2eaf4","8b423ba6b1f81c80542db7deba332d1938db29f6f127fe169287903abe67fe8d","9c0a4431746ad0073026505df7a5724b4126c0e1f41b90e87c1efa6b8335711d","0ec7fb37f4303f3cac4f35819f0d5d75b3b4692990da2590c63c656729447dfe","ed6fbb1cb7cb8dc283f9d5efa68c17d5a9fc5e32fc481e2be7eccd5077d3afc0","e96e84cd79dac3fb1369911a8e9888308deda9542dcfb19d1540414e9ab64465","616ed304b4a011a969ba5d2aa5fca781d66b3f0c8f3d099e19c7158da36fa07b","163be962fa11ca0e3bc9afd1188701e16f5db0d84f904be3a5327c04bf14c1dc","f51c2abd01bb55990a6c5758c8ec34ea7802952c40c30c3941c75eea15539842","23255560340f60336ff79daf50b3b6432ec0f32f7dd19638d3a2406826a15d49","cbf272d1fef2ab8cca386524e1aa8e06caa3509eb6e724e0008ca613c05e7fdb","f8f0a01a9ec6571933c3b63b6d877d74729fbdab0be2fa87c18999b11357cf32","fca853da554cd762704a9bf8ad62cbf6d55d81c9d69b07b3c8a552367f4976d6","6b8d8f68865166b7f761ccdea7a66018f0452ddb7c6f75bf5cbaa31e6163af8f","d9cef8e439c407166963fa89b317d3ea7367e204035611447c9765786026f03b","ca888feddeab794c01fb1bec893ff46186801a30bca77c8a1aa28477f7e6f839","bb96345dfdd3b0695f5281537427e38fa85cb79449e3c6b59151bb7d753ef6f7","2561fd263d1d42554d0de99369f6fb352981090e2de0966b2e257891abf9977a","b01b764b8b1ce1376a70aa1bde2914093b36810a2a3e60cc9fd8f2741490a8f9","e6047a9c095d3b4a903aea90b49815be068476f1719e76766b7792ee21310f3a","cdcd29d866abedc194a88851871320fbb9c29e1c4868583b1f91ee2786acb818","c02107d9cae7a0c7541e8af0f4e0497650b1494e561e409e7cb90a12bc65ed09","5e62225c303695c8511d3831bca37c141931fd584e3aa1c8c5dd4b57cf01b1d0","1c3dd3b5d7eee485481470a75bd1829ee8e0388e87c8c8f8a8418f702592876a","53336c5924937a0a2a4ba1a515499f48092e4dd853386e77276c0a4ff8a1fa50","5a42225ecf779e7d42b44ff91cd7f842421835f28287e295e42622aa51aeeb6f","baab49106b672deb07dcd3e31333e4a2539970b5db9ee896aedbdba3ca2400e5","2af60becd168c31f931c6839f2cb126713bb0f556780b07959afd04b8311eade","826ea84343ee53323b8b67320019287543a15c1f25ad163552f4adfba79368da","7181cfa9a4f05524e825271e409017810c1bc6a4b9544e05be5bd59ee76ca691","ad9afc2c60e7303174e70e6cbfc1eca63d8a770855d5fa3ddaac8769b9d93658","7e6b3017bd81ce434b27ae46cee6bdc5850db0e0d75e6a1d45c6c23e17eb135b","9304c3176830887fd3bbb010a9542ce549397b63624a51c8e7f2be032adb76e9","6c9c7d76d7f525a366d5ebdb0b42bccfab0ec7bdc0bce4db5b97573ee0970d3e","c7322d04c36fbd32b9035e07416c30073fbadf0bb6c1e855425f12c1df645aee","198c3858acc28364fb1cdf1d99d140fd9e0f3732c57ccd40a1752bcf8f318a0b","0625a691c77d71dd48fc83a59bff500dfbf3bdc1fe9c079b64bcaf078b5158d4",{"version":"662564f7dc409b31c6ad48129d12a1320c132b45bcafd3a990d0f8f545ce0529","affectsGlobalScope":true},"c7da564a19dd4e3f4da17ea97ea4f64fd102465d3b0e3ac2777c86281ca89072","68a0bc5cf72fbd88b11b2ea78bbc6d7bd6c9ed5960d94ee57e0766de09300795","d159c2e6b3efd74df9244340e0915ee1c7548354038f898edd00a1c851d0e67c",{"version":"3e432cdf56538889e5742d388cdf03d670bfb17f4547dbbb1daf90701ec790d5","affectsGlobalScope":true},"85d545d430795d54a8b2896f67f9aeb7bf19fd74a1469ae0627311eb72f0dfa2","a473cf45c3d9809518f8af913312139d9f4db6887dc554e0d06d0f4e52722e6b","55cb77e6ff3d95a68568446f53d3f1dc8fca753575d7c60471a865685f08dcc3","3d68ecf05475492f041c88395372c3a01b30351619bebcd38287ab185be7f7e4",{"version":"36c956a3a6dc279f1e6b77aa4b97b7b229b7d828102573ef5002de456ff5e1d9","affectsGlobalScope":true},"45ac321f2e15d268fd74a90ddaa6467dcaaff2c5b13f95b4b85831520fb7a491","6e8b894365ab993dbb55c58542598d1548fdda072c974f98b89c218891e2ba09","ddd6169dff8e5263397a9399ba7ba92521d3959f8f9dcdc27f24403dc7b751ba","508e1e25ca40ea6cde332d3232c826fcd82f456f45ae535d817754684f048f9e",{"version":"2866a528b2708aa272ec3eaafd3c980abb23aec1ef831cfc5eb2186b98c37ce5","affectsGlobalScope":true},{"version":"8f8f6ee2a0c94077f79439f51640a625ac7e2f5dd6866bd3b5a41705c836adfc","affectsGlobalScope":true},"dda27180d5ff550ace8378f5df0f7a26e616f0c4e310c77e94329e2355f9c255","839421b494b57cd2bc0074e914130277051850eba6def6c25870056e6652640b","12a01de318341fefb7be11f22eb4bf28478a5f137b1b4546c509156e9c158198","88587b5c94b0c4f5d78026e4beeb93383b3933c860d9840b55d6bf47d7b632bb","5aa2a9a778a055cd668ea419ea80ba6e195210eb37d47707a1a58886aa4d80f0","9e8947666e44137405fd378f3a8a0515a492e967e552406c02b991c98c78fc61","0cff7901aedfe78e314f7d44088f07e2afa1b6e4f0473a4169b8456ca2fb245d","9e6a556cf660a94faa51f5bce6ed009b9e02373546a4c67925da909f36c039d0","69640cc2e76dad52daeb9914e6b70c5c9a5591a3a65190a2d3ea432cf0015e16","a39a4c527b7a2dc7a2661b711a534c10c76852c5ad6ae320767d3f7d2621b67d","1bb5c9857b2ee32c199dd85bc0f4c0299112485d6e5dc91428eabfdee0dbd68c",{"version":"61dd09b57a0a5cf1486c3ceb3a18ad23babfe602c323035ce3d01544c5e3e0b6","affectsGlobalScope":true},"7f77304372efe3c9967e5f9ea2061f1b4bf41dc3cda3c83cdd676f2e5af6b7e6","662661bbf9ccd869f3bca82d34234b2abdc95c657e2187c35352d42dddb24c2d","5caa645cc390a0a8d5a031072b6b4e49218c17017cd80a63bd2557b19be13c5f","4c4334eb5d8fae83416a361d787b55a5743916aed8af812a909898bc7333e709","352104835f5c468c7d8a277f2c8c02fac239a37cd2293181fe421faa153878d3","4fd3c4debadce3e9ab9dec3eb45f7f5e2e3d4ad65cf975a6d938d883cfb25a50","0953427f9c2498f71dd912fdd8a81b19cf6925de3e1ad67ab9a77b9a0f79bf0b","a4aa075328fe61190b8547e74fae18179591a67fedb2ad274c63044a00716743","7df562288f949945cf69c21cd912100c2afedeeb7cdb219085f7f4b46cb7dde4","9d16690485ff1eb4f6fc57aebe237728fd8e03130c460919da3a35f4d9bd97f5","40c6ed5dc58e1c6afa7dcd23b1697bf290cc5b1170c63d0a4dd12f52aa39291c","71d6da3b0150ecdcd16c08b3b546fe4cc7f53df642eccfeb03c813ee788fae0c","a364b4a8a015ae377052fa4fac94204d79a69d879567f444c7ceff1b7a18482d","c5ec3b97d9db756c689cd11f4a11eaa9e6077b2768e3e9b54ff727a93c03a909","bdb07038733b2d74a75ba9c381dcb92774cd6f161ee125bfa921eae7d883ccc9","ad93e960a3a07dff7394bf0c8a558006a9ff2d0725ab28fc33dec227d4cb251e",{"version":"2708349d5a11a5c2e5f3a0765259ebe7ee00cdcc8161cb9990cb4910328442a1","affectsGlobalScope":true},"c14e9e86f18189c7d32b5dd03b4cf3f40bed68f0509dec06d75d41b82c065fe2","ae68a04912ee5a0f589276f9ec60b095f8c40d48128a4575b3fdd7d93806931c","d555cd63a3fc837840db192596273fdf52fb28092b0a33bec98e89a0334b3a4c","e61a21e9418f279bc480394a94d1581b2dee73747adcbdef999b6737e34d721b","49daf80661034e07d919f1c716aef69324e34d18a63a282f8100f52c961b58a7","088c526ade9e8b1113afbd9ab33eca948b79cf6460f2a975fa0d63b38eb89564","ded21dcd743228306d360bd0ae935001c61d55664d469475e3420e66240c739f","095ba9fde23dad176c321c77944ba9c45f765934b0da5d516c113d2f550a69f4","deebc0ad524fca6c15a9be3360f62a7e4e26391cf10a3e1238f7eda0d3fb5a22","67dc790ac76433e627c672e9d2d1741af068a5652016a19761ff0231680b1753","675e702f2032766a91eeadee64f51014c64688525da99dccd8178f0c599f13a8","fe4a2042d087990ebfc7dc0142d5aaf5a152e4baea86b45f283f103ec1e871ea","d88a479cccf787b4aa82362150fbeba5211a32dbfafa7b92ba6995ecaf9a1a89","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","c24ad9be9adf28f0927e3d9d9e9cec1c677022356f241ccbbfb97bfe8fb3d1a1","0ec0998e2d085e8ea54266f547976ae152c9dd6cdb9ac4d8a520a230f5ebae84","9364c7566b0be2f7b70ff5285eb34686f83ccb01bda529b82d23b2a844653bfb","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","ae9930989ed57478eb03b9b80ad3efa7a3eacdfeff0f78ecf7894c4963a64f93","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","3e59f00ab03c33717b3130066d4debb272da90eeded4935ff0604c2bc25a5cae","6ac6f24aff52e62c3950461aa17eab26e3a156927858e6b654baef0058b4cd1e",{"version":"0714e2046df66c0e93c3330d30dbc0565b3e8cd3ee302cf99e4ede6220e5fec8","affectsGlobalScope":true},"620a033e8ff8ffc3d280c3d78981d8a929d0a8c14574a3b87413d99d7f02fadd","5f34e74f9d889817c1388da54dbfdb28a36af5676c396fa3041309690bfa9ade","b0e23a13de5e00df2097f3bbc0ba67ecc18946f10222c2d4571814ba718467d7","2f89dab4002cafa419a8385e6cd54f3fd5458a024feb0f79e9967bf4c47157f7","e841f45cbf880c37dfc3279dd87523670ac8bf5477541a682ab10669ae6db0f0","4dfb0de036b79d6c4851ad323b7b8ba8d2eff92099edb928c28e2b8f151b4c73","b59fc967b467026aeb1dc3f3fc02c26b8b0b613212ade066d58cb1050b774da1","b10686e239ffd69ba14643969dd14c8be05f0fabeaff6490637efd034686474a","3976ffc023bc898b0af0bc8f72230b490a8e3d8d653c45bd9667113f3b3c0bdd","c36af53b3a2c4d1c4cd4d30d17f9f09ce2e5203e2390ab406bc94d2c8451902d","786093bf8792839268d761ac49e641a7bba644744f9d6b5cd9d7e1f0b40efb13","d153cbce75b7e1621eda0a4148748f44edd71ff44cc5351bac1c7787da4d5b05","b6897a53137ffb50564b2aa6cda393ffedd6815eae540aa6ca4ffad27032c621","efa621b57b272b529680203b2ac28923b3816ed920f6eeadb5c290c5fc7835f3","a2ad4c435c55039e27b8a660fee65032295a86935e398268c97332ffb333a034","2a47042c99baf610eddc72a49f64850a0d7e9bdccd7789857cf1ab16cdb40deb","8324f6184476658a7f6037abab28f9f0d8260465c5c32ee8d63ca6d0aa8ffba1","47d260086f267834921978107baff46e35a149748a581d4060c36e56aee2912d","8ca06460f06932688a9fd4f30578adaa0f51ca9e3c554db3cefebc1ad17d5930","5642691b3d0abab3967f1c424b30d35a9a38fc76752c224686058c370efe9d3c","cca75548d405e8c29d4bae03017e6dbde372a84f35c2d4288d89681afff0e996","be3810189b331a0c1c708e3e1daca80369975e6179a7d0428e7fde762724ee43","3f7154fc5845512c00d15dbf5f1068eb990ee42968f5e7063900b5755e459a1d","9fa431501f0b3e19395b06d7b05caaca6765b98fbe2d6657d45397f6ee6857ac","29e61c6b7c1261977c6b9a266028f02ba8241174dae0992dce9d4b438225a7a2","2620f260d093d78f35f3710ecc396bcbb99c1fc9db48e53cd0e460860e847d0d","bb6ee31362037d496a42b9ce4d791204af6d4277440132075083569bd268af1b","c9350f7965640f7bd6592a5d486a2780b64bac3b08a481e61875683fa7362c82","913b070bc16b3785a4d73452ad707e906a9429e7c6d78826b594c6bd23bf92f5","e61e77338d6272a617918991bf821cabaf9d38add657862fe574ed911bd2579a","8328bdaf8c3aeb4c37a0e34aa8a06d974f447b8cded8777e8ac4c855799688b1","c6cc2d1ba720e6869a00dbd5892e219b773c2840138f8c2f522564554b96c0b2","d85979e8eebc442572b28de156e7f00c6bcd7460b2a614a2f335f067b99a10cd","a13c2ed74a04e36229cac85d6197efd1c602400669ccfe649935330353ce7205","1fd99a595de087b52539dfa3ed541b0da05013e32fe126c4def0d7ffba89a06f","b8dd5d9eedd28ed3758b8a9c8d782f919d370d4fa4904b41fa8a278279e7b7ba","206bc59c1f84cc0de548e71bdcebac771ff4ce293c0bbf1403e1799d439f159e","cf27882062c79333f59f731c839c7091b7f5f6bed07a10b772c686a6b06389f9","23828c9b0ba2fc1950cfc4e6557677c78afd379ddc471ec3734c93c4ad0dde79","573006ea68dd4d14a37eb8977c1d52c4171454331ed5cd891f81f71e585711d1","bf584cd8537c8fe823d4d4eea995bdda771e73746b848bbddf4dddba5fa435d6","5bd14a35999ca4c499b38cfa3fdf67b4315b8c714c59b3cf321df1c532a6dfc1","3b53789f99a9a3cc12fe57d0b23f0ce85939b2f6288ea874d6632a886d7860a3","1bd11d6a40067d5f87e35187f8870ea13b6a51a50f77d6590052a7e12458dc25","3b7abfaaf97a49aa5a172032f4a8cd4ee0950e7faac77f3fdefd2dbe627fdcd9","bfe21f1da4b5ee3e4f8363daecf32f390bb19bcd81c9cc2cb8cb11be436f3ee3","9270f76c584dd3e7ef4c98d7f94b85e10842f9cc481aa165825e11b537b5fb10","5449741bbcf49da3c7ea918176f7f037f69fc3d0332d49e590b4199bf4a55e3e","9db0654318c9a4bb4b7639f06c6611951726088fad711763f6155c728d6fa386","c62d0d079c4cab8c3707a05e6049d8293254a2b706da1de9024d2b71ddf2575c","0202407d01fa6775a7d3a81d7d22dd857daeb2d69d11ba6d8521e88860eae4f3","f31503d8743ff0a756d5d1bc5b2d1731d50aee7de7d1beb7c0f0591fc1be6496","c389f68b3f527d949ce422ca4aa1c702da76d67f29d49d9822287dc8884c4724","a0623b19878b74ccc8880f8705742a58b5921a16ce90989322477c77f6a0336e","3659f75cdcc77526a560937ff20ad1a6160b9479d08813452d088c186a7f0080","acf8004477bf1a4bc83ff0ca16ea8df314c57a5212cf9419ba647afe5d075cee","1c09322d4baa9c3e5484eb7c5d69548fb9a6f38ecf47177aee5eaecaaee792b0","7eab9e316a87588661477eb7182466c339474eb479063e12c85d93408dcf2242","0cb40624dbe8394e7a6e4936ef46a9de684adf16927bdd78786ce3f00ca5d819","88dfd779677fab3a554fb07a84526ed752fec33ed15d0686c9b30c3bc73876fe","c8c08274305017c3d2a191b7fa9d09af366b4d1469b44158d78c72c2e4145d55","2d3773c3318042f94fb18fb9c6ca4842c69c2ecceeae55bcaae77abc75ef618e","8291d3cc4b7b7928d3415c393e864cab4a4e739808c3eff0bc9896e9f8297e0c","03c4780547e866512c1163466aeb1ddf034ae8e536ebeb1d5caa6e9f4189e6f7","28f79cebcfca19772fd026483f9f44106cb7038874efbc05ae199df32942ff3c","773866fe1d7d930f400ec00a2785a9cec4744725d266271fe00952e4aaf21f4d","318eda7f33f18551afbb2e4da4575c680f50fc287b40a7b39372328bf1ab8727","57390c22b3d030bfe1128a0f47d8969c1f3f2730fd4d6f4a7f26f19a57027855","13f9563ca9bf6eb7a9f45378928e2be95af752a5d256e235e1ba448a00701068","86d5adaf90c4ad9da1ffaa4f3408ea2fea4ff983fcdc410baf291eb7a16ab5aa","61936869f70a6930923e89a03f8899778aa86456188facb3794e10bb9f175471","956679d05d0f9ee7404db2d2a5a9928f421d4f14ef182fa1508e865dc3f6190f","3d0f69998d8d6136860bcb1a72d7fb674030a20807ebbfa858499af29ba55277","6060ad1346f5e68afd2ddef2ffd62734cb60d390f8d171fca2348383b48fbc0e","f1bc11dfda183ce8f2f5548d7c23e42cd1f9ff59ddbc4402a13c5d20e468dd2c","4e014cee4796be9c210a34e6f73090dd9dafc819a1f4c7fa1dd88187bfbdd68b","1a02dacb14700b61266aaa306e4ec7326e54c6046d01475348305bdbf633168c","63a82802003beacae76d48bcb0dc2cf9a4045c7fe87566555669966e03ece89d","225261cac509cdaa8fe26f74af7185fc970dcbf2b2134b8bcbfdc71df5eae784","18b319f248f6878aeb77ecf685ecbf55d10b24323083cdceab57679cafec1453","029808df424ac107ca0313b3c8839414cddafa3c4358c555a8eb8c7f7105ac72","218d093e1a8e9fbe15092ef53a04950e36c45e2786e9af129457796fee484a8a","410c052a6db9399a7a8e3f17abad2f3ba436097c76bc0fa974712d5ad7a53d52","70e7a0db947123f52c001757a92a658a436355d6ee7e8bbb17a185915c7fc81a","3c4fec352fb787fff51dbe2a554ac288d931bdc7a0efc353fe420b25e8ca60b2","69c55d74808b59c1e7be9dac7998183a9b52da3f55b5aefd9fd333661fc29baf","ed7199c8c1a7fc4ebbdab6d0b7fa25616828626e21a6e845df62ab80da04d9c6","1e2c4d1512a469189b0eff3d18d15b855e9324c5403f8f1df8a16d1f06d7be8d","27bbe24a8fcc790e9f91317ff8babf4b4d06e6eec37b74b5f9bd16b896e5a680","7e8fb2d2b5b64653930d1e66bfd9854052fb5f55ff016fa15d62f48c7bcdfb23","86a156ff88a5ab8f324f69260af9d4ecb1dbb15df0950b565c5c4a85e5943fcc","9ca9ecab24f5b09b14a6197d78bdbfea1fd56f18d564bee7f4547d6b8ae52062","e59428917848dadcec095e588fecef7874712c32efe12caa6f4519db9c31e453","ad22a1ba145b4d8308ca4b24e5ae426d10d6297ff2580929a2e82d6341c2ead2","1da7acb76112f0a1620847c0ae99e65a4e0c3a641fbeec2e8ba9c6e62e9fd4f1","289ff4ced6f598d4ea56c6a974f4b17a08108da58d52d82c3dacd6dddd40a259","811fce480f76e6bef4b3ec5da429b806ac48555a58eb45b6b9638e5fd74adb8e","4a4b6d4dcd946add8d09152bfd19154bc0e35f8c1fa88c023404a38bb214db94","fca04d1d9f330d917a891981dde47cc9c9ebe080dccd42281efc8b5fee1f1d4b","59d7bb748dd9ef6acdc29d8f5a041a61d3c1d2352e5ff8d174c8f4392605ba04","789c30657d7209ea015666e66418c630dae77c91b6cf5caca12214d0680d29ff","f0370b8a5b43373fb4355e8afb64b88fa2403fe202008b351e482b576daf5bf5","c13e280d244dc0829d954089e1d0446455efdb72fb4bdc2e3f0561ffbc66c905","8dfed5c91ad36e69e6da6b7e49be929d4e19666db2b651aa839c485170a2902c","6da9e714516d081abaa435946d77c8d74dba888530412dc71601e83d2c8a512e","93de1c6dab503f053efe8d304cb522bb3a89feab8c98f307a674a4fae04773e9","3b043cf9a81854a72963fdb57d1884fc4da1cf5be69b5e0a4c5b751e58cb6d88","71c56bdaa82d7ce75a72d3c06c04fe10becec09bd9c4ef21776a2a055d3f428e",{"version":"24ff7ac33bdb941a8cd04408a31ba15fafab9684f751e7e88234813b89712c19","affectsGlobalScope":true},{"version":"42c1b00421aa4d5f03b85a2639c1573d32bd82533f34423bbf1f5fb2b0ddc4d8","affectsGlobalScope":true},"f0cb4b3ab88193e3e51e9e2622e4c375955003f1f81239d72c5b7a95415dad3e","92450d617e92f96354d281c8ed5613fd16cacea79eb60b1e9736494b3c057e69","8a9086357fe289efb682dc925358f30b6312c7219a5ca92212857a0a79612012","92bc42ed0e2d41559513fd457ee30d834c2f0fedb9ed5004c029cbf0ad2f8bd9","6a9c5127096b35264eb7cd21b2417bfc1d42cceca9ba4ce2bb0c3410b7816042","78828b06c0d3b586954015e9ebde5480b009e166c71244763bda328ec0920f41","b1b1adc57093310531ddf3f78b21bda16c30f7319088b0981449476a6616cff3","b6167e00019a8db27428651c58358d8cfac239107f25744e608816ed04361df7",{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true},"0133ebdd17a823ae56861948870cde4dac18dd8818ab641039c85bbb720429e0","3a1e165b22a1cb8df82c44c9a09502fd2b33f160cd277de2cd3a055d8e5c6b27","7d7c8ef7d48a035142c07dae60545ecc0e4af4c337742760cb09726f2f8e31db","e300bf65972ac08167a72787e19d1b43c285c5424707194d0ba64422f6b02c77","1d1e6bd176eee5970968423d7e215bfd66828b6db8d54d17afec05a831322633","fd326577c62145816fe1acc306c734c2396487f76719d3785d4e825b34540b33","3ebae8c00411116a66fca65b08228ea0cf0b72724701f9b854442100aab55aba","1320ee42b30487cceb6da9f230354fc34826111f76bf12f0ad76c717c12625b0","3d2cd8f3047fff04a71e7037a6a4cb9f4accb28dbd8c0d83164d414811025af0",{"version":"271cde49dfd9b398ccc91bb3aaa43854cf76f4d14e10fed91cbac649aa6cbc63","affectsGlobalScope":true},"2bcecd31f1b4281710c666843fc55133a0ee25b143e59f35f49c62e168123f4b","a6273756fa05f794b64fe1aff45f4371d444f51ed0257f9364a8b25f3501915d","2374e4ddc628bd0af8ce7578621f1b9d08ab183f4dbacb8749eabb1a85018196","25d91fb9ed77a828cc6c7a863236fb712dafcd52f816eec481bd0c1f589f4404","4cd14cea22eed1bfb0dc76183e56989f897ac5b14c0e2a819e5162eafdcfe243","ab35d08aa06a7615f06dad04db7e88f27d623220f05de68a94f16d5d22e6aaea","bfe1b52cf71aea9bf8815810cc5d9490fa9617313e3d3c2ee3809a28b80d0bb4","70b34c8420d6226ed565d55f47fe04912d0ca0ad128825c5a06e018a3498db32","de1d6e224048139baf7494237a9231be6bab9e990fb239c7825bfd38b06d8c90","de18acda71730bac52f4b256ce7511bb56cc21f6f114c59c46782eff2f632857","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","abc2748988e07e7e754b43cfcfadca4d45f3449eb4c0be503f13630a3f15f22b","6109487f86bc33b14eebb35cbc878b591328e19657d92bc6c61b667f7f9594c8","7044c407773c0900946b7a02f3a0e7e5e79af8b0a32b14aeb419b7beedfb3fcd","96b729b46007058fceb10567283275a023415f724af78e91cab3ac7073c19635","9a6d65d77455efaaaeff945bea30c38b8fe0922b807ba45cd23792392f1bfe76","e437d83044ba17246a861aa9691aa14223ff4a9d6f338ab1269c41c758586a88","736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50","208bb742e0f201470da121bc73847c74b62cff4172f38ae5949ae77d6c9c6b71","062bd2910098fc059ba93e347649b3e126c555f7b144033d21d3f8ef63d3e39b","c9ad058b2cc9ce6dc2ed92960d6d009e8c04bef46d3f5312283debca6869f613","df38da6685578ac3d0e4ce2d20f3d59462ee53959b8263d2532ec9cec48ae098","9751247ee3bbcf1c63592f0f4dafb44559680b2b3e5736b7f0578c6a737d74c8","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","c555dd691dd05955e99cd93dd99c685a65e5287813ccb5e6bfde951183248e26",{"version":"2d2482647045d334fcfce6eefa3340db2800cb2d0814e7b58d4f3b53c274d8ec","affectsGlobalScope":true},{"version":"f1e1d121f108eb57d576df44fc40e01448e0fc7fec64493b07aa852471b6a59d","affectsGlobalScope":true},{"version":"838524a3cc660f7bbb104ffa15febad659d1ef1633dac47340bfbfcbbbffdb08","affectsGlobalScope":true},{"version":"50a03e74fae4542ecfb326b34517ec2e058aee15bcb60af5b2e41c5e2db0d079","affectsGlobalScope":true},{"version":"d252bde46b7594f8f90a45d59181b08134ee8c4919ebb2ba7088ba26056bf621","affectsGlobalScope":true},{"version":"c892c9c7905dd7435264ca83ff0f3ac7f39a0937ee728acdce4b476ece7d6fd9","affectsGlobalScope":true},{"version":"1abdfe21f6b99b864965f9dc5073c49f0c0f3d5e8e1fe498fb94bd0a479d3afe","affectsGlobalScope":true},"4d737cdd77685ed65bd61d375375cae446fb0f46f711bbb3ef3f81a350212569","65455ea1b00bae7bd26d3c8c2401eb3d10401c09c55192d6f3b8b2275eda20c2","c0a3ea3aee13c4946a6aefce3a6ab9292a40a29f6622cde0fda0b1067a1a1f5f","62b931417104c7cb35d0725e1869f51d52d7b18462fd58f32f846a314a42ba10","ba601641fac98c229ccd4a303f747de376d761babb33229bb7153bed9356c9cc","c45d6f4d3a20be54e46237608f537a8d85397f87b9c3318d68ed925c2f1d0b51",{"version":"8f19251323456195ec9236df857bac3b8f97b73b540ef06ead2ceccc3884954f","affectsGlobalScope":true},"e4f3830561f381e71877a0d3044e4dd64622cefce72c1f0eabbdf86179262504","e057ffada5a43ac83957a1d76dc0daaa01bbea4d7aa2eb466ffad5e3bce6424f","6c362c5d50652957065cf52f282a2bf0a456ed3713738d0ee1a9089dbb5b5fe7","50001cd4550147fb62c68902f6e0c1856d42c575f0f5f43efe8639f931838a50","7e2ed5933a5d8d72a04093e71e61ad61a3d4c2ed991262cae21118018cded19d","8017277c3843df85296d8730f9edf097d68d7d5f9bc9d8124fcacf17ecfd487e",{"version":"cffd3848b7af4922d70028c805b7df5e8f0eac4a8d2410b0f55b47ca62c6c3a8","affectsGlobalScope":true},"ef6cede608fc396d0ad86d0240c40989a080c6a4c5b2ac5c84072c7e0ff2942e","30688eab034d1aa3bbe4d8f2c7f462ddaec9f30f1a38a306a4728a9a06a58b11","e03334588c63840b7054accd0b90f29c5890db6a6555ac0869a78a23297f1396","c3052485f32a96bfde75a2976c1238995522584ba464f04ff16a8a40af5e50d1","c220410b8e956fa157ce4e5e6ac871f0f433aa120c334d906ff1f5e2c7369e95","960a68ced7820108787135bdae5265d2cc4b511b7dcfd5b8f213432a8483daf1","ed3b711f533ddb3a5451f4c4bb0df3a0b95e9d0433b3b7834644dd1718d06d31","2880728492d6a6baa55411d14cc42fa55714a24b1d1d27ff9a8a610abd47c761","74b0245c42990ed8a849df955db3f4362c81b13f799ebc981b7bec2d5b414a57","30783d97bd0231ae2c4b9320043d61442a8177e81c7df826a5536b95fdd63280","67fc055eb86a0632e2e072838f889ffe1754083cb13c8c80a06a7d895d877aae","b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","2887592574fcdfd087647c539dcb0fbe5af2521270dad4a37f9d17c16190d579","aec0cabbdfacf43db998d8e50ee6f1e72131d24b5018dfb84f14806717baa0a6","e32dad799d088c53cbe1da736e34cad03027d56dd2fc77d484a67100278bc4bd","3833c70307dc3d2b46cb6f2a8b6a90e4d7e7367a21ab18c481d7de0909a43e67","9d74c7330800b325bb19cc8c1a153a612c080a60094e1ab6cfb6e39cf1b88c36","4fb0b7d532aa6fb850b6cd2f1ee4f00802d877b5c66a51903bc1fb0624126349","b90c59ac4682368a01c83881b814738eb151de8a58f52eb7edadea2bcffb11b9","8560a87b2e9f8e2c3808c8f6172c9b7eb6c9b08cb9f937db71c285ecf292c81d","ffe3931ff864f28d80ae2f33bd11123ad3d7bad9896b910a1e61504cc093e1f5","083c1bd82f8dc3a1ed6fc9e8eaddf141f7c05df418eca386598821e045253af9","274ebe605bd7f71ce161f9f5328febc7d547a2929f803f04b44ec4a7d8729517","6ca0207e70d985a24396583f55836b10dc181063ab6069733561bfde404d1bad","5908142efeaab38ffdf43927ee0af681ae77e0d7672b956dfb8b6c705dbfe106","f772b188b943549b5c5eb803133314b8aa7689eced80eed0b70e2f30ca07ab9c","0026b816ef05cfbf290e8585820eef0f13250438669107dfc44482bac007b14f","05d64cc1118031b29786632a9a0f6d7cf1dcacb303f27023a466cf3cdc860538","e0fff9119e1a5d2fdd46345734126cd6cb99c2d98a9debf0257047fe3937cc3f","d84398556ba4595ee6be554671da142cfe964cbdebb2f0c517a10f76f2b016c0","e275297155ec3251200abbb334c7f5641fecc68b2a9573e40eed50dff7584762","b2f006ee835f315d01c43c0f5d9e9ad78a5870b380899877b32a33078d065dbd",{"version":"3a1e422f919c70fca66e94dc641ad8d9732b3d2533ac047b8a9aaca9eea3aa10","affectsGlobalScope":true},"f7e133b20ee2669b6c0e5d7f0cd510868c57cd64b283e68c7f598e30ce9d76d2","09c4b2e2d3070239d563fc690f0cc5db04a2d9b66a23e61aef8b5274e3e9910c"],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"declarationDir":"./","declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"jsx":4,"module":99,"noFallthroughCasesInSwitch":true,"outDir":"./","skipLibCheck":true,"sourceMap":true,"target":2},"fileIdsList":[[318],[94],[50,95],[318,319,320,321,322],[318,320],[85,87],[197],[326],[327,328],[327],[330],[332],[50,325],[334,335,336,337],[338],[163,164,197,339],[164,197],[342],[350],[344,350],[345,346,347,348,349],[50],[354],[355],[68,70],[80,81,82,83,84],[215],[203,205,206,207,208,209,210,211,212,213,214,215],[203,204,206,207,208,209,210,211,212,213,214,215],[204,205,206,207,208,209,210,211,212,213,214,215],[203,204,205,207,208,209,210,211,212,213,214,215],[203,204,205,206,208,209,210,211,212,213,214,215],[203,204,205,206,207,209,210,211,212,213,214,215],[203,204,205,206,207,208,210,211,212,213,214,215],[203,204,205,206,207,208,209,211,212,213,214,215],[203,204,205,206,207,208,209,210,212,213,214,215],[203,204,205,206,207,208,209,210,211,213,214,215],[203,204,205,206,207,208,209,210,211,212,214,215],[203,204,205,206,207,208,209,210,211,212,213,215],[203,204,205,206,207,208,209,210,211,212,213,214],[166,186,197,364,365],[166,180,197],[194,195],[163,164,171,180],[155,163,171],[187],[159,164,172],[180],[161,163,171],[163],[163,165,180,186],[164],[171,180,186],[163,164,166,171,180,183,186],[166,183,186],[196],[186],[161,163,180],[153],[185],[178,187,189],[171],[152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193],[177],[163,165,180,186,189],[373],[373,374,375,376,377,378],[331,372],[372,373],[50,351,385],[50,387,390],[50,387],[50,392],[50,394],[394,395,396,397,398],[46,47,48,49],[406],[405],[197,412,413,414,415,416,417,418,419,420,421,422],[411,412,421],[412,421],[403,411,412,421],[412],[159,411,421],[411,412,413,414,415,416,417,418,419,420,422],[159,197,405,408,409,410,423],[426],[64,65],[64,65,66,67],[69],[50,389],[50,232,314],[50,314],[50,238],[50,87,314],[50,261,314],[50,233,238,239,256,262,298,311],[232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313],[314],[198],[198,199,200,201],[180,197],[48,50,86,87,90],[48,50],[48,50,86,87,90,113],[50,87,100],[50,113],[50,73,86,118,121],[50,100],[50,73,86,119,120],[50,86],[50,96],[50,100,104],[50,105],[50,73,105],[50,105,108],[105,106,107,109],[73,85,90,91,92,93,96,97,98,99,104,110,111,112,113,114,115,116,117,121,122,123,124,125,126,127,130,131,136,137,138,139,140,141,142,143,144,145,146,147],[50,87,90,105,128],[129],[50,132],[132,133,134,135],[48,50,87],[50,88],[88,89],[101],[101,102,103],[51,73,78],[50,51,73,78,79,148,150,151,223,228,230],[51,148],[50,51,100,148],[50,51,73,78,95,100,148,151,223,226,227],[50,51,78,148,149,151,228,229],[50,51,73,78,223,227],[51],[51,77],[51,73],[48,50,51,73,78,79,148,150,151,223,227,231,314],[51,78,150,151,202,216,224],[51,73,77,78,202,223],[51,78,149,151,225,228,230,231,315,316],[217],[218],[220],[217,219,220,221,222],[74],[74,75,76],[56],[71],[52,53,54,55,56,57,58,59,60,61,62,63,72]],"referencedMap":[[320,1],[95,2],[226,3],[323,4],[319,1],[321,5],[322,1],[324,6],[325,7],[327,8],[329,9],[328,10],[331,11],[333,12],[332,13],[338,14],[335,15],[340,16],[341,17],[343,18],[348,19],[349,19],[345,20],[346,20],[347,20],[350,21],[351,22],[355,23],[356,24],[71,25],[85,26],[358,7],[359,27],[360,27],[361,27],[216,27],[204,28],[205,29],[203,30],[206,31],[207,32],[208,33],[209,34],[210,35],[211,36],[212,37],[213,38],[214,39],[215,40],[362,18],[366,41],[364,42],[196,43],[155,44],[156,45],[157,46],[158,47],[159,48],[160,49],[162,50],[163,50],[164,51],[165,52],[166,53],[167,54],[168,55],[197,56],[169,50],[170,57],[171,58],[174,59],[175,60],[178,50],[179,61],[180,50],[183,62],[194,63],[185,62],[186,64],[188,48],[190,65],[191,48],[368,50],[374,66],[375,66],[376,66],[379,67],[373,68],[372,66],[377,66],[378,69],[118,22],[384,22],[386,70],[391,71],[388,72],[392,73],[393,22],[395,74],[397,22],[394,22],[396,74],[399,75],[120,22],[119,22],[50,76],[51,22],[400,7],[407,77],[409,78],[423,79],[422,80],[413,81],[414,82],[415,82],[416,81],[417,81],[418,81],[419,83],[412,84],[420,80],[421,85],[424,86],[427,87],[66,88],[68,89],[67,88],[406,78],[70,90],[390,91],[233,92],[234,93],[235,93],[236,93],[237,93],[239,94],[240,93],[241,22],[242,93],[243,93],[244,93],[245,93],[246,93],[247,93],[248,93],[249,93],[250,93],[251,93],[252,93],[253,93],[254,93],[255,93],[256,93],[260,93],[258,93],[259,93],[257,93],[261,93],[262,93],[263,93],[264,93],[238,93],[265,93],[266,95],[267,93],[232,93],[268,93],[269,93],[270,93],[271,93],[272,93],[273,93],[274,93],[275,94],[276,93],[277,93],[278,96],[279,93],[280,93],[281,93],[282,93],[283,93],[284,92],[285,93],[286,93],[287,93],[288,93],[293,93],[294,93],[289,93],[290,93],[291,93],[292,93],[295,93],[296,93],[297,93],[298,95],[299,93],[300,93],[301,93],[302,93],[303,93],[304,93],[306,93],[305,93],[307,93],[308,92],[309,93],[310,93],[311,95],[312,97],[314,98],[313,99],[199,100],[202,101],[201,100],[198,102],[91,103],[92,104],[93,22],[96,3],[97,104],[98,22],[99,22],[112,22],[111,104],[114,105],[115,106],[116,107],[117,22],[122,108],[124,109],[121,110],[125,22],[126,22],[127,22],[131,22],[137,22],[138,22],[139,22],[113,22],[140,22],[141,111],[142,22],[144,22],[145,22],[146,112],[147,22],[105,113],[106,114],[108,115],[107,114],[109,116],[110,117],[148,118],[129,119],[128,114],[130,120],[133,121],[132,3],[134,22],[135,22],[136,122],[88,123],[89,124],[90,125],[102,126],[101,22],[103,126],[104,127],[79,128],[231,129],[149,130],[316,131],[228,132],[230,133],[229,134],[150,135],[78,136],[151,137],[315,138],[225,139],[224,140],[317,141],[100,2],[218,142],[219,143],[221,144],[223,145],[75,146],[76,146],[77,147],[57,148],[72,149],[73,150]],"exportedModulesMap":[[320,1],[95,2],[226,3],[323,4],[319,1],[321,5],[322,1],[324,6],[325,7],[327,8],[329,9],[328,10],[331,11],[333,12],[332,13],[338,14],[335,15],[340,16],[341,17],[343,18],[348,19],[349,19],[345,20],[346,20],[347,20],[350,21],[351,22],[355,23],[356,24],[71,25],[85,26],[358,7],[359,27],[360,27],[361,27],[216,27],[204,28],[205,29],[203,30],[206,31],[207,32],[208,33],[209,34],[210,35],[211,36],[212,37],[213,38],[214,39],[215,40],[362,18],[366,41],[364,42],[196,43],[155,44],[156,45],[157,46],[158,47],[159,48],[160,49],[162,50],[163,50],[164,51],[165,52],[166,53],[167,54],[168,55],[197,56],[169,50],[170,57],[171,58],[174,59],[175,60],[178,50],[179,61],[180,50],[183,62],[194,63],[185,62],[186,64],[188,48],[190,65],[191,48],[368,50],[374,66],[375,66],[376,66],[379,67],[373,68],[372,66],[377,66],[378,69],[118,22],[384,22],[386,70],[391,71],[388,72],[392,73],[393,22],[395,74],[397,22],[394,22],[396,74],[399,75],[120,22],[119,22],[50,76],[51,22],[400,7],[407,77],[409,78],[423,79],[422,80],[413,81],[414,82],[415,82],[416,81],[417,81],[418,81],[419,83],[412,84],[420,80],[421,85],[424,86],[427,87],[66,88],[68,89],[67,88],[406,78],[70,90],[390,91],[233,92],[234,93],[235,93],[236,93],[237,93],[239,94],[240,93],[241,22],[242,93],[243,93],[244,93],[245,93],[246,93],[247,93],[248,93],[249,93],[250,93],[251,93],[252,93],[253,93],[254,93],[255,93],[256,93],[260,93],[258,93],[259,93],[257,93],[261,93],[262,93],[263,93],[264,93],[238,93],[265,93],[266,95],[267,93],[232,93],[268,93],[269,93],[270,93],[271,93],[272,93],[273,93],[274,93],[275,94],[276,93],[277,93],[278,96],[279,93],[280,93],[281,93],[282,93],[283,93],[284,92],[285,93],[286,93],[287,93],[288,93],[293,93],[294,93],[289,93],[290,93],[291,93],[292,93],[295,93],[296,93],[297,93],[298,95],[299,93],[300,93],[301,93],[302,93],[303,93],[304,93],[306,93],[305,93],[307,93],[308,92],[309,93],[310,93],[311,95],[312,97],[314,98],[313,99],[199,100],[202,101],[201,100],[198,102],[91,103],[92,104],[93,22],[96,3],[97,104],[98,22],[99,22],[112,22],[111,104],[114,105],[115,106],[116,107],[117,22],[122,108],[124,109],[121,110],[125,22],[126,22],[127,22],[131,22],[137,22],[138,22],[139,22],[113,22],[140,22],[141,111],[142,22],[144,22],[145,22],[146,112],[147,22],[105,113],[106,114],[108,115],[107,114],[109,116],[110,117],[148,118],[129,119],[128,114],[130,120],[133,121],[132,3],[134,22],[135,22],[136,122],[88,123],[89,124],[90,125],[102,126],[101,22],[103,126],[104,127],[79,128],[231,129],[149,130],[316,131],[228,132],[230,133],[229,134],[150,135],[78,136],[151,137],[315,138],[225,139],[224,140],[317,141],[100,2],[218,142],[219,143],[221,144],[223,145],[75,146],[76,146],[77,147],[57,148],[72,149],[73,150]],"semanticDiagnosticsPerFile":[320,318,94,95,226,323,319,321,322,324,325,327,329,328,326,331,333,332,334,338,335,337,340,341,343,344,348,349,345,346,347,350,351,352,353,354,355,356,71,81,80,85,83,82,336,357,358,359,360,361,216,204,205,203,206,207,208,209,210,211,212,213,214,215,362,86,339,363,330,365,366,364,195,153,196,154,155,156,157,158,159,160,161,162,163,164,165,152,192,166,167,168,197,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,194,185,186,187,188,189,193,190,191,367,368,369,370,371,374,375,376,379,373,372,377,378,380,381,48,382,383,118,384,386,391,388,392,393,395,397,394,396,398,399,120,119,46,50,51,400,401,49,402,84,403,404,407,408,409,342,425,423,422,413,414,415,416,417,418,419,412,420,421,411,424,426,427,410,227,47,387,64,66,68,67,65,87,406,70,69,390,389,233,234,235,236,237,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,260,258,259,257,261,262,263,264,238,265,266,267,232,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,293,294,289,290,291,292,295,296,297,298,299,300,301,302,303,304,306,305,307,308,309,310,311,312,314,313,385,405,10,11,13,12,2,14,15,16,17,18,19,20,21,3,4,25,22,23,24,26,27,28,5,29,30,31,32,6,33,34,35,36,7,41,37,38,39,40,8,42,43,44,1,9,45,200,199,202,201,198,91,92,93,96,97,98,99,112,111,114,115,116,117,123,122,124,121,125,126,127,131,137,138,139,113,140,141,142,143,144,145,146,147,105,106,108,107,109,110,148,129,128,130,133,132,134,135,136,88,89,90,102,101,103,104,79,231,149,316,228,230,229,150,78,151,315,225,224,317,100,218,219,221,220,217,222,223,74,75,76,77,52,53,55,54,62,57,56,58,72,59,61,60,63,73]},"version":"4.3.2"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deephaven/file-explorer",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.1-demo.8+c76ccf6",
|
|
4
4
|
"description": "Deephaven File Explorer React component",
|
|
5
5
|
"author": "Deephaven Data Labs LLC",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -32,59 +32,43 @@
|
|
|
32
32
|
"clean": "rimraf ./dist tsconfig.tsbuildinfo",
|
|
33
33
|
"prestart": "npm run build-dev",
|
|
34
34
|
"start": "cross-env NODE_ENV=development npm run watch",
|
|
35
|
-
"predeploy": "cd example && npm install && npm run build",
|
|
36
|
-
"deploy": "gh-pages -d example/build",
|
|
37
35
|
"storybook": "start-storybook -p 6006",
|
|
38
36
|
"build-storybook": "build-storybook"
|
|
39
37
|
},
|
|
40
|
-
"
|
|
41
|
-
"@deephaven/
|
|
42
|
-
"@deephaven/
|
|
43
|
-
"@deephaven/
|
|
44
|
-
"@deephaven/storage": "^0.3.1",
|
|
45
|
-
"@deephaven/utils": "^0.3.1",
|
|
38
|
+
"dependencies": {
|
|
39
|
+
"@deephaven/icons": "^0.6.1-demo.8+c76ccf6",
|
|
40
|
+
"@deephaven/storage": "^0.6.1-demo.8+c76ccf6",
|
|
41
|
+
"@deephaven/utils": "^0.6.1-demo.8+c76ccf6",
|
|
46
42
|
"@fortawesome/fontawesome-svg-core": "^1.2.32",
|
|
47
43
|
"@fortawesome/react-fontawesome": "^0.1.12",
|
|
48
|
-
"@types/react-beautiful-dnd": "^13.0.0",
|
|
49
44
|
"classnames": "^2.3.1",
|
|
50
45
|
"lodash.throttle": "^4.1.1",
|
|
51
46
|
"prop-types": "^15.7.2",
|
|
52
|
-
"react": "^16.0.0",
|
|
53
|
-
"react-beautiful-dnd": "^13.0.0",
|
|
54
|
-
"react-dom": "^16.0.0",
|
|
55
47
|
"reactstrap": "^8.4.1",
|
|
56
48
|
"webdav": "^4.6.1"
|
|
57
49
|
},
|
|
50
|
+
"peerDependencies": {
|
|
51
|
+
"@deephaven/components": "^0.3.1",
|
|
52
|
+
"@deephaven/log": "^0.3.1",
|
|
53
|
+
"react": "^16.0.0"
|
|
54
|
+
},
|
|
58
55
|
"devDependencies": {
|
|
59
56
|
"@babel/cli": "^7.14.8",
|
|
60
|
-
"@deephaven/components": "^0.
|
|
61
|
-
"@deephaven/
|
|
62
|
-
"@deephaven/
|
|
63
|
-
"@deephaven/storage": "^0.5.2-lessredux.14+b926001",
|
|
64
|
-
"@deephaven/tsconfig": "^0.5.0",
|
|
65
|
-
"@deephaven/utils": "^0.5.0",
|
|
66
|
-
"@fortawesome/fontawesome-svg-core": "^1.2.32",
|
|
67
|
-
"@fortawesome/react-fontawesome": "^0.1.12",
|
|
57
|
+
"@deephaven/components": "^0.6.1-demo.8+c76ccf6",
|
|
58
|
+
"@deephaven/log": "^0.6.1-demo.8+c76ccf6",
|
|
59
|
+
"@deephaven/tsconfig": "^0.6.1-demo.8+c76ccf6",
|
|
68
60
|
"@storybook/addon-actions": "^6.2.3",
|
|
69
61
|
"@storybook/addon-essentials": "^6.2.3",
|
|
70
62
|
"@storybook/addon-links": "^6.2.3",
|
|
71
63
|
"@storybook/react": "^6.2.3",
|
|
72
64
|
"@types/react": "^16.14.8",
|
|
73
|
-
"classnames": "^2.3.1",
|
|
74
65
|
"cross-env": "^7.0.2",
|
|
75
|
-
"gh-pages": "^2.2.0",
|
|
76
66
|
"identity-obj-proxy": "^3.0.0",
|
|
77
|
-
"lodash.throttle": "^4.1.1",
|
|
78
67
|
"npm-run-all": "^4.1.5",
|
|
79
|
-
"prop-types": "^15.7.2",
|
|
80
68
|
"react": "^16.14.0",
|
|
81
|
-
"react-dom": "^16.14.0",
|
|
82
|
-
"reactstrap": "^8.4.1",
|
|
83
69
|
"rimraf": "^3.0.2",
|
|
84
70
|
"sass": "1.32.13",
|
|
85
|
-
"
|
|
86
|
-
"typescript": "^4.3.2",
|
|
87
|
-
"webdav": "^4.6.1"
|
|
71
|
+
"typescript": "~4.3.2"
|
|
88
72
|
},
|
|
89
73
|
"files": [
|
|
90
74
|
"dist"
|
|
@@ -92,5 +76,5 @@
|
|
|
92
76
|
"publishConfig": {
|
|
93
77
|
"access": "public"
|
|
94
78
|
},
|
|
95
|
-
"gitHead": "
|
|
79
|
+
"gitHead": "c76ccf69544672164d23b2f77dc00dce39ae80a2"
|
|
96
80
|
}
|