Showing preview only (5,601K chars total). Download the full file or copy to clipboard to get everything.
Repository: hanlin-cheng/slam-study-note
Branch: master
Commit: 7de8b6d902e1
Files: 170
Total size: 45.6 MB
Directory structure:
gitextract_u4deu1ua/
├── .obsidian/
│ ├── app.json
│ ├── appearance.json
│ ├── community-plugins.json
│ ├── core-plugins.json
│ ├── graph.json
│ ├── hotkeys.json
│ ├── plugins/
│ │ ├── awesome-image/
│ │ │ ├── data.json
│ │ │ ├── main.js
│ │ │ ├── manifest.json
│ │ │ └── styles.css
│ │ ├── i18n/
│ │ │ ├── data.json
│ │ │ ├── main.js
│ │ │ ├── manifest.json
│ │ │ └── styles.css
│ │ ├── obsidian-custom-attachment-location/
│ │ │ ├── data.json
│ │ │ ├── duplicate.js
│ │ │ ├── lang/
│ │ │ │ ├── state.json
│ │ │ │ └── zh-cn.json
│ │ │ ├── main.js
│ │ │ └── manifest.json
│ │ ├── obsidian-git/
│ │ │ ├── data.json
│ │ │ ├── duplicate.js
│ │ │ ├── lang/
│ │ │ │ ├── state.json
│ │ │ │ └── zh-cn.json
│ │ │ ├── main.js
│ │ │ ├── manifest.json
│ │ │ ├── obsidian_askpass.sh
│ │ │ └── styles.css
│ │ ├── obsidian-style-settings/
│ │ │ ├── data.json
│ │ │ ├── main.js
│ │ │ ├── manifest.json
│ │ │ └── styles.css
│ │ └── obsidian42-brat/
│ │ ├── data.json
│ │ ├── main.js
│ │ ├── manifest.json
│ │ └── styles.css
│ ├── themes/
│ │ └── Blue Topaz/
│ │ ├── manifest.json
│ │ └── theme.css
│ ├── workspace.json
│ └── workspaces.json
├── Algorithm/
│ ├── 2d激光雷达运动补偿方法(去畸变).md
│ ├── IMU预积分.md
│ ├── ORBSLAM3学习.md
│ ├── ROS2_command.md
│ ├── ROS2的Launch文件简介.md
│ ├── ROSNodehandle句柄的理解.md
│ ├── ROSparam的使用.md
│ ├── ROS激光雷达信息、点云信息和PCL信息之间的转换.md
│ ├── Ros中Remap(话题重映射)的两种使用方法.md
│ ├── SLAM中的位姿变换与轨迹评价指标.md
│ ├── SVD与非线性优化在最小二乘问题中的区别.md
│ ├── Theta_star-Any-Angle-Path-Planning-on-Grids.md
│ ├── Voronoi Graph.md
│ ├── cartographer相关参数解析.md
│ ├── media/
│ │ ├── 20150410185658311
│ │ ├── 20150410190429698
│ │ ├── 20150410190447182
│ │ ├── 20150410190527758
│ │ ├── 20150410190553592
│ │ ├── 20150410190721891
│ │ ├── 20150410190821152
│ │ ├── 20150410190936610
│ │ ├── 20150410191017918
│ │ ├── 20150410191146168
│ │ ├── 20150410192038912
│ │ ├── 20150410192044388
│ │ ├── 20160519202841069
│ │ ├── 20180524193644787
│ │ ├── 20180524193731616
│ │ ├── 20180524193743628
│ │ ├── c75c10385343fbf2601562e25509718764388fb2.jpeg@f_auto
│ │ └── math
│ ├── ros2_cost_function.md
│ ├── 为什么使用齐次坐标.md
│ ├── 二维空间中的点坐标旋转关系.md
│ ├── 匈牙利算法.md
│ ├── 协方差矩阵.md
│ ├── 单目视觉的尺度等价性.md
│ ├── 占据栅格地图构建.md
│ ├── 双目立体视觉SAD匹配算法.md
│ ├── 向量积(矢积)与数量积(标积)的区别.md
│ ├── 多元函数的泰勒展开式.md
│ ├── 多维高斯分布.md
│ ├── 局部规划算法DWA.md
│ ├── 归一化与标准化.md
│ ├── 旋转下激光雷达数据与地图产生错位的问题.md
│ ├── 本质矩阵基础矩阵的自由度及其解法.md
│ ├── 欧拉角与坐标系旋转变换.md
│ ├── 正态分布.md
│ ├── 激光雷达与相机外参联合标定调研.md
│ ├── 激光雷达性能指标.md
│ ├── 灰度质心法.md
│ ├── 相机参数DKPR的解释.md
│ ├── 矩阵的奇异值分解.md
│ ├── 超定方程组的最小二乘解.md
│ ├── 路径规划之A-star算法.md
│ ├── 重投影误差.md
│ ├── 雅克比矩阵和海塞矩阵.md
│ └── 高斯牛顿法.md
├── C++/
│ ├── C++11chrono库.md
│ ├── C++下const增强.md
│ ├── CMakeLists简易模板.md
│ ├── CMakelists基础指令.md
│ ├── EigenGeometry.md
│ ├── Eigen几何模块的引入.md
│ ├── Find_package.md
│ ├── GoogleTest.md
│ ├── Opencv_Mat.md
│ ├── Protocol_Buffers基本使用.md
│ ├── ROS指令.md
│ ├── STL容器使用时机.md
│ ├── boostcondition_variable.md
│ ├── c++_boost_circular_buffer.md
│ ├── c++并发与多线程.md
│ ├── cin与get()getline()输入问题.md
│ ├── const成员函数.md
│ ├── gflags使用.md
│ ├── media/
│ │ ├── 20170322112825204
│ │ ├── 20170322113142191
│ │ ├── 20170322113220859
│ │ ├── 20170322113301504
│ │ ├── 20170322113321860
│ │ └── 20170322113338489
│ ├── string和cstring头文件的区别.md
│ ├── 二叉树遍历.md
│ ├── 内联函数.md
│ ├── 函数指针的定义方式.md
│ ├── 单例模式.md
│ ├── 如何正确使用resize和reserve.md
│ ├── 左值与右值.md
│ ├── 常用函数.md
│ ├── 常规函数与内联函数.md
│ ├── 数据类型字节数.md
│ ├── 构造函数的调用时机.md
│ ├── 类知识点.md
│ ├── 计算时间.md
│ ├── 设计模式之生产者-消费者模型.md
│ └── 转换.md
├── Linux/
│ ├── Shell的变量功能.md
│ └── 认识BASH这个Shell.md
├── QT/
│ ├── QT迁移项目后显示修改时间大于当前时间.md
│ ├── Qt点击按钮进行页面的切换.md
│ ├── 基于arm架构的NVIDIA_Xavier安装Qt.md
│ └── 项目默认文件介绍.md
├── README.md
├── command/
│ ├── Docker简要教程.md
│ ├── Git_Command.md
│ ├── Git中submodule的使用.md
│ ├── LIO-SAM运行.md
│ ├── Orb-slam2运行.md
│ ├── ROS查看ZED节点效果.md
│ ├── Ubuntu-xavier.md
│ ├── Xsens传感器调用.md
│ ├── git_cherry-pick.md
│ └── git_rebase的两种用法.md
├── slam_config/
│ ├── Matlab标定单目相机内参.md
│ ├── Rosdep_update_failed.md
│ ├── Ubuntu18.04环境配置.md
│ ├── VSCode使用Clangd.md
│ ├── turbot建图导航算法汇总.md
│ ├── ubuntu18.04系统下安装turtlebot2.md
│ ├── windows下orb和hfnet安装.md
│ ├── xavier装机文档.md
│ ├── 基于ROS的opencv安装与卸载.md
│ ├── 激光雷达与IMU联合标定(lidar_IMU_calib).md
│ └── 轨迹评估介绍与evo工具使用.md
└── something_else/
├── media/
│ └── 640
├── stable-diffusion-webui手动安装详细步骤.md
├── 如何在Linux中使用Clash.md
└── 获取Office2021安装包及相关激活工具.md
================================================
FILE CONTENTS
================================================
================================================
FILE: .obsidian/app.json
================================================
{
"attachmentFolderPath": "./media",
"defaultViewMode": "preview",
"promptDelete": false,
"showInlineTitle": false,
"pdfExportSettings": {
"includeName": true,
"pageSize": "Letter",
"landscape": false,
"margin": "0",
"downscalePercent": 100
}
}
================================================
FILE: .obsidian/appearance.json
================================================
{
"cssTheme": "Blue Topaz",
"accentColor": "",
"showViewHeader": true,
"showRibbon": true
}
================================================
FILE: .obsidian/community-plugins.json
================================================
[
"obsidian-custom-attachment-location",
"i18n",
"awesome-image",
"obsidian-style-settings"
]
================================================
FILE: .obsidian/core-plugins.json
================================================
{
"file-explorer": true,
"global-search": true,
"switcher": true,
"graph": true,
"backlink": false,
"canvas": true,
"outgoing-link": true,
"tag-pane": true,
"properties": false,
"page-preview": true,
"daily-notes": false,
"templates": true,
"note-composer": false,
"command-palette": true,
"slash-command": false,
"editor-status": true,
"bookmarks": true,
"markdown-importer": false,
"zk-prefixer": false,
"random-note": false,
"outline": true,
"word-count": true,
"slides": false,
"audio-recorder": false,
"workspaces": false,
"file-recovery": true,
"publish": false,
"sync": true,
"webviewer": false,
"footnotes": false,
"bases": true
}
================================================
FILE: .obsidian/graph.json
================================================
{
"collapse-filter": true,
"search": "",
"showTags": false,
"showAttachments": false,
"hideUnresolved": false,
"showOrphans": true,
"collapse-color-groups": true,
"colorGroups": [],
"collapse-display": true,
"showArrow": false,
"textFadeMultiplier": 0,
"nodeSizeMultiplier": 1,
"lineSizeMultiplier": 1,
"collapse-forces": true,
"centerStrength": 0.518713248970312,
"repelStrength": 10,
"linkStrength": 1,
"linkDistance": 250,
"scale": 0.36288736930121335,
"close": true
}
================================================
FILE: .obsidian/hotkeys.json
================================================
{
"editor:set-heading-1": [
{
"modifiers": [
"Mod"
],
"key": "1"
}
],
"editor:set-heading-2": [
{
"modifiers": [
"Mod"
],
"key": "2"
}
],
"editor:set-heading-3": [
{
"modifiers": [
"Mod"
],
"key": "3"
}
],
"editor:set-heading-4": [
{
"modifiers": [
"Mod"
],
"key": "4"
}
],
"editor:set-heading-5": [
{
"modifiers": [
"Mod"
],
"key": "5"
}
],
"editor:set-heading-6": [
{
"modifiers": [
"Mod"
],
"key": "6"
}
],
"editor:insert-codeblock": [
{
"modifiers": [
"Mod",
"Shift"
],
"key": "K"
}
]
}
================================================
FILE: .obsidian/plugins/awesome-image/data.json
================================================
{
"viewImageEditor": true,
"viewImageInCPB": true,
"viewImageWithALink": true,
"viewImageOther": true,
"pinMode": false,
"pinMaximum": 3,
"pinCoverMode": true,
"imageMoveSpeed": 10,
"imgTipToggle": true,
"imgFullScreenMode": "FIT",
"imgViewBackgroundColor": "#00000000",
"imageBorderToggle": false,
"imageBorderWidth": "medium",
"imageBorderStyle": "solid",
"imageBorderColor": "red",
"galleryNavbarToggle": true,
"galleryNavbarDefaultColor": "#0000001A",
"galleryNavbarHoverColor": "#0000004D",
"galleryImgBorderActive": true,
"galleryImgBorderActiveColor": "#FF0000",
"moveTheImageHotkey": "NONE",
"switchTheImageHotkey": "CTRL",
"doubleClickToolbar": "toolbar_full_screen",
"viewTriggerHotkey": "NONE",
"realTimeUpdate": false,
"excludedFolders": [
".git/",
".obsidian/",
".trash/"
],
"includedFileRegex": ".*\\.md",
"mediaRootDirectory": "assets/img"
}
================================================
FILE: .obsidian/plugins/awesome-image/main.js
================================================
/*
THIS IS A GENERATED/BUNDLED FILE BY ROLLUP
if you want to view the source visit the plugins github repository
*/
'use strict';
var obsidian = require('obsidian');
var path = require('path');
var node_buffer = require('node:buffer');
var require$$0$1 = require('stream');
var require$$0$3 = require('events');
var require$$0$2 = require('buffer');
var require$$1 = require('util');
var EventEmitter$2 = require('node:events');
var process$1 = require('node:process');
var stream$3 = require('node:stream');
var urlLib = require('node:url');
var http$3 = require('node:http');
var crypto = require('node:crypto');
var require$$1$1 = require('zlib');
var node_util = require('node:util');
var net = require('node:net');
var node_tls = require('node:tls');
var https$3 = require('node:https');
var node_dns = require('node:dns');
var os = require('node:os');
var require$$3 = require('http2');
var require$$0$4 = require('url');
var require$$0$5 = require('tls');
var require$$1$3 = require('http');
var require$$2 = require('https');
var require$$0$6 = require('net');
var require$$1$2 = require('assert');
require('node:path');
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
var path__default = /*#__PURE__*/_interopDefaultLegacy(path);
var require$$0__default = /*#__PURE__*/_interopDefaultLegacy(require$$0$1);
var require$$0__default$2 = /*#__PURE__*/_interopDefaultLegacy(require$$0$3);
var require$$0__default$1 = /*#__PURE__*/_interopDefaultLegacy(require$$0$2);
var require$$1__default = /*#__PURE__*/_interopDefaultLegacy(require$$1);
var EventEmitter__default = /*#__PURE__*/_interopDefaultLegacy(EventEmitter$2);
var process__default = /*#__PURE__*/_interopDefaultLegacy(process$1);
var stream__default = /*#__PURE__*/_interopDefaultLegacy(stream$3);
var urlLib__default = /*#__PURE__*/_interopDefaultLegacy(urlLib);
var http__default = /*#__PURE__*/_interopDefaultLegacy(http$3);
var crypto__default = /*#__PURE__*/_interopDefaultLegacy(crypto);
var require$$1__default$1 = /*#__PURE__*/_interopDefaultLegacy(require$$1$1);
var net__default = /*#__PURE__*/_interopDefaultLegacy(net);
var https__default = /*#__PURE__*/_interopDefaultLegacy(https$3);
var os__default = /*#__PURE__*/_interopDefaultLegacy(os);
var require$$3__default = /*#__PURE__*/_interopDefaultLegacy(require$$3);
var require$$0__default$3 = /*#__PURE__*/_interopDefaultLegacy(require$$0$4);
var require$$0__default$4 = /*#__PURE__*/_interopDefaultLegacy(require$$0$5);
var require$$1__default$3 = /*#__PURE__*/_interopDefaultLegacy(require$$1$3);
var require$$2__default = /*#__PURE__*/_interopDefaultLegacy(require$$2);
var require$$0__default$5 = /*#__PURE__*/_interopDefaultLegacy(require$$0$6);
var require$$1__default$2 = /*#__PURE__*/_interopDefaultLegacy(require$$1$2);
/******************************************************************************
Copyright (c) Microsoft Corporation.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
function __awaiter(thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
}
typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
var e = new Error(message);
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
};
// العربية
var ar = {};
// čeština
var cz = {};
// Dansk
var da = {};
// Deutsch
var de = {};
// English
var en = {
// settings
IMAGE_TOOLKIT_SETTINGS_TITLE: "Image Toolkit Settings",
// >>>View Trigger Settings:
VIEW_TRIGGER_SETTINGS: 'View Trigger Settings:',
VIEW_IMAGE_GLOBAL_NAME: 'Click and view an image globally',
VIEW_IMAGE_GLOBAL_DESC: 'You can zoom, rotate, drag, and invert it on the popup layer when clicking an image.',
VIEW_IMAGE_EDITOR_NAME: 'Click and view an image in the Editor Area',
VIEW_IMAGE_EDITOR_DESC: 'Turn on this option if you want to click and view an image in the Editor Area.',
// CPB = COMMUNITY_PLUGINS_BROWSER
VIEW_IMAGE_IN_CPB_NAME: 'Click and view an image in the Community Plugins browser',
VIEW_IMAGE_IN_CPB_DESC: 'Turn on this option if you want to click and view an image in the Community Plugins browser.',
VIEW_IMAGE_WITH_A_LINK_NAME: 'Click and view an image with a link',
VIEW_IMAGE_WITH_A_LINK_DESC: 'Turn on this option if you want to click and view an image with a link. (NOTE: The browser will be opened for you to visit the link and the image will be popped up for being viewed at the same time when you click the image.)',
VIEW_IMAGE_OTHER_NAME: 'Click and view in the other areas except the above',
VIEW_IMAGE_OTHER_DESC: 'Except for the above mentioned, it also supports other areas, e.g. flashcards.',
// >>> PIN_MODE_SETTINGS
PIN_MODE_SETTINGS: "Pin Mode Settings:",
PIN_MODE_NAME: "📌 Pin an image",
PIN_MODE_DESC: "You can pin an image onto the top of the screen. And have more options by right click. (press Esc to close the image where your mouse cursor is hovering)",
PIN_MAXIMUM_NAME: "The maximum image you can pin",
PIN_COVER_NAME: "Cover mode",
PIN_COVER_DESC: "After those pinned images reach maximum, you can cover the earliest pinned image when you click an image once again.",
// >>>View Detail Settings:
VIEW_DETAILS_SETTINGS: 'View Detail Settings:',
IMAGE_MOVE_SPEED_NAME: 'Set the moving speed of the image',
IMAGE_MOVE_SPEED_DESC: 'When you move an image on the popup layer by keyboard (up, down, left, right), the moving speed of the image can be set here.',
IMAGE_TIP_TOGGLE_NAME: "Display the image's zoom number",
IMAGE_TIP_TOGGLE_DESC: "Turn on this option if you want to display the zoom number when you zoom the image.",
IMG_FULL_SCREEN_MODE_NAME: 'Full-screen preview mode',
// preview mode options:
FIT: 'Fit',
FILL: 'Fill',
STRETCH: 'Stretch',
IMG_VIEW_BACKGROUND_COLOR_NAME: "Set the background color of the previewed image (Only support the image with transparent background)",
// >>>Image Border Settings:
IMAGE_BORDER_SETTINGS: 'Image Border Settings:',
IMAGE_BORDER_TOGGLE_NAME: "Display the image's border",
IMAGE_BORDER_TOGGLE_DESC: "The clicked image's border can be displayed after you exit previewing and close the popup layer.",
IMAGE_BORDER_WIDTH_NAME: "Set the image's border width",
IMAGE_BORDER_STYLE_NAME: "Set the image's border style",
IMAGE_BORDER_COLOR_NAME: "Set the image's border color",
// IMG_BORDER_WIDTH options:
THIN: 'thin',
MEDIUM: 'medium',
THICK: 'thick',
// IMG_BORDER_STYLE options:
//HIDDEN: 'hidden',
DOTTED: 'dotted',
DASHED: 'dashed',
SOLID: 'solid',
DOUBLE: 'double',
GROOVE: 'groove',
RIDGE: 'ridge',
INSET: 'inset',
OUTSET: 'outset',
// IMAGE_BORDER_COLOR_NAME options:
BLACK: 'black',
BLUE: 'blue',
DARK_GREEN: 'dark green',
GREEN: 'green',
LIME: 'lime',
STEEL_BLUE: 'steel blue',
INDIGO: 'indigo',
PURPLE: 'purple',
GRAY: 'gray',
DARK_RED: 'dark red',
LIGHT_GREEN: 'light green',
BROWN: 'brown',
LIGHT_BLUE: 'light blue',
SILVER: 'silver',
RED: 'red',
PINK: 'pink',
ORANGE: 'orange',
GOLD: 'gold',
YELLOW: 'yellow',
// >>>Gallery Navbar Settings:
GALLERY_NAVBAR_SETTINGS: 'Gallery Navbar Settings (Experimental):',
GALLERY_NAVBAR_TOGGLE_NAME: "Display gallery navbar",
GALLERY_NAVBAR_TOGGLE_DESC: "All of the images in the current pane view can be displayed at the bottom of the popup layer.",
GALLERY_NAVBAR_DEFAULT_COLOR_NAME: "Set the background color of the gallery navbar (default state)",
GALLERY_NAVBAR_HOVER_COLOR_NAME: "Set the background color of the gallery navbar (hovering state)",
GALLERY_IMG_BORDER_TOGGLE_NAME: "Display the selected image on the gallery navbar",
GALLERY_IMG_BORDER_TOGGLE_DESC: "When you select an image, the image's border will be displayed, so you can know which image is currently active.",
GALLERY_IMG_BORDER_ACTIVE_COLOR_NAME: 'Set the border color of the selected image',
// >>>HOTKEYS_SETTINGS:
HOTKEY_SETTINGS: "Hotkey Settings:",
HOTKEY_SETTINGS_DESC: "📢 You cannot set the same hotkey for 'Move the image' and 'Switch the image' at the same time. (NOT SUPPORT in Pin Mode)",
MOVE_THE_IMAGE_NAME: "Set the hotkey for moving the image",
MOVE_THE_IMAGE_DESC: "You can move the image on the popup layer by hotkey.",
SWITCH_THE_IMAGE_NAME: "Set the hotkey for switching the image",
SWITCH_THE_IMAGE_DESC: "You can switch to the previous/next image on the gallery navbar by hotkey. (NOTE: You need to turn on 'Display gallery navbar' first, if you wanna use this hotkey.)",
DOUBLE_CLICK_TOOLBAR_NAME: "Double click",
VIEW_TRIGGER_HOTKEY_NAME: "Set the hotkey for triggering viewing an image",
VIEW_TRIGGER_HOTKEY_DESC: "When you set 'None', you can directly click and preview an image without holding any modifier keys; otherwise, you must hold the configured modifier keys to click and preview an image.",
// MODIFIER_HOTKEYS
NONE: "None",
CTRL: "Ctrl",
ALT: "Alt",
SHIFT: "Shift",
CTRL_ALT: "Ctrl+Alt",
CTRL_SHIFT: "Ctrl+Shift",
SHIFT_ALT: "Shift+Alt",
CTRL_SHIFT_ALT: "Ctrl+Shift+Alt",
// toolbar icon title
ZOOM_TO_100: "zoom to 100%",
ZOOM_IN: "zoom in",
ZOOM_OUT: "zoom out",
FULL_SCREEN: 'full screen',
REFRESH: "refresh",
ROTATE_LEFT: "rotate left",
ROTATE_RIGHT: "rotate right",
SCALE_X: 'flip along x-axis',
SCALE_Y: 'flip along y-axis',
INVERT_COLOR: 'invert color',
COPY: 'copy',
CLOSE: 'close',
// tip:
COPY_IMAGE_SUCCESS: 'Copy the image successfully!',
COPY_IMAGE_ERROR: 'Fail to copy the image!'
};
// British English
var enGB = {};
// Español
var es = {};
// français
var fr = {};
// हिन्दी
var hi = {};
// Bahasa Indonesia
var id = {};
// Italiano
var it = {};
// 日本語
var ja = {};
// 한국어
var ko = {};
// Nederlands
var nl = {};
// Norsk
var no = {};
// język polski
var pl = {};
// Português
var pt = {};
// Português do Brasil
// Brazilian Portuguese
var ptBR = {};
// Română
var ro = {};
// русский
var ru = {};
// Türkçe
var tr = {};
// 简体中文
var zhCN = {
// settings
IMAGE_TOOLKIT_SETTINGS_TITLE: "Image Toolkit 插件设置",
// >>> 预览触发配置:
VIEW_TRIGGER_SETTINGS: '预览触发配置:',
VIEW_IMAGE_GLOBAL_NAME: '支持全局预览图片',
VIEW_IMAGE_GLOBAL_DESC: '开启后,在任何地方点击图片都可以弹出预览界面,可对图片进行缩放、旋转、拖动、和反色等。',
VIEW_IMAGE_EDITOR_NAME: '支持在编辑区域预览图片',
VIEW_IMAGE_EDITOR_DESC: '开启后,支持在编辑区域,点击图片预览。',
// CPB = COMMUNITY_PLUGINS_BROWSER
VIEW_IMAGE_IN_CPB_NAME: '支持在社区插件页面预览图片',
VIEW_IMAGE_IN_CPB_DESC: '开启后,支持在社区插件页面,点击图片预览。',
VIEW_IMAGE_WITH_A_LINK_NAME: '支持预览带链接的图片',
VIEW_IMAGE_WITH_A_LINK_DESC: '开启后,支持点击带链接的图片(注意:点击该图片,会同时打开浏览器访问指定地址和弹出预览图片)',
VIEW_IMAGE_OTHER_NAME: '支持除上述其他地方来预览图片',
VIEW_IMAGE_OTHER_DESC: '除上述支持范围外,还支持一些其他区域,如flashcards。',
// >>> PIN_MODE_SETTINGS
PIN_MODE_SETTINGS: "贴图模式设置:",
PIN_MODE_NAME: "📌 将所点击的图片贴到屏幕上",
PIN_MODE_DESC: "你可以将当前所点击的图片贴到屏幕上,并且可以通过右击图片选择更多操作(按 Esc 关闭已贴图片的展示)",
PIN_MAXIMUM_NAME: "最大贴图数量",
PIN_COVER_NAME: "覆盖模式",
PIN_COVER_DESC: "当贴图数量达到最大值后,此时再次点击图片,该图片会覆盖最早弹出的那个贴图。",
// >>>查看细节设置:
VIEW_DETAILS_SETTINGS: '查看细节设置:',
IMAGE_MOVE_SPEED_NAME: '图片移动速度设置',
IMAGE_MOVE_SPEED_DESC: '当使用键盘(上、下、左、右)移动图片时,可对图片移动速度进行设置。',
IMAGE_TIP_TOGGLE_NAME: "展示缩放比例提示",
IMAGE_TIP_TOGGLE_DESC: "开启后,当你缩放图片时会展示当前缩放的比例。",
IMG_FULL_SCREEN_MODE_NAME: '全屏预览模式',
// 全屏预览模式 下拉:
FIT: '自适应',
FILL: '填充',
STRETCH: '拉伸',
IMG_VIEW_BACKGROUND_COLOR_NAME: "设置预览图片的背景色(仅对透明背景的图片生效)",
// >>>图片边框设置:
IMAGE_BORDER_SETTINGS: '图片边框设置:',
IMAGE_BORDER_TOGGLE_NAME: "展示被点击图片的边框",
IMAGE_BORDER_TOGGLE_DESC: "当离开图片预览和关闭弹出层后,突出展示被点击图片的边框。",
IMAGE_BORDER_WIDTH_NAME: "设置图片边框宽度",
IMAGE_BORDER_STYLE_NAME: "设置图片边框样式",
IMAGE_BORDER_COLOR_NAME: "设置图片边框颜色",
// IMG_BORDER_WIDTH 下拉:
THIN: '较细',
MEDIUM: '正常',
THICK: '较粗',
// IMG_BORDER_STYLE 下拉:
//HIDDEN: '隐藏',
DOTTED: '点状',
DASHED: '虚线',
SOLID: '实线',
DOUBLE: '双线',
GROOVE: '凹槽',
RIDGE: ' 垄状',
INSET: '凹边',
OUTSET: '凸边',
// IMAGE_BORDER_COLOR_NAME 下拉:
BLACK: '黑色',
BLUE: '蓝色',
DARK_GREEN: '深绿色',
GREEN: '绿色',
LIME: '淡黄绿色',
STEEL_BLUE: '钢青色',
INDIGO: '靛蓝色',
PURPLE: '紫色',
GRAY: '灰色',
DARK_RED: '深红色',
LIGHT_GREEN: '浅绿色',
BROWN: '棕色',
LIGHT_BLUE: '浅蓝色',
SILVER: '银色',
RED: '红色',
PINK: '粉红色',
ORANGE: '橘黄色',
GOLD: '金色',
YELLOW: '黄色',
// >>>Gallery Navbar Settings:
GALLERY_NAVBAR_SETTINGS: '图片导航设置 (体验版):',
GALLERY_NAVBAR_TOGGLE_NAME: "展示图片导航",
GALLERY_NAVBAR_TOGGLE_DESC: "当前文档的所有图片会展示在弹出层的底部,可随意切换展示不同图片。",
GALLERY_NAVBAR_DEFAULT_COLOR_NAME: "设置图片导航底栏背景色(默认展示)",
GALLERY_NAVBAR_HOVER_COLOR_NAME: "设置图片导航底栏背景色(鼠标悬浮时)",
GALLERY_IMG_BORDER_TOGGLE_NAME: "展示图片导航上被选中的图片",
GALLERY_IMG_BORDER_TOGGLE_DESC: "当你选中正查看某一图片,对应图片导航底栏上将突出显示该缩略图片的边框。",
GALLERY_IMG_BORDER_ACTIVE_COLOR_NAME: '设置被选中图片的边框色',
// >>>HOTKEYS_SETTINGS:
HOTKEY_SETTINGS: "快捷键设置:",
HOTKEY_SETTINGS_DESC: "📢 你无法为'移动图片'和'切换图片'设置相同的快捷键。(不支持贴图模式)",
MOVE_THE_IMAGE_NAME: "为移动图片设置快捷键",
MOVE_THE_IMAGE_DESC: "你可以利用快捷键来移动弹出层上的图片。",
SWITCH_THE_IMAGE_NAME: "为切换图片设置快捷键",
SWITCH_THE_IMAGE_DESC: "你可以利用快捷键来切换在图片导航栏上的图片至上一张/下一张。(注意: 仅当开启“展示图片导航”后,才能使用该快捷键来控制切换图片。)",
DOUBLE_CLICK_TOOLBAR_NAME: "双击",
VIEW_TRIGGER_HOTKEY_NAME: "为触发弹出查看图片设置快捷键",
VIEW_TRIGGER_HOTKEY_DESC: "当你设置为“无”,你可以直接点击预览图片;否则,须按住已配置的修改键(Ctrl、Alt、Shift)才能点击查看某个图片。",
// MODIFIER_HOTKEYS
NONE: "无",
// toolbar icon title
ZOOM_TO_100: "缩放至100%",
ZOOM_IN: "放大",
ZOOM_OUT: "缩小",
FULL_SCREEN: "全屏",
REFRESH: "刷新",
ROTATE_LEFT: "左旋",
ROTATE_RIGHT: "右旋",
SCALE_X: 'x轴翻转',
SCALE_Y: 'y轴翻转',
INVERT_COLOR: '反色',
COPY: '复制',
CLOSE: '关闭',
// tip:
COPY_IMAGE_SUCCESS: '拷贝图片成功!',
COPY_IMAGE_ERROR: '拷贝图片失败!'
};
// 繁體中文
var zhTW = {
// settings
IMAGE_TOOLKIT_SETTINGS_TITLE: "image toolkit 設定",
// toolbar icon title
ZOOM_IN: "放大",
ZOOM_OUT: "縮小",
FULL_SCREEN: '全螢幕',
REFRESH: "重整",
ROTATE_LEFT: "向左旋轉",
ROTATE_RIGHT: "向右旋轉",
SCALE_X: 'x 軸縮放',
SCALE_Y: 'y 軸縮放',
INVERT_COLOR: '色彩反轉',
COPY: '複製',
COPY_IMAGE_SUCCESS: '成功複製圖片!'
};
const localeMap = {
ar,
cs: cz,
da,
de,
en,
"en-gb": enGB,
es,
fr,
hi,
id,
it,
ja,
ko,
nl,
nn: no,
pl,
pt,
"pt-br": ptBR,
ro,
ru,
tr,
"zh-cn": zhCN,
"zh-tw": zhTW,
};
const locale = localeMap[obsidian.moment.locale()];
function t(str) {
if (!locale) {
console.error("Error: Image toolkit locale not found", obsidian.moment.locale());
}
return (locale && locale[str]) || en[str];
}
const ZOOM_FACTOR = 0.8;
const IMG_VIEW_MIN = 30;
const ICONS = [{
id: 'zoom-to-100',
svg: `<g> <path id="svg_1" d="m42,6c-18.8,0 -34,15.2 -34,34s15.2,34 34,34c7.4,0 14.3,-2.4 19.9,-6.4l26.3,26.3l5.6,-5.6l-26,-26.1c5.1,-6 8.2,-13.7 8.2,-22.1c0,-18.9 -15.2,-34.1 -34,-34.1zm0,4c16.6,0 30,13.4 30,30s-13.4,30 -30,30s-30,-13.4 -30,-30s13.4,-30 30,-30z" stroke-width="2" stroke="currentColor" fill="currentColor"/> <text font-weight="bold" xml:space="preserve" text-anchor="start" font-family="Noto Sans JP" font-size="24" id="svg_2" y="48.5" x="24" stroke-width="0" stroke="#000" fill="#000000">1:1</text> </g>`
}];
const SEPARATOR_SYMBOL = "---";
const TOOLBAR_CONF = [{
title: "ZOOM_TO_100",
class: 'toolbar_zoom_to_100',
icon: 'zoom-to-100',
enableToolbarIcon: true,
enableMenu: true,
enableHotKey: true
}, {
title: "ZOOM_IN",
class: 'toolbar_zoom_in',
icon: 'zoom-in',
enableToolbarIcon: true,
enableMenu: false,
enableHotKey: true
}, {
title: "ZOOM_OUT",
class: 'toolbar_zoom_out',
icon: 'zoom-out',
enableToolbarIcon: true,
enableMenu: false,
enableHotKey: true
}, {
title: "FULL_SCREEN",
class: 'toolbar_full_screen',
icon: 'expand',
enableToolbarIcon: true,
enableMenu: true,
enableHotKey: true
}, {
title: "REFRESH",
class: 'toolbar_refresh',
icon: 'refresh-ccw',
enableToolbarIcon: true,
enableMenu: true,
enableHotKey: true
}, {
title: "ROTATE_LEFT",
class: 'toolbar_rotate_left',
icon: 'rotate-ccw',
enableToolbarIcon: true,
enableMenu: true,
enableHotKey: true
}, {
title: "ROTATE_RIGHT",
class: 'toolbar_rotate_right',
icon: 'rotate-cw',
enableToolbarIcon: true,
enableMenu: true,
enableHotKey: true
}, {
title: "SCALE_X",
class: 'toolbar_scale_x',
icon: 'move-horizontal',
enableToolbarIcon: true,
enableMenu: true,
enableHotKey: true
}, {
title: "SCALE_Y",
class: 'toolbar_scale_y',
icon: 'move-vertical',
enableToolbarIcon: true,
enableMenu: true,
enableHotKey: true
}, {
title: "INVERT_COLOR",
class: 'toolbar_invert_color',
icon: 'droplet',
enableToolbarIcon: true,
enableMenu: true,
enableHotKey: true
}, {
title: "COPY",
class: 'toolbar_copy',
icon: 'copy',
enableToolbarIcon: true,
enableMenu: true,
enableHotKey: true
}, {
title: SEPARATOR_SYMBOL,
enableToolbarIcon: false,
enableMenu: true,
enableHotKey: false
}, {
title: "CLOSE",
class: 'toolbar_close',
icon: 'trash',
enableToolbarIcon: false,
enableMenu: true,
enableHotKey: true
}];
const IMG_FULL_SCREEN_MODE = {
FIT: 'FIT',
FILL: 'FILL',
STRETCH: 'STRETCH'
};
const VIEW_IMG_SELECTOR = {
EDITOR_AREAS: `.workspace-leaf-content[data-type='markdown'] img,.workspace-leaf-content[data-type='image'] img`,
EDITOR_AREAS_NO_LINK: `.workspace-leaf-content[data-type='markdown'] img:not(a img),.workspace-leaf-content[data-type='image'] img:not(a img)`,
CPB: `.community-plugin-readme img`,
CPB_NO_LINK: `.community-plugin-readme img:not(a img)`,
OTHER: `#sr-flashcard-view img`,
OTHER_NO_LINK: `#sr-flashcard-view img:not(a img)`,
};
const IMG_BORDER_WIDTH = {
THIN: 'thin',
MEDIUM: 'medium',
THICK: 'thick'
};
const IMG_BORDER_STYLE = {
// HIDDEN: 'hidden',
DOTTED: 'dotted',
DASHED: 'dashed',
SOLID: 'solid',
DOUBLE: 'double',
GROOVE: 'groove',
RIDGE: 'ridge',
INSET: 'inset',
OUTSET: 'outset'
};
// https://www.runoob.com/cssref/css-colorsfull.html
const IMG_BORDER_COLOR = {
BLACK: 'black',
BLUE: 'blue',
DARK_GREEN: 'darkgreen',
GREEN: 'green',
LIME: 'lime',
STEEL_BLUE: 'steelblue',
INDIGO: 'indigo',
PURPLE: 'purple',
GRAY: 'gray',
DARK_RED: 'darkred',
LIGHT_GREEN: 'lightgreen',
BROWN: 'brown',
LIGHT_BLUE: 'lightblue',
SILVER: 'silver',
RED: 'red',
PINK: 'pink',
ORANGE: 'orange',
GOLD: 'gold',
YELLOW: 'yellow'
};
const GALLERY_NAVBAR_DEFAULT_COLOR = '#0000001A'; // rgba(0, 0, 0, 0.1)
const GALLERY_NAVBAR_HOVER_COLOR = '#0000004D'; // rgba(0, 0, 0, 0.3)
const GALLERY_IMG_BORDER_ACTIVE_COLOR = '#FF0000'; // red
const MODIFIER_HOTKEYS = {
NONE: "NONE",
CTRL: "CTRL",
ALT: "ALT",
SHIFT: "SHIFT",
CTRL_ALT: "CTRL_ALT",
CTRL_SHIFT: "CTRL_SHIFT",
SHIFT_ALT: "SHIFT_ALT",
CTRL_SHIFT_ALT: "CTRL_SHIFT_ALT"
};
const MOVE_THE_IMAGE = {
CODE: "MOVE_THE_IMAGE",
DEFAULT_HOTKEY: MODIFIER_HOTKEYS.NONE,
SVG: `<svg width="56" height="37" xmlns="http://www.w3.org/2000/svg" class="icon"><path fill="none" d="M-1 -1H57V38H-1z"/><g><path stroke="null" fill="#707070" d="M19.001 16.067V1.928C19.001.864 19.865 0 20.93 0h14.142c1.064 0 1.928.864 1.928 1.928v14.14a1.929 1.929 0 01-1.928 1.927H20.929a1.929 1.929 0 01-1.928-1.928zm4.805-5.909l2.908-3.032v7.334c0 .535.43.964.965.964h.642c.535 0 .965-.43.965-.964V7.126l2.908 3.032a.965.965 0 001.378.017l.438-.442a.96.96 0 000-1.362l-5.327-5.33a.96.96 0 00-1.362 0l-5.335 5.33a.96.96 0 000 1.362l.438.441a.97.97 0 001.382-.016zM36.999 20.933v14.139A1.929 1.929 0 0135.07 37H20.929a1.929 1.929 0 01-1.928-1.928v-14.14c0-1.064.864-1.927 1.928-1.927h14.142c1.064 0 1.928.863 1.928 1.928zm-4.805 5.909l-2.908 3.032V22.54a.962.962 0 00-.965-.964h-.642a.962.962 0 00-.965.964v7.334l-2.908-3.032a.965.965 0 00-1.378-.016l-.438.441a.96.96 0 000 1.362l5.327 5.33a.96.96 0 001.362 0l5.335-5.33a.96.96 0 000-1.362l-.438-.441a.97.97 0 00-1.382.016zM16.068 37.001H1.93a1.929 1.929 0 01-1.928-1.928V20.932c0-1.065.864-1.928 1.928-1.928h14.14c1.064 0 1.927.863 1.927 1.928v14.14a1.929 1.929 0 01-1.928 1.93zm-5.908-4.804l-3.033-2.909h7.335c.534 0 .964-.43.964-.964v-.643a.962.962 0 00-.964-.964H7.127l3.033-2.909a.965.965 0 00.016-1.378l-.442-.438a.96.96 0 00-1.362 0l-5.33 5.327a.96.96 0 000 1.362l5.33 5.335a.96.96 0 001.362 0l.442-.438a.97.97 0 00-.016-1.381zM39.932 19.004H54.07c1.064 0 1.928.863 1.928 1.928v14.14a1.929 1.929 0 01-1.928 1.93H39.93a1.929 1.929 0 01-1.927-1.93v-14.14c0-1.065.863-1.928 1.928-1.928zm5.908 4.804l3.033 2.909h-7.335a.962.962 0 00-.964.964v.643c0 .534.43.964.964.964h7.335l-3.033 2.909a.965.965 0 00-.016 1.377l.442.438a.96.96 0 001.362 0l5.33-5.327a.96.96 0 000-1.362l-5.33-5.335a.96.96 0 00-1.362 0l-.442.438a.97.97 0 00.016 1.382z"/></g></svg>`
};
const SWITCH_THE_IMAGE = {
CODE: "SWITCH_THE_IMAGE",
DEFAULT_HOTKEY: MODIFIER_HOTKEYS.CTRL,
SVG: `<svg width="37" height="18" xmlns="http://www.w3.org/2000/svg" class="icon"><path fill="none" d="M-1 -1H38V19H-1z"/><g><path stroke="null" fill="#707070" d="M16.068 17.999H1.93A1.929 1.929 0 01.001 16.07V1.929C.001.865.865.001 1.93.001h14.14c1.064 0 1.927.864 1.927 1.928v14.142a1.929 1.929 0 01-1.928 1.928zm-5.908-4.805l-3.033-2.908h7.335c.534 0 .964-.43.964-.965V8.68a.962.962 0 00-.964-.965H7.127l3.033-2.908a.965.965 0 00.016-1.378l-.442-.438a.96.96 0 00-1.362 0l-5.33 5.327a.96.96 0 000 1.362l5.33 5.335a.96.96 0 001.362 0l.442-.438a.97.97 0 00-.016-1.382zM20.932.001H35.07c1.064 0 1.928.864 1.928 1.928v14.142a1.929 1.929 0 01-1.928 1.928H20.93a1.929 1.929 0 01-1.927-1.928V1.929c0-1.064.863-1.928 1.928-1.928zm5.908 4.805l3.033 2.908h-7.335a.962.962 0 00-.964.965v.642c0 .535.43.965.964.965h7.335l-3.033 2.908a.965.965 0 00-.016 1.378l.442.438a.96.96 0 001.362 0l5.33-5.327a.96.96 0 000-1.362l-5.33-5.335a.96.96 0 00-1.362 0l-.442.438a.97.97 0 00.016 1.382z"/></g></svg>`
};
const IMG_DEFAULT_BACKGROUND_COLOR = '#00000000';
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
function getDefaultExportFromCjs (x) {
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
}
function getAugmentedNamespace(n) {
var f = n.default;
if (typeof f == "function") {
var a = function () {
return f.apply(this, arguments);
};
a.prototype = f.prototype;
} else a = {};
Object.defineProperty(a, '__esModule', {value: true});
Object.keys(n).forEach(function (k) {
var d = Object.getOwnPropertyDescriptor(n, k);
Object.defineProperty(a, k, d.get ? d : {
enumerable: true,
get: function () {
return n[k];
}
});
});
return a;
}
var pickr_min = {exports: {}};
/*! Pickr 1.9.0 MIT | https://github.com/Simonwep/pickr */
(function (module, exports) {
!function(t,e){module.exports=e();}(self,(()=>(()=>{var t={d:(e,o)=>{for(var n in o)t.o(o,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:o[n]});},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0});}},e={};t.d(e,{default:()=>E});var o={};function n(t,e,o,n,i={}){e instanceof HTMLCollection||e instanceof NodeList?e=Array.from(e):Array.isArray(e)||(e=[e]),Array.isArray(o)||(o=[o]);for(const s of e)for(const e of o)s[t](e,n,{capture:!1,...i});return Array.prototype.slice.call(arguments,1)}t.r(o),t.d(o,{adjustableInputNumbers:()=>p,createElementFromString:()=>r,createFromTemplate:()=>a,eventPath:()=>l,off:()=>s,on:()=>i,resolveElement:()=>c});const i=n.bind(null,"addEventListener"),s=n.bind(null,"removeEventListener");function r(t){const e=document.createElement("div");return e.innerHTML=t.trim(),e.firstElementChild}function a(t){const e=(t,e)=>{const o=t.getAttribute(e);return t.removeAttribute(e),o},o=(t,n={})=>{const i=e(t,":obj"),s=e(t,":ref"),r=i?n[i]={}:n;s&&(n[s]=t);for(const n of Array.from(t.children)){const t=e(n,":arr"),i=o(n,t?{}:r);t&&(r[t]||(r[t]=[])).push(Object.keys(i).length?i:n);}return n};return o(r(t))}function l(t){let e=t.path||t.composedPath&&t.composedPath();if(e)return e;let o=t.target.parentElement;for(e=[t.target,o];o=o.parentElement;)e.push(o);return e.push(document,window),e}function c(t){return t instanceof Element?t:"string"==typeof t?t.split(/>>/g).reduce(((t,e,o,n)=>(t=t.querySelector(e),o<n.length-1?t.shadowRoot:t)),document):null}function p(t,e=(t=>t)){function o(o){const n=[.001,.01,.1][Number(o.shiftKey||2*o.ctrlKey)]*(o.deltaY<0?1:-1);let i=0,s=t.selectionStart;t.value=t.value.replace(/[\d.]+/g,((t,o)=>o<=s&&o+t.length>=s?(s=o,e(Number(t),n,i)):(i++,t))),t.focus(),t.setSelectionRange(s,s),o.preventDefault(),t.dispatchEvent(new Event("input"));}i(t,"focus",(()=>i(window,"wheel",o,{passive:!1}))),i(t,"blur",(()=>s(window,"wheel",o)));}const{min:u,max:h,floor:d,round:m}=Math;function f(t,e,o){e/=100,o/=100;const n=d(t=t/360*6),i=t-n,s=o*(1-e),r=o*(1-i*e),a=o*(1-(1-i)*e),l=n%6;return [255*[o,r,s,s,a,o][l],255*[a,o,o,r,s,s][l],255*[s,s,a,o,o,r][l]]}function v(t,e,o){const n=(2-(e/=100))*(o/=100)/2;return 0!==n&&(e=1===n?0:n<.5?e*o/(2*n):e*o/(2-2*n)),[t,100*e,100*n]}function b(t,e,o){const n=u(t/=255,e/=255,o/=255),i=h(t,e,o),s=i-n;let r,a;if(0===s)r=a=0;else {a=s/i;const n=((i-t)/6+s/2)/s,l=((i-e)/6+s/2)/s,c=((i-o)/6+s/2)/s;t===i?r=c-l:e===i?r=1/3+n-c:o===i&&(r=2/3+l-n),r<0?r+=1:r>1&&(r-=1);}return [360*r,100*a,100*i]}function y(t,e,o,n){e/=100,o/=100;return [...b(255*(1-u(1,(t/=100)*(1-(n/=100))+n)),255*(1-u(1,e*(1-n)+n)),255*(1-u(1,o*(1-n)+n)))]}function g(t,e,o){e/=100;const n=2*(e*=(o/=100)<.5?o:1-o)/(o+e)*100,i=100*(o+e);return [t,isNaN(n)?0:n,i]}function _(t){return b(...t.match(/.{2}/g).map((t=>parseInt(t,16))))}function w(t){t=t.match(/^[a-zA-Z]+$/)?function(t){if("black"===t.toLowerCase())return "#000";const e=document.createElement("canvas").getContext("2d");return e.fillStyle=t,"#000"===e.fillStyle?null:e.fillStyle}(t):t;const e={cmyk:/^cmyk\D+([\d.]+)\D+([\d.]+)\D+([\d.]+)\D+([\d.]+)/i,rgba:/^rgba?\D+([\d.]+)(%?)\D+([\d.]+)(%?)\D+([\d.]+)(%?)\D*?(([\d.]+)(%?)|$)/i,hsla:/^hsla?\D+([\d.]+)\D+([\d.]+)\D+([\d.]+)\D*?(([\d.]+)(%?)|$)/i,hsva:/^hsva?\D+([\d.]+)\D+([\d.]+)\D+([\d.]+)\D*?(([\d.]+)(%?)|$)/i,hexa:/^#?(([\dA-Fa-f]{3,4})|([\dA-Fa-f]{6})|([\dA-Fa-f]{8}))$/i},o=t=>t.map((t=>/^(|\d+)\.\d+|\d+$/.test(t)?Number(t):void 0));let n;t:for(const i in e)if(n=e[i].exec(t))switch(i){case"cmyk":{const[,t,e,s,r]=o(n);if(t>100||e>100||s>100||r>100)break t;return {values:y(t,e,s,r),type:i}}case"rgba":{let[,t,,e,,s,,,r]=o(n);if(t="%"===n[2]?t/100*255:t,e="%"===n[4]?e/100*255:e,s="%"===n[6]?s/100*255:s,r="%"===n[9]?r/100:r,t>255||e>255||s>255||r<0||r>1)break t;return {values:[...b(t,e,s),r],a:r,type:i}}case"hexa":{let[,t]=n;4!==t.length&&3!==t.length||(t=t.split("").map((t=>t+t)).join(""));const e=t.substring(0,6);let o=t.substring(6);return o=o?parseInt(o,16)/255:void 0,{values:[..._(e),o],a:o,type:i}}case"hsla":{let[,t,e,s,,r]=o(n);if(r="%"===n[6]?r/100:r,t>360||e>100||s>100||r<0||r>1)break t;return {values:[...g(t,e,s),r],a:r,type:i}}case"hsva":{let[,t,e,s,,r]=o(n);if(r="%"===n[6]?r/100:r,t>360||e>100||s>100||r<0||r>1)break t;return {values:[t,e,s,r],a:r,type:i}}}return {values:null,type:null}}function A(t=0,e=0,o=0,n=1){const i=(t,e)=>(o=-1)=>e(~o?t.map((t=>Number(t.toFixed(o)))):t),s={h:t,s:e,v:o,a:n,toHSVA(){const t=[s.h,s.s,s.v,s.a];return t.toString=i(t,(t=>`hsva(${t[0]}, ${t[1]}%, ${t[2]}%, ${s.a})`)),t},toHSLA(){const t=[...v(s.h,s.s,s.v),s.a];return t.toString=i(t,(t=>`hsla(${t[0]}, ${t[1]}%, ${t[2]}%, ${s.a})`)),t},toRGBA(){const t=[...f(s.h,s.s,s.v),s.a];return t.toString=i(t,(t=>`rgba(${t[0]}, ${t[1]}, ${t[2]}, ${s.a})`)),t},toCMYK(){const t=function(t,e,o){const n=f(t,e,o),i=n[0]/255,s=n[1]/255,r=n[2]/255,a=u(1-i,1-s,1-r);return [100*(1===a?0:(1-i-a)/(1-a)),100*(1===a?0:(1-s-a)/(1-a)),100*(1===a?0:(1-r-a)/(1-a)),100*a]}(s.h,s.s,s.v);return t.toString=i(t,(t=>`cmyk(${t[0]}%, ${t[1]}%, ${t[2]}%, ${t[3]}%)`)),t},toHEXA(){const t=function(t,e,o){return f(t,e,o).map((t=>m(t).toString(16).padStart(2,"0")))}(s.h,s.s,s.v),e=s.a>=1?"":Number((255*s.a).toFixed(0)).toString(16).toUpperCase().padStart(2,"0");return e&&t.push(e),t.toString=()=>`#${t.join("").toUpperCase()}`,t},clone:()=>A(s.h,s.s,s.v,s.a)};return s}const $=t=>Math.max(Math.min(t,1),0);function C(t){const e={options:Object.assign({lock:null,onchange:()=>0,onstop:()=>0},t),_keyboard(t){const{options:o}=e,{type:n,key:i}=t;if(document.activeElement===o.wrapper){const{lock:o}=e.options,s="ArrowUp"===i,r="ArrowRight"===i,a="ArrowDown"===i,l="ArrowLeft"===i;if("keydown"===n&&(s||r||a||l)){let n=0,i=0;"v"===o?n=s||r?1:-1:"h"===o?n=s||r?-1:1:(i=s?-1:a?1:0,n=l?-1:r?1:0),e.update($(e.cache.x+.01*n),$(e.cache.y+.01*i)),t.preventDefault();}else i.startsWith("Arrow")&&(e.options.onstop(),t.preventDefault());}},_tapstart(t){i(document,["mouseup","touchend","touchcancel"],e._tapstop),i(document,["mousemove","touchmove"],e._tapmove),t.cancelable&&t.preventDefault(),e._tapmove(t);},_tapmove(t){const{options:o,cache:n}=e,{lock:i,element:s,wrapper:r}=o,a=r.getBoundingClientRect();let l=0,c=0;if(t){const e=t&&t.touches&&t.touches[0];l=t?(e||t).clientX:0,c=t?(e||t).clientY:0,l<a.left?l=a.left:l>a.left+a.width&&(l=a.left+a.width),c<a.top?c=a.top:c>a.top+a.height&&(c=a.top+a.height),l-=a.left,c-=a.top;}else n&&(l=n.x*a.width,c=n.y*a.height);"h"!==i&&(s.style.left=`calc(${l/a.width*100}% - ${s.offsetWidth/2}px)`),"v"!==i&&(s.style.top=`calc(${c/a.height*100}% - ${s.offsetHeight/2}px)`),e.cache={x:l/a.width,y:c/a.height};const p=$(l/a.width),u=$(c/a.height);switch(i){case"v":return o.onchange(p);case"h":return o.onchange(u);default:return o.onchange(p,u)}},_tapstop(){e.options.onstop(),s(document,["mouseup","touchend","touchcancel"],e._tapstop),s(document,["mousemove","touchmove"],e._tapmove);},trigger(){e._tapmove();},update(t=0,o=0){const{left:n,top:i,width:s,height:r}=e.options.wrapper.getBoundingClientRect();"h"===e.options.lock&&(o=t),e._tapmove({clientX:n+s*t,clientY:i+r*o});},destroy(){const{options:t,_tapstart:o,_keyboard:n}=e;s(document,["keydown","keyup"],n),s([t.wrapper,t.element],"mousedown",o),s([t.wrapper,t.element],"touchstart",o,{passive:!1});}},{options:o,_tapstart:n,_keyboard:r}=e;return i([o.wrapper,o.element],"mousedown",n),i([o.wrapper,o.element],"touchstart",n,{passive:!1}),i(document,["keydown","keyup"],r),e}function k(t={}){t=Object.assign({onchange:()=>0,className:"",elements:[]},t);const e=i(t.elements,"click",(e=>{t.elements.forEach((o=>o.classList[e.target===o?"add":"remove"](t.className))),t.onchange(e),e.stopPropagation();}));return {destroy:()=>s(...e)}}const S={variantFlipOrder:{start:"sme",middle:"mse",end:"ems"},positionFlipOrder:{top:"tbrl",right:"rltb",bottom:"btrl",left:"lrbt"},position:"bottom",margin:8,padding:0},O=(t,e,o)=>{const n="object"!=typeof t||t instanceof HTMLElement?{reference:t,popper:e,...o}:t;return {update(t=n){const{reference:e,popper:o}=Object.assign(n,t);if(!o||!e)throw new Error("Popper- or reference-element missing.");return ((t,e,o)=>{const{container:n,arrow:i,margin:s,padding:r,position:a,variantFlipOrder:l,positionFlipOrder:c}={container:document.documentElement.getBoundingClientRect(),...S,...o},{left:p,top:u}=e.style;e.style.left="0",e.style.top="0";const h=t.getBoundingClientRect(),d=e.getBoundingClientRect(),m={t:h.top-d.height-s,b:h.bottom+s,r:h.right+s,l:h.left-d.width-s},f={vs:h.left,vm:h.left+h.width/2-d.width/2,ve:h.left+h.width-d.width,hs:h.top,hm:h.bottom-h.height/2-d.height/2,he:h.bottom-d.height},[v,b="middle"]=a.split("-"),y=c[v],g=l[b],{top:_,left:w,bottom:A,right:$}=n;for(const t of y){const o="t"===t||"b"===t;let n=m[t];const[s,a]=o?["top","left"]:["left","top"],[l,c]=o?[d.height,d.width]:[d.width,d.height],[p,u]=o?[A,$]:[$,A],[v,b]=o?[_,w]:[w,_];if(!(n<v||n+l+r>p))for(const p of g){let m=f[(o?"v":"h")+p];if(!(m<b||m+c+r>u)){if(m-=d[a],n-=d[s],e.style[a]=`${m}px`,e.style[s]=`${n}px`,i){const t=o?h.width/2:h.height/2,e=2*t<c?h[a]+t:m+c/2;n<h[s]&&(n+=l),i.style[a]=`${e}px`,i.style[s]=`${n}px`;}return t+p}}}return e.style.left=p,e.style.top=u,null})(e,o,n)}}};class E{static utils=o;static version="1.9.0";static I18N_DEFAULTS={"ui:dialog":"color picker dialog","btn:toggle":"toggle color picker dialog","btn:swatch":"color swatch","btn:last-color":"use previous color","btn:save":"Save","btn:cancel":"Cancel","btn:clear":"Clear","aria:btn:save":"save and close","aria:btn:cancel":"cancel and close","aria:btn:clear":"clear and close","aria:input":"color input field","aria:palette":"color selection area","aria:hue":"hue selection slider","aria:opacity":"selection slider"};static DEFAULT_OPTIONS={appClass:null,theme:"classic",useAsButton:!1,padding:8,disabled:!1,comparison:!0,closeOnScroll:!1,outputPrecision:0,lockOpacity:!1,autoReposition:!0,container:"body",components:{interaction:{}},i18n:{},swatches:null,inline:!1,sliders:null,default:"#42445a",defaultRepresentation:null,position:"bottom-middle",adjustableNumbers:!0,showAlways:!1,closeWithKey:"Escape"};_initializingActive=!0;_recalc=!0;_nanopop=null;_root=null;_color=A();_lastColor=A();_swatchColors=[];_setupAnimationFrame=null;_eventListener={init:[],save:[],hide:[],show:[],clear:[],change:[],changestop:[],cancel:[],swatchselect:[]};constructor(t){this.options=t=Object.assign({...E.DEFAULT_OPTIONS},t);const{swatches:e,components:o,theme:n,sliders:i,lockOpacity:s,padding:r}=t;["nano","monolith"].includes(n)&&!i&&(t.sliders="h"),o.interaction||(o.interaction={});const{preview:a,opacity:l,hue:c,palette:p}=o;o.opacity=!s&&l,o.palette=p||a||l||c,this._preBuild(),this._buildComponents(),this._bindEvents(),this._finalBuild(),e&&e.length&&e.forEach((t=>this.addSwatch(t)));const{button:u,app:h}=this._root;this._nanopop=O(u,h,{margin:r}),u.setAttribute("role","button"),u.setAttribute("aria-label",this._t("btn:toggle"));const d=this;this._setupAnimationFrame=requestAnimationFrame((function e(){if(!h.offsetWidth)return requestAnimationFrame(e);d.setColor(t.default),d._rePositioningPicker(),t.defaultRepresentation&&(d._representation=t.defaultRepresentation,d.setColorRepresentation(d._representation)),t.showAlways&&d.show(),d._initializingActive=!1,d._emit("init");}));}static create=t=>new E(t);_preBuild(){const{options:t}=this;for(const e of ["el","container"])t[e]=c(t[e]);this._root=(t=>{const{components:e,useAsButton:o,inline:n,appClass:i,theme:s,lockOpacity:r}=t.options,l=t=>t?"":'style="display:none" hidden',c=e=>t._t(e),p=a(`\n <div :ref="root" class="pickr">\n\n ${o?"":'<button type="button" :ref="button" class="pcr-button"></button>'}\n\n <div :ref="app" class="pcr-app ${i||""}" data-theme="${s}" ${n?'style="position: unset"':""} aria-label="${c("ui:dialog")}" role="window">\n <div class="pcr-selection" ${l(e.palette)}>\n <div :obj="preview" class="pcr-color-preview" ${l(e.preview)}>\n <button type="button" :ref="lastColor" class="pcr-last-color" aria-label="${c("btn:last-color")}"></button>\n <div :ref="currentColor" class="pcr-current-color"></div>\n </div>\n\n <div :obj="palette" class="pcr-color-palette">\n <div :ref="picker" class="pcr-picker"></div>\n <div :ref="palette" class="pcr-palette" tabindex="0" aria-label="${c("aria:palette")}" role="listbox"></div>\n </div>\n\n <div :obj="hue" class="pcr-color-chooser" ${l(e.hue)}>\n <div :ref="picker" class="pcr-picker"></div>\n <div :ref="slider" class="pcr-hue pcr-slider" tabindex="0" aria-label="${c("aria:hue")}" role="slider"></div>\n </div>\n\n <div :obj="opacity" class="pcr-color-opacity" ${l(e.opacity)}>\n <div :ref="picker" class="pcr-picker"></div>\n <div :ref="slider" class="pcr-opacity pcr-slider" tabindex="0" aria-label="${c("aria:opacity")}" role="slider"></div>\n </div>\n </div>\n\n <div class="pcr-swatches ${e.palette?"":"pcr-last"}" :ref="swatches"></div>\n\n <div :obj="interaction" class="pcr-interaction" ${l(Object.keys(e.interaction).length)}>\n <input :ref="result" class="pcr-result" type="text" spellcheck="false" ${l(e.interaction.input)} aria-label="${c("aria:input")}">\n\n <input :arr="options" class="pcr-type" data-type="HEXA" value="${r?"HEX":"HEXA"}" type="button" ${l(e.interaction.hex)}>\n <input :arr="options" class="pcr-type" data-type="RGBA" value="${r?"RGB":"RGBA"}" type="button" ${l(e.interaction.rgba)}>\n <input :arr="options" class="pcr-type" data-type="HSLA" value="${r?"HSL":"HSLA"}" type="button" ${l(e.interaction.hsla)}>\n <input :arr="options" class="pcr-type" data-type="HSVA" value="${r?"HSV":"HSVA"}" type="button" ${l(e.interaction.hsva)}>\n <input :arr="options" class="pcr-type" data-type="CMYK" value="CMYK" type="button" ${l(e.interaction.cmyk)}>\n\n <input :ref="save" class="pcr-save" value="${c("btn:save")}" type="button" ${l(e.interaction.save)} aria-label="${c("aria:btn:save")}">\n <input :ref="cancel" class="pcr-cancel" value="${c("btn:cancel")}" type="button" ${l(e.interaction.cancel)} aria-label="${c("aria:btn:cancel")}">\n <input :ref="clear" class="pcr-clear" value="${c("btn:clear")}" type="button" ${l(e.interaction.clear)} aria-label="${c("aria:btn:clear")}">\n </div>\n </div>\n </div>\n `),u=p.interaction;return u.options.find((t=>!t.hidden&&!t.classList.add("active"))),u.type=()=>u.options.find((t=>t.classList.contains("active"))),p})(this),t.useAsButton&&(this._root.button=t.el),t.container.appendChild(this._root.root);}_finalBuild(){const t=this.options,e=this._root;if(t.container.removeChild(e.root),t.inline){const o=t.el.parentElement;t.el.nextSibling?o.insertBefore(e.app,t.el.nextSibling):o.appendChild(e.app);}else t.container.appendChild(e.app);t.useAsButton?t.inline&&t.el.remove():t.el.parentNode.replaceChild(e.root,t.el),t.disabled&&this.disable(),t.comparison||(e.button.style.transition="none",t.useAsButton||(e.preview.lastColor.style.transition="none")),this.hide();}_buildComponents(){const t=this,e=this.options.components,o=(t.options.sliders||"v").repeat(2),[n,i]=o.match(/^[vh]+$/g)?o:[],s=()=>this._color||(this._color=this._lastColor.clone()),r={palette:C({element:t._root.palette.picker,wrapper:t._root.palette.palette,onstop:()=>t._emit("changestop","slider",t),onchange(o,n){if(!e.palette)return;const i=s(),{_root:r,options:a}=t,{lastColor:l,currentColor:c}=r.preview;t._recalc&&(i.s=100*o,i.v=100-100*n,i.v<0&&(i.v=0),t._updateOutput("slider"));const p=i.toRGBA().toString(0);this.element.style.background=p,this.wrapper.style.background=`\n linear-gradient(to top, rgba(0, 0, 0, ${i.a}), transparent),\n linear-gradient(to left, hsla(${i.h}, 100%, 50%, ${i.a}), rgba(255, 255, 255, ${i.a}))\n `,a.comparison?a.useAsButton||t._lastColor||l.style.setProperty("--pcr-color",p):(r.button.style.setProperty("--pcr-color",p),r.button.classList.remove("clear"));const u=i.toHEXA().toString();for(const{el:e,color:o}of t._swatchColors)e.classList[u===o.toHEXA().toString()?"add":"remove"]("pcr-active");c.style.setProperty("--pcr-color",p);}}),hue:C({lock:"v"===i?"h":"v",element:t._root.hue.picker,wrapper:t._root.hue.slider,onstop:()=>t._emit("changestop","slider",t),onchange(o){if(!e.hue||!e.palette)return;const n=s();t._recalc&&(n.h=360*o),this.element.style.backgroundColor=`hsl(${n.h}, 100%, 50%)`,r.palette.trigger();}}),opacity:C({lock:"v"===n?"h":"v",element:t._root.opacity.picker,wrapper:t._root.opacity.slider,onstop:()=>t._emit("changestop","slider",t),onchange(o){if(!e.opacity||!e.palette)return;const n=s();t._recalc&&(n.a=Math.round(100*o)/100),this.element.style.background=`rgba(0, 0, 0, ${n.a})`,r.palette.trigger();}}),selectable:k({elements:t._root.interaction.options,className:"active",onchange(e){t._representation=e.target.getAttribute("data-type").toUpperCase(),t._recalc&&t._updateOutput("swatch");}})};this._components=r;}_bindEvents(){const{_root:t,options:e}=this,o=[i(t.interaction.clear,"click",(()=>this._clearColor())),i([t.interaction.cancel,t.preview.lastColor],"click",(()=>{this.setHSVA(...(this._lastColor||this._color).toHSVA(),!0),this._emit("cancel");})),i(t.interaction.save,"click",(()=>{!this.applyColor()&&!e.showAlways&&this.hide();})),i(t.interaction.result,["keyup","input"],(t=>{this.setColor(t.target.value,!0)&&!this._initializingActive&&(this._emit("change",this._color,"input",this),this._emit("changestop","input",this)),t.stopImmediatePropagation();})),i(t.interaction.result,["focus","blur"],(t=>{this._recalc="blur"===t.type,this._recalc&&this._updateOutput(null);})),i([t.palette.palette,t.palette.picker,t.hue.slider,t.hue.picker,t.opacity.slider,t.opacity.picker],["mousedown","touchstart"],(()=>this._recalc=!0),{passive:!0})];if(!e.showAlways){const n=e.closeWithKey;o.push(i(t.button,"click",(()=>this.isOpen()?this.hide():this.show())),i(document,"keyup",(t=>this.isOpen()&&(t.key===n||t.code===n)&&this.hide())),i(document,["touchstart","mousedown"],(e=>{this.isOpen()&&!l(e).some((e=>e===t.app||e===t.button))&&this.hide();}),{capture:!0}));}if(e.adjustableNumbers){const e={rgba:[255,255,255,1],hsva:[360,100,100,1],hsla:[360,100,100,1],cmyk:[100,100,100,100]};p(t.interaction.result,((t,o,n)=>{const i=e[this.getColorRepresentation().toLowerCase()];if(i){const e=i[n],s=t+(e>=100?1e3*o:o);return s<=0?0:Number((s<e?s:e).toPrecision(3))}return t}));}if(e.autoReposition&&!e.inline){let t=null;const n=this;o.push(i(window,["scroll","resize"],(()=>{n.isOpen()&&(e.closeOnScroll&&n.hide(),null===t?(t=setTimeout((()=>t=null),100),requestAnimationFrame((function e(){n._rePositioningPicker(),null!==t&&requestAnimationFrame(e);}))):(clearTimeout(t),t=setTimeout((()=>t=null),100)));}),{capture:!0}));}this._eventBindings=o;}_rePositioningPicker(){const{options:t}=this;if(!t.inline){if(!this._nanopop.update({container:document.body.getBoundingClientRect(),position:t.position})){const t=this._root.app,e=t.getBoundingClientRect();t.style.top=(window.innerHeight-e.height)/2+"px",t.style.left=(window.innerWidth-e.width)/2+"px";}}}_updateOutput(t){const{_root:e,_color:o,options:n}=this;if(e.interaction.type()){const t=`to${e.interaction.type().getAttribute("data-type")}`;e.interaction.result.value="function"==typeof o[t]?o[t]().toString(n.outputPrecision):"";}!this._initializingActive&&this._recalc&&this._emit("change",o,t,this);}_clearColor(t=!1){const{_root:e,options:o}=this;o.useAsButton||e.button.style.setProperty("--pcr-color","rgba(0, 0, 0, 0.15)"),e.button.classList.add("clear"),o.showAlways||this.hide(),this._lastColor=null,this._initializingActive||t||(this._emit("save",null),this._emit("clear"));}_parseLocalColor(t){const{values:e,type:o,a:n}=w(t),{lockOpacity:i}=this.options,s=void 0!==n&&1!==n;return e&&3===e.length&&(e[3]=void 0),{values:!e||i&&s?null:e,type:o}}_t(t){return this.options.i18n[t]||E.I18N_DEFAULTS[t]}_emit(t,...e){this._eventListener[t].forEach((t=>t(...e,this)));}on(t,e){return this._eventListener[t].push(e),this}off(t,e){const o=this._eventListener[t]||[],n=o.indexOf(e);return ~n&&o.splice(n,1),this}addSwatch(t){const{values:e}=this._parseLocalColor(t);if(e){const{_swatchColors:t,_root:o}=this,n=A(...e),s=r(`<button type="button" style="--pcr-color: ${n.toRGBA().toString(0)}" aria-label="${this._t("btn:swatch")}"/>`);return o.swatches.appendChild(s),t.push({el:s,color:n}),this._eventBindings.push(i(s,"click",(()=>{this.setHSVA(...n.toHSVA(),!0),this._emit("swatchselect",n),this._emit("change",n,"swatch",this);}))),!0}return !1}removeSwatch(t){const e=this._swatchColors[t];if(e){const{el:o}=e;return this._root.swatches.removeChild(o),this._swatchColors.splice(t,1),!0}return !1}applyColor(t=!1){const{preview:e,button:o}=this._root,n=this._color.toRGBA().toString(0);return e.lastColor.style.setProperty("--pcr-color",n),this.options.useAsButton||o.style.setProperty("--pcr-color",n),o.classList.remove("clear"),this._lastColor=this._color.clone(),this._initializingActive||t||this._emit("save",this._color),this}destroy(){cancelAnimationFrame(this._setupAnimationFrame),this._eventBindings.forEach((t=>s(...t))),Object.keys(this._components).forEach((t=>this._components[t].destroy()));}destroyAndRemove(){this.destroy();const{root:t,app:e}=this._root;t.parentElement&&t.parentElement.removeChild(t),e.parentElement.removeChild(e),Object.keys(this).forEach((t=>this[t]=null));}hide(){return !!this.isOpen()&&(this._root.app.classList.remove("visible"),this._emit("hide"),!0)}show(){return !this.options.disabled&&!this.isOpen()&&(this._root.app.classList.add("visible"),this._rePositioningPicker(),this._emit("show",this._color),this)}isOpen(){return this._root.app.classList.contains("visible")}setHSVA(t=360,e=0,o=0,n=1,i=!1){const s=this._recalc;if(this._recalc=!1,t<0||t>360||e<0||e>100||o<0||o>100||n<0||n>1)return !1;this._color=A(t,e,o,n);const{hue:r,opacity:a,palette:l}=this._components;return r.update(t/360),a.update(n),l.update(e/100,1-o/100),i||this.applyColor(),s&&this._updateOutput(),this._recalc=s,!0}setColor(t,e=!1){if(null===t)return this._clearColor(e),!0;const{values:o,type:n}=this._parseLocalColor(t);if(o){const t=n.toUpperCase(),{options:i}=this._root.interaction,s=i.find((e=>e.getAttribute("data-type")===t));if(s&&!s.hidden)for(const t of i)t.classList[t===s?"add":"remove"]("active");return !!this.setHSVA(...o,e)&&this.setColorRepresentation(t)}return !1}setColorRepresentation(t){return t=t.toUpperCase(),!!this._root.interaction.options.find((e=>e.getAttribute("data-type").startsWith(t)&&!e.click()))}getColorRepresentation(){return this._representation}getColor(){return this._color}getSelectedColor(){return this._lastColor}getRoot(){return this._root}disable(){return this.hide(),this.options.disabled=!0,this._root.button.classList.add("disabled"),this}enable(){return this.options.disabled=!1,this._root.button.classList.remove("disabled"),this}}return e=e.default})()));
} (pickr_min));
var Pickr = /*@__PURE__*/getDefaultExportFromCjs(pickr_min.exports);
// Generic options
class AnalyzerOptions {
constructor(heuristic_replimit) {
this.heuristic_replimit = heuristic_replimit;
}
}
// Abstract class
class Analyzer {
constructor(analyzerOptions) {
this.options = analyzerOptions;
}
// Subclasser must implement
// Return boolean
isVulnerable(regExp) {
return false;
}
// Subclass must implement
// Returns an AttackString or null
genAttackString(regExp) {
return null;
}
}
var analyzer$2 = function(re, replimit) {
// Build an AST
let myRegExp = null;
let ast = null;
try {
// Construct a RegExp object
if (re instanceof RegExp) {
myRegExp = re;
} else if (typeof re === "string") {
myRegExp = new RegExp(re);
} else {
myRegExp = new RegExp(String(re));
}
// Build an AST
ast = regexpTree.parse(myRegExp);
} catch (err) {
// Invalid or unparseable input
return false;
}
let currentStarHeight = 0;
let maxObservedStarHeight = 0;
let repetitionCount = 0;
regexpTree.traverse(ast, {
Repetition: {
pre({ node }) {
repetitionCount++;
currentStarHeight++;
if (maxObservedStarHeight < currentStarHeight) {
maxObservedStarHeight = currentStarHeight;
}
},
post({ node }) {
currentStarHeight--;
}
}
});
return maxObservedStarHeight <= 1 && repetitionCount <= replimit;
};
analyzer$2 = {
"AnalyzerOptions": AnalyzerOptions,
"Analyzer": Analyzer,
};
var regexpTree$4 = {exports: {}};
/**
* The MIT License (MIT)
* Copyright (c) 2017-present Dmitry Soshnikov <dmitry.soshnikov@gmail.com>
*/
/**
* A regexp-tree plugin to translate `/./s` to `/[\0-\uFFFF]/`.
*/
var compatDotallSTransform = {
// Whether `u` flag present. In which case we transform to
// \u{10FFFF} instead of \uFFFF.
_hasUFlag: false,
// Only run this plugin if we have `s` flag.
shouldRun: function shouldRun(ast) {
var shouldRun = ast.flags.includes('s');
if (!shouldRun) {
return false;
}
// Strip the `s` flag.
ast.flags = ast.flags.replace('s', '');
// Whether we have also `u`.
this._hasUFlag = ast.flags.includes('u');
return true;
},
Char: function Char(path) {
var node = path.node;
if (node.kind !== 'meta' || node.value !== '.') {
return;
}
var toValue = '\\uFFFF';
var toSymbol = '\uFFFF';
if (this._hasUFlag) {
toValue = '\\u{10FFFF}';
toSymbol = '\uDBFF\uDFFF';
}
path.replace({
type: 'CharacterClass',
expressions: [{
type: 'ClassRange',
from: {
type: 'Char',
value: '\\0',
kind: 'decimal',
symbol: '\0'
},
to: {
type: 'Char',
value: toValue,
kind: 'unicode',
symbol: toSymbol
}
}]
});
}
};
/**
* The MIT License (MIT)
* Copyright (c) 2017-present Dmitry Soshnikov <dmitry.soshnikov@gmail.com>
*/
/**
* A regexp-tree plugin to translate `/(?<name>a)\k<name>/` to `/(a)\1/`.
*/
var compatNamedCapturingGroupsTransform = {
// To track the names of the groups, and return them
// in the transform result state.
//
// A map from name to number: {foo: 2, bar: 4}
_groupNames: {},
/**
* Initialises the trasnform.
*/
init: function init() {
this._groupNames = {};
},
/**
* Returns extra state, which eventually is returned to
*/
getExtra: function getExtra() {
return this._groupNames;
},
Group: function Group(path) {
var node = path.node;
if (!node.name) {
return;
}
// Record group name.
this._groupNames[node.name] = node.number;
delete node.name;
delete node.nameRaw;
},
Backreference: function Backreference(path) {
var node = path.node;
if (node.kind !== 'name') {
return;
}
node.kind = 'number';
node.reference = node.number;
delete node.referenceRaw;
}
};
/**
* The MIT License (MIT)
* Copyright (c) 2017-present Dmitry Soshnikov <dmitry.soshnikov@gmail.com>
*/
/**
* A regexp-tree plugin to remove `x` flag `/foo/x` to `/foo/`.
*
* Note: other features of `x` flags (whitespace, comments) are
* already removed at parsing stage.
*/
var compatXFlagTransform = {
RegExp: function RegExp(_ref) {
var node = _ref.node;
if (node.flags.includes('x')) {
node.flags = node.flags.replace('x', '');
}
}
};
/**
* The MIT License (MIT)
* Copyright (c) 2017-present Dmitry Soshnikov <dmitry.soshnikov@gmail.com>
*/
var transforms$1 = {
// "dotAll" `s` flag
dotAll: compatDotallSTransform,
// Named capturing groups.
namedCapturingGroups: compatNamedCapturingGroupsTransform,
// `x` flag
xFlag: compatXFlagTransform
};
/**
* The MIT License (MIT)
* Copyright (c) 2017-present Dmitry Soshnikov <dmitry.soshnikov@gmail.com>
*/
/**
* Helper `gen` function calls node type handler.
*/
function gen$1(node) {
return node ? generator$3[node.type](node) : '';
}
/**
* AST handler.
*/
var generator$3 = {
RegExp: function RegExp(node) {
return '/' + gen$1(node.body) + '/' + node.flags;
},
Alternative: function Alternative(node) {
return (node.expressions || []).map(gen$1).join('');
},
Disjunction: function Disjunction(node) {
return gen$1(node.left) + '|' + gen$1(node.right);
},
Group: function Group(node) {
var expression = gen$1(node.expression);
if (node.capturing) {
// A named group.
if (node.name) {
return '(?<' + (node.nameRaw || node.name) + '>' + expression + ')';
}
return '(' + expression + ')';
}
return '(?:' + expression + ')';
},
Backreference: function Backreference(node) {
switch (node.kind) {
case 'number':
return '\\' + node.reference;
case 'name':
return '\\k<' + (node.referenceRaw || node.reference) + '>';
default:
throw new TypeError('Unknown Backreference kind: ' + node.kind);
}
},
Assertion: function Assertion(node) {
switch (node.kind) {
case '^':
case '$':
case '\\b':
case '\\B':
return node.kind;
case 'Lookahead':
{
var assertion = gen$1(node.assertion);
if (node.negative) {
return '(?!' + assertion + ')';
}
return '(?=' + assertion + ')';
}
case 'Lookbehind':
{
var _assertion = gen$1(node.assertion);
if (node.negative) {
return '(?<!' + _assertion + ')';
}
return '(?<=' + _assertion + ')';
}
default:
throw new TypeError('Unknown Assertion kind: ' + node.kind);
}
},
CharacterClass: function CharacterClass(node) {
var expressions = node.expressions.map(gen$1).join('');
if (node.negative) {
return '[^' + expressions + ']';
}
return '[' + expressions + ']';
},
ClassRange: function ClassRange(node) {
return gen$1(node.from) + '-' + gen$1(node.to);
},
Repetition: function Repetition(node) {
return '' + gen$1(node.expression) + gen$1(node.quantifier);
},
Quantifier: function Quantifier(node) {
var quantifier = void 0;
var greedy = node.greedy ? '' : '?';
switch (node.kind) {
case '+':
case '?':
case '*':
quantifier = node.kind;
break;
case 'Range':
// Exact: {1}
if (node.from === node.to) {
quantifier = '{' + node.from + '}';
}
// Open: {1,}
else if (!node.to) {
quantifier = '{' + node.from + ',}';
}
// Closed: {1,3}
else {
quantifier = '{' + node.from + ',' + node.to + '}';
}
break;
default:
throw new TypeError('Unknown Quantifier kind: ' + node.kind);
}
return '' + quantifier + greedy;
},
Char: function Char(node) {
var value = node.value;
switch (node.kind) {
case 'simple':
{
if (node.escaped) {
return '\\' + value;
}
return value;
}
case 'hex':
case 'unicode':
case 'oct':
case 'decimal':
case 'control':
case 'meta':
return value;
default:
throw new TypeError('Unknown Char kind: ' + node.kind);
}
},
UnicodeProperty: function UnicodeProperty(node) {
var escapeChar = node.negative ? 'P' : 'p';
var namePart = void 0;
if (!node.shorthand && !node.binary) {
namePart = node.name + '=';
} else {
namePart = '';
}
return '\\' + escapeChar + '{' + namePart + node.value + '}';
}
};
var generator_1 = {
/**
* Generates a regexp string from an AST.
*
* @param Object ast - an AST node
*/
generate: gen$1
};
/**
* The MIT License (MIT)
* Copyright (c) 2017-present Dmitry Soshnikov <dmitry.soshnikov@gmail.com>
*/
var NON_BINARY_PROP_NAMES_TO_ALIASES = {
General_Category: 'gc',
Script: 'sc',
Script_Extensions: 'scx'
};
var NON_BINARY_ALIASES_TO_PROP_NAMES = inverseMap(NON_BINARY_PROP_NAMES_TO_ALIASES);
var BINARY_PROP_NAMES_TO_ALIASES = {
ASCII: 'ASCII',
ASCII_Hex_Digit: 'AHex',
Alphabetic: 'Alpha',
Any: 'Any',
Assigned: 'Assigned',
Bidi_Control: 'Bidi_C',
Bidi_Mirrored: 'Bidi_M',
Case_Ignorable: 'CI',
Cased: 'Cased',
Changes_When_Casefolded: 'CWCF',
Changes_When_Casemapped: 'CWCM',
Changes_When_Lowercased: 'CWL',
Changes_When_NFKC_Casefolded: 'CWKCF',
Changes_When_Titlecased: 'CWT',
Changes_When_Uppercased: 'CWU',
Dash: 'Dash',
Default_Ignorable_Code_Point: 'DI',
Deprecated: 'Dep',
Diacritic: 'Dia',
Emoji: 'Emoji',
Emoji_Component: 'Emoji_Component',
Emoji_Modifier: 'Emoji_Modifier',
Emoji_Modifier_Base: 'Emoji_Modifier_Base',
Emoji_Presentation: 'Emoji_Presentation',
Extended_Pictographic: 'Extended_Pictographic',
Extender: 'Ext',
Grapheme_Base: 'Gr_Base',
Grapheme_Extend: 'Gr_Ext',
Hex_Digit: 'Hex',
IDS_Binary_Operator: 'IDSB',
IDS_Trinary_Operator: 'IDST',
ID_Continue: 'IDC',
ID_Start: 'IDS',
Ideographic: 'Ideo',
Join_Control: 'Join_C',
Logical_Order_Exception: 'LOE',
Lowercase: 'Lower',
Math: 'Math',
Noncharacter_Code_Point: 'NChar',
Pattern_Syntax: 'Pat_Syn',
Pattern_White_Space: 'Pat_WS',
Quotation_Mark: 'QMark',
Radical: 'Radical',
Regional_Indicator: 'RI',
Sentence_Terminal: 'STerm',
Soft_Dotted: 'SD',
Terminal_Punctuation: 'Term',
Unified_Ideograph: 'UIdeo',
Uppercase: 'Upper',
Variation_Selector: 'VS',
White_Space: 'space',
XID_Continue: 'XIDC',
XID_Start: 'XIDS'
};
var BINARY_ALIASES_TO_PROP_NAMES = inverseMap(BINARY_PROP_NAMES_TO_ALIASES);
var GENERAL_CATEGORY_VALUE_TO_ALIASES = {
Cased_Letter: 'LC',
Close_Punctuation: 'Pe',
Connector_Punctuation: 'Pc',
Control: ['Cc', 'cntrl'],
Currency_Symbol: 'Sc',
Dash_Punctuation: 'Pd',
Decimal_Number: ['Nd', 'digit'],
Enclosing_Mark: 'Me',
Final_Punctuation: 'Pf',
Format: 'Cf',
Initial_Punctuation: 'Pi',
Letter: 'L',
Letter_Number: 'Nl',
Line_Separator: 'Zl',
Lowercase_Letter: 'Ll',
Mark: ['M', 'Combining_Mark'],
Math_Symbol: 'Sm',
Modifier_Letter: 'Lm',
Modifier_Symbol: 'Sk',
Nonspacing_Mark: 'Mn',
Number: 'N',
Open_Punctuation: 'Ps',
Other: 'C',
Other_Letter: 'Lo',
Other_Number: 'No',
Other_Punctuation: 'Po',
Other_Symbol: 'So',
Paragraph_Separator: 'Zp',
Private_Use: 'Co',
Punctuation: ['P', 'punct'],
Separator: 'Z',
Space_Separator: 'Zs',
Spacing_Mark: 'Mc',
Surrogate: 'Cs',
Symbol: 'S',
Titlecase_Letter: 'Lt',
Unassigned: 'Cn',
Uppercase_Letter: 'Lu'
};
var GENERAL_CATEGORY_VALUE_ALIASES_TO_VALUES = inverseMap(GENERAL_CATEGORY_VALUE_TO_ALIASES);
var SCRIPT_VALUE_TO_ALIASES = {
Adlam: 'Adlm',
Ahom: 'Ahom',
Anatolian_Hieroglyphs: 'Hluw',
Arabic: 'Arab',
Armenian: 'Armn',
Avestan: 'Avst',
Balinese: 'Bali',
Bamum: 'Bamu',
Bassa_Vah: 'Bass',
Batak: 'Batk',
Bengali: 'Beng',
Bhaiksuki: 'Bhks',
Bopomofo: 'Bopo',
Brahmi: 'Brah',
Braille: 'Brai',
Buginese: 'Bugi',
Buhid: 'Buhd',
Canadian_Aboriginal: 'Cans',
Carian: 'Cari',
Caucasian_Albanian: 'Aghb',
Chakma: 'Cakm',
Cham: 'Cham',
Cherokee: 'Cher',
Common: 'Zyyy',
Coptic: ['Copt', 'Qaac'],
Cuneiform: 'Xsux',
Cypriot: 'Cprt',
Cyrillic: 'Cyrl',
Deseret: 'Dsrt',
Devanagari: 'Deva',
Dogra: 'Dogr',
Duployan: 'Dupl',
Egyptian_Hieroglyphs: 'Egyp',
Elbasan: 'Elba',
Ethiopic: 'Ethi',
Georgian: 'Geor',
Glagolitic: 'Glag',
Gothic: 'Goth',
Grantha: 'Gran',
Greek: 'Grek',
Gujarati: 'Gujr',
Gunjala_Gondi: 'Gong',
Gurmukhi: 'Guru',
Han: 'Hani',
Hangul: 'Hang',
Hanifi_Rohingya: 'Rohg',
Hanunoo: 'Hano',
Hatran: 'Hatr',
Hebrew: 'Hebr',
Hiragana: 'Hira',
Imperial_Aramaic: 'Armi',
Inherited: ['Zinh', 'Qaai'],
Inscriptional_Pahlavi: 'Phli',
Inscriptional_Parthian: 'Prti',
Javanese: 'Java',
Kaithi: 'Kthi',
Kannada: 'Knda',
Katakana: 'Kana',
Kayah_Li: 'Kali',
Kharoshthi: 'Khar',
Khmer: 'Khmr',
Khojki: 'Khoj',
Khudawadi: 'Sind',
Lao: 'Laoo',
Latin: 'Latn',
Lepcha: 'Lepc',
Limbu: 'Limb',
Linear_A: 'Lina',
Linear_B: 'Linb',
Lisu: 'Lisu',
Lycian: 'Lyci',
Lydian: 'Lydi',
Mahajani: 'Mahj',
Makasar: 'Maka',
Malayalam: 'Mlym',
Mandaic: 'Mand',
Manichaean: 'Mani',
Marchen: 'Marc',
Medefaidrin: 'Medf',
Masaram_Gondi: 'Gonm',
Meetei_Mayek: 'Mtei',
Mende_Kikakui: 'Mend',
Meroitic_Cursive: 'Merc',
Meroitic_Hieroglyphs: 'Mero',
Miao: 'Plrd',
Modi: 'Modi',
Mongolian: 'Mong',
Mro: 'Mroo',
Multani: 'Mult',
Myanmar: 'Mymr',
Nabataean: 'Nbat',
New_Tai_Lue: 'Talu',
Newa: 'Newa',
Nko: 'Nkoo',
Nushu: 'Nshu',
Ogham: 'Ogam',
Ol_Chiki: 'Olck',
Old_Hungarian: 'Hung',
Old_Italic: 'Ital',
Old_North_Arabian: 'Narb',
Old_Permic: 'Perm',
Old_Persian: 'Xpeo',
Old_Sogdian: 'Sogo',
Old_South_Arabian: 'Sarb',
Old_Turkic: 'Orkh',
Oriya: 'Orya',
Osage: 'Osge',
Osmanya: 'Osma',
Pahawh_Hmong: 'Hmng',
Palmyrene: 'Palm',
Pau_Cin_Hau: 'Pauc',
Phags_Pa: 'Phag',
Phoenician: 'Phnx',
Psalter_Pahlavi: 'Phlp',
Rejang: 'Rjng',
Runic: 'Runr',
Samaritan: 'Samr',
Saurashtra: 'Saur',
Sharada: 'Shrd',
Shavian: 'Shaw',
Siddham: 'Sidd',
SignWriting: 'Sgnw',
Sinhala: 'Sinh',
Sogdian: 'Sogd',
Sora_Sompeng: 'Sora',
Soyombo: 'Soyo',
Sundanese: 'Sund',
Syloti_Nagri: 'Sylo',
Syriac: 'Syrc',
Tagalog: 'Tglg',
Tagbanwa: 'Tagb',
Tai_Le: 'Tale',
Tai_Tham: 'Lana',
Tai_Viet: 'Tavt',
Takri: 'Takr',
Tamil: 'Taml',
Tangut: 'Tang',
Telugu: 'Telu',
Thaana: 'Thaa',
Thai: 'Thai',
Tibetan: 'Tibt',
Tifinagh: 'Tfng',
Tirhuta: 'Tirh',
Ugaritic: 'Ugar',
Vai: 'Vaii',
Warang_Citi: 'Wara',
Yi: 'Yiii',
Zanabazar_Square: 'Zanb'
};
var SCRIPT_VALUE_ALIASES_TO_VALUE = inverseMap(SCRIPT_VALUE_TO_ALIASES);
function inverseMap(data) {
var inverse = {};
for (var name in data) {
if (!data.hasOwnProperty(name)) {
continue;
}
var value = data[name];
if (Array.isArray(value)) {
for (var i = 0; i < value.length; i++) {
inverse[value[i]] = name;
}
} else {
inverse[value] = name;
}
}
return inverse;
}
function isValidName(name) {
return NON_BINARY_PROP_NAMES_TO_ALIASES.hasOwnProperty(name) || NON_BINARY_ALIASES_TO_PROP_NAMES.hasOwnProperty(name) || BINARY_PROP_NAMES_TO_ALIASES.hasOwnProperty(name) || BINARY_ALIASES_TO_PROP_NAMES.hasOwnProperty(name);
}
function isValidValue(name, value) {
if (isGeneralCategoryName(name)) {
return isGeneralCategoryValue(value);
}
if (isScriptCategoryName(name)) {
return isScriptCategoryValue(value);
}
return false;
}
function isAlias(name) {
return NON_BINARY_ALIASES_TO_PROP_NAMES.hasOwnProperty(name) || BINARY_ALIASES_TO_PROP_NAMES.hasOwnProperty(name);
}
function isGeneralCategoryName(name) {
return name === 'General_Category' || name == 'gc';
}
function isScriptCategoryName(name) {
return name === 'Script' || name === 'Script_Extensions' || name === 'sc' || name === 'scx';
}
function isGeneralCategoryValue(value) {
return GENERAL_CATEGORY_VALUE_TO_ALIASES.hasOwnProperty(value) || GENERAL_CATEGORY_VALUE_ALIASES_TO_VALUES.hasOwnProperty(value);
}
function isScriptCategoryValue(value) {
return SCRIPT_VALUE_TO_ALIASES.hasOwnProperty(value) || SCRIPT_VALUE_ALIASES_TO_VALUE.hasOwnProperty(value);
}
function isBinaryPropertyName(name) {
return BINARY_PROP_NAMES_TO_ALIASES.hasOwnProperty(name) || BINARY_ALIASES_TO_PROP_NAMES.hasOwnProperty(name);
}
function getCanonicalName(name) {
if (NON_BINARY_ALIASES_TO_PROP_NAMES.hasOwnProperty(name)) {
return NON_BINARY_ALIASES_TO_PROP_NAMES[name];
}
if (BINARY_ALIASES_TO_PROP_NAMES.hasOwnProperty(name)) {
return BINARY_ALIASES_TO_PROP_NAMES[name];
}
return null;
}
function getCanonicalValue(value) {
if (GENERAL_CATEGORY_VALUE_ALIASES_TO_VALUES.hasOwnProperty(value)) {
return GENERAL_CATEGORY_VALUE_ALIASES_TO_VALUES[value];
}
if (SCRIPT_VALUE_ALIASES_TO_VALUE.hasOwnProperty(value)) {
return SCRIPT_VALUE_ALIASES_TO_VALUE[value];
}
if (BINARY_ALIASES_TO_PROP_NAMES.hasOwnProperty(value)) {
return BINARY_ALIASES_TO_PROP_NAMES[value];
}
return null;
}
var parserUnicodeProperties = {
isAlias: isAlias,
isValidName: isValidName,
isValidValue: isValidValue,
isGeneralCategoryValue: isGeneralCategoryValue,
isScriptCategoryValue: isScriptCategoryValue,
isBinaryPropertyName: isBinaryPropertyName,
getCanonicalName: getCanonicalName,
getCanonicalValue: getCanonicalValue,
NON_BINARY_PROP_NAMES_TO_ALIASES: NON_BINARY_PROP_NAMES_TO_ALIASES,
NON_BINARY_ALIASES_TO_PROP_NAMES: NON_BINARY_ALIASES_TO_PROP_NAMES,
BINARY_PROP_NAMES_TO_ALIASES: BINARY_PROP_NAMES_TO_ALIASES,
BINARY_ALIASES_TO_PROP_NAMES: BINARY_ALIASES_TO_PROP_NAMES,
GENERAL_CATEGORY_VALUE_TO_ALIASES: GENERAL_CATEGORY_VALUE_TO_ALIASES,
GENERAL_CATEGORY_VALUE_ALIASES_TO_VALUES: GENERAL_CATEGORY_VALUE_ALIASES_TO_VALUES,
SCRIPT_VALUE_TO_ALIASES: SCRIPT_VALUE_TO_ALIASES,
SCRIPT_VALUE_ALIASES_TO_VALUE: SCRIPT_VALUE_ALIASES_TO_VALUE
};
/**
* LR parser generated by the Syntax tool.
*
* https://www.npmjs.com/package/syntax-cli
*
* npm install -g syntax-cli
*
* syntax-cli --help
*
* To regenerate run:
*
* syntax-cli \
* --grammar ~/path-to-grammar-file \
* --mode <parsing-mode> \
* --output ~/path-to-output-parser-file.js
*/
/**
* Matched token text.
*/
var _slicedToArray$2 = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
function _toConsumableArray$8(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
var yytext = void 0;
/**
* Storage object.
*/
var yy = {};
/**
* Result of semantic action.
*/
var __ = void 0;
/**
* Result location object.
*/
var __loc = void 0;
function yyloc(start, end) {
if (!yy.options.captureLocations) {
return null;
}
// Epsilon doesn't produce location.
if (!start || !end) {
return start || end;
}
return {
startOffset: start.startOffset,
endOffset: end.endOffset,
startLine: start.startLine,
endLine: end.endLine,
startColumn: start.startColumn,
endColumn: end.endColumn
};
}
var EOF = '$';
/**
* List of productions (generated by Syntax tool).
*/
var productions = [[-1, 1, function (_1, _1loc) {
__loc = yyloc(_1loc, _1loc);__ = _1;
}], [0, 4, function (_1, _2, _3, _4, _1loc, _2loc, _3loc, _4loc) {
__loc = yyloc(_1loc, _4loc);
__ = Node({
type: 'RegExp',
body: _2,
flags: checkFlags(_4)
}, loc(_1loc, _4loc || _3loc));
}], [1, 1, function (_1, _1loc) {
__loc = yyloc(_1loc, _1loc);__ = _1;
}], [1, 0, function () {
__loc = null;__ = '';
}], [2, 1, function (_1, _1loc) {
__loc = yyloc(_1loc, _1loc);__ = _1;
}], [2, 2, function (_1, _2, _1loc, _2loc) {
__loc = yyloc(_1loc, _2loc);__ = _1 + _2;
}], [3, 1, function (_1, _1loc) {
__loc = yyloc(_1loc, _1loc);__ = _1;
}], [4, 1, function (_1, _1loc) {
__loc = yyloc(_1loc, _1loc);__ = _1;
}], [4, 3, function (_1, _2, _3, _1loc, _2loc, _3loc) {
__loc = yyloc(_1loc, _3loc);
// Location for empty disjunction: /|/
var _loc = null;
if (_2loc) {
_loc = loc(_1loc || _2loc, _3loc || _2loc);
}
__ = Node({
type: 'Disjunction',
left: _1,
right: _3
}, _loc);
}], [5, 1, function (_1, _1loc) {
__loc = yyloc(_1loc, _1loc);
if (_1.length === 0) {
__ = null;
return;
}
if (_1.length === 1) {
__ = Node(_1[0], __loc);
} else {
__ = Node({
type: 'Alternative',
expressions: _1
}, __loc);
}
}], [6, 0, function () {
__loc = null;__ = [];
}], [6, 2, function (_1, _2, _1loc, _2loc) {
__loc = yyloc(_1loc, _2loc);__ = _1.concat(_2);
}], [7, 1, function (_1, _1loc) {
__loc = yyloc(_1loc, _1loc);__ = Node(Object.assign({ type: 'Assertion' }, _1), __loc);
}], [7, 2, function (_1, _2, _1loc, _2loc) {
__loc = yyloc(_1loc, _2loc);
__ = _1;
if (_2) {
__ = Node({
type: 'Repetition',
expression: _1,
quantifier: _2
}, __loc);
}
}], [8, 1, function (_1, _1loc) {
__loc = yyloc(_1loc, _1loc);__ = { kind: '^' };
}], [8, 1, function (_1, _1loc) {
__loc = yyloc(_1loc, _1loc);__ = { kind: '$' };
}], [8, 1, function (_1, _1loc) {
__loc = yyloc(_1loc, _1loc);__ = { kind: '\\b' };
}], [8, 1, function (_1, _1loc) {
__loc = yyloc(_1loc, _1loc);__ = { kind: '\\B' };
}], [8, 3, function (_1, _2, _3, _1loc, _2loc, _3loc) {
__loc = yyloc(_1loc, _3loc);
__ = {
kind: 'Lookahead',
assertion: _2
};
}], [8, 3, function (_1, _2, _3, _1loc, _2loc, _3loc) {
__loc = yyloc(_1loc, _3loc);
__ = {
kind: 'Lookahead',
negative: true,
assertion: _2
};
}], [8, 3, function (_1, _2, _3, _1loc, _2loc, _3loc) {
__loc = yyloc(_1loc, _3loc);
__ = {
kind: 'Lookbehind',
assertion: _2
};
}], [8, 3, function (_1, _2, _3, _1loc, _2loc, _3loc) {
__loc = yyloc(_1loc, _3loc);
__ = {
kind: 'Lookbehind',
negative: true,
assertion: _2
};
}], [9, 1, function (_1, _1loc) {
__loc = yyloc(_1loc, _1loc);__ = _1;
}], [9, 1, function (_1, _1loc) {
__loc = yyloc(_1loc, _1loc);__ = _1;
}], [9, 1, function (_1, _1loc) {
__loc = yyloc(_1loc, _1loc);__ = _1;
}], [10, 1, function (_1, _1loc) {
__loc = yyloc(_1loc, _1loc);__ = Char(_1, 'simple', __loc);
}], [10, 1, function (_1, _1loc) {
__loc = yyloc(_1loc, _1loc);__ = Char(_1.slice(1), 'simple', __loc);__.escaped = true;
}], [10, 1, function (_1, _1loc) {
__loc = yyloc(_1loc, _1loc);__ = Char(_1, 'unicode', __loc);__.isSurrogatePair = true;
}], [10, 1, function (_1, _1loc) {
__loc = yyloc(_1loc, _1loc);__ = Char(_1, 'unicode', __loc);
}], [10, 1, function (_1, _1loc) {
__loc = yyloc(_1loc, _1loc);__ = UnicodeProperty(_1, __loc);
}], [10, 1, function (_1, _1loc) {
__loc = yyloc(_1loc, _1loc);__ = Char(_1, 'control', __loc);
}], [10, 1, function (_1, _1loc) {
__loc = yyloc(_1loc, _1loc);__ = Char(_1, 'hex', __loc);
}], [10, 1, function (_1, _1loc) {
__loc = yyloc(_1loc, _1loc);__ = Char(_1, 'oct', __loc);
}], [10, 1, function (_1, _1loc) {
__loc = yyloc(_1loc, _1loc);__ = GroupRefOrDecChar(_1, __loc);
}], [10, 1, function (_1, _1loc) {
__loc = yyloc(_1loc, _1loc);__ = Char(_1, 'meta', __loc);
}], [10, 1, function (_1, _1loc) {
__loc = yyloc(_1loc, _1loc);__ = Char(_1, 'meta', __loc);
}], [10, 1, function (_1, _1loc) {
__loc = yyloc(_1loc, _1loc);__ = NamedGroupRefOrChars(_1, _1loc);
}], [11, 1, function (_1, _1loc) {
__loc = yyloc(_1loc, _1loc);__ = _1;
}], [11, 0], [12, 1, function (_1, _1loc) {
__loc = yyloc(_1loc, _1loc);__ = _1;
}], [12, 2, function (_1, _2, _1loc, _2loc) {
__loc = yyloc(_1loc, _2loc);
_1.greedy = false;
__ = _1;
}], [13, 1, function (_1, _1loc) {
__loc = yyloc(_1loc, _1loc);
__ = Node({
type: 'Quantifier',
kind: _1,
greedy: true
}, __loc);
}], [13, 1, function (_1, _1loc) {
__loc = yyloc(_1loc, _1loc);
__ = Node({
type: 'Quantifier',
kind: _1,
greedy: true
}, __loc);
}], [13, 1, function (_1, _1loc) {
__loc = yyloc(_1loc, _1loc);
__ = Node({
type: 'Quantifier',
kind: _1,
greedy: true
}, __loc);
}], [13, 1, function (_1, _1loc) {
__loc = yyloc(_1loc, _1loc);
var range = getRange(_1);
__ = Node({
type: 'Quantifier',
kind: 'Range',
from: range[0],
to: range[0],
greedy: true
}, __loc);
}], [13, 1, function (_1, _1loc) {
__loc = yyloc(_1loc, _1loc);
__ = Node({
type: 'Quantifier',
kind: 'Range',
from: getRange(_1)[0],
greedy: true
}, __loc);
}], [13, 1, function (_1, _1loc) {
__loc = yyloc(_1loc, _1loc);
var range = getRange(_1);
__ = Node({
type: 'Quantifier',
kind: 'Range',
from: range[0],
to: range[1],
greedy: true
}, __loc);
}], [14, 1, function (_1, _1loc) {
__loc = yyloc(_1loc, _1loc);__ = _1;
}], [14, 1, function (_1, _1loc) {
__loc = yyloc(_1loc, _1loc);__ = _1;
}], [15, 3, function (_1, _2, _3, _1loc, _2loc, _3loc) {
__loc = yyloc(_1loc, _3loc);
var nameRaw = String(_1);
var name = decodeUnicodeGroupName(nameRaw);
if (!yy.options.allowGroupNameDuplicates && namedGroups.hasOwnProperty(name)) {
throw new SyntaxError('Duplicate of the named group "' + name + '".');
}
namedGroups[name] = _1.groupNumber;
__ = Node({
type: 'Group',
capturing: true,
name: name,
nameRaw: nameRaw,
number: _1.groupNumber,
expression: _2
}, __loc);
}], [15, 3, function (_1, _2, _3, _1loc, _2loc, _3loc) {
__loc = yyloc(_1loc, _3loc);
__ = Node({
type: 'Group',
capturing: true,
number: _1.groupNumber,
expression: _2
}, __loc);
}], [16, 3, function (_1, _2, _3, _1loc, _2loc, _3loc) {
__loc = yyloc(_1loc, _3loc);
__ = Node({
type: 'Group',
capturing: false,
expression: _2
}, __loc);
}], [17, 3, function (_1, _2, _3, _1loc, _2loc, _3loc) {
__loc = yyloc(_1loc, _3loc);
__ = Node({
type: 'CharacterClass',
negative: true,
expressions: _2
}, __loc);
}], [17, 3, function (_1, _2, _3, _1loc, _2loc, _3loc) {
__loc = yyloc(_1loc, _3loc);
__ = Node({
type: 'CharacterClass',
expressions: _2
}, __loc);
}], [18, 0, function () {
__loc = null;__ = [];
}], [18, 1, function (_1, _1loc) {
__loc = yyloc(_1loc, _1loc);__ = _1;
}], [19, 1, function (_1, _1loc) {
__loc = yyloc(_1loc, _1loc);__ = [_1];
}], [19, 2, function (_1, _2, _1loc, _2loc) {
__loc = yyloc(_1loc, _2loc);__ = [_1].concat(_2);
}], [19, 4, function (_1, _2, _3, _4, _1loc, _2loc, _3loc, _4loc) {
__loc = yyloc(_1loc, _4loc);
checkClassRange(_1, _3);
__ = [Node({
type: 'ClassRange',
from: _1,
to: _3
}, loc(_1loc, _3loc))];
if (_4) {
__ = __.concat(_4);
}
}], [20, 1, function (_1, _1loc) {
__loc = yyloc(_1loc, _1loc);__ = _1;
}], [20, 2, function (_1, _2, _1loc, _2loc) {
__loc = yyloc(_1loc, _2loc);__ = [_1].concat(_2);
}], [20, 4, function (_1, _2, _3, _4, _1loc, _2loc, _3loc, _4loc) {
__loc = yyloc(_1loc, _4loc);
checkClassRange(_1, _3);
__ = [Node({
type: 'ClassRange',
from: _1,
to: _3
}, loc(_1loc, _3loc))];
if (_4) {
__ = __.concat(_4);
}
}], [21, 1, function (_1, _1loc) {
__loc = yyloc(_1loc, _1loc);__ = Char(_1, 'simple', __loc);
}], [21, 1, function (_1, _1loc) {
__loc = yyloc(_1loc, _1loc);__ = _1;
}], [22, 1, function (_1, _1loc) {
__loc = yyloc(_1loc, _1loc);__ = _1;
}], [22, 1, function (_1, _1loc) {
__loc = yyloc(_1loc, _1loc);__ = Char(_1, 'meta', __loc);
}]];
/**
* Encoded tokens map.
*/
var tokens = { "SLASH": "23", "CHAR": "24", "BAR": "25", "BOS": "26", "EOS": "27", "ESC_b": "28", "ESC_B": "29", "POS_LA_ASSERT": "30", "R_PAREN": "31", "NEG_LA_ASSERT": "32", "POS_LB_ASSERT": "33", "NEG_LB_ASSERT": "34", "ESC_CHAR": "35", "U_CODE_SURROGATE": "36", "U_CODE": "37", "U_PROP_VALUE_EXP": "38", "CTRL_CH": "39", "HEX_CODE": "40", "OCT_CODE": "41", "DEC_CODE": "42", "META_CHAR": "43", "ANY": "44", "NAMED_GROUP_REF": "45", "Q_MARK": "46", "STAR": "47", "PLUS": "48", "RANGE_EXACT": "49", "RANGE_OPEN": "50", "RANGE_CLOSED": "51", "NAMED_CAPTURE_GROUP": "52", "L_PAREN": "53", "NON_CAPTURE_GROUP": "54", "NEG_CLASS": "55", "R_BRACKET": "56", "L_BRACKET": "57", "DASH": "58", "$": "59" };
/**
* Parsing table (generated by Syntax tool).
*/
var table = [{ "0": 1, "23": "s2" }, { "59": "acc" }, { "3": 3, "4": 4, "5": 5, "6": 6, "23": "r10", "24": "r10", "25": "r10", "26": "r10", "27": "r10", "28": "r10", "29": "r10", "30": "r10", "32": "r10", "33": "r10", "34": "r10", "35": "r10", "36": "r10", "37": "r10", "38": "r10", "39": "r10", "40": "r10", "41": "r10", "42": "r10", "43": "r10", "44": "r10", "45": "r10", "52": "r10", "53": "r10", "54": "r10", "55": "r10", "57": "r10" }, { "23": "s7" }, { "23": "r6", "25": "s12" }, { "23": "r7", "25": "r7", "31": "r7" }, { "7": 14, "8": 15, "9": 16, "10": 25, "14": 27, "15": 42, "16": 43, "17": 26, "23": "r9", "24": "s28", "25": "r9", "26": "s17", "27": "s18", "28": "s19", "29": "s20", "30": "s21", "31": "r9", "32": "s22", "33": "s23", "34": "s24", "35": "s29", "36": "s30", "37": "s31", "38": "s32", "39": "s33", "40": "s34", "41": "s35", "42": "s36", "43": "s37", "44": "s38", "45": "s39", "52": "s44", "53": "s45", "54": "s46", "55": "s40", "57": "s41" }, { "1": 8, "2": 9, "24": "s10", "59": "r3" }, { "59": "r1" }, { "24": "s11", "59": "r2" }, { "24": "r4", "59": "r4" }, { "24": "r5", "59": "r5" }, { "5": 13, "6": 6, "23": "r10", "24": "r10", "25": "r10", "26": "r10", "27": "r10", "28": "r10", "29": "r10", "30": "r10", "31": "r10", "32": "r10", "33": "r10", "34": "r10", "35": "r10", "36": "r10", "37": "r10", "38": "r10", "39": "r10", "40": "r10", "41": "r10", "42": "r10", "43": "r10", "44": "r10", "45": "r10", "52": "r10", "53": "r10", "54": "r10", "55": "r10", "57": "r10" }, { "23": "r8", "25": "r8", "31": "r8" }, { "23": "r11", "24": "r11", "25": "r11", "26": "r11", "27": "r11", "28": "r11", "29": "r11", "30": "r11", "31": "r11", "32": "r11", "33": "r11", "34": "r11", "35": "r11", "36": "r11", "37": "r11", "38": "r11", "39": "r11", "40": "r11", "41": "r11", "42": "r11", "43": "r11", "44": "r11", "45": "r11", "52": "r11", "53": "r11", "54": "r11", "55": "r11", "57": "r11" }, { "23": "r12", "24": "r12", "25": "r12", "26": "r12", "27": "r12", "28": "r12", "29": "r12", "30": "r12", "31": "r12", "32": "r12", "33": "r12", "34": "r12", "35": "r12", "36": "r12", "37": "r12", "38": "r12", "39": "r12", "40": "r12", "41": "r12", "42": "r12", "43": "r12", "44": "r12", "45": "r12", "52": "r12", "53": "r12", "54": "r12", "55": "r12", "57": "r12" }, { "11": 47, "12": 48, "13": 49, "23": "r38", "24": "r38", "25": "r38", "26": "r38", "27": "r38", "28": "r38", "29": "r38", "30": "r38", "31": "r38", "32": "r38", "33": "r38", "34": "r38", "35": "r38", "36": "r38", "37": "r38", "38": "r38", "39": "r38", "40": "r38", "41": "r38", "42": "r38", "43": "r38", "44": "r38", "45": "r38", "46": "s52", "47": "s50", "48": "s51", "49": "s53", "50": "s54", "51": "s55", "52": "r38", "53": "r38", "54": "r38", "55": "r38", "57": "r38" }, { "23": "r14", "24": "r14", "25": "r14", "26": "r14", "27": "r14", "28": "r14", "29": "r14", "30": "r14", "31": "r14", "32": "r14", "33": "r14", "34": "r14", "35": "r14", "36": "r14", "37": "r14", "38": "r14", "39": "r14", "40": "r14", "41": "r14", "42": "r14", "43": "r14", "44": "r14", "45": "r14", "52": "r14", "53": "r14", "54": "r14", "55": "r14", "57": "r14" }, { "23": "r15", "24": "r15", "25": "r15", "26": "r15", "27": "r15", "28": "r15", "29": "r15", "30": "r15", "31": "r15", "32": "r15", "33": "r15", "34": "r15", "35": "r15", "36": "r15", "37": "r15", "38": "r15", "39": "r15", "40": "r15", "41": "r15", "42": "r15", "43": "r15", "44": "r15", "45": "r15", "52": "r15", "53": "r15", "54": "r15", "55": "r15", "57": "r15" }, { "23": "r16", "24": "r16", "25": "r16", "26": "r16", "27": "r16", "28": "r16", "29": "r16", "30": "r16", "31": "r16", "32": "r16", "33": "r16", "34": "r16", "35": "r16", "36": "r16", "37": "r16", "38": "r16", "39": "r16", "40": "r16", "41": "r16", "42": "r16", "43": "r16", "44": "r16", "45": "r16", "52": "r16", "53": "r16", "54": "r16", "55": "r16", "57": "r16" }, { "23": "r17", "24": "r17", "25": "r17", "26": "r17", "27": "r17", "28": "r17", "29": "r17", "30": "r17", "31": "r17", "32": "r17", "33": "r17", "34": "r17", "35": "r17", "36": "r17", "37": "r17", "38": "r17", "39": "r17", "40": "r17", "41": "r17", "42": "r17", "43": "r17", "44": "r17", "45": "r17", "52": "r17", "53": "r17", "54": "r17", "55": "r17", "57": "r17" }, { "4": 57, "5": 5, "6": 6, "24": "r10", "25": "r10", "26": "r10", "27": "r10", "28": "r10", "29": "r10", "30": "r10", "31": "r10", "32": "r10", "33": "r10", "34": "r10", "35": "r10", "36": "r10", "37": "r10", "38": "r10", "39": "r10", "40": "r10", "41": "r10", "42": "r10", "43": "r10", "44": "r10", "45": "r10", "52": "r10", "53": "r10", "54": "r10", "55": "r10", "57": "r10" }, { "4": 59, "5": 5, "6": 6, "24": "r10", "25": "r10", "26": "r10", "27": "r10", "28": "r10", "29": "r10", "30": "r10", "31": "r10", "32": "r10", "33": "r10", "34": "r10", "35": "r10", "36": "r10", "37": "r10", "38": "r10", "39": "r10", "40": "r10", "41": "r10", "42": "r10", "43": "r10", "44": "r10", "45": "r10", "52": "r10", "53": "r10", "54": "r10", "55": "r10", "57": "r10" }, { "4": 61, "5": 5, "6": 6, "24": "r10", "25": "r10", "26": "r10", "27": "r10", "28": "r10", "29": "r10", "30": "r10", "31": "r10", "32": "r10", "33": "r10", "34": "r10", "35": "r10", "36": "r10", "37": "r10", "38": "r10", "39": "r10", "40": "r10", "41": "r10", "42": "r10", "43": "r10", "44": "r10", "45": "r10", "52": "r10", "53": "r10", "54": "r10", "55": "r10", "57": "r10" }, { "4": 63, "5": 5, "6": 6, "24": "r10", "25": "r10", "26": "r10", "27": "r10", "28": "r10", "29": "r10", "30": "r10", "31": "r10", "32": "r10", "33": "r10", "34": "r10", "35": "r10", "36": "r10", "37": "r10", "38": "r10", "39": "r10", "40": "r10", "41": "r10", "42": "r10", "43": "r10", "44": "r10", "45": "r10", "52": "r10", "53": "r10", "54": "r10", "55": "r10", "57": "r10" }, { "23": "r22", "24": "r22", "25": "r22", "26": "r22", "27": "r22", "28": "r22", "29": "r22", "30": "r22", "31": "r22", "32": "r22", "33": "r22", "34": "r22", "35": "r22", "36": "r22", "37": "r22", "38": "r22", "39": "r22", "40": "r22", "41": "r22", "42": "r22", "43": "r22", "44": "r22", "45": "r22", "46": "r22", "47": "r22", "48": "r22", "49": "r22", "50": "r22", "51": "r22", "52": "r22", "53": "r22", "54": "r22", "55": "r22", "57": "r22" }, { "23": "r23", "24": "r23", "25": "r23", "26": "r23", "27": "r23", "28": "r23", "29": "r23", "30": "r23", "31": "r23", "32": "r23", "33": "r23", "34": "r23", "35": "r23", "36": "r23", "37": "r23", "38": "r23", "39": "r23", "40": "r23", "41": "r23", "42": "r23", "43": "r23", "44": "r23", "45": "r23", "46": "r23", "47": "r23", "48": "r23", "49": "r23", "50": "r23", "51": "r23", "52": "r23", "53": "r23", "54": "r23", "55": "r23", "57": "r23" }, { "23": "r24", "24": "r24", "25": "r24", "26": "r24", "27": "r24", "28": "r24", "29": "r24", "30": "r24", "31": "r24", "32": "r24", "33": "r24", "34": "r24", "35": "r24", "36": "r24", "37": "r24", "38": "r24", "39": "r24", "40": "r24", "41": "r24", "42": "r24", "43": "r24", "44": "r24", "45": "r24", "46": "r24", "47": "r24", "48": "r24", "49": "r24", "50": "r24", "51": "r24", "52": "r24", "53": "r24", "54": "r24", "55": "r24", "57": "r24" }, { "23": "r25", "24": "r25", "25": "r25", "26": "r25", "27": "r25", "28": "r25", "29": "r25", "30": "r25", "31": "r25", "32": "r25", "33": "r25", "34": "r25", "35": "r25", "36": "r25", "37": "r25", "38": "r25", "39": "r25", "40": "r25", "41": "r25", "42": "r25", "43": "r25", "44": "r25", "45": "r25", "46": "r25", "47": "r25", "48": "r25", "49": "r25", "50": "r25", "51": "r25", "52": "r25", "53": "r25", "54": "r25", "55": "r25", "56": "r25", "57": "r25", "58": "r25" }, { "23": "r26", "24": "r26", "25": "r26", "26": "r26", "27": "r26", "28": "r26", "29": "r26", "30": "r26", "31": "r26", "32": "r26", "33": "r26", "34": "r26", "35": "r26", "36": "r26", "37": "r26", "38": "r26", "39": "r26", "40": "r26", "41": "r26", "42": "r26", "43": "r26", "44": "r26", "45": "r26", "46": "r26", "47": "r26", "48": "r26", "49": "r26", "50": "r26", "51": "r26", "52": "r26", "53": "r26", "54": "r26", "55": "r26", "56": "r26", "57": "r26", "58": "r26" }, { "23": "r27", "24": "r27", "25": "r27", "26": "r27", "27": "r27", "28": "r27", "29": "r27", "30": "r27", "31": "r27", "32": "r27", "33": "r27", "34": "r27", "35": "r27", "36": "r27", "37": "r27", "38": "r27", "39": "r27", "40": "r27", "41": "r27", "42": "r27", "43": "r27", "44": "r27", "45": "r27", "46": "r27", "47": "r27", "48": "r27", "49": "r27", "50": "r27", "51": "r27", "52": "r27", "53": "r27", "54": "r27", "55": "r27", "56": "r27", "57": "r27", "58": "r27" }, { "23": "r28", "24": "r28", "25": "r28", "26": "r28", "27": "r28", "28": "r28", "29": "r28", "30": "r28", "31": "r28", "32": "r28", "33": "r28", "34": "r28", "35": "r28", "36": "r28", "37": "r28", "38": "r28", "39": "r28", "40": "r28", "41": "r28", "42": "r28", "43": "r28", "44": "r28", "45": "r28", "46": "r28", "47": "r28", "48": "r28", "49": "r28", "50": "r28", "51": "r28", "52": "r28", "53": "r28", "54": "r28", "55": "r28", "56": "r28", "57": "r28", "58": "r28" }, { "23": "r29", "24": "r29", "25": "r29", "26": "r29", "27": "r29", "28": "r29", "29": "r29", "30": "r29", "31": "r29", "32": "r29", "33": "r29", "34": "r29", "35": "r29", "36": "r29", "37": "r29", "38": "r29", "39": "r29", "40": "r29", "41": "r29", "42": "r29", "43": "r29", "44": "r29", "45": "r29", "46": "r29", "47": "r29", "48": "r29", "49": "r29", "50": "r29", "51": "r29", "52": "r29", "53": "r29", "54": "r29", "55": "r29", "56": "r29", "57": "r29", "58": "r29" }, { "23": "r30", "24": "r30", "25": "r30", "26": "r30", "27": "r30", "28": "r30", "29": "r30", "30": "r30", "31": "r30", "32": "r30", "33": "r30", "34": "r30", "35": "r30", "36": "r30", "37": "r30", "38": "r30", "39": "r30", "40": "r30", "41": "r30", "42": "r30", "43": "r30", "44": "r30", "45": "r30", "46": "r30", "47": "r30", "48": "r30", "49": "r30", "50": "r30", "51": "r30", "52": "r30", "53": "r30", "54": "r30", "55": "r30", "56": "r30", "57": "r30", "58": "r30" }, { "23": "r31", "24": "r31", "25": "r31", "26": "r31", "27": "r31", "28": "r31", "29": "r31", "30": "r31", "31": "r31", "32": "r31", "33": "r31", "34": "r31", "35": "r31", "36": "r31", "37": "r31", "38": "r31", "39": "r31", "40": "r31", "41": "r31", "42": "r31", "43": "r31", "44": "r31", "45": "r31", "46": "r31", "47": "r31", "48": "r31", "49": "r31", "50": "r31", "51": "r31", "52": "r31", "53": "r31", "54": "r31", "55": "r31", "56": "r31", "57": "r31", "58": "r31" }, { "23": "r32", "24": "r32", "25": "r32", "26": "r32", "27": "r32", "28": "r32", "29": "r32", "30": "r32", "31": "r32", "32": "r32", "33": "r32", "34": "r32", "35": "r32", "36": "r32", "37": "r32", "38": "r32", "39": "r32", "40": "r32", "41": "r32", "42": "r32", "43": "r32", "44": "r32", "45": "r32", "46": "r32", "47": "r32", "48": "r32", "49": "r32", "50": "r32", "51": "r32", "52": "r32", "53": "r32", "54": "r32", "55": "r32", "56": "r32", "57": "r32", "58": "r32" }, { "23": "r33", "24": "r33", "25": "r33", "26": "r33", "27": "r33", "28": "r33", "29": "r33", "30": "r33", "31": "r33", "32": "r33", "33": "r33", "34": "r33", "35": "r33", "36": "r33", "37": "r33", "38": "r33", "39": "r33", "40": "r33", "41": "r33", "42": "r33", "43": "r33", "44": "r33", "45": "r33", "46": "r33", "47": "r33", "48": "r33", "49": "r33", "50": "r33", "51": "r33", "52": "r33", "53": "r33", "54": "r33", "55": "r33", "56": "r33", "57": "r33", "58": "r33" }, { "23": "r34", "24": "r34", "25": "r34", "26": "r34", "27": "r34", "28": "r34", "29": "r34", "30": "r34", "31": "r34", "32": "r34", "33": "r34", "34": "r34", "35": "r34", "36": "r34", "37": "r34", "38": "r34", "39": "r34", "40": "r34", "41": "r34", "42": "r34", "43": "r34", "44": "r34", "45": "r34", "46": "r34", "47": "r34", "48": "r34", "49": "r34", "50": "r34", "51": "r34", "52": "r34", "53": "r34", "54": "r34", "55": "r34", "56": "r34", "57": "r34", "58": "r34" }, { "23": "r35", "24": "r35", "25": "r35", "26": "r35", "27": "r35", "28": "r35", "29": "r35", "30": "r35", "31": "r35", "32": "r35", "33": "r35", "34": "r35", "35": "r35", "36": "r35", "37": "r35", "38": "r35", "39": "r35", "40": "r35", "41": "r35", "42": "r35", "43": "r35", "44": "r35", "45": "r35", "46": "r35", "47": "r35", "48": "r35", "49": "r35", "50": "r35", "51": "r35", "52": "r35", "53": "r35", "54": "r35", "55": "r35", "56": "r35", "57": "r35", "58": "r35" }, { "23": "r36", "24": "r36", "25": "r36", "26": "r36", "27": "r36", "28": "r36", "29": "r36", "30": "r36", "31": "r36", "32": "r36", "33": "r36", "34": "r36", "35": "r36", "36": "r36", "37": "r36", "38": "r36", "39": "r36", "40": "r36", "41": "r36", "42": "r36", "43": "r36", "44": "r36", "45": "r36", "46": "r36", "47": "r36", "48": "r36", "49": "r36", "50": "r36", "51": "r36", "52": "r36", "53": "r36", "54": "r36", "55": "r36", "56": "r36", "57": "r36", "58": "r36" }, { "10": 70, "18": 65, "19": 66, "21": 67, "22": 69, "24": "s28", "28": "s71", "35": "s29", "36": "s30", "37": "s31", "38": "s32", "39": "s33", "40": "s34", "41": "s35", "42": "s36", "43": "s37", "44": "s38", "45": "s39", "56": "r54", "58": "s68" }, { "10": 70, "18": 83, "19": 66, "21": 67, "22": 69, "24": "s28", "28": "s71", "35": "s29", "36": "s30", "37": "s31", "38": "s32", "39": "s33", "40": "s34", "41": "s35", "42": "s36", "43": "s37", "44": "s38", "45": "s39", "56": "r54", "58": "s68" }, { "23": "r47", "24": "r47", "25": "r47", "26": "r47", "27": "r47", "28": "r47", "29": "r47", "30": "r47", "31": "r47", "32": "r47", "33": "r47", "34": "r47", "35": "r47", "36": "r47", "37": "r47", "38": "r47", "39": "r47", "40": "r47", "41": "r47", "42": "r47", "43": "r47", "44": "r47", "45": "r47", "46": "r47", "47": "r47", "48": "r47", "49": "r47", "50": "r47", "51": "r47", "52": "r47", "53": "r47", "54": "r47", "55": "r47", "57": "r47" }, { "23": "r48", "24": "r48", "25": "r48", "26": "r48", "27": "r48", "28": "r48", "29": "r48", "30": "r48", "31": "r48", "32": "r48", "33": "r48", "34": "r48", "35": "r48", "36": "r48", "37": "r48", "38": "r48", "39": "r48", "40": "r48", "41": "r48", "42": "r48", "43": "r48", "44": "r48", "45": "r48", "46": "r48", "47": "r48", "48": "r48", "49": "r48", "50": "r48", "51": "r48", "52": "r48", "53": "r48", "54": "r48", "55": "r48", "57": "r48" }, { "4": 85, "5": 5, "6": 6, "24": "r10", "25": "r10", "26": "r10", "27": "r10", "28": "r10", "29": "r10", "30": "r10", "31": "r10", "32": "r10", "33": "r10", "34": "r10", "35": "r10", "36": "r10", "37": "r10", "38": "r10", "39": "r10", "40": "r10", "41": "r10", "42": "r10", "43": "r10", "44": "r10", "45": "r10", "52": "r10", "53": "r10", "54": "r10", "55": "r10", "57": "r10" }, { "4": 87, "5": 5, "6": 6, "24": "r10", "25": "r10", "26": "r10", "27": "r10", "28": "r10", "29": "r10", "30": "r10", "31": "r10", "32": "r10", "33": "r10", "34": "r10", "35": "r10", "36": "r10", "37": "r10", "38": "r10", "39": "r10", "40": "r10", "41": "r10", "42": "r10", "43": "r10", "44": "r10", "45": "r10", "52": "r10", "53": "r10", "54": "r10", "55": "r10", "57": "r10" }, { "4": 89, "5": 5, "6": 6, "24": "r10", "25": "r10", "26": "r10", "27": "r10", "28": "r10", "29": "r10", "30": "r10", "31": "r10", "32": "r10", "33": "r10", "34": "r10", "35": "r10", "36": "r10", "37": "r10", "38": "r10", "39": "r10", "40": "r10", "41": "r10", "42": "r10", "43": "r10", "44": "r10", "45": "r10", "52": "r10", "53": "r10", "54": "r10", "55": "r10", "57": "r10" }, { "23": "r13", "24": "r13", "25": "r13", "26": "r13", "27": "r13", "28": "r13", "29": "r13", "30": "r13", "31": "r13", "32": "r13", "33": "r13", "34": "r13", "35": "r13", "36": "r13", "37": "r13", "38": "r13", "39": "r13", "40": "r13", "41": "r13", "42": "r13", "43": "r13", "44": "r13", "45": "r13", "52": "r13", "53": "r13", "54": "r13", "55": "r13", "57": "r13" }, { "23": "r37", "24": "r37", "25": "r37", "26": "r37", "27": "r37", "28": "r37", "29": "r37", "30": "r37", "31": "r37", "32": "r37", "33": "r37", "34": "r37", "35": "r37", "36": "r37", "37": "r37", "38": "r37", "39": "r37", "40": "r37", "41": "r37", "42": "r37", "43": "r37", "44": "r37", "45": "r37", "52": "r37", "53": "r37", "54": "r37", "55": "r37", "57": "r37" }, { "23": "r39", "24": "r39", "25": "r39", "26": "r39", "27": "r39", "28": "r39", "29": "r39", "30": "r39", "31": "r39", "32": "r39", "33": "r39", "34": "r39", "35": "r39", "36": "r39", "37": "r39", "38": "r39", "39": "r39", "40": "r39", "41": "r39", "42": "r39", "43": "r39", "44": "r39", "45": "r39", "46": "s56", "52": "r39", "53": "r39", "54": "r39", "55": "r39", "57": "r39" }, { "23": "r41", "24": "r41", "25": "r41", "26": "r41", "27": "r41", "28": "r41", "29": "r41", "30": "r41", "31": "r41", "32": "r41", "33": "r41", "34": "r41", "35": "r41", "36": "r41", "37": "r41", "38": "r41", "39": "r41", "40": "r41", "41": "r41", "42": "r41", "43": "r41", "44": "r41", "45": "r41", "46": "r41", "52": "r41", "53": "r41", "54": "r41", "55": "r41", "57": "r41" }, { "23": "r42", "24": "r42", "25": "r42", "26": "r42", "27": "r42", "28": "r42", "29": "r42", "30": "r42", "31": "r42", "32": "r42", "33": "r42", "34": "r42", "35": "r42", "36": "r42", "37": "r42", "38": "r42", "39": "r42", "40": "r42", "41": "r42", "42": "r42", "43": "r42", "44": "r42", "45": "r42", "46": "r42", "52": "r42", "53": "r42", "54": "r42", "55": "r42", "57": "r42" }, { "23": "r43", "24": "r43", "25": "r43", "26": "r43", "27": "r43", "28": "r43", "29": "r43", "30": "r43", "31": "r43", "32": "r43", "33": "r43", "34": "r43", "35": "r43", "36": "r43", "37": "r43", "38": "r43", "39": "r43", "40": "r43", "41": "r43", "42": "r43", "43": "r43", "44": "r43", "45": "r43", "46": "r43", "52": "r43", "53": "r43", "54": "r43", "55": "r43", "57": "r43" }, { "23": "r44", "24": "r44", "25": "r44", "26": "r44", "27": "r44", "28": "r44", "29": "r44", "30": "r44", "31": "r44", "32": "r44", "33": "r44", "34": "r44", "35": "r44", "36": "r44", "37": "r44", "38": "r44", "39": "r44", "40": "r44", "41": "r44", "42": "r44", "43": "r44", "44": "r44", "45": "r44", "46": "r44", "52": "r44", "53": "r44", "54": "r44", "55": "r44", "57": "r44" }, { "23": "r45", "24": "r45", "25": "r45", "26": "r45", "27": "r45", "28": "r45", "29": "r45", "30": "r45", "31": "r45", "32": "r45", "33": "r45", "34": "r45", "35": "r45", "36": "r45", "37": "r45", "38": "r45", "39": "r45", "40": "r45", "41": "r45", "42": "r45", "43": "r45", "44": "r45", "45": "r45", "46": "r45", "52": "r45", "53": "r45", "54": "r45", "55": "r45", "57": "r45" }, { "23": "r46", "24": "r46", "25": "r46", "26": "r46", "27": "r46", "28": "r46", "29": "r46", "30": "r46", "31": "r46", "32": "r46", "33": "r46", "34": "r46", "35": "r46", "36": "r46", "37": "r46", "38": "r46", "39": "r46", "40": "r46", "41": "r46", "42": "r46", "43": "r46", "44": "r46", "45": "r46", "46": "r46", "52": "r46", "53": "r46", "54": "r46", "55": "r46", "57": "r46" }, { "23": "r40", "24": "r40", "25": "r40", "26": "r40", "27": "r40", "28": "r40", "29": "r40", "30": "r40", "31": "r40", "32": "r40", "33": "r40", "34": "r40", "35": "r40", "36": "r40", "37": "r40", "38": "r40", "39": "r40", "40": "r40", "41": "r40", "42": "r40", "43": "r40", "44": "r40", "45": "r40", "52": "r40", "53": "r40", "54": "r40", "55": "r40", "57": "r40" }, { "25": "s12", "31": "s58" }, { "23": "r18", "24": "r18", "25": "r18", "26": "r18", "27": "r18", "28": "r18", "29": "r18", "30": "r18", "31": "r18", "32": "r18", "33": "r18", "34": "r18", "35": "r18", "36": "r18", "37": "r18", "38": "r18", "39": "r18", "40": "r18", "41": "r18", "42": "r18", "43": "r18", "44": "r18", "45": "r18", "52": "r18", "53": "r18", "54": "r18", "55": "r18", "57": "r18" }, { "25": "s12", "31": "s60" }, { "23": "r19", "24": "r19", "25": "r19", "26": "r19", "27": "r19", "28": "r19", "29": "r19", "30": "r19", "31": "r19", "32": "r19", "33": "r19", "34": "r19", "35": "r19", "36": "r19", "37": "r19", "38": "r19", "39": "r19", "40": "r19", "41": "r19", "42": "r19", "43": "r19", "44": "r19", "45": "r19", "52": "r19", "53": "r19", "54": "r19", "55": "r19", "57": "r19" }, { "25": "s12", "31": "s62" }, { "23": "r20", "24": "r20", "25": "r20", "26": "r20", "27": "r20", "28": "r20", "29": "r20", "30": "r20", "31": "r20", "32": "r20", "33": "r20", "34": "r20", "35": "r20", "36": "r20", "37": "r20", "38": "r20", "39": "r20", "40": "r20", "41": "r20", "42": "r20", "43": "r20", "44": "r20", "45": "r20", "52": "r20", "53": "r20", "54": "r20", "55": "r20", "57": "r20" }, { "25": "s12", "31": "s64" }, { "23": "r21", "24": "r21", "25": "r21", "26": "r21", "27": "r21", "28": "r21", "29": "r21", "30": "r21", "31": "r21", "32": "r21", "33": "r21", "34": "r21", "35": "r21", "36": "r21", "37": "r21", "38": "r21", "39": "r21", "40": "r21", "41": "r21", "42": "r21", "43": "r21", "44": "r21", "45": "r21", "52": "r21", "53": "r21", "54": "r21", "55": "r21", "57": "r21" }, { "56": "s72" }, { "56": "r55" }, { "10": 70, "20": 73, "21": 75, "22": 76, "24": "s28", "28": "s71", "35": "s29", "36": "s30", "37": "s31", "38": "s32", "39": "s33", "40": "s34", "41": "s35", "42": "s36", "43": "s37", "44": "s38", "45": "s39", "56": "r56", "58": "s74" }, { "24": "r62", "28": "r62", "35": "r62", "36": "r62", "37": "r62", "38": "r62", "39": "r62", "40": "r62", "41": "r62", "42": "r62", "43": "r62", "44": "r62", "45": "r62", "56": "r62", "58": "r62" }, { "24": "r63", "28": "r63", "35": "r63", "36": "r63", "37": "r63", "38": "r63", "39": "r63", "40": "r63", "41": "r63", "42": "r63", "43": "r63", "44": "r63", "45": "r63", "56": "r63", "58": "r63" }, { "24": "r64", "28": "r64", "35": "r64", "36": "r64", "37": "r64", "38": "r64", "39": "r64", "40": "r64", "41": "r64", "42": "r64", "43": "r64", "44": "r64", "45": "r64", "56": "r64", "58": "r64" }, { "24": "r65", "28": "r65", "35": "r65", "36": "r65", "37": "r65", "38": "r65", "39": "r65", "40": "r65", "41": "r65", "42": "r65", "43": "r65", "44": "r65", "45": "r65", "56": "r65", "58": "r65" }, { "23": "r52", "24": "r52", "25": "r52", "26": "r52", "27": "r52", "28": "r52", "29": "r52", "30": "r52", "31": "r52", "32": "r52", "33": "r52", "34": "r52", "35": "r52", "36": "r52", "37": "r52", "38": "r52", "39": "r52", "40": "r52", "41": "r52", "42": "r52", "43": "r52", "44": "r52", "45": "r52", "46": "r52", "47": "r52", "48": "r52", "49": "r52", "50": "r52", "51": "r52", "52": "r52", "53": "r52", "54": "r52", "55": "r52", "57": "r52" }, { "56": "r57" }, { "10": 70, "21": 77, "22": 69, "24": "s28", "28": "s71", "35": "s29", "36": "s30", "37": "s31", "38": "s32", "39": "s33", "40": "s34", "41": "s35", "42": "s36", "43": "s37", "44": "s38", "45": "s39", "56": "r62", "58": "s68" }, { "56": "r59" }, { "10": 70, "20": 79, "21": 75, "22": 76, "24": "s28", "28": "s71", "35": "s29", "36": "s30", "37": "s31", "38": "s32", "39": "s33", "40": "s34", "41": "s35", "42": "s36", "43": "s37", "44": "s38", "45": "s39", "56": "r63", "58": "s80" }, { "10": 70, "18": 78, "19": 66, "21": 67, "22": 69, "24": "s28", "28": "s71", "35": "s29", "36": "s30", "37": "s31", "38": "s32", "39": "s33", "40": "s34", "41": "s35", "42": "s36", "43": "s37", "44": "s38", "45": "s39", "56": "r54", "58": "s68" }, { "56": "r58" }, { "56": "r60" }, { "10": 70, "21": 81, "22": 69, "24": "s28", "28": "s71", "35": "s29", "36": "s30", "37": "s31", "38": "s32", "39": "s33", "40": "s34", "41": "s35", "42": "s36", "43": "s37", "44": "s38", "45": "s39", "56": "r62", "58": "s68" }, { "10": 70, "18": 82, "19": 66, "21": 67, "22": 69, "24": "s28", "28": "s71", "35": "s29", "36": "s30", "37": "s31", "38": "s32", "39": "s33", "40": "s34", "41": "s35", "42": "s36", "43": "s37", "44": "s38", "45": "s39", "56": "r54", "58": "s68" }, { "56": "r61" }, { "56": "s84" }, { "23": "r53", "24": "r53", "25": "r53", "26": "r53", "27": "r53", "28": "r53", "29": "r53", "30": "r53", "31": "r53", "32": "r53", "33": "r53", "34": "r53", "35": "r53", "36": "r53", "37": "r53", "38": "r53", "39": "r53", "40": "r53", "41": "r53", "42": "r53", "43": "r53", "44": "r53", "45": "r53", "46": "r53", "47": "r53", "48": "r53", "49": "r53", "50": "r53", "51": "r53", "52": "r53", "53": "r53", "54": "r53", "55": "r53", "57": "r53" }, { "25": "s12", "31": "s86" }, { "23": "r49", "24": "r49", "25": "r49", "26": "r49", "27": "r49", "28": "r49", "29": "r49", "30": "r49", "31": "r49", "32": "r49", "33": "r49", "34": "r49", "35": "r49", "36": "r49", "37": "r49", "38": "r49", "39": "r49", "40": "r49", "41": "r49", "42": "r49", "43": "r49", "44": "r49", "45": "r49", "46": "r49", "47": "r49", "48": "r49", "49": "r49", "50": "r49", "51": "r49", "52": "r49", "53": "r49", "54": "r49", "55": "r49", "57": "r49" }, { "25": "s12", "31": "s88" }, { "23": "r50", "24": "r50", "25": "r50", "26": "r50", "27": "r50", "28": "r50", "29": "r50", "30": "r50", "31": "r50", "32": "r50", "33": "r50", "34": "r50", "35": "r50", "36": "r50", "37": "r50", "38": "r50", "39": "r50", "40": "r50", "41": "r50", "42": "r50", "43": "r50", "44": "r50", "45": "r50", "46": "r50", "47": "r50", "48": "r50", "49": "r50", "50": "r50", "51": "r50", "52": "r50", "53": "r50", "54": "r50", "55": "r50", "57": "r50" }, { "25": "s12", "31": "s90" }, { "23": "r51", "24": "r51", "25": "r51", "26": "r51", "27": "r51", "28": "r51", "29": "r51", "30": "r51", "31": "r51", "32": "r51", "33": "r51", "34": "r51", "35": "r51", "36": "r51", "37": "r51", "38": "r51", "39": "r51", "40": "r51", "41": "r51", "42": "r51", "43": "r51", "44": "r51", "45": "r51", "46": "r51", "47": "r51", "48": "r51", "49": "r51", "50": "r51", "51": "r51", "52": "r51", "53": "r51", "54": "r51", "55": "r51", "57": "r51" }];
/**
* Parsing stack.
*/
var stack = [];
/**
* Tokenizer instance.
*/
var tokenizer = void 0;
/**
* Generic tokenizer used by the parser in the Syntax tool.
*
* https://www.npmjs.com/package/syntax-cli
*
* See `--custom-tokinzer` to skip this generation, and use a custom one.
*/
var lexRules = [[/^#[^\n]+/, function () {/* skip comments */}], [/^\s+/, function () {/* skip whitespace */}], [/^-/, function () {
return 'DASH';
}], [/^\//, function () {
return 'CHAR';
}], [/^#/, function () {
return 'CHAR';
}], [/^\|/, function () {
return 'CHAR';
}], [/^\./, function () {
return 'CHAR';
}], [/^\{/, function () {
return 'CHAR';
}], [/^\{\d+\}/, function () {
return 'RANGE_EXACT';
}], [/^\{\d+,\}/, function () {
return 'RANGE_OPEN';
}], [/^\{\d+,\d+\}/, function () {
return 'RANGE_CLOSED';
}], [/^\\k<(([\u0041-\u005a\u0061-\u007a\u00aa\u00b5\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376-\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e-\u066f\u0671-\u06d3\u06d5\u06e5-\u06e6\u06ee-\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4-\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u08a0-\u08b4\u08b6-\u08bd\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc-\u09dd\u09df-\u09e1\u09f0-\u09f1\u09fc\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0-\u0ae1\u0af9\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3d\u0b5c-\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c60-\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0-\u0ce1\u0cf1-\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32-\u0e33\u0e40-\u0e46\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2-\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065-\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae-\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5-\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2-\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fef\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a-\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7bf\ua7c2-\ua7c6\ua7f7-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd-\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5-\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab67\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]|\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c-\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\udd40-\udd74\ude80-\ude9c\udea0-\uded0\udf00-\udf1f\udf2d-\udf4a\udf50-\udf75\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf\udfd1-\udfd5]|\ud801[\udc00-\udc9d\udcb0-\udcd3\udcd8-\udcfb\udd00-\udd27\udd30-\udd63\ude00-\udf36\udf40-\udf55\udf60-\udf67]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37-\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4-\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe-\uddbf\ude00\ude10-\ude13\ude15-\ude17\ude19-\ude35\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee4\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48\udc80-\udcb2\udcc0-\udcf2\udd00-\udd23\udf00-\udf1c\udf27\udf30-\udf45\udfe0-\udff6]|\ud804[\udc03-\udc37\udc83-\udcaf\udcd0-\udce8\udd03-\udd26\udd44\udd50-\udd72\udd76\udd83-\uddb2\uddc1-\uddc4\uddda\udddc\ude00-\ude11\ude13-\ude2b\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udede\udf05-\udf0c\udf0f-\udf10\udf13-\udf28\udf2a-\udf30\udf32-\udf33\udf35-\udf39\udf3d\udf50\udf5d-\udf61]|\ud805[\udc00-\udc34\udc47-\udc4a\udc5f\udc80-\udcaf\udcc4-\udcc5\udcc7\udd80-\uddae\uddd8-\udddb\ude00-\ude2f\ude44\ude80-\udeaa\udeb8\udf00-\udf1a]|\ud806[\udc00-\udc2b\udca0-\udcdf\udcff\udda0-\udda7\uddaa-\uddd0\udde1\udde3\ude00\ude0b-\ude32\ude3a\ude50\ude5c-\ude89\ude9d\udec0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc2e\udc40\udc72-\udc8f\udd00-\udd06\udd08-\udd09\udd0b-\udd30\udd46\udd60-\udd65\udd67-\udd68\udd6a-\udd89\udd98\udee0-\udef2]|\ud808[\udc00-\udf99]|\ud809[\udc00-\udc6e\udc80-\udd43]|\ud80c[\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\uded0-\udeed\udf00-\udf2f\udf40-\udf43\udf63-\udf77\udf7d-\udf8f]|\ud81b[\ude40-\ude7f\udf00-\udf4a\udf50\udf93-\udf9f\udfe0-\udfe1\udfe3]|\ud81c[\udc00-\udfff]|\ud81d[\udc00-\udfff]|\ud81e[\udc00-\udfff]|\ud81f[\udc00-\udfff]|\ud820[\udc00-\udfff]|\ud821[\udc00-\udff7]|\ud822[\udc00-\udef2]|\ud82c[\udc00-\udd1e\udd50-\udd52\udd64-\udd67\udd70-\udefb]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e-\udc9f\udca2\udca5-\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udec0\udec2-\udeda\udedc-\udefa\udefc-\udf14\udf16-\udf34\udf36-\udf4e\udf50-\udf6e\udf70-\udf88\udf8a-\udfa8\udfaa-\udfc2\udfc4-\udfcb]|\ud838[\udd00-\udd2c\udd37-\udd3d\udd4e\udec0-\udeeb]|\ud83a[\udc00-\udcc4\udd00-\udd43\udd4b]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21-\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51-\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61-\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud840[\udc00-\udfff]|\ud841[\udc00-\udfff]|\ud842[\udc00-\udfff]|\ud843[\udc00-\udfff]|\ud844[\udc00-\udfff]|\ud845[\udc00-\udfff]|\ud846[\udc00-\udfff]|\ud847[\udc00-\udfff]|\ud848[\udc00-\udfff]|\ud849[\udc00-\udfff]|\ud84a[\udc00-\udfff]|\ud84b[\udc00-\udfff]|\ud84c[\udc00-\udfff]|\ud84d[\udc00-\udfff]|\ud84e[\udc00-\udfff]|\ud84f[\udc00-\udfff]|\ud850[\udc00-\udfff]|\ud851[\udc00-\udfff]|\ud852[\udc00-\udfff]|\ud853[\udc00-\udfff]|\ud854[\udc00-\udfff]|\ud855[\udc00-\udfff]|\ud856[\udc00-\udfff]|\ud857[\udc00-\udfff]|\ud858[\udc00-\udfff]|\ud859[\udc00-\udfff]|\ud85a[\udc00-\udfff]|\ud85b[\udc00-\udfff]|\ud85c[\udc00-\udfff]|\ud85d[\udc00-\udfff]|\ud85e[\udc00-\udfff]|\ud85f[\udc00-\udfff]|\ud860[\udc00-\udfff]|\ud861[\udc00-\udfff]|\ud862[\udc00-\udfff]|\ud863[\udc00-\udfff]|\ud864[\udc00-\udfff]|\ud865[\udc00-\udfff]|\ud866[\udc00-\udfff]|\ud867[\udc00-\udfff]|\ud868[\udc00-\udfff]|\ud869[\udc00-\uded6\udf00-\udfff]|\ud86a[\udc00-\udfff]|\ud86b[\udc00-\udfff]|\ud86c[\udc00-\udfff]|\ud86d[\udc00-\udf34\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud86f[\udc00-\udfff]|\ud870[\udc00-\udfff]|\ud871[\udc00-\udfff]|\ud872[\udc00-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud874[\udc00-\udfff]|\ud875[\udc00-\udfff]|\ud876[\udc00-\udfff]|\ud877[\udc00-\udfff]|\ud878[\udc00-\udfff]|\ud879[\udc00-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d])|[$_]|(\\u[0-9a-fA-F]{4}|\\u\{[0-9a-fA-F]{1,}\}))(([\u0030-\u0039\u0041-\u005a\u005f\u0061-\u007a\u00aa\u00b5\u00b7\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0300-\u0374\u0376-\u0377\u037a-\u037d\u037f\u0386-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u0483-\u0487\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u0591-\u05bd\u05bf\u05c1-\u05c2\u05c4-\u05c5\u05c7\u05d0-\u05ea\u05ef-\u05f2\u0610-\u061a\u0620-\u0669\u066e-\u06d3\u06d5-\u06dc\u06df-\u06e8\u06ea-\u06fc\u06ff\u0710-\u074a\u074d-\u07b1\u07c0-\u07f5\u07fa\u07fd\u0800-\u082d\u0840-\u085b\u0860-\u086a\u08a0-\u08b4\u08b6-\u08bd\u08d3-\u08e1\u08e3-\u0963\u0966-\u096f\u0971-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09f1\u09fc\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a75\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0aef\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b56-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b6f\u0b71\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bef\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c60-\u0c63\u0c66-\u0c6f\u0c80-\u0c83\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf2\u0d00-\u0d03\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4e\u0d54-\u0d57\u0d5f-\u0d63\u0d66-\u0d6f\u0d7a-\u0d7f\u0d82-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df3\u0e01-\u0e3a\u0e40-\u0e4e\u0e50-\u0e59\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ecd\u0ed0-\u0ed9\u0edc-\u0edf\u0f00\u0f18-\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e-\u0f47\u0f49-\u0f6c\u0f71-\u0f84\u0f86-\u0f97\u0f99-\u0fbc\u0fc6\u1000-\u1049\u1050-\u109d\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u135f\u1369-\u1371\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17d3\u17d7\u17dc-\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1946-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u1a00-\u1a1b\u1a20-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa7\u1ab0-\u1abd\u1b00-\u1b4b\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1bf3\u1c00-\u1c37\u1c40-\u1c49\u1c4d-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1cd0-\u1cd2\u1cd4-\u1cfa\u1d00-\u1df9\u1dfb-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u203f-\u2040\u2054\u2071\u207f\u2090-\u209c\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2dff\u3005-\u3007\u3021-\u302f\u3031-\u3035\u3038-\u303c\u3041-\u3096\u3099-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fef\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua62b\ua640-\ua66f\ua674-\ua67d\ua67f-\ua6f1\ua717-\ua71f\ua722-\ua788\ua78b-\ua7bf\ua7c2-\ua7c6\ua7f7-\ua827\ua840-\ua873\ua880-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f7\ua8fb\ua8fd-\ua92d\ua930-\ua953\ua960-\ua97c\ua980-\ua9c0\ua9cf-\ua9d9\ua9e0-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa60-\uaa76\uaa7a-\uaac2\uaadb-\uaadd\uaae0-\uaaef\uaaf2-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab67\uab70-\uabea\uabec-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe00-\ufe0f\ufe20-\ufe2f\ufe33-\ufe34\ufe4d-\ufe4f\ufe70-\ufe74\ufe76-\ufefc\uff10-\uff19\uff21-\uff3a\uff3f\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]|\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c-\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\udd40-\udd74\uddfd\ude80-\ude9c\udea0-\uded0\udee0\udf00-\udf1f\udf2d-\udf4a\udf50-\udf7a\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf\udfd1-\udfd5]|\ud801[\udc00-\udc9d\udca0-\udca9\udcb0-\udcd3\udcd8-\udcfb\udd00-\udd27\udd30-\udd63\ude00-\udf36\udf40-\udf55\udf60-\udf67]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37-\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4-\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe-\uddbf\ude00-\ude03\ude05-\ude06\ude0c-\ude13\ude15-\ude17\ude19-\ude35\ude38-\ude3a\ude3f\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee6\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48\udc80-\udcb2\udcc0-\udcf2\udd00-\udd27\udd30-\udd39\udf00-\udf1c\udf27\udf30-\udf50\udfe0-\udff6]|\ud804[\udc00-\udc46\udc66-\udc6f\udc7f-\udcba\udcd0-\udce8\udcf0-\udcf9\udd00-\udd34\udd36-\udd3f\udd44-\udd46\udd50-\udd73\udd76\udd80-\uddc4\uddc9-\uddcc\uddd0-\uddda\udddc\ude00-\ude11\ude13-\ude37\ude3e\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udeea\udef0-\udef9\udf00-\udf03\udf05-\udf0c\udf0f-\udf10\udf13-\udf28\udf2a-\udf30\udf32-\udf33\udf35-\udf39\udf3b-\udf44\udf47-\udf48\udf4b-\udf4d\udf50\udf57\udf5d-\udf63\udf66-\udf6c\udf70-\udf74]|\ud805[\udc00-\udc4a\udc50-\udc59\udc5e-\udc5f\udc80-\udcc5\udcc7\udcd0-\udcd9\udd80-\uddb5\uddb8-\uddc0\uddd8-\udddd\ude00-\ude40\ude44\ude50-\ude59\ude80-\udeb8\udec0-\udec9\udf00-\udf1a\udf1d-\udf2b\udf30-\udf39]|\ud806[\udc00-\udc3a\udca0-\udce9\udcff\udda0-\udda7\uddaa-\uddd7\uddda-\udde1\udde3-\udde4\ude00-\ude3e\ude47\ude50-\ude99\ude9d\udec0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc36\udc38-\udc40\udc50-\udc59\udc72-\udc8f\udc92-\udca7\udca9-\udcb6\udd00-\udd06\udd08-\udd09\udd0b-\udd36\udd3a\udd3c-\udd3d\udd3f-\udd47\udd50-\udd59\udd60-\udd65\udd67-\udd68\udd6a-\udd8e\udd90-\udd91\udd93-\udd98\udda0-\udda9\udee0-\udef6]|\ud808[\udc00-\udf99]|\ud809[\udc00-\udc6e\udc80-\udd43]|\ud80c[\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\ude60-\ude69\uded0-\udeed\udef0-\udef4\udf00-\udf36\udf40-\udf43\udf50-\udf59\udf63-\udf77\udf7d-\udf8f]|\ud81b[\ude40-\ude7f\udf00-\udf4a\udf4f-\udf87\udf8f-\udf9f\udfe0-\udfe1\udfe3]|\ud81c[\udc00-\udfff]|\ud81d[\udc00-\udfff]|\ud81e[\udc00-\udfff]|\ud81f[\udc00-\udfff]|\ud820[\udc00-\udfff]|\ud821[\udc00-\udff7]|\ud822[\udc00-\udef2]|\ud82c[\udc00-\udd1e\udd50-\udd52\udd64-\udd67\udd70-\udefb]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99\udc9d-\udc9e]|\ud834[\udd65-\udd69\udd6d-\udd72\udd7b-\udd82\udd85-\udd8b\uddaa-\uddad\ude42-\ude44]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e-\udc9f\udca2\udca5-\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udec0\udec2-\udeda\udedc-\udefa\udefc-\udf14\udf16-\udf34\udf36-\udf4e\udf50-\udf6e\udf70-\udf88\udf8a-\udfa8\udfaa-\udfc2\udfc4-\udfcb\udfce-\udfff]|\ud836[\ude00-\ude36\ude3b-\ude6c\ude75\ude84\ude9b-\ude9f\udea1-\udeaf]|\ud838[\udc00-\udc06\udc08-\udc18\udc1b-\udc21\udc23-\udc24\udc26-\udc2a\udd00-\udd2c\udd30-\udd3d\udd40-\udd49\udd4e\udec0-\udef9]|\ud83a[\udc00-\udcc4\udcd0-\udcd6\udd00-\udd4b\udd50-\udd59]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21-\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51-\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61-\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud840[\udc00-\udfff]|\ud841[\udc00-\udfff]|\ud842[\udc00-\udfff]|\ud843[\udc00-\udfff]|\ud844[\udc00-\udfff]|\ud845[\udc00-\udfff]|\ud846[\udc00-\udfff]|\ud847[\udc00-\udfff]|\ud848[\udc00-\udfff]|\ud849[\udc00-\udfff]|\ud84a[\udc00-\udfff]|\ud84b[\udc00-\udfff]|\ud84c[\udc00-\udfff]|\ud84d[\udc00-\udfff]|\ud84e[\udc00-\udfff]|\ud84f[\udc00-\udfff]|\ud850[\udc00-\udfff]|\ud851[\udc00-\udfff]|\ud852[\udc00-\udfff]|\ud853[\udc00-\udfff]|\ud854[\udc00-\udfff]|\ud855[\udc00-\udfff]|\ud856[\udc00-\udfff]|\ud857[\udc00-\udfff]|\ud858[\udc00-\udfff]|\ud859[\udc00-\udfff]|\ud85a[\udc00-\udfff]|\ud85b[\udc00-\udfff]|\ud85c[\udc00-\udfff]|\ud85d[\udc00-\udfff]|\ud85e[\udc00-\udfff]|\ud85f[\udc00-\udfff]|\ud860[\udc00-\udfff]|\ud861[\udc00-\udfff]|\ud862[\udc00-\udfff]|\ud863[\udc00-\udfff]|\ud864[\udc00-\udfff]|\ud865[\udc00-\udfff]|\ud866[\udc00-\udfff]|\ud867[\udc00-\udfff]|\ud868[\udc00-\udfff]|\ud869[\udc00-\uded6\udf00-\udfff]|\ud86a[\udc00-\udfff]|\ud86b[\udc00-\udfff]|\ud86c[\udc00-\udfff]|\ud86d[\udc00-\udf34\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud86f[\udc00-\udfff]|\ud870[\udc00-\udfff]|\ud871[\udc00-\udfff]|\ud872[\udc00-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud874[\udc00-\udfff]|\ud875[\udc00-\udfff]|\ud876[\udc00-\udfff]|\ud877[\udc00-\udfff]|\ud878[\udc00-\udfff]|\ud879[\udc00-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d]|\udb40[\udd00-\uddef])|[$_]|(\\u[0-9a-fA-F]{4}|\\u\{[0-9a-fA-F]{1,}\})|[\u200c\u200d])*>/, function () {
var groupName = yytext.slice(3, -1);
validateUnicodeGroupName(groupName, this.getCurrentState());
return 'NAMED_GROUP_REF';
}], [/^\\b/, function () {
return 'ESC_b';
}], [/^\\B/, function () {
return 'ESC_B';
}], [/^\\c[a-zA-Z]/, function () {
return 'CTRL_CH';
}], [/^\\0\d{1,2}/, function () {
return 'OCT_CODE';
}], [/^\\0/, function () {
return 'DEC_CODE';
}], [/^\\\d{1,3}/, function () {
return 'DEC_CODE';
}], [/^\\u[dD][89abAB][0-9a-fA-F]{2}\\u[dD][c-fC-F][0-9a-fA-F]{2}/, function () {
return 'U_CODE_SURROGATE';
}], [/^\\u\{[0-9a-fA-F]{1,}\}/, function () {
return 'U_CODE';
}], [/^\\u[0-9a-fA-F]{4}/, function () {
return 'U_CODE';
}], [/^\\[pP]\{\w+(?:=\w+)?\}/, function () {
return 'U_PROP_VALUE_EXP';
}], [/^\\x[0-9a-fA-F]{2}/, function () {
return 'HEX_CODE';
}], [/^\\[tnrdDsSwWvf]/, function () {
return 'META_CHAR';
}], [/^\\\//, function () {
return 'ESC_CHAR';
}], [/^\\[ #]/, function () {
return 'ESC_CHAR';
}], [/^\\[\^\$\.\*\+\?\(\)\\\[\]\{\}\|\/]/, function () {
return 'ESC_CHAR';
}], [/^\\[^*?+\[()\\|]/, function () {
var s = this.getCurrentState();
if (s === 'u_class' && yytext === "\\-") {
return 'ESC_CHAR';
} else if (s === 'u' || s === 'xu' || s === 'u_class') {
throw new SyntaxError('invalid Unicode escape ' + yytext);
}
return 'ESC_CHAR';
}], [/^\(/, function () {
return 'CHAR';
}], [/^\)/, function () {
return 'CHAR';
}], [/^\(\?=/, function () {
return 'POS_LA_ASSERT';
}], [/^\(\?!/, function () {
return 'NEG_LA_ASSERT';
}], [/^\(\?<=/, function () {
return 'POS_LB_ASSERT';
}], [/^\(\?<!/, function () {
return 'NEG_LB_ASSERT';
}], [/^\(\?:/, function () {
return 'NON_CAPTURE_GROUP';
}], [/^\(\?<(([\u0041-\u005a\u0061-\u007a\u00aa\u00b5\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376-\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e-\u066f\u0671-\u06d3\u06d5\u06e5-\u06e6\u06ee-\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4-\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u08a0-\u08b4\u08b6-\u08bd\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc-\u09dd\u09df-\u09e1\u09f0-\u09f1\u09fc\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0-\u0ae1\u0af9\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3d\u0b5c-\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c60-\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0-\u0ce1\u0cf1-\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32-\u0e33\u0e40-\u0e46\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2-\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065-\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae-\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5-\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2-\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fef\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a-\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7bf\ua7c2-\ua7c6\ua7f7-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd-\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5-\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab67\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]|\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c-\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\udd40-\udd74\ude80-\ude9c\udea0-\uded0\udf00-\udf1f\udf2d-\udf4a\udf50-\udf75\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf\udfd1-\udfd5]|\ud801[\udc00-\udc9d\udcb0-\udcd3\udcd8-\udcfb\udd00-\udd27\udd30-\udd63\ude00-\udf36\udf40-\udf55\udf60-\udf67]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37-\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4-\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe-\uddbf\ude00\ude10-\ude13\ude15-\ude17\ude19-\ude35\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee4\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48\udc80-\udcb2\udcc0-\udcf2\udd00-\udd23\udf00-\udf1c\udf27\udf30-\udf45\udfe0-\udff6]|\ud804[\udc03-\udc37\udc83-\udcaf\udcd0-\udce8\udd03-\udd26\udd44\udd50-\udd72\udd76\udd83-\uddb2\uddc1-\uddc4\uddda\udddc\ude00-\ude11\ude13-\ude2b\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udede\udf05-\udf0c\udf0f-\udf10\udf13-\udf28\udf2a-\udf30\udf32-\udf33\udf35-\udf39\udf3d\udf50\udf5d-\udf61]|\ud805[\udc00-\udc34\udc47-\udc4a\udc5f\udc80-\udcaf\udcc4-\udcc5\udcc7\udd80-\uddae\uddd8-\udddb\ude00-\ude2f\ude44\ude80-\udeaa\udeb8\udf00-\udf1a]|\ud806[\udc00-\udc2b\udca0-\udcdf\udcff\udda0-\udda7\uddaa-\uddd0\udde1\udde3\ude00\ude0b-\ude32\ude3a\ude50\ude5c-\ude89\ude9d\udec0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc2e\udc40\udc72-\udc8f\udd00-\udd06\udd08-\udd09\udd0b-\udd30\udd46\udd60-\udd65\udd67-\udd68\udd6a-\udd89\udd98\udee0-\udef2]|\ud808[\udc00-\udf99]|\ud809[\udc00-\udc6e\udc80-\udd43]|\ud80c[\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\uded0-\udeed\udf00-\udf2f\udf40-\udf43\udf63-\udf77\udf7d-\udf8f]|\ud81b[\ude40-\ude7f\udf00-\udf4a\udf50\udf93-\udf9f\udfe0-\udfe1\udfe3]|\ud81c[\udc00-\udfff]|\ud81d[\udc00-\udfff]|\ud81e[\udc00-\udfff]|\ud81f[\udc00-\udfff]|\ud820[\udc00-\udfff]|\ud821[\udc00-\udff7]|\ud822[\udc00-\udef2]|\ud82c[\udc00-\udd1e\udd50-\udd52\udd64-\udd67\udd70-\udefb]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e-\udc9f\udca2\udca5-\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udec0\udec2-\udeda\udedc-\udefa\udefc-\udf14\udf16-\udf34\udf36-\udf4e\udf50-\udf6e\udf70-\udf88\udf8a-\udfa8\udfaa-\udfc2\udfc4-\udfcb]|\ud838[\udd00-\udd2c\udd37-\udd3d\udd4e\udec0-\udeeb]|\ud83a[\udc00-\udcc4\udd00-\udd43\udd4b]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21-\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51-\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61-\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud840[\udc00-\udfff]|\ud841[\udc00-\udfff]|\ud842[\udc00-\udfff]|\ud843[\udc00-\udfff]|\ud844[\udc00-\udfff]|\ud845[\udc00-\udfff]|\ud846[\udc00-\udfff]|\ud847[\udc00-\udfff]|\ud848[\udc00-\udfff]|\ud849[\udc00-\udfff]|\ud84a[\udc00-\udfff]|\ud84b[\udc00-\udfff]|\ud84c[\udc00-\udfff]|\ud84d[\udc00-\udfff]|\ud84e[\udc00-\udfff]|\ud84f[\udc00-\udfff]|\ud850[\udc00-\udfff]|\ud851[\udc00-\udfff]|\ud852[\udc00-\udfff]|\ud853[\udc00-\udfff]|\ud854[\udc00-\udfff]|\ud855[\udc00-\udfff]|\ud856[\udc00-\udfff]|\ud857[\udc00-\udfff]|\ud858[\udc00-\udfff]|\ud859[\udc00-\udfff]|\ud85a[\udc00-\udfff]|\ud85b[\udc00-\udfff]|\ud85c[\udc00-\udfff]|\ud85d[\udc00-\udfff]|\ud85e[\udc00-\udfff]|\ud85f[\udc00-\udfff]|\ud860[\udc00-\udfff]|\ud861[\udc00-\udfff]|\ud862[\udc00-\udfff]|\ud863[\udc00-\udfff]|\ud864[\udc00-\udfff]|\ud865[\udc00-\udfff]|\ud866[\udc00-\udfff]|\ud867[\udc00-\udfff]|\ud868[\udc00-\udfff]|\ud869[\udc00-\uded6\udf00-\udfff]|\ud86a[\udc00-\udfff]|\ud86b[\udc00-\udfff]|\ud86c[\udc00-\udfff]|\ud86d[\udc00-\udf34\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud86f[\udc00-\udfff]|\ud870[\udc00-\udfff]|\ud871[\udc00-\udfff]|\ud872[\udc00-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud874[\udc00-\udfff]|\ud875[\udc00-\udfff]|\ud876[\udc00-\udfff]|\ud877[\udc00-\udfff]|\ud878[\udc00-\udfff]|\ud879[\udc00-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d])|[$_]|(\\u[0-9a-fA-F]{4}|\\u\{[0-9a-fA-F]{1,}\}))(([\u0030-\u0039\u0041-\u005a\u005f\u0061-\u007a\u00aa\u00b5\u00b7\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0300-\u0374\u0376-\u0377\u037a-\u037d\u037f\u0386-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u0483-\u0487\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u0591-\u05bd\u05bf\u05c1-\u05c2\u05c4-\u05c5\u05c7\u05d0-\u05ea\u05ef-\u05f2\u0610-\u061a\u0620-\u0669\u066e-\u06d3\u06d5-\u06dc\u06df-\u06e8\u06ea-\u06fc\u06ff\u0710-\u074a\u074d-\u07b1\u07c0-\u07f5\u07fa\u07fd\u0800-\u082d\u0840-\u085b\u0860-\u086a\u08a0-\u08b4\u08b6-\u08bd\u08d3-\u08e1\u08e3-\u0963\u0966-\u096f\u0971-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09f1\u09fc\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a75\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0aef\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b56-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b6f\u0b71\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bef\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c60-\u0c63\u0c66-\u0c6f\u0c80-\u0c83\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf2\u0d00-\u0d03\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4e\u0d54-\u0d57\u0d5f-\u0d63\u0d66-\u0d6f\u0d7a-\u0d7f\u0d82-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df3\u0e01-\u0e3a\u0e40-\u0e4e\u0e50-\u0e59\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ecd\u0ed0-\u0ed9\u0edc-\u0edf\u0f00\u0f18-\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e-\u0f47\u0f49-\u0f6c\u0f71-\u0f84\u0f86-\u0f97\u0f99-\u0fbc\u0fc6\u1000-\u1049\u1050-\u109d\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u135f\u1369-\u1371\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17d3\u17d7\u17dc-\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1946-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u1a00-\u1a1b\u1a20-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa7\u1ab0-\u1abd\u1b00-\u1b4b\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1bf3\u1c00-\u1c37\u1c40-\u1c49\u1c4d-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1cd0-\u1cd2\u1cd4-\u1cfa\u1d00-\u1df9\u1dfb-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u203f-\u2040\u2054\u2071\u207f\u2090-\u209c\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2dff\u3005-\u3007\u3021-\u302f\u3031-\u3035\u3038-\u303c\u3041-\u3096\u3099-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fef\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua62b\ua640-\ua66f\ua674-\ua67d\ua67f-\ua6f1\ua717-\ua71f\ua722-\ua788\ua78b-\ua7bf\ua7c2-\ua7c6\ua7f7-\ua827\ua840-\ua873\ua880-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f7\ua8fb\ua8fd-\ua92d\ua930-\ua953\ua960-\ua97c\ua980-\ua9c0\ua9cf-\ua9d9\ua9e0-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa60-\uaa76\uaa7a-\uaac2\uaadb-\uaadd\uaae0-\uaaef\uaaf2-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab67\uab70-\uabea\uabec-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe00-\ufe0f\ufe20-\ufe2f\ufe33-\ufe34\ufe4d-\ufe4f\ufe70-\ufe74\ufe76-\ufefc\uff10-\uff19\uff21-\uff3a\uff3f\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]|\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c-\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\udd40-\udd74\uddfd\ude80-\ude9c\udea0-\uded0\udee0\udf00-\udf1f\udf2d-\udf4a\udf50-\udf7a\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf\udfd1-\udfd5]|\ud801[\udc00-\udc9d\udca0-\udca9\udcb0-\udcd3\udcd8-\udcfb\udd00-\udd27\udd30-\udd63\ude00-\udf36\udf40-\udf55\udf60-\udf67]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37-\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4-\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe-\uddbf\ude00-\ude03\ude05-\ude06\ude0c-\ude13\ude15-\ude17\ude19-\ude35\ude38-\ude3a\ude3f\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee6\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48\udc80-\udcb2\udcc0-\udcf2\udd00-\udd27\udd30-\udd39\udf00-\udf1c\udf27\udf30-\udf50\udfe0-\udff6]|\ud804[\udc00-\udc46\udc66-\udc6f\udc7f-\udcba\udcd0-\udce8\udcf0-\udcf9\udd00-\udd34\udd36-\udd3f\udd44-\udd46\udd50-\udd73\udd76\udd80-\uddc4\uddc9-\uddcc\uddd0-\uddda\udddc\ude00-\ude11\ude13-\ude37\ude3e\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udeea\udef0-\udef9\udf00-\udf03\udf05-\udf0c\udf0f-\udf10\udf13-\udf28\udf2a-\udf30\udf32-\udf33\udf35-\udf39\udf3b-\udf44\udf47-\udf48\udf4b-\udf4d\udf50\udf57\udf5d-\udf63\udf66-\udf6c\udf70-\udf74]|\ud805[\udc00-\udc4a\udc50-\udc59\udc5e-\udc5f\udc80-\udcc5\udcc7\udcd0-\udcd9\udd80-\uddb5\uddb8-\uddc0\uddd8-\udddd\ude00-\ude40\ude44\ude50-\ude59\ude80-\udeb8\udec0-\udec9\udf00-\udf1a\udf1d-\udf2b\udf30-\udf39]|\ud806[\udc00-\udc3a\udca0-\udce9\udcff\udda0-\udda7\uddaa-\uddd7\uddda-\udde1\udde3-\udde4\ude00-\ude3e\ude47\ude50-\ude99\ude9d\udec0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc36\udc38-\udc40\udc50-\udc59\udc72-\udc8f\udc92-\udca7\udca9-\udcb6\udd00-\udd06\udd08-\udd09\udd0b-\udd36\udd3a\udd3c-\udd3d\udd3f-\udd47\udd50-\udd59\udd60-\udd65\udd67-\udd68\udd6a-\udd8e\udd90-\udd91\udd93-\udd98\udda0-\udda9\udee0-\udef6]|\ud808[\udc00-\udf99]|\ud809[\udc00-\udc6e\udc80-\udd43]|\ud80c[\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\ude60-\ude69\uded0-\udeed\udef0-\udef4\udf00-\udf36\udf40-\udf43\udf50-\udf59\udf63-\udf77\udf7d-\udf8f]|\ud81b[\ude40-\ude7f\udf00-\udf4a\udf4f-\udf87\udf8f-\udf9f\udfe0-\udfe1\udfe3]|\ud81c[\udc00-\udfff]|\ud81d[\udc00-\udfff]|\ud81e[\udc00-\udfff]|\ud81f[\udc00-\udfff]|\ud820[\udc00-\udfff]|\ud821[\udc00-\udff7]|\ud822[\udc00-\udef2]|\ud82c[\udc00-\udd1e\udd50-\udd52\udd64-\udd67\udd70-\udefb]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99\udc9d-\udc9e]|\ud834[\udd65-\udd69\udd6d-\udd72\udd7b-\udd82\udd85-\udd8b\uddaa-\uddad\ude42-\ude44]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e-\udc9f\udca2\udca5-\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udec0\udec2-\udeda\udedc-\udefa\udefc-\udf14\udf16-\udf34\udf36-\udf4e\udf50-\udf6e\udf70-\udf88\udf8a-\udfa8\udfaa-\udfc2\udfc4-\udfcb\udfce-\udfff]|\ud836[\ude00-\ude36\ude3b-\ude6c\ude75\ude84\ude9b-\ude9f\udea1-\udeaf]|\ud838[\udc00-\udc06\udc08-\udc18\udc1b-\udc21\udc23-\udc24\udc26-\udc2a\udd00-\udd2c\udd30-\udd3d\udd40-\udd49\udd4e\udec0-\udef9]|\ud83a[\udc00-\udcc4\udcd0-\udcd6\udd00-\udd4b\udd50-\udd59]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21-\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51-\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61-\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud840[\udc00-\udfff]|\ud841[\udc00-\udfff]|\ud842[\udc00-\udfff]|\ud843[\udc00-\udfff]|\ud844[\udc00-\udfff]|\ud845[\udc00-\udfff]|\ud846[\udc00-\udfff]|\ud847[\udc00-\udfff]|\ud848[\udc00-\udfff]|\ud849[\udc00-\udfff]|\ud84a[\udc00-\udfff]|\ud84b[\udc00-\udfff]|\ud84c[\udc00-\udfff]|\ud84d[\udc00-\udfff]|\ud84e[\udc00-\udfff]|\ud84f[\udc00-\udfff]|\ud850[\udc00-\udfff]|\ud851[\udc00-\udfff]|\ud852[\udc00-\udfff]|\ud853[\udc00-\udfff]|\ud854[\udc00-\udfff]|\ud855[\udc00-\udfff]|\ud856[\udc00-\udfff]|\ud857[\udc00-\udfff]|\ud858[\udc00-\udfff]|\ud859[\udc00-\udfff]|\ud85a[\udc00-\udfff]|\ud85b[\udc00-\udfff]|\ud85c[\udc00-\udfff]|\ud85d[\udc00-\udfff]|\ud85e[\udc00-\udfff]|\ud85f[\udc00-\udfff]|\ud860[\udc00-\udfff]|\ud861[\udc00-\udfff]|\ud862[\udc00-\udfff]|\ud863[\udc00-\udfff]|\ud864[\udc00-\udfff]|\ud865[\udc00-\udfff]|\ud866[\udc00-\udfff]|\ud867[\udc00-\udfff]|\ud868[\udc00-\udfff]|\ud869[\udc00-\uded6\udf00-\udfff]|\ud86a[\udc00-\udfff]|\ud86b[\udc00-\udfff]|\ud86c[\udc00-\udfff]|\ud86d[\udc00-\udf34\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud86f[\udc00-\udfff]|\ud870[\udc00-\udfff]|\ud871[\udc00-\udfff]|\ud872[\udc00-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud874[\udc00-\udfff]|\ud875[\udc00-\udfff]|\ud876[\udc00-\udfff]|\ud877[\udc00-\udfff]|\ud878[\udc00-\udfff]|\ud879[\udc00-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d]|\udb40[\udd00-\uddef])|[$_]|(\\u[0-9a-fA-F]{4}|\\u\{[0-9a-fA-F]{1,}\})|[\u200c\u200d])*>/, function () {
yytext = yytext.slice(3, -1);
validateUnicodeGroupName(yytext, this.getCurrentState());
return 'NAMED_CAPTURE_GROUP';
}], [/^\(/, function () {
return 'L_PAREN';
}], [/^\)/, function () {
return 'R_PAREN';
}], [/^[*?+[^$]/, function () {
return 'CHAR';
}], [/^\\\]/, function () {
return 'ESC_CHAR';
}], [/^\]/, function () {
this.popState();return 'R_BRACKET';
}], [/^\^/, function () {
return 'BOS';
}], [/^\$/, function () {
return 'EOS';
}], [/^\*/, function () {
return 'STAR';
}], [/^\?/, function () {
return 'Q_MARK';
}], [/^\+/, function () {
return 'PLUS';
}], [/^\|/, function () {
return 'BAR';
}], [/^\./, function () {
return 'ANY';
}], [/^\//, function () {
return 'SLASH';
}], [/^[^*?+\[()\\|]/, function () {
return 'CHAR';
}], [/^\[\^/, function () {
var s = this.getCurrentState();this.pushState(s === 'u' || s === 'xu' ? 'u_class' : 'class');return 'NEG_CLASS';
}], [/^\[/, function () {
var s = this.getCurrentState();this.pushState(s === 'u' || s === 'xu' ? 'u_class' : 'class');return 'L_BRACKET';
}]];
var lexRulesByConditions = { "INITIAL": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 20, 22, 23, 24, 26, 27, 30, 31, 32, 33, 34, 35, 36, 37, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51], "u": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 30, 31, 32, 33, 34, 35, 36, 37, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51], "xu": [0, 1, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 30, 31, 32, 33, 34, 35, 36, 37, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51], "x": [0, 1, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 20, 22, 23, 24, 26, 27, 30, 31, 32, 33, 34, 35, 36, 37, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51], "u_class": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51], "class": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 20, 22, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51] };
var EOF_TOKEN = {
type: EOF,
value: ''
};
tokenizer = {
initString: function initString(string) {
this._string = string;
this._cursor = 0;
this._states = ['INITIAL'];
this._tokensQueue = [];
this._currentLine = 1;
this._currentColumn = 0;
this._currentLineBeginOffset = 0;
/**
* Matched token location data.
*/
this._tokenStartOffset = 0;
this._tokenEndOffset = 0;
this._tokenStartLine = 1;
this._tokenEndLine = 1;
this._tokenStartColumn = 0;
this._tokenEndColumn = 0;
return this;
},
/**
* Returns tokenizer states.
*/
getStates: function getStates() {
return this._states;
},
getCurrentState: function getCurrentState() {
return this._states[this._states.length - 1];
},
pushState: function pushState(state) {
this._states.push(state);
},
begin: function begin(state) {
this.pushState(state);
},
popState: function popState() {
if (this._states.length > 1) {
return this._states.pop();
}
return this._states[0];
},
getNextToken: function getNextToken() {
// Something was queued, return it.
if (this._tokensQueue.length > 0) {
return this.onToken(this._toToken(this._tokensQueue.shift()));
}
if (!this.hasMoreTokens()) {
return this.onToken(EOF_TOKEN);
}
var string = this._string.slice(this._cursor);
var lexRulesForState = lexRulesByConditions[this.getCurrentState()];
for (var i = 0; i < lexRulesForState.length; i++) {
var lexRuleIndex = lexRulesForState[i];
var lexRule = lexRules[lexRuleIndex];
var matched = this._match(string, lexRule[0]);
// Manual handling of EOF token (the end of string). Return it
// as `EOF` symbol.
if (string === '' && matched === '') {
this._cursor++;
}
if (matched !== null) {
yytext = matched;
yytext.length;
var token = lexRule[1].call(this);
if (!token) {
return this.getNextToken();
}
// If multiple tokens are returned, save them to return
// on next `getNextToken` call.
if (Array.isArray(token)) {
var tokensToQueue = token.slice(1);
token = token[0];
if (tokensToQueue.length > 0) {
var _tokensQueue;
(_tokensQueue = this._tokensQueue).unshift.apply(_tokensQueue, _toConsumableArray$8(tokensToQueue));
}
}
return this.onToken(this._toToken(token, yytext));
}
}
if (this.isEOF()) {
this._cursor++;
return EOF_TOKEN;
}
this.throwUnexpectedToken(string[0], this._currentLine, this._currentColumn);
},
/**
* Throws default "Unexpected token" exception, showing the actual
* line from the source, pointing with the ^ marker to the bad token.
* In addition, shows `line:column` location.
*/
throwUnexpectedToken: function throwUnexpectedToken(symbol, line, column) {
var lineSource = this._string.split('\n')[line - 1];
var lineData = '';
if (lineSource) {
var pad = ' '.repeat(column);
lineData = '\n\n' + lineSource + '\n' + pad + '^\n';
}
throw new SyntaxError(lineData + 'Unexpected token: "' + symbol + '" ' + ('at ' + line + ':' + column + '.'));
},
getCursor: function getCursor() {
return this._cursor;
},
getCurrentLine: function getCurrentLine() {
return this._currentLine;
},
getCurrentColumn: function getCurrentColumn() {
return this._currentColumn;
},
_captureLocation: function _captureLocation(matched) {
var nlRe = /\n/g;
// Absolute offsets.
this._tokenStartOffset = this._cursor;
// Line-based locations, start.
this._tokenStartLine = this._currentLine;
this._tokenStartColumn = this._tokenStartOffset - this._currentLineBeginOffset;
// Extract `\n` in the matched token.
var nlMatch = void 0;
while ((nlMatch = nlRe.exec(matched)) !== null) {
this._currentLine++;
this._currentLineBeginOffset = this._tokenStartOffset + nlMatch.index + 1;
}
this._tokenEndOffset = this._cursor + matched.length;
// Line-based locations, end.
this._tokenEndLine = this._currentLine;
this._tokenEndColumn = this._currentColumn = this._tokenEndOffset - this._currentLineBeginOffset;
},
_toToken: function _toToken(tokenType) {
var yytext = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
return {
// Basic data.
type: tokenType,
value: yytext,
// Location data.
startOffset: this._tokenStartOffset,
endOffset: this._tokenEndOffset,
startLine: this._tokenStartLine,
endLine: this._tokenEndLine,
startColumn: this._tokenStartColumn,
endColumn: this._tokenEndColumn
};
},
isEOF: function isEOF() {
return this._cursor === this._string.length;
},
hasMoreTokens: function hasMoreTokens() {
return this._cursor <= this._string.length;
},
_match: function _match(string, regexp) {
var matched = string.match(regexp);
if (matched) {
// Handle `\n` in the matched token to track line numbers.
this._captureLocation(matched[0]);
this._cursor += matched[0].length;
return matched[0];
}
return null;
},
/**
* Allows analyzing, and transforming token. Default implementation
* just passes the token through.
*/
onToken: function onToken(token) {
return token;
}
};
/**
* Expose tokenizer so it can be accessed in semantic actions.
*/
yy.lexer = tokenizer;
yy.tokenizer = tokenizer;
/**
* Global parsing options. Some options can be shadowed per
* each `parse` call, if the optations are passed.
*
* Initalized to the `captureLocations` which is passed
* from the generator. Other options can be added at runtime.
*/
yy.options = {
captureLocations: true
};
/**
* Parsing module.
*/
var yyparse = {
/**
* Sets global parsing options.
*/
setOptions: function setOptions(options) {
yy.options = options;
return this;
},
/**
* Returns parsing options.
*/
getOptions: function getOptions() {
return yy.options;
},
/**
* Parses a string.
*/
parse: function parse(string, parseOptions) {
if (!tokenizer) {
throw new Error('Tokenizer instance wasn\'t specified.');
}
tokenizer.initString(string);
/**
* If parse options are passed, override global parse options for
* this call, and later restore global options.
*/
var globalOptions = yy.options;
if (parseOptions) {
yy.options = Object.assign({}, yy.options, parseOptions);
}
/**
* Allow callers to do setup work based on the
* parsing string, and passed options.
*/
yyparse.onParseBegin(string, tokenizer, yy.options);
stack.length = 0;
stack.push(0);
var token = tokenizer.getNextToken();
var shiftedToken = null;
do {
if (!token) {
// Restore options.
yy.options = globalOptions;
unexpectedEndOfInput();
}
var state = stack[stack.length - 1];
var column = tokens[token.type];
if (!table[state].hasOwnProperty(column)) {
yy.options = globalOptions;
unexpectedToken(token);
}
var entry = table[state][column];
// Shift action.
if (entry[0] === 's') {
var _loc2 = null;
if (yy.options.captureLocations) {
_loc2 = {
startOffset: token.startOffset,
endOffset: token.endOffset,
startLine: token.startLine,
endLine: token.endLine,
startColumn: token.startColumn,
endColumn: token.endColumn
};
}
shiftedToken = this.onShift(token);
stack.push({ symbol: tokens[shiftedToken.type], semanticValue: shiftedToken.value, loc: _loc2 }, Number(entry.slice(1)));
token = tokenizer.getNextToken();
}
// Reduce action.
else if (entry[0] === 'r') {
var productionNumber = entry.slice(1);
var production = productions[productionNumber];
var hasSemanticAction = typeof production[2] === 'function';
var semanticValueArgs = hasSemanticAction ? [] : null;
var locationArgs = hasSemanticAction && yy.options.captureLocations ? [] : null;
if (production[1] !== 0) {
var rhsLength = production[1];
while (rhsLength-- > 0) {
stack.pop();
var stackEntry = stack.pop();
if (hasSemanticAction) {
semanticValueArgs.unshift(stackEntry.semanticValue);
if (locationArgs) {
locationArgs.unshift(stackEntry.loc);
}
}
}
}
var reduceStackEntry = { symbol: production[0] };
if (hasSemanticAction) {
yytext = shiftedToken ? shiftedToken.value : null;
shiftedToken ? shiftedToken.value.length : null;
var semanticActionArgs = locationArgs !== null ? semanticValueArgs.concat(locationArgs) : semanticValueArgs;
production[2].apply(production, _toConsumableArray$8(semanticActionArgs));
reduceStackEntry.semanticValue = __;
if (locationArgs) {
reduceStackEntry.loc = __loc;
}
}
var nextState = stack[stack.length - 1];
var symbolToReduceWith = production[0];
stack.push(reduceStackEntry, table[nextState][symbolToReduceWith]);
}
// Accept.
else if (entry === 'acc') {
stack.pop();
var parsed = stack.pop();
if (stack.length !== 1 || stack[0] !== 0 || tokenizer.hasMoreTokens()) {
// Restore options.
yy.options = globalOptions;
unexpectedToken(token);
}
if (parsed.hasOwnProperty('semanticValue')) {
yy.options = globalOptions;
yyparse.onParseEnd(parsed.semanticValue);
return parsed.semanticValue;
}
yyparse.onParseEnd();
// Restore options.
yy.options = globalOptions;
return true;
}
} while (tokenizer.hasMoreTokens() || stack.length > 1);
},
setTokenizer: function setTokenizer(customTokenizer) {
tokenizer = customTokenizer;
return yyparse;
},
getTokenizer: function getTokenizer() {
return tokenizer;
},
onParseBegin: function onParseBegin(string, tokenizer, options) {},
onParseEnd: function onParseEnd(parsed) {},
/**
* Allows analyzing, and transforming shifted token. Default implementation
* just passes the token through.
*/
onShift: function onShift(token) {
return token;
}
};
/**
* Tracks capturing groups.
*/
var capturingGroupsCount = 0;
/**
* Tracks named groups.
*/
var namedGroups = {};
/**
* Parsing string.
*/
var parsingString = '';
yyparse.onParseBegin = function (string, lexer) {
parsingString = string;
capturingGroupsCount = 0;
namedGroups = {};
var lastSlash = string.lastIndexOf('/');
var flags = string.slice(lastSlash);
if (flags.includes('x') && flags.includes('u')) {
lexer.pushState('xu');
} else {
if (flags.includes('x')) {
lexer.pushState('x');
}
if (flags.includes('u')) {
lexer.pushState('u');
}
}
};
/**
* On shifting `(` remember its number to used on reduce.
*/
yyparse.onShift = function (token) {
if (token.type === 'L_PAREN' || token.type === 'NAMED_CAPTURE_GROUP') {
token.value = new String(token.value);
token.value.groupNumber = ++capturingGroupsCount;
}
return token;
};
/**
* Extracts ranges from the range string.
*/
function getRange(text) {
var range = text.match(/\d+/g).map(Number);
if (Number.isFinite(range[1]) && range[1] < range[0]) {
throw new SyntaxError('Numbers out of order in ' + text + ' quantifier');
}
return range;
}
/**
* Checks class range
*/
function checkClassRange(from, to) {
if (from.kind === 'control' || to.kind === 'control' || !isNaN(from.codePoint) && !isNaN(to.codePoint) && from.codePoint > to.codePoint) {
throw new SyntaxError('Range ' + from.value + '-' + to.value + ' out of order in character class');
}
}
// ---------------------- Unicode property -------------------------------------------
var unicodeProperties = parserUnicodeProperties;
/**
* Unicode property.
*/
function UnicodeProperty(matched, loc) {
var negative = matched[1] === 'P';
var separatorIdx = matched.indexOf('=');
var name = matched.slice(3, separatorIdx !== -1 ? separatorIdx : -1);
var value = void 0;
// General_Category allows using only value as a shorthand.
var isShorthand = separatorIdx === -1 && unicodeProperties.isGeneralCategoryValue(name);
// Binary propery name.
var isBinaryProperty = separatorIdx === -1 && unicodeProperties.isBinaryPropertyName(name);
if (isShorthand) {
value = name;
name = 'General_Category';
} else if (isBinaryProperty) {
value = name;
} else {
if (!unicodeProperties.isValidName(name)) {
throw new SyntaxError('Invalid unicode property name: ' + name + '.');
}
value = matched.slice(separatorIdx + 1, -1);
if (!unicodeProperties.isValidValue(name, value)) {
throw new SyntaxError('Invalid ' + name + ' unicode property value: ' + value + '.');
}
}
return Node({
type: 'UnicodeProperty',
name: name,
value: value,
negative: negative,
shorthand: isShorthand,
binary: isBinaryProperty,
canonicalName: unicodeProperties.getCanonicalName(name) || name,
canonicalValue: unicodeProperties.getCanonicalValue(value) || value
}, loc);
}
// ----------------------------------------------------------------------------------
/**
* Creates a character node.
*/
function Char(value, kind, loc) {
var symbol = void 0;
var codePoint = void 0;
switch (kind) {
case 'decimal':
{
codePoint = Number(value.slice(1));
symbol = String.fromCodePoint(codePoint);
break;
}
case 'oct':
{
codePoint = parseInt(value.slice(1), 8);
symbol = String.fromCodePoint(codePoint);
break;
}
case 'hex':
case 'unicode':
{
if (value.lastIndexOf('\\u') > 0) {
var _value$split$slice = value.split('\\u').slice(1),
_value$split$slice2 = _slicedToArray$2(_value$split$slice, 2),
lead = _value$split$slice2[0],
trail = _value$split$slice2[1];
lead = parseInt(lead, 16);
trail = parseInt(trail, 16);
codePoint = (lead - 0xd800) * 0x400 + (trail - 0xdc00) + 0x10000;
symbol = String.fromCodePoint(codePoint);
} else {
var hex = value.slice(2).replace('{', '');
codePoint = parseInt(hex, 16);
if (codePoint > 0x10ffff) {
throw new SyntaxError('Bad character escape sequence: ' + value);
}
symbol = String.fromCodePoint(codePoint);
}
break;
}
case 'meta':
{
switch (value) {
case '\\t':
symbol = '\t';
codePoint = symbol.codePointAt(0);
break;
case '\\n':
symbol = '\n';
codePoint = symbol.codePointAt(0);
break;
case '\\r':
symbol = '\r';
codePoint = symbol.codePointAt(0);
break;
case '\\v':
symbol = '\v';
codePoint = symbol.codePointAt(0);
break;
case '\\f':
symbol = '\f';
codePoint = symbol.codePointAt(0);
break;
case '\\b':
symbol = '\b';
codePoint = symbol.codePointAt(0);
case '\\0':
symbol = '\0';
codePoint = 0;
case '.':
symbol = '.';
codePoint = NaN;
break;
default:
codePoint = NaN;
}
break;
}
case 'simple':
{
symbol = value;
codePoint = symbol.codePointAt(0);
break;
}
}
return Node({
type: 'Char',
value: value,
kind: kind,
symbol: symbol,
codePoint: codePoint
}, loc);
}
/**
* Valid flags per current ECMAScript spec and
* stage 3+ proposals.
*/
var validFlags = 'gimsuxy';
/**
* Checks the flags are valid, and that
* we don't duplicate flags.
*/
function checkFlags(flags) {
var seen = new Set();
var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;
try {
for (var _iterator = flags[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
var flag = _step.value;
if (seen.has(flag) || !validFlags.includes(flag)) {
throw new SyntaxError('Invalid flags: ' + flags);
}
seen.add(flag);
}
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
} finally {
try {
if (!_iteratorNormalCompletion && _iterator.return) {
_iterator.return();
}
} finally {
if (_didIteratorError) {
throw _iteratorError;
}
}
}
return flags.split('').sort().join('');
}
/**
* Parses patterns like \1, \2, etc. either as a backreference
* to a group, or a deciaml char code.
*/
function GroupRefOrDecChar(text, textLoc) {
var reference = Number(text.slice(1));
if (reference > 0 && reference <= capturingGroupsCount) {
return Node({
type: 'Backreference',
kind: 'number',
number: reference,
reference: reference
}, textLoc);
}
return Char(text, 'decimal', textLoc);
}
/**
* Unicode names.
*/
var uReStart = /^\\u[0-9a-fA-F]{4}/; // only matches start of string
var ucpReStart = /^\\u\{[0-9a-fA-F]{1,}\}/; // only matches start of string
var ucpReAnywhere = /\\u\{[0-9a-fA-F]{1,}\}/; // matches anywhere in string
/**
* Validates Unicode group name.
*/
function validateUnicodeGroupName(name, state) {
var isUnicodeName = ucpReAnywhere.test(name);
var isUnicodeState = state === 'u' || state === 'xu' || state === 'u_class';
if (isUnicodeName && !isUnicodeState) {
throw new SyntaxError('invalid group Unicode name "' + name + '", use `u` flag.');
}
return name;
}
// Matches the following production: https://tc39.es/ecma262/#prod-RegExpUnicodeEscapeSequence
//
// RegExpUnicodeEscapeSequence ::
// `u` LeadSurrogate `\u` TrailSurrogate # as 'leadSurrogate', 'trailSurrogate'
// `u` LeadSurrogate # as 'leadSurrogateOnly'
// `u` TrailSurrogate # as 'trailSurrogateOnly'
// `u` NonSurrogate # as 'nonSurrogate'
// `u` `{` CodePoint `}` # as 'codePoint'
//
// LeadSurrogate ::
// Hex4Digits but only if the SV of Hex4Digits is in the inclusive range 0xD800 to 0xDBFF # [dD][89aAbB][0-9a-fA-F]{2}
//
// TrailSurrogate ::
// Hex4Digits but only if the SV of Hex4Digits is in the inclusive range 0xDC00 to 0xDFFF # [dD][c-fC-F][0-9a-fA-F]{2}
//
// NonSurrogate ::
// Hex4Digits but only if the SV of Hex4Digits is not in the inclusive range 0xD800 to 0xDFFF # [0-9a-ce-fA-CE-F][0-9a-fA-F]{3}|[dD][0-7][0-9a-fA-F]{2}
//
// CodePoint ::
// HexDigits but only if MV of HexDigits ≤ 0x10FFFF # 0*(?:[0-9a-fA-F]{1,5}|10[0-9a-fA-F]{4})
//
var uidRe = /\\u(?:([dD][89aAbB][0-9a-fA-F]{2})\\u([dD][c-fC-F][0-9a-fA-F]{2})|([dD][89aAbB][0-9a-fA-F]{2})|([dD][c-fC-F][0-9a-fA-F]{2})|([0-9a-ce-fA-CE-F][0-9a-fA-F]{3}|[dD][0-7][0-9a-fA-F]{2})|\{(0*(?:[0-9a-fA-F]{1,5}|10[0-9a-fA-F]{4}))\})/;
function decodeUnicodeGroupName(name) {
return name.replace(new RegExp(uidRe, 'g'), function (_, leadSurrogate, trailSurrogate, leadSurrogateOnly, trailSurrogateOnly, nonSurrogate, codePoint) {
if (leadSurrogate) {
return String.fromCodePoint(parseInt(leadSurrogate, 16), parseInt(trailSurrogate, 16));
}
if (leadSurrogateOnly) {
return String.fromCodePoint(parseInt(leadSurrogateOnly, 16));
}
if (trailSurrogateOnly) {
// TODO: Per the spec: https://tc39.es/ecma262/#prod-RegExpUnicodeEscapeSequence
// > Each `\u` TrailSurrogate for which the choice of associated `u` LeadSurrogate is ambiguous shall be associated with the nearest possible `u` LeadSurrogate that would otherwise have no corresponding `\u` TrailSurrogate.
return String.fromCodePoint(parseInt(trailSurrogateOnly, 16));
}
if (nonSurrogate) {
return String.fromCodePoint(parseInt(nonSurrogate, 16));
}
if (codePoint) {
return String.fromCodePoint(parseInt(codePoint, 16));
}
return _;
});
}
/**
* Extracts from `\k<foo>` pattern either a backreference
* to a named capturing group (if it presents), or parses it
* as a list of char: `\k`, `<`, `f`, etc.
*/
function NamedGroupRefOrChars(text, textLoc) {
var referenceRaw = text.slice(3, -1);
var reference = decodeUnicodeGroupName(referenceRaw);
if (namedGroups.hasOwnProperty(reference)) {
return Node({
type: 'Backreference',
kind: 'name',
number: namedGroups[reference],
reference: reference,
referenceRaw: referenceRaw
}, textLoc);
}
// Else `\k<foo>` should be parsed as a list of `Char`s.
// This is really a 0.01% edge case, but we should handle it.
var startOffset = null;
var startLine = null;
var endLine = null;
var startColumn = null;
if (textLoc) {
startOffset = textLoc.startOffset;
startLine = textLoc.startLine;
endLine = textLoc.endLine;
startColumn = textLoc.startColumn;
}
var charRe = /^[\w$<>]/;
var loc = void 0;
var chars = [
// Init to first \k, taking 2 symbols.
Char(text.slice(1, 2), 'simple', startOffset ? {
startLine: startLine,
endLine: endLine,
startColumn: startColumn,
startOffset: startOffset,
endOffset: startOffset += 2,
endColumn: startColumn += 2
} : null)];
// For \k
chars[0].escaped = true;
// Other symbols.
text = text.slice(2);
while (text.length > 0) {
var matched = null;
// Unicode, \u003B or \u{003B}
if ((matched = text.match(uReStart)) || (matched = text.match(ucpReStart))) {
if (startOffset) {
loc = {
startLine: startLine,
endLine: endLine,
startColumn: startColumn,
startOffset: startOffset,
endOffset: startOffset += matched[0].length,
endColumn: startColumn += matched[0].length
};
}
chars.push(Char(matched[0], 'unicode', loc));
text = text.slice(matched[0].length);
}
// Simple char.
else if (matched = text.match(charRe)) {
if (startOffset) {
loc = {
startLine: startLine,
endLine: endLine,
startColumn: startColumn,
startOffset: startOffset,
endOffset: ++startOffset,
endColumn: ++startColumn
};
}
chars.push(Char(matched[0], 'simple', loc));
text = text.slice(1);
}
}
return chars;
}
/**
* Creates an AST node with a location.
*/
function Node(node, loc) {
if (yy.options.captureLocations) {
node.loc = {
source: parsingString.slice(loc.startOffset, loc.endOffset),
start: {
line: loc.startLine,
column: loc.startColumn,
offset: loc.startOffset
},
end: {
line: loc.endLine,
column: loc.endColumn,
offset: loc.endOffset
}
};
}
return node;
}
/**
* Creates location node.
*/
function loc(start, end) {
if (!yy.options.captureLocations) {
return null;
}
return {
startOffset: start.startOffset,
endOffset: end.endOffset,
startLine: start.startLine,
endLine: end.endLine,
startColumn: start.startColumn,
endColumn: end.endColumn
};
}
function unexpectedToken(token) {
if (token.type === EOF) {
unexpectedEndOfInput();
}
tokenizer.throwUnexpectedToken(token.value, token.startLine, token.startColumn);
}
function unexpectedEndOfInput() {
parseError('Unexpected end of input.');
}
function parseError(message) {
throw new SyntaxError(message);
}
var regexpTree$3 = yyparse;
/**
* The MIT License (MIT)
* Copyright (c) 2017-present Dmitry Soshnikov <dmitry.soshnikov@gmail.com>
*/
var regexpTreeParser = regexpTree$3;
/**
* Original parse function.
*/
var generatedParseFn = regexpTreeParser.parse.bind(regexpTreeParser);
/**
* Parses a regular expression.
*
* Override original `regexpTreeParser.parse` to convert a value to a string,
* since in regexp-tree we may pass strings, and RegExp instance.
*/
regexpTreeParser.parse = function (regexp, options) {
return generatedParseFn('' + regexp, options);
};
// By default do not capture locations; callers may override.
regexpTreeParser.setOptions({ captureLocations: false });
var parser$4 = regexpTreeParser;
/**
* The MIT License (MIT)
* Copyright (c) 2017-present Dmitry Soshnikov <dmitry.soshnikov@gmail.com>
*/
var _createClass$6 = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function _classCallCheck$6(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var DEFAULT_COLLECTION_PROP = 'expressions';
var DEFAULT_SINGLE_PROP = 'expression';
/**
* NodePath class encapsulates a traversing node,
* its parent node, property name in the parent node, and
* an index (in case if a node is part of a collection).
* It also provides set of methods for AST manipulation.
*/
var NodePath$3 = function () {
/**
* NodePath constructor.
*
* @param Object node - an AST node
* @param NodePath parentPath - a nullable parent path
* @param string property - property name of the node in the parent
* @param number index - index of the node in a collection.
*/
function NodePath(node) {
var parentPath = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
var property = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
var index = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
_classCallCheck$6(this, NodePath);
this.node = node;
this.parentPath = parentPath;
this.parent = parentPath ? parentPath.node : null;
this.property = property;
this.index = index;
}
_createClass$6(NodePath, [{
key: '_enforceProp',
value: function _enforceProp(property) {
if (!this.node.hasOwnProperty(property)) {
throw new Error('Node of type ' + this.node.type + ' doesn\'t have "' + property + '" collection.');
}
}
/**
* Sets a node into a children collection or the single child.
* By default child nodes are supposed to be under `expressions` property.
* An explicit property can be passed.
*
* @param Object node - a node to set into a collection or as single child
* @param number index - index at which to set
* @param string property - name of the collection or single property
*/
}, {
key: 'setChild',
value: function setChild(node) {
var index = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
var property = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
var childPath = void 0;
if (index != null) {
if (!property) {
property = DEFAULT_COLLECTION_PROP;
}
this._enforceProp(property);
this.node[property][index] = node;
childPath = NodePath.getForNode(node, this, property, index);
} else {
if (!property) {
property = DEFAULT_SINGLE_PROP;
}
this._enforceProp(property);
this.node[property] = node;
childPath = NodePath.getForNode(node, this, property, null);
}
return childPath;
}
/**
* Appends a node to a children collection.
* By default child nodes are supposed to be under `expressions` property.
* An explicit property can be passed.
*
* @param Object node - a node to set into a collection or as single child
* @param string property - name of the collection or single property
*/
}, {
key: 'appendChild',
value: function appendChild(node) {
var property = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
if (!property) {
property = DEFAULT_COLLECTION_PROP;
}
this._enforceProp(property);
var end = this.node[property].length;
return this.setChild(node, end, property);
}
/**
* Inserts a node into a collection.
* By default child nodes are supposed to be under `expressions` property.
* An explicit property can be passed.
*
* @param Object node - a node to insert into a collection
* @param number index - index at which to insert
* @param string property - name of the collection property
*/
}, {
key: 'insertChildAt',
value: function insertChildAt(node, index) {
var property = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : DEFAULT_COLLECTION_PROP;
this._enforceProp(property);
this.node[property].splice(index, 0, node);
// If we inserted a node before the traversing index,
// we should increase the later.
if (index <= NodePath.getTraversingIndex()) {
NodePath.updateTraversingIndex(+1);
}
this._rebuildIndex(this.node, property);
}
/**
* Removes a node.
*/
}, {
key: 'remove',
value: function remove() {
if (this.isRemoved()) {
return;
}
NodePath.registry.delete(this.node);
this.node = null;
if (!this.parent) {
return;
}
// A node is in a collection.
if (this.index !== null) {
this.parent[this.property].splice(this.index, 1);
// If we remove a node before the traversing index,
// we should increase the later.
if (this.index <= NodePath.getTraversingIndex()) {
NodePath.updateTraversingIndex(-1);
}
// Rebuild index.
this._rebuildIndex(this.parent, this.property);
this.index = null;
this.property = null;
return;
}
// A simple node.
delete this.parent[this.property];
this.property = null;
}
/**
* Rebuilds child nodes index (used on remove/insert).
*/
}, {
key: '_rebuildIndex',
value: function _rebuildIndex(parent, property) {
var parentPath = NodePath.getForNode(parent);
for (var i = 0; i < parent[property].length; i++) {
var path = NodePath.getForNode(parent[property][i], parentPath, property, i);
path.index = i;
}
}
/**
* Whether the path was removed.
*/
}, {
key: 'isRemoved',
value: function isRemoved() {
return this.node === null;
}
/**
* Replaces a node with the passed one.
*/
}, {
key: 'replace',
value: function replace(newNode) {
NodePath.registry.delete(this.node);
this.node = newNode;
if (!this.parent) {
return null;
}
// A node is in a collection.
if (this.index !== null) {
this.parent[this.property][this.index] = newNode;
}
// A simple node.
else {
this.parent[this.property] = newNode;
}
// Rebuild the node path for the new node.
return NodePath.getForNode(newNode, this.parentPath, this.property, this.index);
}
/**
* Updates a node inline.
*/
}, {
key: 'update',
value: function update(nodeProps) {
Object.assign(this.node, nodeProps);
}
/**
* Returns parent.
*/
}, {
key: 'getParent',
value: function getParent() {
return this.parentPath;
}
/**
* Returns nth child.
*/
}, {
key: 'getChild',
value: function getChild() {
var n = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
if (this.node.expressions) {
return NodePath.getForNode(this.node.expressions[n], this, DEFAULT_COLLECTION_PROP, n);
} else if (this.node.expression && n == 0) {
return NodePath.getForNode(this.node.expression, this, DEFAULT_SINGLE_PROP);
}
return null;
}
/**
* Whether a path node is syntactically equal to the passed one.
*
* NOTE: we don't rely on `source` property from the `loc` data
* (which would be the fastest comparison), since it might be unsync
* after several modifications. We use here simple `JSON.stringify`
* excluding the `loc` data.
*
* @param NodePath other - path to compare to.
* @return boolean
*/
}, {
key: 'hasEqualSource',
value: function hasEqualSource(path) {
return JSON.stringify(this.node, jsonSkipLoc) === JSON.stringify(path.node, jsonSkipLoc);
}
/**
* JSON-encodes a node skipping location.
*/
}, {
key: 'jsonEncode',
value: function jsonEncode() {
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
format = _ref.format,
useLoc = _ref.useLoc;
return JSON.stringify(this.node, useLoc ? null : jsonSkipLoc, format);
}
/**
* Returns previous sibling.
*/
}, {
key: 'getPreviousSibling',
value: function getPreviousSibling() {
if (!this.parent || this.index == null) {
return null;
}
return NodePath.getForNode(this.parent[this.property][this.index - 1], NodePath.getForNode(this.parent), this.property, this.index - 1);
}
/**
* Returns next sibling.
*/
}, {
key: 'getNextSibling',
value: function getNextSibling() {
if (!this.parent || this.index == null) {
return null;
}
return NodePath.getForNode(this.parent[this.property][this.index + 1], NodePath.getForNode(this.parent), this.property, this.index + 1);
}
/**
* Returns a NodePath instance for a node.
*
* The same NodePath can be reused in several places, e.g.
* a parent node passed for all its children.
*/
}], [{
key: 'getForNode',
value: function getForNode(node) {
var parentPath = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
var prop = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
var index = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : -1;
if (!node) {
return null;
}
if (!NodePath.registry.has(node)) {
NodePath.registry.set(node, new NodePath(node, parentPath, prop, index == -1 ? null : index));
}
var path = NodePath.registry.get(node);
if (parentPath !== null) {
path.parentPath = parentPath;
path.parent = path.parentPath.node;
}
if (prop !== null) {
path.property = prop;
}
if (index >= 0) {
path.index = index;
}
return path;
}
/**
* Initializes the NodePath registry. The registry is a map from
* a node to its NodePath instance.
*/
}, {
key: 'initRegistry',
value: function initRegistry() {
if (!NodePath.registry) {
NodePath.registry = new Map();
}
NodePath.registry.clear();
}
/**
* Updates index of a currently traversing collection.
*/
}, {
key: 'updateTraversingIndex',
value: function updateTraversingIndex(dx) {
return NodePath.traversingIndexStack[NodePath.traversingIndexStack.length - 1] += dx;
}
/**
* Returns current traversing index.
*/
}, {
key: 'getTraversingIndex',
value: function getTraversingIndex() {
return NodePath.traversingIndexStack[NodePath.traversingIndexStack.length - 1];
}
}]);
return NodePath;
}();
NodePath$3.initRegistry();
/**
* Index of a currently traversing collection is stored on top of the
* `NodePath.traversingIndexStack`. Remove/insert methods can adjust
* this index.
*/
NodePath$3.traversingIndexStack = [];
// Helper function used to skip `loc` in JSON operations.
function jsonSkipLoc(prop, value) {
if (prop === 'loc') {
return undefined;
}
return value;
}
var nodePath = NodePath$3;
/**
* The MIT License (MIT)
* Copyright (c) 2017-present Dmitry Soshnikov <dmitry.soshnikov@gmail.com>
*/
var NodePath$2 = nodePath;
/**
* Does an actual AST traversal, using visitor pattern,
* and calling set of callbacks.
*
* Based on https://github.com/olov/ast-traverse
*
* Expects AST in Mozilla Parser API: nodes which are supposed to be
* handled should have `type` property.
*
* @param Object root - a root node to start traversal from.
*
* @param Object options - an object with set of callbacks:
*
* - `pre(node, parent, prop, index)` - a hook called on node enter
* - `post`(node, parent, prop, index) - a hook called on node exit
* - `skipProperty(prop)` - a predicated whether a property should be skipped
*/
function astTraverse(root) {
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
var pre = options.pre;
var post = options.post;
var skipProperty = options.skipProperty;
function visit(node, parent, prop, idx) {
if (!node || typeof node.type !== 'string') {
return;
}
var res = undefined;
if (pre) {
res = pre(node, parent, prop, idx);
}
if (res !== false) {
// A node can be replaced during traversal, so we have to
// recalculate it from the parent, to avoid traversing "dead" nodes.
if (parent && parent[prop]) {
if (!isNaN(idx)) {
node = parent[prop][idx];
} else {
node = parent[prop];
}
}
for (var _prop in node) {
if (node.hasOwnProperty(_prop)) {
if (skipProperty ? skipProperty(_prop, node) : _prop[0] === '$') {
continue;
}
var child = node[_prop];
// Collection node.
//
// NOTE: a node (or several nodes) can be removed or inserted
// during traversal.
//
// Current traversing index is stored on top of the
// `NodePath.traversingIndexStack`. The stack is used to support
// recursive nature of the traversal.
//
// In this case `NodePath.traversingIndex` (which we use here) is
// updated in the NodePath remove/insert methods.
//
if (Array.isArray(child)) {
var index = 0;
NodePath$2.traversingIndexStack.push(index);
while (index < child.length) {
visit(child[index], node, _prop, index);
index = NodePath$2.updateTraversingIndex(+1);
}
NodePath$2.traversingIndexStack.pop();
}
// Simple node.
else {
visit(child, node, _prop);
}
}
}
}
if (post) {
post(node, parent, prop, idx);
}
}
visit(root, null);
}
var traverse$1 = {
/**
* Traverses an AST.
*
* @param Object ast - an AST node
*
* @param Object | Array<Object> handlers:
*
* an object (or an array of objects)
*
* Each such object contains a handler function per node.
* In case of an array of handlers, they are applied in order.
* A handler may return a transformed node (or a different type).
*
* The per-node function may instead be an object with functions pre and post.
* pre is called before visiting the node, post after.
* If a handler is a function, it is treated as the pre function, with an empty post.
*
* @param Object options:
*
* a config object, specifying traversal options:
*
* `asNodes`: boolean - whether handlers should receives raw AST nodes
* (false by default), instead of a `NodePath` wrapper. Note, by default
* `NodePath` wrapper provides a set of convenient method to manipulate
* a traversing AST, and also has access to all parents list. A raw
* nodes traversal should be used in rare cases, when no `NodePath`
* features are needed.
*
* Special hooks:
*
* - `shouldRun(ast)` - a predicate determining whether the handler
* should be applied.
*
* NOTE: Multiple handlers are used as an optimization of applying all of
* them in one AST traversal pass.
*/
traverse: function traverse(ast, handlers) {
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : { asNodes: false };
if (!Array.isArray(handlers)) {
handlers = [handlers];
}
// Filter out handlers by result of `shouldRun`, if the method is present.
handlers = handlers.filter(function (handler) {
if (typeof handler.shouldRun !== 'function') {
return true;
}
return handler.shouldRun(ast);
});
NodePath$2.initRegistry();
// Allow handlers to initializer themselves.
handlers.forEach(function (handler) {
if (typeof handler.init === 'function') {
handler.init(ast);
}
});
function getPathFor(node, parent, prop, index) {
var parentPath = NodePath$2.getForNode(parent);
var nodePath = NodePath$2.getForNode(node, parentPath, prop, index);
return nodePath;
}
// Handle actual nodes.
astTraverse(ast, {
/**
* Handler on node enter.
*/
pre: function pre(node, parent, prop, index) {
var nodePath = void 0;
if (!options.asNodes) {
nodePath = getPathFor(node, parent, prop, index);
}
var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;
try {
for (var _iterator = handlers[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
var handler = _step.value;
// "Catch-all" `*` handler.
if (typeof handler['*'] === 'function') {
if (nodePath) {
// A path/node can be removed by some previous handler.
if (!nodePath.isRemoved()) {
var handlerResult = handler['*'](nodePath);
// Explicitly stop traversal.
if (handlerResult === false) {
return false;
}
}
} else {
handler['*'](node, parent, prop, index);
}
}
// Per-node handler.
var handlerFuncPre = void 0;
if (typeof handler[node.type] === 'function') {
handlerFuncPre = handler[node.type];
} else if (typeof handler[node.type] === 'object' && typeof handler[node.type].pre === 'function') {
handlerFuncPre = handler[node.type].pre;
}
if (handlerFuncPre) {
if (nodePath) {
// A path/node can be removed by some previous handler.
if (!nodePath.isRemoved()) {
var _handlerResult = handlerFuncPre.call(handler, nodePath);
// Explicitly stop traversal.
if (_handlerResult === false) {
return false;
}
}
} else {
handlerFuncPre.call(handler, node, parent, prop, index);
}
}
} // Loop over handlers
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
} finally {
try {
if (!_iteratorNormalCompletion && _iterator.return) {
_iterator.return();
}
} finally {
if (_didIteratorError) {
throw _iteratorError;
}
}
}
},
// pre func
/**
* Handler on node exit.
*/
post: function post(node, parent, prop, index) {
if (!node) {
return;
}
var nodePath = void 0;
if (!options.asNodes) {
nodePath = getPathFor(node, parent, prop, index);
}
var _iteratorNormalCompletion2 = true;
var _didIteratorError2 = false;
var _iteratorError2 = undefined;
try {
for (var _iterator2 = handlers[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
var handler = _step2.value;
// Per-node handler.
var handlerFuncPost = void 0;
if (typeof handler[node.type] === 'object' && typeof handler[node.type].post === 'function') {
handlerFuncPost = handler[node.type].post;
}
if (handlerFuncPost) {
if (nodePath) {
// A path/node can be removed by some previous handler.
if (!nodePath.isRemoved()) {
var handlerResult = handlerFuncPost.call(handler, nodePath);
// Explicitly stop traversal.
if (handlerResult === false) {
return false;
}
}
} else {
handlerFuncPost.call(handler, node, parent, prop, index);
}
}
} // Loop over handlers
} catch (err) {
_didIteratorError2 = true;
_iteratorError2 = err;
} finally {
try {
if (!_iteratorNormalCompletion2 && _iterator2.return) {
_iterator2.return();
}
} finally {
if (_didIteratorError2) {
throw _iteratorError2;
}
}
}
},
// post func
/**
* Skip locations by default.
*/
skipProperty: function skipProperty(prop) {
return prop === 'loc';
}
});
}
};
/**
* The MIT License (MIT)
* Copyright (c) 2017-present Dmitry Soshnikov <dmitry.soshnikov@gmail.com>
*/
var _createClass$5 = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
function _classCallCheck$5(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var generator$2 = generator_1;
var parser$3 = parser$4;
var traverse = traverse$1;
/**
* Transform result.
*/
var TransformResult = function () {
/**
* Initializes a transform result for an AST.
*
* @param Object ast - an AST node
* @param mixed extra - any extra data a transform may return
*/
function TransformResult(ast) {
var extra = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
_classCallCheck$5(this, TransformResult);
this._ast = ast;
this._source = null;
this._string = null;
this._regexp = null;
this._extra = extra;
}
_createClass$5(TransformResult, [{
key: 'getAST',
value: function getAST() {
return this._ast;
}
}, {
key: 'setExtra',
value: function setExtra(extra) {
this._extra = extra;
}
}, {
key: 'getExtra',
value: function getExtra() {
return this._extra;
}
}, {
key: 'toRegExp',
value: function toRegExp() {
if (!this._regexp) {
this._regexp = new RegExp(this.getSource(), this._ast.flags);
}
return this._regexp;
}
}, {
key: 'getSource',
value: function getSource() {
if (!this._source) {
this._source = generator$2.generate(this._ast.body);
}
return this._source;
}
}, {
key: 'getFlags',
value: function getFlags() {
return this._ast.flags;
}
}, {
key: 'toString',
value: function toString() {
if (!this._string) {
this._string = generator$2.generate(this._ast);
}
return this._string;
}
}]);
return TransformResult;
}();
var transform$1 = {
/**
* Expose `TransformResult`.
*/
TransformResult: TransformResult,
/**
* Transforms a regular expression applying a set of
* transformation handlers.
*
* @param string | AST | RegExp:
*
* a regular expression in different representations: a string,
* a RegExp object, or an AST.
*
* @param Object | Array<Object>:
*
* a handler (or a list of handlers) from `traverse` API.
*
* @return TransformResult instance.
*
* Example:
*
* transform(/[a-z]/i, {
* onChar(path) {
* const {node} = path;
*
* if (...) {
* path.remove();
* }
* }
* });
*/
transform: function transform(regexp, handlers) {
var ast = regexp;
if (regexp instanceof RegExp) {
regexp = '' + regexp;
}
if (typeof re
gitextract_u4deu1ua/
├── .obsidian/
│ ├── app.json
│ ├── appearance.json
│ ├── community-plugins.json
│ ├── core-plugins.json
│ ├── graph.json
│ ├── hotkeys.json
│ ├── plugins/
│ │ ├── awesome-image/
│ │ │ ├── data.json
│ │ │ ├── main.js
│ │ │ ├── manifest.json
│ │ │ └── styles.css
│ │ ├── i18n/
│ │ │ ├── data.json
│ │ │ ├── main.js
│ │ │ ├── manifest.json
│ │ │ └── styles.css
│ │ ├── obsidian-custom-attachment-location/
│ │ │ ├── data.json
│ │ │ ├── duplicate.js
│ │ │ ├── lang/
│ │ │ │ ├── state.json
│ │ │ │ └── zh-cn.json
│ │ │ ├── main.js
│ │ │ └── manifest.json
│ │ ├── obsidian-git/
│ │ │ ├── data.json
│ │ │ ├── duplicate.js
│ │ │ ├── lang/
│ │ │ │ ├── state.json
│ │ │ │ └── zh-cn.json
│ │ │ ├── main.js
│ │ │ ├── manifest.json
│ │ │ ├── obsidian_askpass.sh
│ │ │ └── styles.css
│ │ ├── obsidian-style-settings/
│ │ │ ├── data.json
│ │ │ ├── main.js
│ │ │ ├── manifest.json
│ │ │ └── styles.css
│ │ └── obsidian42-brat/
│ │ ├── data.json
│ │ ├── main.js
│ │ ├── manifest.json
│ │ └── styles.css
│ ├── themes/
│ │ └── Blue Topaz/
│ │ ├── manifest.json
│ │ └── theme.css
│ ├── workspace.json
│ └── workspaces.json
├── Algorithm/
│ ├── 2d激光雷达运动补偿方法(去畸变).md
│ ├── IMU预积分.md
│ ├── ORBSLAM3学习.md
│ ├── ROS2_command.md
│ ├── ROS2的Launch文件简介.md
│ ├── ROSNodehandle句柄的理解.md
│ ├── ROSparam的使用.md
│ ├── ROS激光雷达信息、点云信息和PCL信息之间的转换.md
│ ├── Ros中Remap(话题重映射)的两种使用方法.md
│ ├── SLAM中的位姿变换与轨迹评价指标.md
│ ├── SVD与非线性优化在最小二乘问题中的区别.md
│ ├── Theta_star-Any-Angle-Path-Planning-on-Grids.md
│ ├── Voronoi Graph.md
│ ├── cartographer相关参数解析.md
│ ├── media/
│ │ ├── 20150410185658311
│ │ ├── 20150410190429698
│ │ ├── 20150410190447182
│ │ ├── 20150410190527758
│ │ ├── 20150410190553592
│ │ ├── 20150410190721891
│ │ ├── 20150410190821152
│ │ ├── 20150410190936610
│ │ ├── 20150410191017918
│ │ ├── 20150410191146168
│ │ ├── 20150410192038912
│ │ ├── 20150410192044388
│ │ ├── 20160519202841069
│ │ ├── 20180524193644787
│ │ ├── 20180524193731616
│ │ ├── 20180524193743628
│ │ ├── c75c10385343fbf2601562e25509718764388fb2.jpeg@f_auto
│ │ └── math
│ ├── ros2_cost_function.md
│ ├── 为什么使用齐次坐标.md
│ ├── 二维空间中的点坐标旋转关系.md
│ ├── 匈牙利算法.md
│ ├── 协方差矩阵.md
│ ├── 单目视觉的尺度等价性.md
│ ├── 占据栅格地图构建.md
│ ├── 双目立体视觉SAD匹配算法.md
│ ├── 向量积(矢积)与数量积(标积)的区别.md
│ ├── 多元函数的泰勒展开式.md
│ ├── 多维高斯分布.md
│ ├── 局部规划算法DWA.md
│ ├── 归一化与标准化.md
│ ├── 旋转下激光雷达数据与地图产生错位的问题.md
│ ├── 本质矩阵基础矩阵的自由度及其解法.md
│ ├── 欧拉角与坐标系旋转变换.md
│ ├── 正态分布.md
│ ├── 激光雷达与相机外参联合标定调研.md
│ ├── 激光雷达性能指标.md
│ ├── 灰度质心法.md
│ ├── 相机参数DKPR的解释.md
│ ├── 矩阵的奇异值分解.md
│ ├── 超定方程组的最小二乘解.md
│ ├── 路径规划之A-star算法.md
│ ├── 重投影误差.md
│ ├── 雅克比矩阵和海塞矩阵.md
│ └── 高斯牛顿法.md
├── C++/
│ ├── C++11chrono库.md
│ ├── C++下const增强.md
│ ├── CMakeLists简易模板.md
│ ├── CMakelists基础指令.md
│ ├── EigenGeometry.md
│ ├── Eigen几何模块的引入.md
│ ├── Find_package.md
│ ├── GoogleTest.md
│ ├── Opencv_Mat.md
│ ├── Protocol_Buffers基本使用.md
│ ├── ROS指令.md
│ ├── STL容器使用时机.md
│ ├── boostcondition_variable.md
│ ├── c++_boost_circular_buffer.md
│ ├── c++并发与多线程.md
│ ├── cin与get()getline()输入问题.md
│ ├── const成员函数.md
│ ├── gflags使用.md
│ ├── media/
│ │ ├── 20170322112825204
│ │ ├── 20170322113142191
│ │ ├── 20170322113220859
│ │ ├── 20170322113301504
│ │ ├── 20170322113321860
│ │ └── 20170322113338489
│ ├── string和cstring头文件的区别.md
│ ├── 二叉树遍历.md
│ ├── 内联函数.md
│ ├── 函数指针的定义方式.md
│ ├── 单例模式.md
│ ├── 如何正确使用resize和reserve.md
│ ├── 左值与右值.md
│ ├── 常用函数.md
│ ├── 常规函数与内联函数.md
│ ├── 数据类型字节数.md
│ ├── 构造函数的调用时机.md
│ ├── 类知识点.md
│ ├── 计算时间.md
│ ├── 设计模式之生产者-消费者模型.md
│ └── 转换.md
├── Linux/
│ ├── Shell的变量功能.md
│ └── 认识BASH这个Shell.md
├── QT/
│ ├── QT迁移项目后显示修改时间大于当前时间.md
│ ├── Qt点击按钮进行页面的切换.md
│ ├── 基于arm架构的NVIDIA_Xavier安装Qt.md
│ └── 项目默认文件介绍.md
├── README.md
├── command/
│ ├── Docker简要教程.md
│ ├── Git_Command.md
│ ├── Git中submodule的使用.md
│ ├── LIO-SAM运行.md
│ ├── Orb-slam2运行.md
│ ├── ROS查看ZED节点效果.md
│ ├── Ubuntu-xavier.md
│ ├── Xsens传感器调用.md
│ ├── git_cherry-pick.md
│ └── git_rebase的两种用法.md
├── slam_config/
│ ├── Matlab标定单目相机内参.md
│ ├── Rosdep_update_failed.md
│ ├── Ubuntu18.04环境配置.md
│ ├── VSCode使用Clangd.md
│ ├── turbot建图导航算法汇总.md
│ ├── ubuntu18.04系统下安装turtlebot2.md
│ ├── windows下orb和hfnet安装.md
│ ├── xavier装机文档.md
│ ├── 基于ROS的opencv安装与卸载.md
│ ├── 激光雷达与IMU联合标定(lidar_IMU_calib).md
│ └── 轨迹评估介绍与evo工具使用.md
└── something_else/
├── media/
│ └── 640
├── stable-diffusion-webui手动安装详细步骤.md
├── 如何在Linux中使用Clash.md
└── 获取Office2021安装包及相关激活工具.md
Showing preview only (669K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (7046 symbols across 8 files)
FILE: .obsidian/plugins/awesome-image/main.js
function _interopDefaultLegacy (line 37) | function _interopDefaultLegacy (e) { return e && typeof e === 'object' &...
function __awaiter (line 77) | function __awaiter(thisArg, _arguments, P, generator) {
function t (line 436) | function t(str) {
constant ZOOM_FACTOR (line 443) | const ZOOM_FACTOR = 0.8;
constant IMG_VIEW_MIN (line 444) | const IMG_VIEW_MIN = 30;
constant ICONS (line 445) | const ICONS = [{
constant SEPARATOR_SYMBOL (line 449) | const SEPARATOR_SYMBOL = "---";
constant TOOLBAR_CONF (line 450) | const TOOLBAR_CONF = [{
constant IMG_FULL_SCREEN_MODE (line 540) | const IMG_FULL_SCREEN_MODE = {
constant VIEW_IMG_SELECTOR (line 545) | const VIEW_IMG_SELECTOR = {
constant IMG_BORDER_WIDTH (line 553) | const IMG_BORDER_WIDTH = {
constant IMG_BORDER_STYLE (line 558) | const IMG_BORDER_STYLE = {
constant IMG_BORDER_COLOR (line 570) | const IMG_BORDER_COLOR = {
constant GALLERY_NAVBAR_DEFAULT_COLOR (line 591) | const GALLERY_NAVBAR_DEFAULT_COLOR = '#0000001A';
constant GALLERY_NAVBAR_HOVER_COLOR (line 592) | const GALLERY_NAVBAR_HOVER_COLOR = '#0000004D';
constant GALLERY_IMG_BORDER_ACTIVE_COLOR (line 593) | const GALLERY_IMG_BORDER_ACTIVE_COLOR = '#FF0000';
constant MODIFIER_HOTKEYS (line 594) | const MODIFIER_HOTKEYS = {
constant MOVE_THE_IMAGE (line 604) | const MOVE_THE_IMAGE = {
constant SWITCH_THE_IMAGE (line 609) | const SWITCH_THE_IMAGE = {
constant IMG_DEFAULT_BACKGROUND_COLOR (line 614) | const IMG_DEFAULT_BACKGROUND_COLOR = '#00000000';
function getDefaultExportFromCjs (line 618) | function getDefaultExportFromCjs (x) {
function getAugmentedNamespace (line 622) | function getAugmentedNamespace(n) {
function n (line 648) | function n(t,e,o,n,i={}){e instanceof HTMLCollection||e instanceof NodeL...
function r (line 648) | function r(t){const e=document.createElement("div");return e.innerHTML=t...
function a (line 648) | function a(t){const e=(t,e)=>{const o=t.getAttribute(e);return t.removeA...
function l (line 648) | function l(t){let e=t.path||t.composedPath&&t.composedPath();if(e)return...
function c (line 648) | function c(t){return t instanceof Element?t:"string"==typeof t?t.split(/...
function p (line 648) | function p(t,e=(t=>t)){function o(o){const n=[.001,.01,.1][Number(o.shif...
function f (line 648) | function f(t,e,o){e/=100,o/=100;const n=d(t=t/360*6),i=t-n,s=o*(1-e),r=o...
function v (line 648) | function v(t,e,o){const n=(2-(e/=100))*(o/=100)/2;return 0!==n&&(e=1===n...
function b (line 648) | function b(t,e,o){const n=u(t/=255,e/=255,o/=255),i=h(t,e,o),s=i-n;let r...
function y (line 648) | function y(t,e,o,n){e/=100,o/=100;return [...b(255*(1-u(1,(t/=100)*(1-(n...
function g (line 648) | function g(t,e,o){e/=100;const n=2*(e*=(o/=100)<.5?o:1-o)/(o+e)*100,i=10...
function _ (line 648) | function _(t){return b(...t.match(/.{2}/g).map((t=>parseInt(t,16))))}
function w (line 648) | function w(t){t=t.match(/^[a-zA-Z]+$/)?function(t){if("black"===t.toLowe...
function A (line 648) | function A(t=0,e=0,o=0,n=1){const i=(t,e)=>(o=-1)=>e(~o?t.map((t=>Number...
function C (line 648) | function C(t){const e={options:Object.assign({lock:null,onchange:()=>0,o...
function k (line 648) | function k(t={}){t=Object.assign({onchange:()=>0,className:"",elements:[...
method update (line 648) | update(t=n){const{reference:e,popper:o}=Object.assign(n,t);if(!o||!e)thr...
class E (line 648) | class E{static utils=o;static version="1.9.0";static I18N_DEFAULTS={"ui:...
method constructor (line 648) | constructor(t){this.options=t=Object.assign({...E.DEFAULT_OPTIONS},t);...
method _preBuild (line 648) | _preBuild(){const{options:t}=this;for(const e of ["el","container"])t[...
method _finalBuild (line 648) | _finalBuild(){const t=this.options,e=this._root;if(t.container.removeC...
method _buildComponents (line 648) | _buildComponents(){const t=this,e=this.options.components,o=(t.options...
method _bindEvents (line 648) | _bindEvents(){const{_root:t,options:e}=this,o=[i(t.interaction.clear,"...
method _rePositioningPicker (line 648) | _rePositioningPicker(){const{options:t}=this;if(!t.inline){if(!this._n...
method _updateOutput (line 648) | _updateOutput(t){const{_root:e,_color:o,options:n}=this;if(e.interacti...
method _clearColor (line 648) | _clearColor(t=!1){const{_root:e,options:o}=this;o.useAsButton||e.butto...
method _parseLocalColor (line 648) | _parseLocalColor(t){const{values:e,type:o,a:n}=w(t),{lockOpacity:i}=th...
method _t (line 648) | _t(t){return this.options.i18n[t]||E.I18N_DEFAULTS[t]}
method _emit (line 648) | _emit(t,...e){this._eventListener[t].forEach((t=>t(...e,this)));}
method on (line 648) | on(t,e){return this._eventListener[t].push(e),this}
method off (line 648) | off(t,e){const o=this._eventListener[t]||[],n=o.indexOf(e);return ~n&&...
method addSwatch (line 648) | addSwatch(t){const{values:e}=this._parseLocalColor(t);if(e){const{_swa...
method removeSwatch (line 648) | removeSwatch(t){const e=this._swatchColors[t];if(e){const{el:o}=e;retu...
method applyColor (line 648) | applyColor(t=!1){const{preview:e,button:o}=this._root,n=this._color.to...
method destroy (line 648) | destroy(){cancelAnimationFrame(this._setupAnimationFrame),this._eventB...
method destroyAndRemove (line 648) | destroyAndRemove(){this.destroy();const{root:t,app:e}=this._root;t.par...
method hide (line 648) | hide(){return !!this.isOpen()&&(this._root.app.classList.remove("visib...
method show (line 648) | show(){return !this.options.disabled&&!this.isOpen()&&(this._root.app....
method isOpen (line 648) | isOpen(){return this._root.app.classList.contains("visible")}
method setHSVA (line 648) | setHSVA(t=360,e=0,o=0,n=1,i=!1){const s=this._recalc;if(this._recalc=!...
method setColor (line 648) | setColor(t,e=!1){if(null===t)return this._clearColor(e),!0;const{value...
method setColorRepresentation (line 648) | setColorRepresentation(t){return t=t.toUpperCase(),!!this._root.intera...
method getColorRepresentation (line 648) | getColorRepresentation(){return this._representation}
method getColor (line 648) | getColor(){return this._color}
method getSelectedColor (line 648) | getSelectedColor(){return this._lastColor}
method getRoot (line 648) | getRoot(){return this._root}
method disable (line 648) | disable(){return this.hide(),this.options.disabled=!0,this._root.butto...
method enable (line 648) | enable(){return this.options.disabled=!1,this._root.button.classList.r...
class AnalyzerOptions (line 655) | class AnalyzerOptions {
method constructor (line 656) | constructor(heuristic_replimit) {
class Analyzer (line 662) | class Analyzer {
method constructor (line 663) | constructor(analyzerOptions) {
method isVulnerable (line 669) | isVulnerable(regExp) {
method genAttackString (line 675) | genAttackString(regExp) {
method pre (line 708) | pre({ node }) {
method post (line 717) | post({ node }) {
function gen$1 (line 906) | function gen$1(node) {
function inverseMap (line 1340) | function inverseMap(data) {
function isValidName (line 1360) | function isValidName(name) {
function isValidValue (line 1364) | function isValidValue(name, value) {
function isAlias (line 1376) | function isAlias(name) {
function isGeneralCategoryName (line 1380) | function isGeneralCategoryName(name) {
function isScriptCategoryName (line 1384) | function isScriptCategoryName(name) {
function isGeneralCategoryValue (line 1388) | function isGeneralCategoryValue(value) {
function isScriptCategoryValue (line 1392) | function isScriptCategoryValue(value) {
function isBinaryPropertyName (line 1396) | function isBinaryPropertyName(name) {
function getCanonicalName (line 1400) | function getCanonicalName(name) {
function getCanonicalValue (line 1412) | function getCanonicalValue(value) {
function sliceIterator (line 1472) | function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = ...
function _toConsumableArray$8 (line 1474) | function _toConsumableArray$8(arr) { if (Array.isArray(arr)) { for (var ...
function yyloc (line 1493) | function yyloc(start, end) {
function getRange (line 2397) | function getRange(text) {
function checkClassRange (line 2410) | function checkClassRange(from, to) {
function UnicodeProperty (line 2423) | function UnicodeProperty(matched, loc) {
function Char (line 2471) | function Char(value, kind, loc) {
function checkFlags (line 2578) | function checkFlags(flags) {
function GroupRefOrDecChar (line 2616) | function GroupRefOrDecChar(text, textLoc) {
function validateUnicodeGroupName (line 2641) | function validateUnicodeGroupName(name, state) {
function decodeUnicodeGroupName (line 2675) | function decodeUnicodeGroupName(name) {
function NamedGroupRefOrChars (line 2703) | function NamedGroupRefOrChars(text, textLoc) {
function Node (line 2794) | function Node(node, loc) {
function loc (line 2816) | function loc(start, end) {
function unexpectedToken (line 2831) | function unexpectedToken(token) {
function unexpectedEndOfInput (line 2839) | function unexpectedEndOfInput() {
function parseError (line 2843) | function parseError(message) {
function defineProperties (line 2881) | function defineProperties(target, props) { for (var i = 0; i < props.len...
function _classCallCheck$6 (line 2883) | function _classCallCheck$6(instance, Constructor) { if (!(instance insta...
function NodePath (line 2904) | function NodePath(node) {
function jsonSkipLoc (line 3292) | function jsonSkipLoc(prop, value) {
function astTraverse (line 3325) | function astTraverse(root) {
function getPathFor (line 3462) | function getPathFor(node, parent, prop, index) {
function defineProperties (line 3618) | function defineProperties(target, props) { for (var i = 0; i < props.len...
function _classCallCheck$5 (line 3620) | function _classCallCheck$5(instance, Constructor) { if (!(instance insta...
function TransformResult (line 3637) | function TransformResult(ast) {
function isSimpleRange (line 3909) | function isSimpleRange(classRange) {
function isPrintableASCIIChar (line 3922) | function isPrintableASCIIChar(codePoint) {
function needsEscape (line 3926) | function needsEscape(symbol, parentType) {
function isAZClassRange (line 3992) | function isAZClassRange(classRange) {
function displaySymbolAsValue (line 4000) | function displaySymbolAsValue(symbol, node) {
function getSurrogatePairFromCodePoint (line 4036) | function getSurrogatePairFromCodePoint(codePoint) {
function _toConsumableArray$7 (line 4090) | function _toConsumableArray$7(arr) { if (Array.isArray(arr)) { for (var ...
function disjunctionToList$1 (line 4092) | function disjunctionToList$1(node) {
function listToDisjunction$1 (line 4115) | function listToDisjunction$1(list) {
function increaseQuantifierByOne$2 (line 4135) | function increaseQuantifierByOne$2(quantifier) {
function isGreedyOpenRange (line 4253) | function isGreedyOpenRange(quantifier) {
function extractFromTo (line 4257) | function extractFromTo(quantifier) {
function rewriteOpenZero (line 4314) | function rewriteOpenZero(path) {
function rewriteOpenOne (line 4326) | function rewriteOpenOne(path) {
function rewriteExactOne (line 4338) | function rewriteExactOne(path) {
function _toConsumableArray$6 (line 4388) | function _toConsumableArray$6(arr) { if (Array.isArray(arr)) { for (var ...
function rewriteNumberRanges (line 4412) | function rewriteNumberRanges(path) {
function rewriteWordRanges (line 4432) | function rewriteWordRanges(path, hasIFlag, hasUFlag) {
function rewriteWhitespaceRanges (line 4512) | function rewriteWhitespaceRanges(path) {
function isFullNumberRange (line 4544) | function isFullNumberRange(node) {
function isChar (line 4548) | function isChar(node, value) {
function isMetaChar (line 4554) | function isMetaChar(node, value) {
function isLowerCaseRange (line 4558) | function isLowerCaseRange(node) {
function isUpperCaseRange (line 4562) | function isUpperCaseRange(node) {
function isUnderscore (line 4566) | function isUnderscore(node) {
function isCodePoint (line 4570) | function isCodePoint(node, codePoint) {
function isAppropriateChar (line 4620) | function isAppropriateChar(node) {
function isMeta$1 (line 4627) | function isMeta$1(value) {
function getInverseMeta (line 4632) | function getInverseMeta(value) {
function hasAppropriateSiblings$1 (line 4637) | function hasAppropriateSiblings$1(path) {
function shouldEscape (line 4666) | function shouldEscape(value) {
function shouldUnescape (line 4703) | function shouldUnescape(path, hasXFlag) {
function preservesInCharClass (line 4720) | function preservesInCharClass(value, index, parent) {
function preservesEscape (line 4733) | function preservesEscape(value, index, parent, hasXFlag) {
function consumeNumbers (line 4750) | function consumeNumbers(startIndex, parent, rtl) {
function isSimpleChar (line 4762) | function isSimpleChar(node, value) {
function preservesOpeningCurlyBraceEscape (line 4766) | function preservesOpeningCurlyBraceEscape(index, parent) {
function preservesClosingCurlyBraceEscape (line 4794) | function preservesClosingCurlyBraceEscape(index, parent) {
function sortCharClass (line 4879) | function sortCharClass(a, b) {
function getSortValue (line 4906) | function getSortValue(expression) {
function isMeta (line 4929) | function isMeta(expression) {
function isControl (line 4939) | function isControl(expression) {
function fitsInMetas (line 4949) | function fitsInMetas(expression, metas, hasIUFlags) {
function fitsInMeta (line 4964) | function fitsInMeta(expression, meta, hasIUFlags) {
function fitsInMetaS (line 5016) | function fitsInMetaS(expression) {
function fitsInMetaD (line 5038) | function fitsInMetaD(expression) {
function fitsInMetaW (line 5047) | function fitsInMetaW(expression, hasIUFlags) {
function combinesWithPrecedingClassRange (line 5058) | function combinesWithPrecedingClassRange(expression, classRange) {
function combinesWithFollowingClassRange (line 5091) | function combinesWithFollowingClassRange(expression, classRange) {
function fitsInClassRange (line 5112) | function fitsInClassRange(expression, classRange) {
function charCombinesWithPrecedingChars (line 5128) | function charCombinesWithPrecedingChars(expression, index, expressions) {
function isMetaWCharOrCode (line 5156) | function isMetaWCharOrCode(expression) {
function shouldProcess (line 5263) | function shouldProcess(expression, charset) {
function _toConsumableArray$5 (line 5342) | function _toConsumableArray$5(arr) { if (Array.isArray(arr)) { for (var ...
function hasAppropriateSiblings (line 5389) | function hasAppropriateSiblings(path) {
function _toConsumableArray$4 (line 5421) | function _toConsumableArray$4(arr) { if (Array.isArray(arr)) { for (var ...
function combineRepeatingPatternLeft (line 5467) | function combineRepeatingPatternLeft(alternative, child, index) {
function combineWithPreviousRepetition (line 5524) | function combineWithPreviousRepetition(alternative, child, index) {
function combineRepetitionWithPrevious (line 5569) | function combineRepetitionWithPrevious(alternative, child, index) {
function sliceIterator (line 5779) | function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = ...
function defineProperties (line 5781) | function defineProperties(target, props) { for (var i = 0; i < props.len...
function _toConsumableArray$3 (line 5783) | function _toConsumableArray$3(arr) { if (Array.isArray(arr)) { for (var ...
function _classCallCheck$4 (line 5785) | function _classCallCheck$4(instance, Constructor) { if (!(instance insta...
function NFA (line 5805) | function NFA(inState, outState) {
function sliceIterator (line 6018) | function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = ...
function _toArray (line 6020) | function _toArray(arr) { return Array.isArray(arr) ? arr : Array.from(ar...
function _toConsumableArray$2 (line 6022) | function _toConsumableArray$2(arr) { if (Array.isArray(arr)) { for (var ...
function minimize (line 6031) | function minimize(dfa) {
function sameRow (line 6334) | function sameRow(r1, r2) {
function areEquivalent (line 6363) | function areEquivalent(s1, s2, table, alphabet) {
function goToSameSet (line 6397) | function goToSameSet(s1, s2, table, symbol) {
function defineProperties (line 6423) | function defineProperties(target, props) { for (var i = 0; i < props.len...
function _toConsumableArray$1 (line 6425) | function _toConsumableArray$1(arr) { if (Array.isArray(arr)) { for (var ...
function _classCallCheck$3 (line 6427) | function _classCallCheck$3(instance, Constructor) { if (!(instance insta...
function DFA (line 6440) | function DFA(nfa) {
function defineProperties (line 6809) | function defineProperties(target, props) { for (var i = 0; i < props.len...
function _classCallCheck$2 (line 6811) | function _classCallCheck$2(instance, Constructor) { if (!(instance insta...
function State (line 6814) | function State() {
function defineProperties (line 6882) | function defineProperties(target, props) { for (var i = 0; i < props.len...
function _classCallCheck$1 (line 6884) | function _classCallCheck$1(instance, Constructor) { if (!(instance insta...
function _possibleConstructorReturn (line 6886) | function _possibleConstructorReturn(self, call) { if (!self) { throw new...
function _inherits (line 6888) | function _inherits(subClass, superClass) { if (typeof superClass !== "fu...
function NFAState (line 6906) | function NFAState() {
function char$1 (line 7119) | function char$1(c) {
function e (line 7138) | function e() {
function altPair (line 7150) | function altPair(first, second) {
function alt$1 (line 7164) | function alt$1(first) {
function orPair (line 7203) | function orPair(first, second) {
function or$1 (line 7225) | function or$1(first) {
function repExplicit (line 7266) | function repExplicit(fragment) {
function rep$1 (line 7287) | function rep$1(fragment) {
function plusRep$1 (line 7297) | function plusRep$1(fragment) {
function questionRep$1 (line 7306) | function questionRep$1(fragment) {
function _toConsumableArray (line 7327) | function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i ...
function gen (line 7344) | function gen(node) {
function defineProperties (line 7488) | function defineProperties(target, props) { for (var i = 0; i < props.len...
function _classCallCheck (line 7490) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
function RegExpTree (line 7507) | function RegExpTree(re, _ref) {
class HeuristicAnalyzer (line 7790) | class HeuristicAnalyzer extends analyzer$1.Analyzer {
method constructor (line 7791) | constructor(analyzerOptions) {
method isVulnerable (line 7795) | isVulnerable(regExp) {
method genAttackString (line 7812) | genAttackString(regExp) {
method _measureStarHeight (line 7816) | _measureStarHeight(regExp) {
method _measureRepetitions (line 7840) | _measureRepetitions(regExp) {
constant DEFAULT_SAFE_REP_LIMIT (line 7866) | const DEFAULT_SAFE_REP_LIMIT = 25;
constant RET_IS_SAFE (line 7867) | const RET_IS_SAFE = true;
constant RET_IS_VULNERABLE (line 7868) | const RET_IS_VULNERABLE = false;
class Args (line 7870) | class Args {
method constructor (line 7871) | constructor(regExp, analyzerOptions) {
function safeRegex (line 7877) | function safeRegex(re, opts) {
function buildArgs (line 7894) | function buildArgs(re, opts) {
function askAnalyzersIfVulnerable (line 7915) | function askAnalyzersIfVulnerable(args) {
constant DEFAULT_SETTINGS (line 7937) | const DEFAULT_SETTINGS = {
class ImageToolkitSettingTab (line 7969) | class ImageToolkitSettingTab extends obsidian.PluginSettingTab {
method constructor (line 7970) | constructor(app, plugin) {
method display (line 7974) | display() {
method switchSettingsDisabled (line 8310) | switchSettingsDisabled(disabled, ...settings) {
method createPickrSetting (line 8315) | createPickrSetting(containerEl, name, defaultColor) {
method setAndSavePickrSetting (line 8385) | setAndSavePickrSetting(name, savedColor) {
method getDropdownOptions (line 8402) | getDropdownOptions() {
method checkDropdownOptions (line 8410) | checkDropdownOptions(code, setting) {
class ImgStatusCto (line 8428) | class ImgStatusCto {
method constructor (line 8429) | constructor() {
class ImgInfoCto (line 8444) | class ImgInfoCto {
method constructor (line 8445) | constructor() {
class ImgCto (line 8457) | class ImgCto {
method constructor (line 8458) | constructor(index, mtime, imgViewEl) {
class ImgUtil (line 8491) | class ImgUtil {
method copyText (line 8492) | static copyText(text) {
method copyImage (line 8501) | static copyImage(imgEle, width, height) {
class ContainerView (line 8635) | class ContainerView {
method constructor (line 8636) | constructor(plugin, containerType, pinMaximum) {
function Md5 (line 9419) | function Md5() {
class FileCto (line 9615) | class FileCto {
method constructor (line 9616) | constructor(path, ctime, mtime) {
class GalleryImgCto (line 9623) | class GalleryImgCto {
method constructor (line 9624) | constructor(alt, src) {
class GalleryImgCacheCto (line 9629) | class GalleryImgCacheCto {
method constructor (line 9630) | constructor(file, galleryImgList, mtime) {
constant IMAGE_LINK_REGEX1 (line 9699) | const IMAGE_LINK_REGEX1 = /\[\s*?(!\[(.*?)\]\((.*?)\))\s*?\]\(.*?\)/;
constant IMAGE_REGEX1 (line 9700) | const IMAGE_REGEX1 = /!\[(.*?)\]\((.*?)\)/;
constant IMAGE_LINK_REGEX2 (line 9701) | const IMAGE_LINK_REGEX2 = /\[\s*?(!\[\[(.*?[jpe?g|png|gif|svg|bmp].*?)\]...
constant IMAGE_REGEX2 (line 9702) | const IMAGE_REGEX2 = /!\[\[(.*?[jpe?g|png|gif|svg|bmp].*?)\]\]/i;
constant SRC_LINK_REGEX (line 9703) | const SRC_LINK_REGEX = /[a-z][a-z0-9+\-.]+:\/.*/i;
constant SRC_IMG_REGREX (line 9704) | const SRC_IMG_REGREX = /.*?\.jpe?g|png|gif|svg|bmp/i;
constant IMG_TAG_LINK_SRC_REGEX (line 9705) | const IMG_TAG_LINK_SRC_REGEX = /<a.*?(<img.*?src=[\'"](.*?)[\'"].*?\/?>)...
constant IMG_TAG_SRC_REGEX (line 9706) | const IMG_TAG_SRC_REGEX = /<img.*?src=[\'"](.*?)[\'"].*?\/?>/i;
constant IMG_TAG_ALT_REGEX (line 9707) | const IMG_TAG_ALT_REGEX = /<img.*?alt=[\'"](.*?)[\'"].*?\/?>/i;
constant FULL_PATH_REGEX (line 9708) | const FULL_PATH_REGEX = /^[a-z]\:.*?[jpe?g|png|gif|svg|bmp]/i;
constant BLOCKQUOTE_PREFIX (line 9709) | const BLOCKQUOTE_PREFIX = `#^`;
constant IMG_MATCH_MIN_LEN (line 9710) | const IMG_MATCH_MIN_LEN = 7;
class GalleryNavbarView (line 9863) | class GalleryNavbarView {
method constructor (line 9864) | constructor(mainContainerView, plugin) {
class MainContainerView (line 10219) | class MainContainerView extends ContainerView {
method constructor (line 10220) | constructor(plugin, containerType) {
method setActiveImgForMouseEvent (line 10333) | setActiveImgForMouseEvent(imgCto) {
class MenuView (line 10337) | class MenuView {
method constructor (line 10338) | constructor(pinContainerView) {
class PinContainerView (line 10375) | class PinContainerView extends ContainerView {
method constructor (line 10376) | constructor(plugin, containerType) {
method setActiveImgForMouseEvent (line 10478) | setActiveImgForMouseEvent(imgCto) {
constant EXTERNAL_MEDIA_LINK_PATTERN (line 10483) | const EXTERNAL_MEDIA_LINK_PATTERN = /\!\[(?<anchor>.*?)\]\((?<link>.+?)\...
constant NOTICE_TIMEOUT (line 10484) | const NOTICE_TIMEOUT = 10 * 1000;
constant TIMEOUT_LIKE_INFINITY (line 10485) | const TIMEOUT_LIKE_INFINITY = 24 * 60 * 60 * 1000;
constant FORBIDDEN_SYMBOLS_FILENAME_PATTERN (line 10486) | const FORBIDDEN_SYMBOLS_FILENAME_PATTERN = /\s+/g;
constant IMAGE_EXTS_LOWER (line 10487) | const IMAGE_EXTS_LOWER = ["jpg", "jpeg", "png", "gif", "svg", "bmp", "ti...
constant OB_PASTED_IMAGE_PREFIX (line 10488) | const OB_PASTED_IMAGE_PREFIX = 'Pasted image ';
function requireStream (line 10498) | function requireStream () {
function requireBuffer_list (line 10510) | function requireBuffer_list () {
function requireDestroy (line 10701) | function requireDestroy () {
function requireErrors (line 10806) | function requireErrors () {
function requireState (line 10930) | function requireState () {
function requireInherits_browser (line 10963) | function requireInherits_browser () {
function requireInherits (line 10998) | function requireInherits () {
function requireNode (line 11018) | function requireNode () {
function require_stream_writable (line 11032) | function require_stream_writable () {
function require_stream_duplex (line 11648) | function require_stream_duplex () {
function requireSafeBuffer (line 11761) | function requireSafeBuffer () {
function requireString_decoder (line 11835) | function requireString_decoder () {
function requireEndOfStream (line 12117) | function requireEndOfStream () {
function requireAsync_iterator (line 12208) | function requireAsync_iterator () {
function requireFrom (line 12396) | function requireFrom () {
function require_stream_readable (line 12456) | function require_stream_readable () {
function require_stream_transform (line 13470) | function require_stream_transform () {
function require_stream_passthrough (line 13605) | function require_stream_passthrough () {
function requirePipeline (line 13625) | function requirePipeline () {
class ReadableWebToNodeStream (line 13741) | class ReadableWebToNodeStream extends readable_stream_1.Readable {
method constructor (line 13746) | constructor(stream) {
method _read (line 13758) | async _read() {
method waitForReadToComplete (line 13781) | async waitForReadToComplete() {
method close (line 13789) | async close() {
method syncAndRelease (line 13792) | async syncAndRelease() {
function dv (line 13801) | function dv(array) {
constant UINT8 (line 13807) | const UINT8 = {
method get (line 13809) | get(array, offset) {
method put (line 13812) | put(array, offset, value) {
constant UINT16_LE (line 13820) | const UINT16_LE = {
method get (line 13822) | get(array, offset) {
method put (line 13825) | put(array, offset, value) {
constant UINT16_BE (line 13833) | const UINT16_BE = {
method get (line 13835) | get(array, offset) {
method put (line 13838) | put(array, offset, value) {
constant UINT32_LE (line 13846) | const UINT32_LE = {
method get (line 13848) | get(array, offset) {
method put (line 13851) | put(array, offset, value) {
constant UINT32_BE (line 13859) | const UINT32_BE = {
method get (line 13861) | get(array, offset) {
method put (line 13864) | put(array, offset, value) {
constant INT32_BE (line 13872) | const INT32_BE = {
method get (line 13874) | get(array, offset) {
method put (line 13877) | put(array, offset, value) {
constant UINT64_LE (line 13885) | const UINT64_LE = {
method get (line 13887) | get(array, offset) {
method put (line 13890) | put(array, offset, value) {
class StringType (line 13898) | class StringType {
method constructor (line 13899) | constructor(len, encoding) {
method get (line 13903) | get(uint8Array, offset) {
class EndOfStreamError (line 13912) | class EndOfStreamError extends Error {
method constructor (line 13913) | constructor() {
class AbstractTokenizer (line 13921) | class AbstractTokenizer {
method constructor (line 13922) | constructor(fileInfo) {
method readToken (line 13936) | async readToken(token, position = this.position) {
method peekToken (line 13949) | async peekToken(token, position = this.position) {
method readNumber (line 13961) | async readNumber(token) {
method peekNumber (line 13972) | async peekNumber(token) {
method ignore (line 13983) | async ignore(length) {
method close (line 13994) | async close() {
method normalizeOptions (line 13997) | normalizeOptions(uint8Array, options) {
class BufferTokenizer (line 14018) | class BufferTokenizer extends AbstractTokenizer {
method constructor (line 14024) | constructor(uint8Array, fileInfo) {
method readBuffer (line 14035) | async readBuffer(uint8Array, options) {
method peekBuffer (line 14052) | async peekBuffer(uint8Array, options) {
method close (line 14063) | async close() {
function fromBuffer (line 14074) | function fromBuffer(uint8Array, fileInfo) {
function stringToBytes (line 14078) | function stringToBytes(string) {
function tarHeaderChecksumMatches (line 14089) | function tarHeaderChecksumMatches(buffer, offset = 0) {
function fileTypeFromBuffer (line 14119) | async function fileTypeFromBuffer(input) {
function _check (line 14133) | function _check(buffer, headers, options) {
function fileTypeFromTokenizer (line 14154) | async function fileTypeFromTokenizer(tokenizer) {
class FileTypeParser (line 14164) | class FileTypeParser {
method check (line 14165) | check(header, options) {
method checkString (line 14169) | checkString(header, options) {
method parse (line 14173) | async parse(tokenizer) {
method readTiffTag (line 15531) | async readTiffTag(bigEndian) {
method readTiffIFD (line 15548) | async readTiffIFD(bigEndian) {
method readTiffHeader (line 15558) | async readTiffHeader(bigEndian) {
function isWhiteSpace (line 15863) | function isWhiteSpace(char){
function readPI (line 15871) | function readPI(xmlData, i) {
function readCommentAndCDATA (line 15891) | function readCommentAndCDATA(xmlData, i) {
function readAttributeStr (line 15950) | function readAttributeStr(xmlData, i) {
function validateAttributeString (line 15987) | function validateAttributeString(attrStr, options) {
function validateNumberAmpersand (line 16023) | function validateNumberAmpersand(xmlData, i) {
function validateAmpersand (line 16038) | function validateAmpersand(xmlData, i) {
function getErrorObject (line 16058) | function getErrorObject(code, message, lineNumber) {
function validateAttrName (line 16069) | function validateAttrName(attrName) {
function validateTagName (line 16075) | function validateTagName(tagname) {
function getLineNumberForPosition (line 16080) | function getLineNumberForPosition(xmlData, index) {
function getPositionFromMatch (line 16091) | function getPositionFromMatch(match) {
class XmlNode (line 16145) | class XmlNode{
method constructor (line 16146) | constructor(tagname) {
method add (line 16151) | add(key,val){
method addChild (line 16156) | addChild(node) {
function readDocType$1 (line 16171) | function readDocType$1(xmlData, i){
function readEntityExp (line 16231) | function readEntityExp(xmlData,i){
function isComment (line 16260) | function isComment(xmlData, i){
function isEntity (line 16266) | function isEntity(xmlData, i){
function isElement (line 16276) | function isElement(xmlData, i){
function isAttlist (line 16288) | function isAttlist(xmlData, i){
function isNotation (line 16299) | function isNotation(xmlData, i){
function validateEntityName (line 16312) | function validateEntityName(name){
function toNumber$1 (line 16344) | function toNumber$1(str, options = {}){
function trimZeros (line 16434) | function trimZeros(numStr){
class OrderedObjParser$1 (line 16460) | class OrderedObjParser$1{
method constructor (line 16461) | constructor(options){
function addExternalEntities (line 16502) | function addExternalEntities(externalEntities){
function parseTextData (line 16522) | function parseTextData(val, tagName, jPath, dontTrim, hasAttributes, isL...
function resolveNameSpace (line 16551) | function resolveNameSpace(tagname) {
function buildAttributesMap (line 16569) | function buildAttributesMap(attrStr, jPath, tagName) {
function addChild (line 16825) | function addChild(currentNode, childNode, jPath){
function saveTextToParentTag (line 16856) | function saveTextToParentTag(textData, currentNode, jPath, isLeafNode) {
function isItStopNode (line 16881) | function isItStopNode(stopNodes, jPath, currentTagName){
function tagExpWithClosingIndex (line 16896) | function tagExpWithClosingIndex(xmlData, i, closingChar = ">"){
function findClosingIndex (line 16926) | function findClosingIndex(xmlData, str, i, errMsg){
function readTagExp (line 16935) | function readTagExp(xmlData,i, removeNSPrefix, closingChar = ">"){
function readStopNodeData (line 16971) | function readStopNodeData(xmlData, tagName, i){
function parseValue (line 17015) | function parseValue(val, shouldParse, options) {
function prettify$1 (line 17042) | function prettify$1(node, options){
function compress (line 17053) | function compress(arr, options, jPath){
function propName$1 (line 17106) | function propName$1(obj){
function assignAttributes (line 17114) | function assignAttributes(obj, attrMap, jpath, options){
function isLeafTag (line 17129) | function isLeafTag(obj, options){
class XMLParser$2 (line 17153) | class XMLParser$2{
method constructor (line 17155) | constructor(options){
method parse (line 17165) | parse(xmlData,validationOption){
method addEntity (line 17191) | addEntity(key, value){
constant EOL (line 17206) | const EOL = "\n";
function toXml (line 17214) | function toXml(jArray, options) {
function arrToStr (line 17222) | function arrToStr(arr, options, jPath, indentation) {
function propName (line 17296) | function propName(obj) {
function attr_to_str (line 17305) | function attr_to_str(attrMap, options) {
function isStopNode (line 17322) | function isStopNode(jPath, options) {
function replaceEntitiesValue (line 17331) | function replaceEntitiesValue(textValue, options) {
function Builder (line 17379) | function Builder(options) {
function processTextOrObjNode (line 17502) | function processTextOrObjNode (object, key, level) {
function indentate (line 17584) | function indentate(level) {
function isAttribute (line 17588) | function isAttribute(name /*, options*/) {
function isTypedArrayName (line 17663) | function isTypedArrayName(name) {
function isObjectTypeName (line 17697) | function isObjectTypeName(name) {
function isPrimitiveTypeName (line 17709) | function isPrimitiveTypeName(name) {
function isOfType (line 17713) | function isOfType(type) {
function is (line 17728) | function is(value) {
constant NODE_TYPE_ELEMENT (line 17890) | const NODE_TYPE_ELEMENT = 1;
constant DOM_PROPERTIES_TO_CHECK (line 17892) | const DOM_PROPERTIES_TO_CHECK = [
class CancelError$1 (line 18103) | class CancelError$1 extends Error {
method constructor (line 18104) | constructor(reason) {
method isCanceled (line 18109) | get isCanceled() {
class PCancelable (line 18116) | class PCancelable {
method fn (line 18117) | static fn(userFunction) {
method constructor (line 18127) | constructor(executor) {
method then (line 18169) | then(onFulfilled, onRejected) {
method catch (line 18174) | catch(onRejected) {
method finally (line 18179) | finally(onFinally) {
method cancel (line 18184) | cancel(reason) {
method isCanceled (line 18207) | get isCanceled() {
function isRequest (line 18215) | function isRequest(x) {
class RequestError$1 (line 18222) | class RequestError$1 extends Error {
method constructor (line 18223) | constructor(message, error, self) {
class MaxRedirectsError (line 18297) | class MaxRedirectsError extends RequestError$1 {
method constructor (line 18298) | constructor(request) {
class HTTPError (line 18309) | class HTTPError extends RequestError$1 {
method constructor (line 18310) | constructor(response) {
class CacheError$1 (line 18320) | class CacheError$1 extends RequestError$1 {
method constructor (line 18321) | constructor(error, request) {
class UploadError (line 18330) | class UploadError extends RequestError$1 {
method constructor (line 18331) | constructor(error, request) {
class TimeoutError$1 (line 18341) | class TimeoutError$1 extends RequestError$1 {
method constructor (line 18342) | constructor(error, timings, request) {
class ReadError (line 18364) | class ReadError extends RequestError$1 {
method constructor (line 18365) | constructor(error, request) {
class RetryError (line 18374) | class RetryError extends RequestError$1 {
method constructor (line 18375) | constructor(request) {
class AbortError (line 18384) | class AbortError extends RequestError$1 {
method constructor (line 18385) | constructor(request) {
function isTLSSocket (line 18396) | function isTLSSocket(socket) {
constant DATA_URL_DEFAULT_MIME_TYPE (line 18549) | const DATA_URL_DEFAULT_MIME_TYPE = 'text/plain';
constant DATA_URL_DEFAULT_CHARSET (line 18550) | const DATA_URL_DEFAULT_CHARSET = 'us-ascii';
function normalizeUrl (line 18620) | function normalizeUrl(urlString, options) {
class MaxBufferError (line 18892) | class MaxBufferError extends Error {
method constructor (line 18893) | constructor() {
function getStream$1 (line 18899) | async function getStream$1(inputStream, options) {
function toNumberOrZero (line 19007) | function toNumberOrZero(s) {
function isErrorResponse (line 19013) | function isErrorResponse(response) {
function parseCacheControl (line 19021) | function parseCacheControl(header) {
function formatCacheControl (line 19036) | function formatCacheControl(cc) {
method constructor (line 19049) | constructor(
method now (line 19118) | now() {
method storable (line 19122) | storable() {
method _hasExplicitExpiration (line 19155) | _hasExplicitExpiration() {
method _assertRequestHasHeaders (line 19164) | _assertRequestHasHeaders(req) {
method satisfiesWithoutRevalidation (line 19170) | satisfiesWithoutRevalidation(req) {
method _requestMatches (line 19208) | _requestMatches(req, allowHeadMethod) {
method _allowsStoringAuthenticated (line 19222) | _allowsStoringAuthenticated() {
method _varyMatches (line 19231) | _varyMatches(req) {
method _copyWithoutHopByHopHeaders (line 19251) | _copyWithoutHopByHopHeaders(inHeaders) {
method responseHeaders (line 19277) | responseHeaders() {
method date (line 19301) | date() {
method age (line 19315) | age() {
method _ageValue (line 19322) | _ageValue() {
method maxAge (line 19333) | maxAge() {
method timeToLive (line 19393) | timeToLive() {
method stale (line 19400) | stale() {
method _useStaleIfError (line 19404) | _useStaleIfError() {
method useStaleWhileRevalidate (line 19408) | useStaleWhileRevalidate() {
method fromObject (line 19412) | static fromObject(obj) {
method _fromObject (line 19416) | _fromObject(obj) {
method toObject (line 19436) | toObject() {
method revalidationHeaders (line 19462) | revalidationHeaders(incomingReq) {
method revalidatedPolicy (line 19527) | revalidatedPolicy(request, response) {
function lowercaseKeys (line 19620) | function lowercaseKeys(object) {
class Response (line 19624) | class Response extends stream$3.Readable {
method constructor (line 19630) | constructor({statusCode, headers, body, url}) {
function commonjsRequire (line 19661) | function commonjsRequire(path) {
constant JSONB (line 19727) | const JSONB = jsonBuffer;
class Keyv (line 19760) | class Keyv extends EventEmitter$1 {
method constructor (line 19761) | constructor(uri, {emitErrors = true, ...options} = {}) {
method _checkIterableAdaptar (line 19815) | _checkIterableAdaptar() {
method _getKeyPrefix (line 19820) | _getKeyPrefix(key) {
method _getKeyPrefixArray (line 19824) | _getKeyPrefixArray(keys) {
method _getKeyUnprefix (line 19828) | _getKeyUnprefix(key) {
method get (line 19835) | get(key, options) {
method set (line 19905) | set(key, value, ttl) {
method delete (line 19931) | delete(key) {
method clear (line 19954) | clear() {
method has (line 19960) | has(key) {
method disconnect (line 19974) | disconnect() {
function mimicResponse$2 (line 20005) | function mimicResponse$2(fromStream, toStream) {
class RequestError (line 20066) | class RequestError extends Error {
method constructor (line 20067) | constructor(error) {
class CacheError (line 20072) | class CacheError extends Error {
method constructor (line 20073) | constructor(error) {
class CacheableRequest (line 20079) | class CacheableRequest {
method constructor (line 20080) | constructor(cacheRequest, cacheAdapter) {
method get (line 20377) | get() {
method set (line 20383) | set(value) {
method transform (line 20437) | transform(data, _encoding, callback) {
method flush (line 20443) | flush(callback) {
method destroy (line 20450) | destroy(error, callback) {
function createBoundary (line 20498) | function createBoundary() {
function isPlainObject (line 20517) | function isPlainObject(value) {
function getProperty (line 20529) | function getProperty(target, prop) {
class FormDataEncoder (line 20580) | class FormDataEncoder {
method constructor (line 20581) | constructor(form, boundaryOrOptions, options) {
method getContentLength (line 20633) | getContentLength() {
method values (line 20636) | *values() {
method encode (line 20645) | async *encode() {
method [(_FormDataEncoder_CRLF = new WeakMap(), _FormDataEncoder_CRLF_BYTES = new WeakMap(), _FormDataEncoder_CRLF_BYTES_LENGTH = new WeakMap(), _FormDataEncoder_DASHES = new WeakMap(), _FormDataEncoder_encoder = new WeakMap(), _FormDataEncoder_footer = new WeakMap(), _FormDataEncoder_form = new WeakMap(), _FormDataEncoder_options = new WeakMap(), _FormDataEncoder_instances = new WeakSet(), _FormDataEncoder_getFieldHeader = function _FormDataEncoder_getFieldHeader(name, value) {
let header = "";
header += `${__classPrivateFieldGet(this, _FormDataEncoder_DASHES, "f")}${this.boundary}${__classPrivateFieldGet(this, _FormDataEncoder_CRLF, "f")}`;
header += `Content-Disposition: form-data; name="${escapeName(name)}"`;
if (isFile(value)) {
header += `; filename="${escapeName(value.name)}"${__classPrivateFieldGet(this, _FormDataEncoder_CRLF, "f")}`;
header += `Content-Type: ${value.type || "application/octet-stream"}`;
}
const size = isFile(value) ? value.size : value.byteLength;
if (__classPrivateFieldGet(this, _FormDataEncoder_options, "f").enableAdditionalHeaders === true
&& size != null
&& !isNaN(size)) {
header += `${__classPrivateFieldGet(this, _FormDataEncoder_CRLF, "f")}Content-Length: ${isFile(value) ? value.size : value.byteLength}`;
}
return __classPrivateFieldGet(this, _FormDataEncoder_encoder, "f").encode(`${header}${__classPrivateFieldGet(this, _FormDataEncoder_CRLF, "f").repeat(2)}`);
}, _FormDataEncoder_getContentLength = function _FormDataEncoder_getContentLength() {
let length = 0;
for (const [name, raw] of __classPrivateFieldGet(this, _FormDataEncoder_form, "f")) {
const value = isFile(raw) ? raw : __classPrivateFieldGet(this, _FormDataEncoder_encoder, "f").encode(normalizeValue(raw));
const size = isFile(value) ? value.size : value.byteLength;
if (size == null || isNaN(size)) {
return undefined;
}
length += __classPrivateFieldGet(this, _FormDataEncoder_instances, "m", _FormDataEncoder_getFieldHeader).call(this, name, value).byteLength;
length += size;
length += __classPrivateFieldGet(this, _FormDataEncoder_CRLF_BYTES_LENGTH, "f");
}
return String(length + __classPrivateFieldGet(this, _FormDataEncoder_footer, "f").byteLength);
}, Symbol.iterator)] (line 20655) | [(_FormDataEncoder_CRLF = new WeakMap(), _FormDataEncoder_CRLF_BYTES = n...
method [Symbol.asyncIterator] (line 20686) | [Symbol.asyncIterator]() {
function isFormData (line 20691) | function isFormData(body) {
function getBodySize (line 20695) | async function getBodySize(body, headers) {
function proxyEvents$2 (line 20714) | function proxyEvents$2(from, to, events) {
function unhandle (line 20734) | function unhandle() {
class TimeoutError (line 20753) | class TimeoutError extends Error {
method constructor (line 20754) | constructor(threshold, event) {
function timedOut (line 20772) | function timedOut(request, delays, options) {
function urlToOptions (line 20888) | function urlToOptions(url) {
class WeakableMap (line 20910) | class WeakableMap {
method constructor (line 20911) | constructor() {
method set (line 20927) | set(key, value) {
method get (line 20935) | get(key) {
method has (line 20941) | has(key) {
class CacheableLookup (line 21051) | class CacheableLookup {
method constructor (line 21052) | constructor({
method servers (line 21104) | set servers(servers) {
method servers (line 21110) | get servers() {
method lookup (line 21114) | lookup(hostname, options, callback) {
method lookupAsync (line 21138) | async lookupAsync(hostname, options = {}) {
method query (line 21183) | async query(hostname) {
method _resolve (line 21216) | async _resolve(hostname) {
method _lookup (line 21262) | async _lookup(hostname) {
method _set (line 21286) | async _set(hostname, data, cacheTtl) {
method queryAndCache (line 21308) | async queryAndCache(hostname) {
method _tick (line 21330) | _tick(ms) {
method install (line 21367) | install(agent) {
method uninstall (line 21386) | uninstall(agent) {
method updateInterfaceInfo (line 21401) | updateInterfaceInfo() {
method clear (line 21411) | clear(hostname) {
class QuickLRU$2 (line 21421) | class QuickLRU$2 {
method constructor (line 21422) | constructor(options = {}) {
method _set (line 21434) | _set(key, value) {
method get (line 21452) | get(key) {
method set (line 21465) | set(key, value) {
method has (line 21475) | has(key) {
method peek (line 21479) | peek(key) {
method delete (line 21489) | delete(key) {
method clear (line 21498) | clear() {
method keys (line 21504) | * keys() {
method values (line 21510) | * values() {
method size (line 21529) | get size() {
method [Symbol.iterator] (line 21516) | * [Symbol.iterator]() {
class Agent$4 (line 21717) | class Agent$4 extends EventEmitter {
method constructor (line 21718) | constructor({timeout = 0, maxSessions = Number.POSITIVE_INFINITY, maxE...
method protocol (line 21758) | get protocol() {
method normalizeOptions (line 21762) | normalizeOptions(options) {
method _processQueue (line 21778) | _processQueue() {
method _isBetterSession (line 21800) | _isBetterSession(thisStreamCount, thatStreamCount) {
method _accept (line 21804) | _accept(session, listeners, normalizedOrigin, options) {
method getSession (line 21823) | getSession(origin, options, listeners) {
method request (line 22250) | request(origin, options, headers, streamOptions) {
method createConnection (line 22270) | async createConnection(origin, options) {
method connect (line 22274) | static connect(origin, options) {
method closeEmptySessions (line 22297) | closeEmptySessions(maxCount = Number.POSITIVE_INFINITY) {
method destroy (line 22323) | destroy(reason) {
method emptySessionCount (line 22350) | get emptySessionCount() {
method pendingSessionCount (line 22354) | get pendingSessionCount() {
method sessionCount (line 22358) | get sessionCount() {
class IncomingMessage$2 (line 22373) | class IncomingMessage$2 extends Readable {
method constructor (line 22374) | constructor(socket, highWaterMark) {
method connection (line 22402) | get connection() {
method connection (line 22406) | set connection(value) {
method _destroy (line 22410) | _destroy(error, callback) {
method setTimeout (line 22421) | setTimeout(ms, callback) {
method _dump (line 22426) | _dump() {
method _read (line 22435) | _read() {
method constructor (line 22457) | constructor(...args) {
method has (line 22551) | has(stream, property) {
method get (line 22557) | get(stream, property) {
method getPrototypeOf (line 22598) | getPrototypeOf(stream) {
method set (line 22607) | set(stream, property, value) {
class ClientRequest$1 (line 22680) | class ClientRequest$1 extends Writable {
method constructor (line 22681) | constructor(input, options, callback) {
method method (line 22806) | get method() {
method method (line 22810) | set method(value) {
method path (line 22816) | get path() {
method path (line 22822) | set path(value) {
method host (line 22830) | get host() {
method host (line 22834) | set host(_value) {
method _mustNotHaveABody (line 22838) | get _mustNotHaveABody() {
method _write (line 22842) | _write(chunk, encoding, callback) {
method _final (line 22860) | _final(callback) {
method abort (line 22880) | abort() {
method _destroy (line 22894) | async _destroy(error, callback) {
method flushHeaders (line 22918) | async flushHeaders() {
method connection (line 23106) | get connection() {
method connection (line 23110) | set connection(value) {
method getHeaderNames (line 23114) | getHeaderNames() {
method hasHeader (line 23118) | hasHeader(name) {
method getHeader (line 23126) | getHeader(name) {
method headersSent (line 23134) | get headersSent() {
method removeHeader (line 23138) | removeHeader(name) {
method setHeader (line 23150) | setHeader(name, value) {
method setNoDelay (line 23175) | setNoDelay() {
method setSocketKeepAlive (line 23179) | setSocketKeepAlive() {
method setTimeout (line 23183) | setTimeout(ms, callback) {
method maxHeadersCount (line 23195) | get maxHeadersCount() {
method maxHeadersCount (line 23203) | set maxHeadersCount(_value) {
class UnexpectedStatusCodeError$2 (line 23517) | class UnexpectedStatusCodeError$2 extends Error {
method constructor (line 23518) | constructor(statusCode, statusMessage = '') {
class HttpOverHttp2$1 (line 23644) | class HttpOverHttp2$1 extends http$1.Agent {
method constructor (line 23645) | constructor(options) {
method createConnection (line 23651) | createConnection(options, callback) {
class HttpsOverHttp2$1 (line 23656) | class HttpsOverHttp2$1 extends https$1.Agent {
method constructor (line 23657) | constructor(options) {
method createConnection (line 23663) | createConnection(options, callback) {
class Http2OverHttpX$2 (line 23678) | class Http2OverHttpX$2 extends Agent$1 {
method constructor (line 23679) | constructor(options) {
method createConnection (line 23685) | async createConnection(origin, options) {
class Http2OverHttp2$1 (line 23725) | class Http2OverHttp2$1 extends Http2OverHttpX$1 {
method _getProxyStream (line 23726) | async _getProxyStream(authority) {
class Http2OverHttp$1 (line 23762) | class Http2OverHttp$1 extends Http2OverHttpX {
method _getProxyStream (line 23763) | async _getProxyStream(authority) {
function parseLinkHeader (line 23843) | function parseLinkHeader(link) {
function validateSearchParameters (line 23878) | function validateSearchParameters(searchParameters) {
method transform (line 24017) | transform(response) {
method paginate (line 24023) | paginate({ response }) {
class Options (line 24161) | class Options {
method constructor (line 24162) | constructor(input, options, defaults) {
method merge (line 24241) | merge(options) {
method request (line 24291) | get request() {
method request (line 24294) | set request(value) {
method agent (line 24320) | get agent() {
method agent (line 24323) | set agent(value) {
method h2session (line 24340) | get h2session() {
method h2session (line 24343) | set h2session(value) {
method decompress (line 24356) | get decompress() {
method decompress (line 24359) | set decompress(value) {
method timeout (line 24378) | get timeout() {
method timeout (line 24383) | set timeout(value) {
method prefixUrl (line 24439) | get prefixUrl() {
method prefixUrl (line 24444) | set prefixUrl(value) {
method body (line 24473) | get body() {
method body (line 24476) | set body(value) {
method form (line 24496) | get form() {
method form (line 24499) | set form(value) {
method json (line 24514) | get json() {
method json (line 24517) | set json(value) {
method url (line 24542) | get url() {
method url (line 24545) | set url(value) {
method cookieJar (line 24602) | get cookieJar() {
method cookieJar (line 24605) | set cookieJar(value) {
method signal (line 24648) | get signal() {
method signal (line 24652) | set signal(value) {
method ignoreInvalidCookies (line 24662) | get ignoreInvalidCookies() {
method ignoreInvalidCookies (line 24665) | set ignoreInvalidCookies(value) {
method searchParams (line 24687) | get searchParams() {
method searchParams (line 24696) | set searchParams(value) {
method searchParameters (line 24747) | get searchParameters() {
method searchParameters (line 24750) | set searchParameters(_value) {
method dnsLookup (line 24753) | get dnsLookup() {
method dnsLookup (line 24756) | set dnsLookup(value) {
method dnsCache (line 24770) | get dnsCache() {
method dnsCache (line 24773) | set dnsCache(value) {
method context (line 24816) | get context() {
method context (line 24819) | set context(value) {
method hooks (line 24832) | get hooks() {
method hooks (line 24835) | set hooks(value) {
method followRedirect (line 24873) | get followRedirect() {
method followRedirect (line 24876) | set followRedirect(value) {
method followRedirects (line 24880) | get followRedirects() {
method followRedirects (line 24883) | set followRedirects(_value) {
method maxRedirects (line 24891) | get maxRedirects() {
method maxRedirects (line 24894) | set maxRedirects(value) {
method cache (line 24903) | get cache() {
method cache (line 24906) | set cache(value) {
method throwHttpErrors (line 24926) | get throwHttpErrors() {
method throwHttpErrors (line 24929) | set throwHttpErrors(value) {
method username (line 24933) | get username() {
method username (line 24938) | set username(value) {
method password (line 24949) | get password() {
method password (line 24954) | set password(value) {
method http2 (line 24986) | get http2() {
method http2 (line 24989) | set http2(value) {
method allowGetBody (line 25002) | get allowGetBody() {
method allowGetBody (line 25005) | set allowGetBody(value) {
method headers (line 25016) | get headers() {
method headers (line 25019) | set headers(value) {
method methodRewriting (line 25038) | get methodRewriting() {
method methodRewriting (line 25041) | set methodRewriting(value) {
method dnsLookupIpVersion (line 25055) | get dnsLookupIpVersion() {
method dnsLookupIpVersion (line 25058) | set dnsLookupIpVersion(value) {
method parseJson (line 25079) | get parseJson() {
method parseJson (line 25082) | set parseJson(value) {
method stringifyJson (line 25127) | get stringifyJson() {
method stringifyJson (line 25130) | set stringifyJson(value) {
method retry (line 25156) | get retry() {
method retry (line 25159) | set retry(value) {
method localAddress (line 25192) | get localAddress() {
method localAddress (line 25195) | set localAddress(value) {
method method (line 25204) | get method() {
method method (line 25207) | set method(value) {
method createConnection (line 25211) | get createConnection() {
method createConnection (line 25214) | set createConnection(value) {
method cacheOptions (line 25223) | get cacheOptions() {
method cacheOptions (line 25226) | set cacheOptions(value) {
method https (line 25247) | get https() {
method https (line 25250) | set https(value) {
method encoding (line 25291) | get encoding() {
method encoding (line 25294) | set encoding(value) {
method resolveBodyOnly (line 25306) | get resolveBodyOnly() {
method resolveBodyOnly (line 25309) | set resolveBodyOnly(value) {
method isStream (line 25319) | get isStream() {
method isStream (line 25322) | set isStream(value) {
method responseType (line 25356) | get responseType() {
method responseType (line 25359) | set responseType(value) {
method pagination (line 25369) | get pagination() {
method pagination (line 25372) | set pagination(value) {
method auth (line 25381) | get auth() {
method auth (line 25384) | set auth(_value) {
method setHost (line 25387) | get setHost() {
method setHost (line 25390) | set setHost(value) {
method maxHeaderSize (line 25394) | get maxHeaderSize() {
method maxHeaderSize (line 25397) | set maxHeaderSize(value) {
method enableUnixSockets (line 25401) | get enableUnixSockets() {
method enableUnixSockets (line 25404) | set enableUnixSockets(value) {
method toJSON (line 25409) | toJSON() {
method createNativeRequestOptions (line 25415) | createNativeRequestOptions() {
method getRequestFunction (line 25470) | getRequestFunction() {
method getFallbackRequestFunction (line 25478) | getFallbackRequestFunction() {
method freeze (line 25496) | freeze() {
method [Symbol.for('nodejs.util.inspect.custom')] (line 25412) | [Symbol.for('nodejs.util.inspect.custom')](_depth, options) {
class ParseError (line 25527) | class ParseError extends RequestError$1 {
method constructor (line 25528) | constructor(error, response) {
function isClientRequest (line 25557) | function isClientRequest(clientRequest) {
function isUnixSocketURL (line 25562) | function isUnixSocketURL(url) {
class Request (line 25579) | class Request extends stream$3.Duplex {
method constructor (line 25580) | constructor(url, options, defaults) {
method flush (line 25818) | async flush() {
method _beforeError (line 25845) | _beforeError(error) {
method _read (line 25947) | _read() {
method _write (line 25967) | _write(chunk, encoding, callback) {
method _final (line 25978) | _final(callback) {
method _destroy (line 26007) | _destroy(error, callback) {
method pipe (line 26028) | pipe(destination, options) {
method unpipe (line 26034) | unpipe(destination) {
method _finalizeBody (line 26041) | async _finalizeBody() {
method _onResponseBase (line 26108) | async _onResponseBase(response) {
method _setRawBody (line 26289) | async _setRawBody(from = this) {
method _onResponse (line 26306) | async _onResponse(response) {
method _onRequest (line 26315) | _onRequest(request) {
method _asyncWrite (line 26341) | async _asyncWrite(chunk) {
method _sendBody (line 26352) | _sendBody() {
method _prepareCache (line 26380) | _prepareCache(cache) {
method _createCacheableRequest (line 26424) | async _createCacheableRequest(url, options) {
method _makeRequest (line 26451) | async _makeRequest() {
method _error (line 26537) | async _error(error) {
method _writeRequest (line 26556) | _writeRequest(chunk, encoding, callback) {
method ip (line 26576) | get ip() {
method isAborted (line 26582) | get isAborted() {
method socket (line 26585) | get socket() {
method downloadProgress (line 26591) | get downloadProgress() {
method uploadProgress (line 26611) | get uploadProgress() {
method timings (line 26655) | get timings() {
method isFromCache (line 26661) | get isFromCache() {
method reusedSocket (line 26664) | get reusedSocket() {
class CancelError (line 26672) | class CancelError extends RequestError$1 {
method constructor (line 26673) | constructor(request) {
method isCanceled (line 26681) | get isCanceled() {
function asPromise (line 26693) | function asPromise(firstRequest) {
function escapeStringRegexp (line 27027) | function escapeStringRegexp(string) {
function trimRepeated (line 27039) | function trimRepeated(string, target) {
function filenameReservedRegex (line 27051) | function filenameReservedRegex() {
function windowsReservedNameRegex (line 27055) | function windowsReservedNameRegex() {
function stripOuter (line 27059) | function stripOuter(string, substring) {
constant MAX_FILENAME_LENGTH (line 27076) | const MAX_FILENAME_LENGTH = 100;
function filenamify (line 27082) | function filenamify(string, options = {}) {
function requireCore (line 27147) | function requireCore () {
function isPrime (line 27976) | function isPrime(n) {
function getFractionalBits (line 27987) | function getFractionalBits(n) {
function replaceAsync (line 28152) | function replaceAsync(str, regex, asyncFn) {
function isUrl (line 28167) | function isUrl(link) {
function isLocalImage (line 28178) | function isLocalImage(filePath) {
function downloadImage (line 28188) | function downloadImage(url) {
function fileExtByContent (line 28194) | function fileExtByContent(content) {
function cleanFileName (line 28207) | function cleanFileName(name) {
function pathJoin (line 28210) | function pathJoin(dir, subpath) {
function ensureFolderExists (line 28215) | function ensureFolderExists(app, folderPath) {
function genSha256 (line 28227) | function genSha256(data) {
function arrayBufferToWordArray (line 28230) | function arrayBufferToWordArray(ab) {
function getLinkFullPath (line 28238) | function getLinkFullPath(app, link) {
function arraybufferEqual (line 28249) | function arraybufferEqual(buf1, buf2) {
function imageTagProcessor (line 28261) | function imageTagProcessor(app, mediaDir) {
function getNewFileName (line 28305) | function getNewFileName(app, dir, contentData) {
function processPage (line 28327) | function processPage(plugin, file, silent = false) {
function findOrphanImages (line 28346) | function findOrphanImages(plugin) {
function processAllPages (line 28363) | function processAllPages(plugin) {
class ImageToolkitPlugin (line 28394) | class ImageToolkitPlugin extends obsidian.Plugin {
method constructor (line 28395) | constructor() {
method onload (line 28469) | onload() {
method onunload (line 28553) | onunload() {
method loadSettings (line 28561) | loadSettings() {
method saveSettings (line 28567) | saveSettings() {
method registerCommands (line 28572) | registerCommands() {
FILE: .obsidian/plugins/i18n/main.js
method "node_modules/universalify/index.js" (line 1) | "node_modules/universalify/index.js"(t){"use strict";t.fromCallback=func...
method "node_modules/graceful-fs/polyfills.js" (line 1) | "node_modules/graceful-fs/polyfills.js"(t,e){var s,i=require("constants"...
method "node_modules/graceful-fs/legacy-streams.js" (line 1) | "node_modules/graceful-fs/legacy-streams.js"(t,e){var s=require("stream"...
method "node_modules/graceful-fs/clone.js" (line 1) | "node_modules/graceful-fs/clone.js"(t,e){"use strict";e.exports=function...
method "node_modules/graceful-fs/graceful-fs.js" (line 1) | "node_modules/graceful-fs/graceful-fs.js"(t,e){var s,i,n=require("fs"),a...
method "node_modules/fs-extra/lib/fs/index.js" (line 1) | "node_modules/fs-extra/lib/fs/index.js"(t){"use strict";var e=require_un...
method "node_modules/fs-extra/lib/mkdirs/utils.js" (line 1) | "node_modules/fs-extra/lib/mkdirs/utils.js"(t,e){"use strict";var s=requ...
method "node_modules/fs-extra/lib/mkdirs/make-dir.js" (line 1) | "node_modules/fs-extra/lib/mkdirs/make-dir.js"(t,e){"use strict";var s=r...
method "node_modules/fs-extra/lib/mkdirs/index.js" (line 1) | "node_modules/fs-extra/lib/mkdirs/index.js"(t,e){"use strict";var s=requ...
method "node_modules/fs-extra/lib/path-exists/index.js" (line 1) | "node_modules/fs-extra/lib/path-exists/index.js"(t,e){"use strict";var s...
method "node_modules/fs-extra/lib/util/utimes.js" (line 1) | "node_modules/fs-extra/lib/util/utimes.js"(t,e){"use strict";var s=requi...
method "node_modules/fs-extra/lib/util/stat.js" (line 1) | "node_modules/fs-extra/lib/util/stat.js"(t,e){"use strict";var s=require...
method "node_modules/fs-extra/lib/copy/copy.js" (line 1) | "node_modules/fs-extra/lib/copy/copy.js"(t,e){"use strict";var s=require...
method "node_modules/fs-extra/lib/copy/copy-sync.js" (line 1) | "node_modules/fs-extra/lib/copy/copy-sync.js"(t,e){"use strict";var s=re...
method "node_modules/fs-extra/lib/copy/index.js" (line 1) | "node_modules/fs-extra/lib/copy/index.js"(t,e){"use strict";var s=requir...
method "node_modules/fs-extra/lib/remove/index.js" (line 1) | "node_modules/fs-extra/lib/remove/index.js"(t,e){"use strict";var s=requ...
method "node_modules/fs-extra/lib/empty/index.js" (line 1) | "node_modules/fs-extra/lib/empty/index.js"(t,e){"use strict";var s=requi...
method "node_modules/fs-extra/lib/ensure/file.js" (line 1) | "node_modules/fs-extra/lib/ensure/file.js"(t,e){"use strict";var s=requi...
method "node_modules/fs-extra/lib/ensure/link.js" (line 1) | "node_modules/fs-extra/lib/ensure/link.js"(t,e){"use strict";var s=requi...
method "node_modules/fs-extra/lib/ensure/symlink-paths.js" (line 1) | "node_modules/fs-extra/lib/ensure/symlink-paths.js"(t,e){"use strict";va...
method "node_modules/fs-extra/lib/ensure/symlink-type.js" (line 1) | "node_modules/fs-extra/lib/ensure/symlink-type.js"(t,e){"use strict";var...
method "node_modules/fs-extra/lib/ensure/symlink.js" (line 1) | "node_modules/fs-extra/lib/ensure/symlink.js"(t,e){"use strict";var s=re...
method "node_modules/fs-extra/lib/ensure/index.js" (line 1) | "node_modules/fs-extra/lib/ensure/index.js"(t,e){"use strict";var{create...
method "node_modules/jsonfile/utils.js" (line 1) | "node_modules/jsonfile/utils.js"(t,e){e.exports={stringify:function(t,{E...
method "node_modules/jsonfile/index.js" (line 1) | "node_modules/jsonfile/index.js"(t,e){var s;try{s=require_graceful_fs()}...
method "node_modules/fs-extra/lib/json/jsonfile.js" (line 1) | "node_modules/fs-extra/lib/json/jsonfile.js"(t,e){"use strict";var s=req...
method "node_modules/fs-extra/lib/output-file/index.js" (line 1) | "node_modules/fs-extra/lib/output-file/index.js"(t,e){"use strict";var s...
method "node_modules/fs-extra/lib/json/output-json.js" (line 1) | "node_modules/fs-extra/lib/json/output-json.js"(t,e){"use strict";var{st...
method "node_modules/fs-extra/lib/json/output-json-sync.js" (line 1) | "node_modules/fs-extra/lib/json/output-json-sync.js"(t,e){"use strict";v...
method "node_modules/fs-extra/lib/json/index.js" (line 1) | "node_modules/fs-extra/lib/json/index.js"(t,e){"use strict";var s=requir...
method "node_modules/fs-extra/lib/move/move.js" (line 1) | "node_modules/fs-extra/lib/move/move.js"(t,e){"use strict";var s=require...
method "node_modules/fs-extra/lib/move/move-sync.js" (line 1) | "node_modules/fs-extra/lib/move/move-sync.js"(t,e){"use strict";var s=re...
method "node_modules/fs-extra/lib/move/index.js" (line 1) | "node_modules/fs-extra/lib/move/index.js"(t,e){"use strict";var s=requir...
method "node_modules/fs-extra/lib/index.js" (line 1) | "node_modules/fs-extra/lib/index.js"(t,e){"use strict";e.exports={...req...
method constructor (line 1) | constructor(t){this.settingTab=t,this.i18n=t.i18n,this.settings=t.i18n.s...
method display (line 1) | display(){this.main()}
function t (line 1) | function t(t){return locale&&locale[t]||zh_cn_default[t]}
method main (line 1) | main(){new import_obsidian2.Setting(this.containerEl).setName(t("设置_基础_鸣...
method main (line 1) | main(){const e=new import_obsidian3.Setting(this.containerEl);e.setName(...
method main (line 1) | main(){const e=new import_obsidian4.Setting(this.containerEl);e.setName(...
method constructor (line 1) | constructor(t){this.geteeOwner="zero--two",this.geteeRepo="obsidian-i18n...
method version (line 1) | async version(){const t={url:"https://gitee.com/zero--two/obsidian-i18n-...
method getMark (line 1) | async getMark(){const t={url:"https://gitee.com/zero--two/obsidian-i18n-...
method baiduAPI (line 1) | async baiduAPI(t){const e=this.i18n.settings.I18N_NIT_APIS.BAIDU,s=(0,im...
method openAI (line 1) | async openAI(t,e){try{const t={url:`${this.settings.I18N_NIT_OPENAI_URL}...
method openAITest (line 1) | openAITest(){const t={url:`${this.settings.I18N_NIT_OPENAI_URL}/v1/chat/...
method githubGetTranslation (line 1) | async githubGetTranslation(t,e,s){try{const i={url:`https://raw.githubus...
method giteeGetTranslation (line 1) | async giteeGetTranslation(t,e,s){try{const i={url:`https://gitee.com/zer...
method giteeGetToken (line 1) | async giteeGetToken(){const t={url:"https://gitee.com/zero--two/obsidian...
method giteeGetDirectory (line 1) | async giteeGetDirectory(t){const e={url:`https://gitee.com/zero--two/obs...
method giteeGetDirectoryAdmin (line 1) | async giteeGetDirectoryAdmin(t,e){const s={url:`https://gitee.com/zero--...
method giteeGetSha (line 1) | async giteeGetSha(t){try{const e={url:`https://gitee.com/api/v5/repos/ze...
method giteeGetContents (line 1) | async giteeGetContents(t){try{const e={url:`https://gitee.com/api/v5/rep...
method giteeGetContributor (line 1) | async giteeGetContributor(){try{const t={url:"https://gitee.com/zero--tw...
method giteeGetReleasesLatest (line 1) | async giteeGetReleasesLatest(){try{const t={url:"https://gitee.com/api/v...
method giteeGetAllIssue (line 1) | async giteeGetAllIssue(){const t={url:`https://gitee.com/api/v5/repos/${...
method giteeGetIssue (line 1) | async giteeGetIssue(t){const e={url:`https://gitee.com/api/v5/repos/${th...
method giteePostIssue (line 1) | async giteePostIssue(t,e,s){try{let i;if(""!==this.settings.I18N_SHARE_T...
method giteePatchIssue (line 1) | async giteePatchIssue(t,e){const s={url:`https://gitee.com/api/v5/repos/...
method giteePostIssueComments (line 1) | async giteePostIssueComments(t,e){try{let s;if(""!==this.settings.I18N_S...
method giteeDownload (line 1) | async giteeDownload(t){try{const e={url:t,method:"GET"};return console.l...
method giteeGetFile (line 1) | async giteeGetFile(t){const e={url:`https://gitee.com/${this.geteeOwner}...
method giteeCreateFileContent (line 1) | async giteeCreateFileContent(t,e,s){const i={url:`https://gitee.com/api/...
method giteeUpdateFileContent (line 1) | async giteeUpdateFileContent(t,e,s,i){const n={url:`https://gitee.com/ap...
method giteeUser (line 1) | async giteeUser(){const t={url:"https://gitee.com/api/v5/user",method:"G...
method checkUser (line 1) | async checkUser(t){const e={url:`https://gitee.com/api/v5/repos/${this.g...
method constructor (line 1) | constructor(t){this.geteeOwner="zero--two",this.geteeRepo="obsidian-i18n...
method baiduAPI (line 1) | async baiduAPI(t){const e=this.i18n.settings.I18N_NIT_APIS.BAIDU,s=(0,im...
method openAI (line 1) | async openAI(t){try{const e={url:`${this.settings.I18N_NIT_OPENAI_URL}/v...
method openAITest (line 1) | openAITest(){const t={url:`${this.settings.I18N_NIT_OPENAI_URL}/v1/chat/...
method main (line 1) | main(){const e=new API(this.i18n),s=new import_obsidian6.Setting(this.co...
method main (line 1) | main(){const e=new import_obsidian7.Setting(this.containerEl);e.setName(...
method main (line 1) | main(){const e=new import_obsidian8.Setting(this.containerEl);"BAIDU"!=t...
method main (line 1) | main(){const e=new import_obsidian9.Setting(this.containerEl);e.setName(...
method main (line 1) | main(){const e=new import_obsidian10.Setting(this.containerEl);e.setName...
function Diff (line 1) | function Diff(){}
function buildValues (line 1) | function buildValues(t,e,s,i,n){for(var a,o=[];e;)o.push(e),a=e.previous...
function o (line 1) | function o(t){return t=a.postProcess(t,i),n?(setTimeout(function(){n(t)}...
function f (line 1) | function f(){for(var s=Math.max(m,-c);s<=Math.min(g,c);s+=2){var n=void ...
function longestCommonPrefix (line 1) | function longestCommonPrefix(t,e){var s;for(s=0;s<t.length&&s<e.length;s...
function longestCommonSuffix (line 1) | function longestCommonSuffix(t,e){var s;if(!t||!e||t[t.length-1]!=e[e.le...
function replacePrefix (line 1) | function replacePrefix(t,e,s){if(t.slice(0,e.length)!=e)throw Error("str...
function replaceSuffix (line 1) | function replaceSuffix(t,e,s){if(!e)return t+s;if(t.slice(-e.length)!=e)...
function removePrefix (line 1) | function removePrefix(t,e){return replacePrefix(t,e,"")}
function removeSuffix (line 1) | function removeSuffix(t,e){return replaceSuffix(t,e,"")}
function maximumOverlap (line 1) | function maximumOverlap(t,e){return e.slice(0,overlapCount(t,e))}
function overlapCount (line 1) | function overlapCount(t,e){var s=0;t.length>e.length&&(s=t.length-e.leng...
function diffWords (line 1) | function diffWords(t,e,s){return null==(null==s?void 0:s.ignoreWhitespac...
function dedupeWhitespaceInChangeObjects (line 1) | function dedupeWhitespaceInChangeObjects(t,e,s,i){if(e&&s){var n=e.value...
function diffWordsWithSpace (line 1) | function diffWordsWithSpace(t,e,s){return wordWithSpaceDiff.diff(t,e,s)}
function _typeof (line 1) | function _typeof(t){"@babel/helpers - typeof";return(_typeof="function"=...
function canonicalize (line 1) | function canonicalize(t,e,s,i,n){var a,o;for(e=e||[],s=s||[],i&&(t=i(n,t...
method constructor (line 1) | constructor(t,e){this.stateJson={type:"0",state:!1,pluginVersion:"",tran...
method getType (line 1) | getType(){return this.stateObj.type}
method getState (line 1) | getState(){return this.stateObj.state}
method getPluginVersion (line 1) | getPluginVersion(){return this.stateObj.pluginVersion}
method getTranslationVersion (line 1) | getTranslationVersion(){return this.stateObj.translationVersion}
method setType (line 1) | setType(t){this.stateObj.type=t,fs2.outputJsonSync(this.path,this.stateO...
method setState (line 1) | setState(t){this.stateObj.state=t,fs2.outputJsonSync(this.path,this.stat...
method setPluginVersion (line 1) | setPluginVersion(t){this.stateObj.pluginVersion=t,fs2.outputJsonSync(thi...
method setTranslationVersion (line 1) | setTranslationVersion(t){this.stateObj.translationVersion=t,fs2.outputJs...
method insert (line 1) | insert(){try{this.stateObj=this.stateJson,this.isStateDoc=!0,fs2.outputJ...
method delete (line 1) | delete(){try{this.isStateDoc=!1,fs2.removeSync(this.path)}catch(t){this....
method update (line 1) | update(t,e,s,i){const n={type:t,state:e,pluginVersion:s,translationVersi...
method reset (line 1) | reset(){try{fs2.outputJsonSync(this.path,this.stateJson),console.log(thi...
method constructor (line 1) | constructor(t,e){this.notices=[],this.app=t,this.i18n=e}
method primary (line 1) | primary(t,e,s=4e3){const i=!!document.body&&document.body.classList.cont...
method success (line 1) | success(t,e,s=4e3){const i=!!document.body&&document.body.classList.cont...
method info (line 1) | info(t,e,s=4e3){const i=!!document.body&&document.body.classList.contain...
method warning (line 1) | warning(t,e,s=4e3){const i=!!document.body&&document.body.classList.cont...
method error (line 1) | error(t,e,s=1e4){const i=!!document.body&&document.body.classList.contai...
method result (line 1) | result(e,s,i="",n=4e3){const a=!!document.body&&document.body.classList....
method reload (line 1) | reload(){this.notices.forEach(t=>t.noticeEl.remove()),this.notices.lengt...
method addNotice (line 1) | addNotice(t){this.notices.length>=100&&(this.notices[0].noticeEl.remove(...
function generatePlugin (line 1) | function generatePlugin(t,e,s,i,n,a){const o=e.description,r={manifest:{...
function generateTheme (line 1) | function generateTheme(t,e){const s={manifest:{translationVersion:0,plug...
function compareVersions (line 1) | function compareVersions(t,e){const s=t.split(".").map(Number),i=e.split...
method constructor (line 1) | constructor(t,e){super(t),this.issue=(t=>{const e=t.title,[s,i,n]=parseI...
method a (line 1) | async a(){const t=await this.i18n.api.giteeGetAllIssue();t.state?t.data....
method showHead (line 1) | async showHead(){const t=this.contentEl.parentElement;t.addClass("i18n-s...
method showMain (line 1) | async showMain(){if(this.i18n.issues)for(const t of this.i18n.issues)thi...
method onOpen (line 1) | async onOpen(){await this.showHead(),await this.showMain()}
method onClose (line 1) | async onClose(){this.contentEl.empty()}
method reloadShowData (line 1) | async reloadShowData(){let t=0;const e=this.contentEl;t=e.scrollTop,e.em...
method main (line 1) | main(){new import_obsidian13.Setting(this.containerEl).setName(t("设置_共享_...
method main (line 1) | main(){new import_obsidian14.Setting(this.containerEl).setName(t("设置_主题_...
method constructor (line 1) | constructor(t,e){super(t,e),this.i18n=e,this.app=t}
method display (line 1) | display(){const{containerEl:e}=this;e.empty(),e.addClass("i18n-setting__...
method styleDisplay (line 1) | styleDisplay(){this.contentEl.empty(),new I18nStyle(this).display()}
method basisDisplay (line 1) | basisDisplay(){this.contentEl.empty(),new I18nBasis(this).display()}
method ldtDisplay (line 1) | ldtDisplay(){this.contentEl.empty(),new I18nModLDT(this).display()}
method ndtDisplay (line 1) | ndtDisplay(){this.contentEl.empty(),new I18nModNDT(this).display()}
method nitDisplay (line 1) | nitDisplay(){this.contentEl.empty(),new I18nModeNIT(this).display(),new ...
method imtDisplay (line 1) | imtDisplay(){this.contentEl.empty(),new I18nModIMT(this).display()}
method shareDisplay (line 1) | shareDisplay(){this.contentEl.empty(),new I18nShare(this).display()}
method reDisplay (line 1) | reDisplay(){this.contentEl.empty(),new I18nRE(this).display()}
method constructor (line 1) | constructor(t,e){super(t),this.imgDate="data:image/png;base64,iVBORw0KGg...
method Main (line 1) | async Main(){const{contentEl:e}=this;this.contentEl.parentElement.addCla...
method onOpen (line 1) | async onOpen(){await this.Main()}
method onClose (line 1) | async onClose(){this.contentEl.empty()}
method constructor (line 1) | constructor(t,e){super(t),this.i18n=e,this.i18n.originalPluginsManifests...
method showHead (line 1) | async showHead(){this.contentEl.addClass("i18n__item-box");const t=this....
method showMain (line 1) | async showMain(){for(const t in this.i18n.nameTranslationJSON){const e=n...
method reloadShowData (line 1) | async reloadShowData(){let t=0;const e=this.contentEl;t=e.scrollTop,e.em...
method onOpen (line 1) | async onOpen(){await this.showHead(),await this.showMain(),console.log("...
method onClose (line 1) | async onClose(){this.contentEl.empty(),console.log("推出了")}
method constructor (line 1) | constructor(t,e){super(t),this.i18n=e}
method showHead (line 1) | async showHead(){var t;const e=this.contentEl.parentElement;e.addClass("...
method showMain (line 1) | async showMain(){if(void 0===this.i18n.contributorCache&&(this.i18n.cont...
method reloadShowData (line 1) | async reloadShowData(){let t=0;const e=this.contentEl;t=e.scrollTop,e.em...
method onOpen (line 1) | async onOpen(){await this.showHead(),await this.showMain()}
method onClose (line 1) | async onClose(){this.contentEl.empty()}
method constructor (line 1) | constructor(t,e){super(t),this.themes=[],this.showThemes=[],this.develop...
method showHead (line 1) | async showHead(){var e;const s=this.contentEl.parentElement;s.addClass("...
method showData (line 1) | async showData(){this.themes=Object.values(this.app.customCss.themes),th...
method reloadShowData (line 1) | async reloadShowData(){let t=0;const e=this.contentEl;t=e.scrollTop,e.em...
method onOpen (line 1) | async onOpen(){await this.showHead(),await this.showData()}
method onClose (line 1) | async onClose(){this.contentEl.empty()}
method reloadPlugin (line 1) | async reloadPlugin(t){this.enabledPlugins.has(t)&&(await this.app.plugin...
method translationMain (line 1) | translationMain(e,s){for(const t in e.dict)s=s.replaceAll(t,e.dict[t]);r...
method constructor (line 1) | constructor(t,e){super(t),this.plugins=[],this.showPlugins=[],this.devel...
method showHead (line 1) | async showHead(){var e;const s=this.contentEl.parentElement;s.addClass("...
method showData (line 1) | async showData(){this.plugins=Object.values(this.app.plugins.manifests),...
method getContents (line 1) | async getContents(t){const e=await this.i18n.api.giteeGetContents(t),s=e...
method reloadShowData (line 1) | async reloadShowData(){let t=0;const e=this.contentEl;t=e.scrollTop,e.em...
method onOpen (line 1) | async onOpen(){await this.showHead(),await this.showData()}
method onClose (line 1) | async onClose(){this.contentEl.empty()}
method reloadPlugin (line 1) | async reloadPlugin(t){this.enabledPlugins.has(t)&&(await this.app.plugin...
method translationMain (line 1) | translationMain(e,s){for(const t in e.dict)s=s.replaceAll(t,e.dict[t]);r...
function unsafeStringify (line 1) | function unsafeStringify(t,e=0){return(byteToHex[t[e+0]]+byteToHex[t[e+1...
function rng (line 1) | function rng(){if(!getRandomValues&&!(getRandomValues="undefined"!=typeo...
function v4 (line 1) | function v4(t,e,s){if(native_default.randomUUID&&!e&&!t)return native_de...
method constructor (line 1) | constructor(t,e){if(super(t),this.translationDict=[],this.i18n=e,this.pa...
method onload (line 1) | async onload(){var e,s;this.i18n.notice.reload();const i=this.contentEl;...
method onunload (line 1) | async onunload(){this.i18n.notice.reload(),this.path="",this.contentEl.e...
method getViewType (line 1) | getViewType(){return EDIT_VIEW_TYPE}
method getDisplayText (line 1) | getDisplayText(){return t("编辑器_通用_名称")}
method getIcon (line 1) | getIcon(){return"i18n_translate"}
method constructor (line 1) | constructor(t,e){super(t),this.areement_1=!1,this.areement_2=!1,this.i18...
method Main (line 1) | async Main(){this.contentEl.parentElement.addClass("i18n-areement__conta...
method onOpen (line 1) | async onOpen(){await this.Main()}
method onClose (line 1) | async onClose(){this.contentEl.empty()}
method constructor (line 1) | constructor(t,e,s){super(t),this.name="",this.i18n=e,this.onSubmit=s}
method showHead (line 1) | async showHead(){const t=this.contentEl.parentElement;t.addClass("i18n-s...
method showMain (line 1) | async showMain(){new import_obsidian24.Setting(this.contentEl).setName("...
method onOpen (line 1) | async onOpen(){await this.showHead(),await this.showMain()}
method onClose (line 1) | async onClose(){this.contentEl.empty()}
method constructor (line 1) | constructor(t,e){super(t),this.directory=[],this.i18n=e,this.i18n.notice...
method onload (line 1) | async onload(){var t;const e=this.contentEl;if(e.addClass("i18n-review__...
method onunload (line 1) | async onunload(){this.contentEl.empty()}
method getViewType (line 1) | getViewType(){return SHARE_VIEW_TYPE}
method getDisplayText (line 1) | getDisplayText(){return"共建云端"}
method getIcon (line 1) | getIcon(){return"i18n_translate"}
method getTypeName (line 1) | getTypeName(){let t="";switch(this.type){case 0:t="plugin";break;case 1:...
method getSubmissionTypeName (line 1) | getSubmissionTypeName(){let t="";switch(this.submissionType){case 0:t="标...
method constructor (line 1) | constructor(t,e){if(super(t),this.updateTranslationObj=[],this.errorView...
method onload (line 1) | async onload(){var t;const e=this.contentEl;if(e.addClass("i18n-review__...
method onunload (line 1) | async onunload(){this.i18n.notice.reload(),this.contentEl.empty()}
method closeIssue (line 1) | async closeIssue(){const t=await this.i18n.api.giteePatchIssue(this.i18n...
method merge (line 1) | async merge(){const t=this.updateTranslationObj.filter(t=>"modified"===t...
method getContents (line 1) | async getContents(t){const e=await this.i18n.api.giteeGetContents(t),s=e...
method updateDirectory (line 1) | updateDirectory(t){const e=t.find(t=>t.id===this.id),s={...(null==e?void...
method updateContributor (line 1) | updateContributor(t,e,s,i){const n=t.find(t=>t.login===this.i18n.issue.u...
method getViewType (line 1) | getViewType(){return ADMIN_VIEW_TYPE}
method getDisplayText (line 1) | getDisplayText(){return"审核面板"}
method getIcon (line 1) | getIcon(){return"i18n_translate"}
method constructor (line 1) | constructor(t,e){super(t),this.updateTranslationObj=[],this.errorView=!1...
method onload (line 1) | async onload(){var t;const e=this.contentEl;if(e.addClass("i18n-review__...
method onunload (line 1) | async onunload(){this.i18n.notice.reload(),this.contentEl.empty()}
method getViewType (line 1) | getViewType(){return DOWNLOAD_VIEW_TYPE}
method getDisplayText (line 1) | getDisplayText(){return"下载视图"}
method getIcon (line 1) | getIcon(){return"i18n_translate"}
method constructor (line 1) | constructor(){super(...arguments),this.updatesMark=!1,this.ignoreMark=!0...
method onload (line 1) | async onload(){const e=Date.now();icon_default(),this.notice=new Notific...
method onunload (line 1) | async onunload(){this.detachAdminView(),this.detachEditorView(),this.det...
method onUserEnable (line 1) | onUserEnable(){}
method loadSettings (line 1) | async loadSettings(){this.settings=Object.assign({},DEFAULT_SETTINGS,awa...
method saveSettings (line 1) | async saveSettings(){await this.saveData(this.settings)}
method firstRun (line 1) | async firstRun(){this.settings.I18N_WIZARD&&(new WizardModal(this.app,th...
method checkUpdates (line 1) | async checkUpdates(){const e=await this.api.version();e.state?this.manif...
method ignoreCache (line 1) | async ignoreCache(){if(!this.settings.I18N_MODE_NDT||!this.settings.I18N...
method pliginDirectoryCache (line 1) | async pliginDirectoryCache(){if(!this.settings.I18N_MODE_NDT)return void...
method themeDirectoryCache (line 1) | async themeDirectoryCache(){if(!this.settings.I18N_MODE_NDT)return void(...
method i18nAutomaticUpdate (line 1) | async i18nAutomaticUpdate(e){var s;if(this.settings.I18N_MODE_LDT&&this....
method trenslatorPluginsName (line 1) | trenslatorPluginsName(){const t=path7.join(path7.normalize(this.app.vaul...
method restorePluginsName (line 1) | restorePluginsName(){if(void 0!==this.originalPluginsManifests){const t=...
method reloadPluginsName (line 1) | reloadPluginsName(){this.restorePluginsName(),this.trenslatorPluginsName()}
method activateEditorView (line 1) | async activateEditorView(){const{workspace:t}=this.app;this.detachEditor...
method detachEditorView (line 1) | detachEditorView(){this.app.workspace.detachLeavesOfType(EDIT_VIEW_TYPE)}
method activateAdminView (line 1) | async activateAdminView(){const{workspace:t}=this.app;this.detachAdminVi...
method detachAdminView (line 1) | detachAdminView(){this.app.workspace.detachLeavesOfType(ADMIN_VIEW_TYPE)}
method activateShareView (line 1) | async activateShareView(){const{workspace:t}=this.app;this.detachShareVi...
method detachShareView (line 1) | detachShareView(){this.app.workspace.detachLeavesOfType(SHARE_VIEW_TYPE)}
method activateDownloadView (line 1) | async activateDownloadView(){const{workspace:t}=this.app;this.detachDown...
method detachDownloadView (line 1) | detachDownloadView(){this.app.workspace.detachLeavesOfType(DOWNLOAD_VIEW...
method activateIMT (line 1) | activateIMT(){if(!window.immersiveTranslateConfig){window.immersiveTrans...
method enableIMT (line 1) | async enableIMT(){var t,e;const s=document.querySelector("#immersive-tra...
method getAdmin (line 1) | async getAdmin(){const t=await this.api.giteeGetAllIssue();t.state?t.dat...
method editorLoad (line 1) | editorLoad(t,e,s){this.editorType=t,this.editorPath=e,this.editorState=s...
method shareLoad (line 1) | shareLoad(t,e,s){this.shareType=t,this.sharePath=e,this.shareObj=s,this....
FILE: .obsidian/plugins/obsidian-custom-attachment-location/duplicate.js
function name (line 34) | function name(obj) {
function extractDefault (line 37) | function extractDefault(module2) {
function requirePatched (line 40) | function requirePatched(id) {
function t (line 54) | function t(){return e.apply(null,arguments)}
function n (line 54) | function n(i){e=i}
function r (line 54) | function r(i){return i instanceof Array||Object.prototype.toString.call(...
function o (line 54) | function o(i){return i!=null&&Object.prototype.toString.call(i)==="[obje...
function s (line 54) | function s(i,a){return Object.prototype.hasOwnProperty.call(i,a)}
function l (line 54) | function l(i){if(Object.getOwnPropertyNames)return Object.getOwnProperty...
function u (line 54) | function u(i){return i===void 0}
function f (line 54) | function f(i){return typeof i=="number"||Object.prototype.toString.call(...
function h (line 54) | function h(i){return i instanceof Date||Object.prototype.toString.call(i...
function m (line 54) | function m(i,a){var c=[],d,y=i.length;for(d=0;d<y;++d)c.push(a(i[d],d));...
function p (line 54) | function p(i,a){for(var c in a)s(a,c)&&(i[c]=a[c]);return s(a,"toString"...
function g (line 54) | function g(i,a,c,d){return au(i,a,c,d,!0).utc()}
function w (line 54) | function w(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,...
function E (line 54) | function E(i){return i._pf==null&&(i._pf=w()),i._pf}
function T (line 54) | function T(i){var a=null,c=!1,d=i._d&&!isNaN(i._d.getTime());if(d&&(a=E(...
function A (line 54) | function A(i){var a=g(NaN);return i!=null?p(E(a),i):E(a).userInvalidated...
function z (line 54) | function z(i,a){var c,d,y,b=_.length;if(u(a._isAMomentObject)||(i._isAMo...
function H (line 54) | function H(i){z(this,i),this._d=new Date(i._d!=null?i._d.getTime():NaN),...
function v (line 54) | function v(i){return i instanceof H||i!=null&&i._isAMomentObject!=null}
function te (line 54) | function te(i){t.suppressDeprecationWarnings===!1&&typeof console<"u"&&c...
function J (line 54) | function J(i,a){var c=!0;return p(function(){if(t.deprecationHandler!=nu...
function se (line 57) | function se(i,a){t.deprecationHandler!=null&&t.deprecationHandler(i,a),Z...
function ue (line 57) | function ue(i){return typeof Function<"u"&&i instanceof Function||Object...
function re (line 57) | function re(i){var a,c;for(c in i)s(i,c)&&(a=i[c],ue(a)?this[c]=a:this["...
function Y (line 57) | function Y(i,a){var c=p({},i),d;for(d in a)s(a,d)&&(o(i[d])&&o(a[d])?(c[...
function j (line 57) | function j(i){i!=null&&this.set(i)}
function he (line 57) | function he(i,a,c){var d=this._calendar[i]||this._calendar.sameElse;retu...
function me (line 57) | function me(i,a,c){var d=""+Math.abs(i),y=a-d.length,b=i>=0;return(b?c?"...
function k (line 57) | function k(i,a,c,d){var y=d;typeof d=="string"&&(y=function(){return thi...
function Ye (line 57) | function Ye(i){return i.match(/\[[\s\S]/)?i.replace(/^\[|\]$/g,""):i.rep...
function Rt (line 57) | function Rt(i){var a=i.match(Xe),c,d;for(c=0,d=a.length;c<d;c++)Pe[a[c]]...
function Kt (line 57) | function Kt(i,a){return i.isValid()?(a=gn(a,i.localeData()),Ie[a]=Ie[a]|...
function gn (line 57) | function gn(i,a){var c=5;function d(y){return a.longDateFormat(y)||y}for...
function wn (line 57) | function wn(i){var a=this._longDateFormat[i],c=this._longDateFormat[i.to...
function Ot (line 57) | function Ot(){return this._invalidDate}
function ws (line 57) | function ws(i){return this._ordinal.replace("%d",i)}
function hi (line 57) | function hi(i,a,c,d){var y=this._relativeTime[c];return ue(y)?y(i,a,c,d)...
function mi (line 57) | function mi(i,a){var c=this._relativeTime[i>0?"future":"past"];return ue...
function Be (line 57) | function Be(i){return typeof i=="string"?pi[i]||pi[i.toLowerCase()]:void 0}
function Mn (line 57) | function Mn(i){var a={},c,d;for(d in i)s(i,d)&&(c=Be(d),c&&(a[c]=i[d]));...
function ks (line 57) | function ks(i){var a=[],c;for(c in i)s(i,c)&&a.push({unit:c,priority:ys[...
function N (line 57) | function N(i,a,c){yi[i]=ue(a)?a:function(d,y){return d&&c?c:a}}
function rp (line 57) | function rp(i,a){return s(yi,i)?yi[i](a._strict,a._locale):new RegExp(ip...
function ip (line 57) | function ip(i){return Lt(i.replace("\\","").replace(/\\(\[)|\\(\])|\[([^...
function Lt (line 57) | function Lt(i){return i.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}
function lt (line 57) | function lt(i){return i<0?Math.ceil(i)||0:Math.floor(i)}
function Q (line 57) | function Q(i){var a=+i,c=0;return a!==0&&isFinite(a)&&(c=lt(a)),c}
function le (line 57) | function le(i,a){var c,d=a,y;for(typeof i=="string"&&(i=[i]),f(a)&&(d=fu...
function Ar (line 57) | function Ar(i,a){le(i,function(c,d,y,b){y._w=y._w||{},a(c,y._w,y,b)})}
function op (line 57) | function op(i,a,c){a!=null&&s(xs,i)&&xs[i](a,c._a,c,i)}
function ki (line 57) | function ki(i){return i%4===0&&i%100!==0||i%400===0}
function Cr (line 57) | function Cr(i){return ki(i)?366:365}
function lp (line 57) | function lp(){return ki(this.year())}
function $n (line 57) | function $n(i,a){return function(c){return c!=null?(jl(this,i,c),t.updat...
function vr (line 57) | function vr(i,a){if(!i.isValid())return NaN;var c=i._d,d=i._isUTC;switch...
function jl (line 57) | function jl(i,a,c){var d,y,b,C,L;if(!(!i.isValid()||isNaN(c))){switch(d=...
function up (line 57) | function up(i){return i=Be(i),ue(this[i])?this[i]():this}
function cp (line 57) | function cp(i,a){if(typeof i=="object"){i=Mn(i);var c=ks(i),d,y=c.length...
function fp (line 57) | function fp(i,a){return(i%a+a)%a}
function Es (line 57) | function Es(i,a){if(isNaN(i)||isNaN(a))return NaN;var c=fp(a,12);return ...
function pp (line 57) | function pp(i,a){return i?r(this._months)?this._months[i.month()]:this._...
function gp (line 57) | function gp(i,a){return i?r(this._monthsShort)?this._monthsShort[i.month...
function wp (line 57) | function wp(i,a,c){var d,y,b,C=i.toLocaleLowerCase();if(!this._monthsPar...
function yp (line 57) | function yp(i,a,c){var d,y,b;if(this._monthsParseExact)return wp.call(th...
function Xl (line 57) | function Xl(i,a){if(!i.isValid())return i;if(typeof a=="string"){if(/^\d...
function Jl (line 57) | function Jl(i){return i!=null?(Xl(this,i),t.updateOffset(this,!0),this):...
function kp (line 57) | function kp(){return Es(this.year(),this.month())}
function bp (line 57) | function bp(i){return this._monthsParseExact?(s(this,"_monthsRegex")||Zl...
function xp (line 57) | function xp(i){return this._monthsParseExact?(s(this,"_monthsRegex")||Zl...
function Zl (line 57) | function Zl(){function i(U,ee){return ee.length-U.length}var a=[],c=[],d...
function Ep (line 57) | function Ep(i,a,c,d,y,b,C){var L;return i<100&&i>=0?(L=new Date(i+400,a,...
function Sr (line 57) | function Sr(i){var a,c;return i<100&&i>=0?(c=Array.prototype.slice.call(...
function bi (line 57) | function bi(i,a,c){var d=7+a-c,y=(7+Sr(i,0,d).getUTCDay()-a)%7;return-y+...
function Kl (line 57) | function Kl(i,a,c,d,y){var b=(7+c-d)%7,C=bi(i,d,y),L=1+7*(a-1)+b+C,U,ee;...
function Tr (line 57) | function Tr(i,a,c){var d=bi(i.year(),a,c),y=Math.floor((i.dayOfYear()-d-...
function Nt (line 57) | function Nt(i,a,c){var d=bi(i,a,c),y=bi(i+1,a,c);return(Cr(i)-d+y)/7}
function Ap (line 57) | function Ap(i){return Tr(i,this._week.dow,this._week.doy).week}
function vp (line 57) | function vp(){return this._week.dow}
function Sp (line 57) | function Sp(){return this._week.doy}
function Tp (line 57) | function Tp(i){var a=this.localeData().week(this);return i==null?a:this....
function _p (line 57) | function _p(i){var a=Tr(this,1,4).week;return i==null?a:this.add((i-a)*7...
function Fp (line 57) | function Fp(i,a){return typeof i!="string"?i:isNaN(i)?(i=a.weekdaysParse...
function Ip (line 57) | function Ip(i,a){return typeof i=="string"?a.weekdaysParse(i)%7||7:isNaN...
function As (line 57) | function As(i,a){return i.slice(a,7).concat(i.slice(0,a))}
function Mp (line 57) | function Mp(i,a){var c=r(this._weekdays)?this._weekdays:this._weekdays[i...
function Np (line 57) | function Np(i){return i===!0?As(this._weekdaysShort,this._week.dow):i?th...
function $p (line 57) | function $p(i){return i===!0?As(this._weekdaysMin,this._week.dow):i?this...
function Yp (line 57) | function Yp(i,a,c){var d,y,b,C=i.toLocaleLowerCase();if(!this._weekdaysP...
function Bp (line 57) | function Bp(i,a,c){var d,y,b;if(this._weekdaysParseExact)return Yp.call(...
function zp (line 57) | function zp(i){if(!this.isValid())return i!=null?this:NaN;var a=vr(this,...
function Vp (line 57) | function Vp(i){if(!this.isValid())return i!=null?this:NaN;var a=(this.da...
function Wp (line 57) | function Wp(i){if(!this.isValid())return i!=null?this:NaN;if(i!=null){va...
function Up (line 57) | function Up(i){return this._weekdaysParseExact?(s(this,"_weekdaysRegex")...
function Hp (line 57) | function Hp(i){return this._weekdaysParseExact?(s(this,"_weekdaysRegex")...
function jp (line 57) | function jp(i){return this._weekdaysParseExact?(s(this,"_weekdaysRegex")...
function Cs (line 57) | function Cs(){function i(We,Vt){return Vt.length-We.length}var a=[],c=[]...
function vs (line 57) | function vs(){return this.hours()%12||12}
function qp (line 57) | function qp(){return this.hours()||24}
function eu (line 57) | function eu(i,a){k(i,0,0,function(){return this.localeData().meridiem(th...
function tu (line 57) | function tu(i,a){return a._meridiemParse}
function Gp (line 57) | function Gp(i){return(i+"").toLowerCase().charAt(0)==="p"}
function Zp (line 57) | function Zp(i,a,c){return i>11?c?"pm":"PM":c?"am":"AM"}
function Kp (line 57) | function Kp(i,a){var c,d=Math.min(i.length,a.length);for(c=0;c<d;c+=1)if...
function ru (line 57) | function ru(i){return i&&i.toLowerCase().replace("_","-")}
function Qp (line 57) | function Qp(i){for(var a=0,c,d,y,b;a<i.length;){for(b=ru(i[a]).split("-"...
function eg (line 57) | function eg(i){return!!(i&&i.match("^[^/\\\\]*$"))}
function xi (line 57) | function xi(i){var a=null,c;if(de[i]===void 0&&typeof Un<"u"&&Un&&Un.exp...
function en (line 57) | function en(i,a){var c;return i&&(u(a)?c=$t(i):c=Ss(i,a),c?Fr=c:typeof c...
function Ss (line 57) | function Ss(i,a){if(a!==null){var c,d=nu;if(a.abbr=i,de[i]!=null)se("def...
function tg (line 57) | function tg(i,a){if(a!=null){var c,d,y=nu;de[i]!=null&&de[i].parentLocal...
function $t (line 57) | function $t(i){var a;if(i&&i._locale&&i._locale._abbr&&(i=i._locale._abb...
function ng (line 57) | function ng(){return V(de)}
function Ts (line 57) | function Ts(i){var a,c=i._a;return c&&E(i).overflow===-2&&(a=c[Dt]<0||c[...
function iu (line 57) | function iu(i){var a,c,d=i._i,y=rg.exec(d)||ig.exec(d),b,C,L,U,ee=Ei.len...
function ug (line 57) | function ug(i,a,c,d,y,b){var C=[cg(i),ql.indexOf(a),parseInt(c,10),parse...
function cg (line 57) | function cg(i){var a=parseInt(i,10);return a<=49?2e3+a:a<=999?1900+a:a}
function fg (line 57) | function fg(i){return i.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s...
function dg (line 57) | function dg(i,a,c){if(i){var d=Ql.indexOf(i),y=new Date(a[0],a[1],a[2])....
function hg (line 57) | function hg(i,a,c){if(i)return lg[i];if(a)return 0;var d=parseInt(c,10),...
function ou (line 57) | function ou(i){var a=ag.exec(fg(i._i)),c;if(a){if(c=ug(a[4],a[3],a[2],a[...
function mg (line 57) | function mg(i){var a=sg.exec(i._i);if(a!==null){i._d=new Date(+a[1]);ret...
function Yn (line 57) | function Yn(i,a,c){return i??a??c}
function pg (line 57) | function pg(i){var a=new Date(t.now());return i._useUTC?[a.getUTCFullYea...
function Fs (line 57) | function Fs(i){var a,c,d=[],y,b,C;if(!i._d){for(y=pg(i),i._w&&i._a[Ct]==...
function gg (line 57) | function gg(i){var a,c,d,y,b,C,L,U,ee;a=i._w,a.GG!=null||a.W!=null||a.E!...
function Is (line 57) | function Is(i){if(i._f===t.ISO_8601){iu(i);return}if(i._f===t.RFC_2822){...
function wg (line 57) | function wg(i,a,c){var d;return c==null?a:i.meridiemHour!=null?i.meridie...
function yg (line 57) | function yg(i){var a,c,d,y,b,C,L=!1,U=i._f.length;if(U===0){E(i).invalid...
function kg (line 57) | function kg(i){if(!i._d){var a=Mn(i._i),c=a.day===void 0?a.date:a.day;i....
function bg (line 57) | function bg(i){var a=new H(Ts(su(i)));return a._nextDay&&(a.add(1,"d"),a...
function su (line 57) | function su(i){var a=i._i,c=i._f;return i._locale=i._locale||$t(i._l),a=...
function xg (line 57) | function xg(i){var a=i._i;u(a)?i._d=new Date(t.now()):h(a)?i._d=new Date...
function au (line 57) | function au(i,a,c,d,y){var b={};return(a===!0||a===!1)&&(d=a,a=void 0),(...
function ce (line 57) | function ce(i,a,c,d){return au(i,a,c,d,!1)}
function lu (line 57) | function lu(i,a){var c,d;if(a.length===1&&r(a[0])&&(a=a[0]),!a.length)re...
function Cg (line 57) | function Cg(){var i=[].slice.call(arguments,0);return lu("isBefore",i)}
function vg (line 57) | function vg(){var i=[].slice.call(arguments,0);return lu("isAfter",i)}
function Tg (line 57) | function Tg(i){var a,c=!1,d,y=Ir.length;for(a in i)if(s(i,a)&&!(ge.call(...
function _g (line 57) | function _g(){return this._isValid}
function Fg (line 57) | function Fg(){return xt(NaN)}
function Ai (line 57) | function Ai(i){var a=Mn(i),c=a.year||0,d=a.quarter||0,y=a.month||0,b=a.w...
function Ci (line 57) | function Ci(i){return i instanceof Ai}
function Ps (line 57) | function Ps(i){return i<0?Math.round(-1*i)*-1:Math.round(i)}
function Ig (line 57) | function Ig(i,a,c){var d=Math.min(i.length,a.length),y=Math.abs(i.length...
function uu (line 57) | function uu(i,a){k(i,0,0,function(){var c=this.utcOffset(),d="+";return ...
function Rs (line 57) | function Rs(i,a){var c=(a||"").match(i),d,y,b;return c===null?null:(d=c[...
function Os (line 57) | function Os(i,a){var c,d;return a._isUTC?(c=a.clone(),d=(v(i)||h(i)?i.va...
function Ls (line 57) | function Ls(i){return-Math.round(i._d.getTimezoneOffset())}
function Rg (line 57) | function Rg(i,a,c){var d=this._offset||0,y;if(!this.isValid())return i!=...
function Og (line 57) | function Og(i,a){return i!=null?(typeof i!="string"&&(i=-i),this.utcOffs...
function Lg (line 57) | function Lg(i){return this.utcOffset(0,i)}
function Dg (line 57) | function Dg(i){return this._isUTC&&(this.utcOffset(0,i),this._isUTC=!1,i...
function Mg (line 57) | function Mg(){if(this._tzm!=null)this.utcOffset(this._tzm,!1,!0);else if...
function Ng (line 57) | function Ng(i){return this.isValid()?(i=i?ce(i).utcOffset():0,(this.utcO...
function $g (line 57) | function $g(){return this.utcOffset()>this.clone().month(0).utcOffset()|...
function Yg (line 57) | function Yg(){if(!u(this._isDSTShifted))return this._isDSTShifted;var i=...
function Bg (line 57) | function Bg(){return this.isValid()?!this._isUTC:!1}
function zg (line 57) | function zg(){return this.isValid()?this._isUTC:!1}
function cu (line 57) | function cu(){return this.isValid()?this._isUTC&&this._offset===0:!1}
function xt (line 57) | function xt(i,a){var c=i,d=null,y,b,C;return Ci(i)?c={ms:i._milliseconds...
function kn (line 57) | function kn(i,a){var c=i&&parseFloat(i.replace(",","."));return(isNaN(c)...
function fu (line 57) | function fu(i,a){var c={};return c.months=a.month()-i.month()+(a.year()-...
function Ug (line 57) | function Ug(i,a){var c;return i.isValid()&&a.isValid()?(a=Os(a,i),i.isBe...
function du (line 57) | function du(i,a){return function(c,d){var y,b;return d!==null&&!isNaN(+d...
function hu (line 57) | function hu(i,a,c,d){var y=a._milliseconds,b=Ps(a._days),C=Ps(a._months)...
function mu (line 57) | function mu(i){return typeof i=="string"||i instanceof String}
function qg (line 57) | function qg(i){return v(i)||h(i)||mu(i)||f(i)||Xg(i)||Gg(i)||i===null||i...
function Gg (line 57) | function Gg(i){var a=o(i)&&!l(i),c=!1,d=["years","year","y","months","mo...
function Xg (line 57) | function Xg(i){var a=r(i),c=!1;return a&&(c=i.filter(function(d){return!...
function Jg (line 57) | function Jg(i){var a=o(i)&&!l(i),c=!1,d=["sameDay","nextDay","lastDay","...
function Zg (line 57) | function Zg(i,a){var c=i.diff(a,"days",!0);return c<-6?"sameElse":c<-1?"...
function Kg (line 57) | function Kg(i,a){arguments.length===1&&(arguments[0]?qg(arguments[0])?(i...
function Qg (line 57) | function Qg(){return new H(this)}
function e0 (line 57) | function e0(i,a){var c=v(i)?i:ce(i);return this.isValid()&&c.isValid()?(...
function t0 (line 57) | function t0(i,a){var c=v(i)?i:ce(i);return this.isValid()&&c.isValid()?(...
function n0 (line 57) | function n0(i,a,c,d){var y=v(i)?i:ce(i),b=v(a)?a:ce(a);return this.isVal...
function r0 (line 57) | function r0(i,a){var c=v(i)?i:ce(i),d;return this.isValid()&&c.isValid()...
function i0 (line 57) | function i0(i,a){return this.isSame(i,a)||this.isAfter(i,a)}
function o0 (line 57) | function o0(i,a){return this.isSame(i,a)||this.isBefore(i,a)}
function s0 (line 57) | function s0(i,a,c){var d,y,b;if(!this.isValid())return NaN;if(d=Os(i,thi...
function vi (line 57) | function vi(i,a){if(i.date()<a.date())return-vi(a,i);var c=(a.year()-i.y...
function a0 (line 57) | function a0(){return this.clone().locale("en").format("ddd MMM DD YYYY H...
function l0 (line 57) | function l0(i){if(!this.isValid())return null;var a=i!==!0,c=a?this.clon...
function u0 (line 57) | function u0(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */...
function c0 (line 57) | function c0(i){i||(i=this.isUtc()?t.defaultFormatUtc:t.defaultFormat);va...
function f0 (line 57) | function f0(i,a){return this.isValid()&&(v(i)&&i.isValid()||ce(i).isVali...
function d0 (line 57) | function d0(i){return this.from(ce(),i)}
function h0 (line 57) | function h0(i,a){return this.isValid()&&(v(i)&&i.isValid()||ce(i).isVali...
function m0 (line 57) | function m0(i){return this.to(ce(),i)}
function pu (line 57) | function pu(i){var a;return i===void 0?this._locale._abbr:(a=$t(i),a!=nu...
function wu (line 57) | function wu(){return this._locale}
function zn (line 57) | function zn(i,a){return(i%a+a)%a}
function ku (line 57) | function ku(i,a,c){return i<100&&i>=0?new Date(i+400,a,c)-yu:new Date(i,...
function bu (line 57) | function bu(i,a,c){return i<100&&i>=0?Date.UTC(i+400,a,c)-yu:Date.UTC(i,...
function p0 (line 57) | function p0(i){var a,c;if(i=Be(i),i===void 0||i==="millisecond"||!this.i...
function g0 (line 57) | function g0(i){var a,c;if(i=Be(i),i===void 0||i==="millisecond"||!this.i...
function w0 (line 57) | function w0(){return this._d.valueOf()-(this._offset||0)*6e4}
function y0 (line 57) | function y0(){return Math.floor(this.valueOf()/1e3)}
function k0 (line 57) | function k0(){return new Date(this.valueOf())}
function b0 (line 57) | function b0(){var i=this;return[i.year(),i.month(),i.date(),i.hour(),i.m...
function x0 (line 57) | function x0(){var i=this;return{years:i.year(),months:i.month(),date:i.d...
function E0 (line 57) | function E0(){return this.isValid()?this.toISOString():null}
function A0 (line 57) | function A0(){return T(this)}
function C0 (line 57) | function C0(){return p({},E(this))}
function v0 (line 57) | function v0(){return E(this).overflow}
function S0 (line 57) | function S0(){return{input:this._i,format:this._f,locale:this._locale,is...
function T0 (line 57) | function T0(i,a){var c,d,y,b=this._eras||$t("en")._eras;for(c=0,d=b.leng...
function _0 (line 57) | function _0(i,a,c){var d,y,b=this.eras(),C,L,U;for(i=i.toUpperCase(),d=0...
function F0 (line 57) | function F0(i,a){var c=i.since<=i.until?1:-1;return a===void 0?t(i.since...
function I0 (line 57) | function I0(){var i,a,c,d=this.localeData().eras();for(i=0,a=d.length;i<...
function P0 (line 57) | function P0(){var i,a,c,d=this.localeData().eras();for(i=0,a=d.length;i<...
function R0 (line 57) | function R0(){var i,a,c,d=this.localeData().eras();for(i=0,a=d.length;i<...
function O0 (line 57) | function O0(){var i,a,c,d,y=this.localeData().eras();for(i=0,a=y.length;...
function L0 (line 57) | function L0(i){return s(this,"_erasNameRegex")||Ms.call(this),i?this._er...
function D0 (line 57) | function D0(i){return s(this,"_erasAbbrRegex")||Ms.call(this),i?this._er...
function M0 (line 57) | function M0(i){return s(this,"_erasNarrowRegex")||Ms.call(this),i?this._...
function Ds (line 57) | function Ds(i,a){return a.erasAbbrRegex(i)}
function N0 (line 57) | function N0(i,a){return a.erasNameRegex(i)}
function $0 (line 57) | function $0(i,a){return a.erasNarrowRegex(i)}
function Y0 (line 57) | function Y0(i,a){return a._eraYearOrdinalRegex||at}
function Ms (line 57) | function Ms(){var i=[],a=[],c=[],d=[],y,b,C,L,U,ee=this.eras();for(y=0,b...
function _i (line 57) | function _i(i,a){k(0,[i,i.length],0,a)}
function B0 (line 57) | function B0(i){return xu.call(this,i,this.week(),this.weekday()+this.loc...
function z0 (line 57) | function z0(i){return xu.call(this,i,this.isoWeek(),this.isoWeekday(),1,4)}
function V0 (line 57) | function V0(){return Nt(this.year(),1,4)}
function W0 (line 57) | function W0(){return Nt(this.isoWeekYear(),1,4)}
function U0 (line 57) | function U0(){var i=this.localeData()._week;return Nt(this.year(),i.dow,...
function H0 (line 57) | function H0(){var i=this.localeData()._week;return Nt(this.weekYear(),i....
function xu (line 57) | function xu(i,a,c,d,y){var b;return i==null?Tr(this,d,y).year:(b=Nt(i,d,...
function j0 (line 57) | function j0(i,a,c,d,y){var b=Kl(i,a,c,d,y),C=Sr(b.year,0,b.dayOfYear);re...
function q0 (line 57) | function q0(i){return i==null?Math.ceil((this.month()+1)/3):this.month((...
function G0 (line 57) | function G0(i){var a=Math.round((this.clone().startOf("day")-this.clone(...
function Z0 (line 57) | function Z0(i,a){a[yn]=Q(("0."+i)*1e3)}
function K0 (line 57) | function K0(){return this._isUTC?"UTC":""}
function Q0 (line 57) | function Q0(){return this._isUTC?"Coordinated Universal Time":""}
function ew (line 57) | function ew(i){return ce(i*1e3)}
function tw (line 57) | function tw(){return ce.apply(null,arguments).parseZone()}
function Cu (line 57) | function Cu(i){return i}
function Fi (line 57) | function Fi(i,a,c,d){var y=$t(),b=g().set(d,a);return y[c](b,i)}
function vu (line 57) | function vu(i,a,c){if(f(i)&&(a=i,i=void 0),i=i||"",a!=null)return Fi(i,a...
function Ns (line 57) | function Ns(i,a,c,d){typeof i=="boolean"?(f(a)&&(c=a,a=void 0),a=a||""):...
function nw (line 57) | function nw(i,a){return vu(i,a,"months")}
function rw (line 57) | function rw(i,a){return vu(i,a,"monthsShort")}
function iw (line 57) | function iw(i,a,c){return Ns(i,a,c,"weekdays")}
function ow (line 57) | function ow(i,a,c){return Ns(i,a,c,"weekdaysShort")}
function sw (line 57) | function sw(i,a,c){return Ns(i,a,c,"weekdaysMin")}
function aw (line 57) | function aw(){var i=this._data;return this._milliseconds=Yt(this._millis...
function Su (line 57) | function Su(i,a,c,d){var y=xt(a,c);return i._milliseconds+=d*y._millisec...
function lw (line 57) | function lw(i,a){return Su(this,i,a,1)}
function uw (line 57) | function uw(i,a){return Su(this,i,a,-1)}
function Tu (line 57) | function Tu(i){return i<0?Math.floor(i):Math.ceil(i)}
function cw (line 57) | function cw(){var i=this._milliseconds,a=this._days,c=this._months,d=thi...
function _u (line 57) | function _u(i){return i*4800/146097}
function $s (line 57) | function $s(i){return i*146097/4800}
function fw (line 57) | function fw(i){if(!this.isValid())return NaN;var a,c,d=this._millisecond...
function Bt (line 57) | function Bt(i){return function(){return this.as(i)}}
function xw (line 57) | function xw(){return xt(this)}
function Ew (line 57) | function Ew(i){return i=Be(i),this.isValid()?this[i+"s"]():NaN}
function bn (line 57) | function bn(i){return function(){return this.isValid()?this._data[i]:NaN}}
function Iw (line 57) | function Iw(){return lt(this.days()/7)}
function Pw (line 57) | function Pw(i,a,c,d,y){return y.relativeTime(a||1,!!c,i,d)}
function Rw (line 57) | function Rw(i,a,c,d){var y=xt(i).abs(),b=zt(y.as("s")),C=zt(y.as("m")),L...
function Ow (line 57) | function Ow(i){return i===void 0?zt:typeof i=="function"?(zt=i,!0):!1}
function Lw (line 57) | function Lw(i,a){return Vn[i]===void 0?!1:a===void 0?Vn[i]:(Vn[i]=a,i===...
function Dw (line 57) | function Dw(i,a){if(!this.isValid())return this.localeData().invalidDate...
function Wn (line 57) | function Wn(i){return(i>0)-(i<0)||+i}
function Ii (line 57) | function Ii(){if(!this.isValid())return this.localeData().invalidDate();...
function St (line 57) | function St(e){if(typeof e!="string")throw new TypeError("Path must be a...
function Mu (line 57) | function Mu(e,t){for(var n="",r=0,o=-1,s=0,l,u=0;u<=e.length;++u){if(u<e...
function Gw (line 57) | function Gw(e,t){var n=t.dir||t.root,r=t.base||(t.name||"")+(t.ext||"");...
function Pr (line 57) | function Pr(){}
function Jw (line 57) | function Jw(e,t,n){this.fn=e,this.context=t,this.once=n||!1}
function Yu (line 57) | function Yu(e,t,n,r,o){if(typeof n!="function")throw new TypeError("The ...
function Oi (line 57) | function Oi(e,t){--e._eventsCount===0?e._events=new Pr:delete e._events[t]}
function De (line 57) | function De(){this._events=new Pr,this._eventsCount=0}
function ay (line 57) | function ay(e){if(e=String(e),!(e.length>100)){var t=/^(-?(?:\d+)?\.?\d+...
function ly (line 57) | function ly(e){var t=Math.abs(e);return t>=vn?Math.round(e/vn)+"d":t>=er...
function uy (line 57) | function uy(e){var t=Math.abs(e);return t>=vn?$i(e,t,vn,"day"):t>=er?$i(...
function $i (line 57) | function $i(e,t,n,r){var o=t>=n*1.5;return Math.round(e/n)+" "+r+(o?"s":...
function cy (line 57) | function cy(e){n.debug=n,n.default=n,n.coerce=f,n.disable=l,n.enable=o,n...
function fy (line 57) | function fy(){if(typeof window<"u"&&window.process&&(window.process.type...
function dy (line 57) | function dy(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.use...
function hy (line 57) | function hy(e){try{e?it.storage.setItem("debug",e):it.storage.removeItem...
function my (line 57) | function my(){let e;try{e=it.storage.getItem("debug")}catch{}return!e&&t...
function py (line 57) | function py(){try{return localStorage}catch{}}
function Zs (line 57) | function Zs(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e...
function Ks (line 57) | function Ks(e,t){if(sn===0)return 0;if(dt("color=16m")||dt("color=full")...
function yy (line 57) | function yy(e){let t=Ks(e,e&&e.isTTY);return Zs(t)}
function by (line 57) | function by(){return"colors"in Te.inspectOpts?!!Te.inspectOpts.colors:ky...
function xy (line 57) | function xy(e){let{namespace:t,useColors:n}=this;if(n){let r=this.color,...
function Ey (line 59) | function Ey(){return Te.inspectOpts.hideDate?"":new Date().toISOString()...
function Ay (line 59) | function Ay(...e){return process.stderr.write(Bi.formatWithOptions(Te.in...
function Cy (line 60) | function Cy(e){e?process.env.DEBUG=e:delete process.env.DEBUG}
function vy (line 60) | function vy(){return process.env.DEBUG}
function Sy (line 60) | function Sy(e){e.inspectOpts={};let t=Object.keys(Te.inspectOpts);for(le...
method constructor (line 61) | constructor(t,n){if(n=Jx(n),t instanceof e){if(t.loose===!!n.loose&&t.in...
method format (line 61) | format(){return this.version=`${this.major}.${this.minor}.${this.patch}`...
method toString (line 61) | toString(){return this.version}
method compare (line 61) | compare(t){if(Po("SemVer.compare",this.version,this.options,t),!(t insta...
method compareMain (line 61) | compareMain(t){return t instanceof e||(t=new e(t,this.options)),yr(this....
method comparePre (line 61) | comparePre(t){if(t instanceof e||(t=new e(t,this.options)),this.prerelea...
method compareBuild (line 61) | compareBuild(t){t instanceof e||(t=new e(t,this.options));let n=0;do{let...
method inc (line 61) | inc(t,n,r){if(t.startsWith("pre")){if(!n&&r===!1)throw new Error("invali...
method constructor (line 61) | constructor(){this.max=1e3,this.map=new Map}
method get (line 61) | get(t){let n=this.map.get(t);if(n!==void 0)return this.map.delete(t),thi...
method delete (line 61) | delete(t){return this.map.delete(t)}
method set (line 61) | set(t,n){if(!this.delete(t)&&n!==void 0){if(this.map.size>=this.max){let...
method constructor (line 61) | constructor(t,n){if(n=jE(n),t instanceof e)return t.loose===!!n.loose&&t...
method range (line 61) | get range(){if(this.formatted===void 0){this.formatted="";for(let t=0;t<...
method format (line 61) | format(){return this.range}
method toString (line 61) | toString(){return this.range}
method parseRange (line 61) | parseRange(t){let r=((this.options.includePrerelease&&ZE)|(this.options....
method intersects (line 61) | intersects(t,n){if(!(t instanceof e))throw new TypeError("a Range is req...
method test (line 61) | test(t){if(!t)return!1;if(typeof t=="string")try{t=new qE(t,this.options...
method ANY (line 61) | static get ANY(){return oi}
method constructor (line 61) | constructor(t,n){if(n=Bh(n),t instanceof e){if(t.loose===!!n.loose)retur...
method parse (line 61) | parse(t){let n=this.options.loose?zh[Vh.COMPARATORLOOSE]:zh[Vh.COMPARATO...
method toString (line 61) | toString(){return this.value}
method test (line 61) | test(t){if(Cl("Comparator.test",t,this.options.loose),this.semver===oi||...
method intersects (line 61) | intersects(t,n){if(!(t instanceof e))throw new TypeError("a Comparator i...
function Hn (line 61) | function Hn(e,t){let n=Object.keys(t).map(r=>Vw(e,r,t[r]));return n.leng...
function Vw (line 61) | function Vw(e,t,n){let r=e[t],o=e.hasOwnProperty(t),s=o?r:function(){ret...
function Ww (line 61) | async function Ww(e){return await new Promise(t=>{let n=new FileReader;n...
function Ru (line 61) | async function Ru(e,t){let n=await Ww(e);return new Promise(r=>{let o=ne...
function Uw (line 61) | function Uw(e){let n=e.split(";base64,")[1];if(!n)throw new Error("Inval...
function jw (line 61) | function jw(){return Ou.TFile}
function qw (line 61) | function qw(){return Lu.TFolder}
function ut (line 61) | function ut(e){return e.replace(/\/?[^\/]*$/,"")||"/"}
function Ri (line 61) | function Ri(e,t){let n=e.vault.getFolderByPath(t);return n||(n=new(qw())...
function Du (line 61) | function Du(e,t){let n=e.vault.getFileByPath(t);return n||(n=new(jw())(e...
function rn (line 61) | function rn(e){return!!e.position}
function vt (line 61) | function vt(e){return!!e.key}
function Mi (line 61) | function Mi(e){Di.emit(Li,e)}
function zu (line 61) | function zu(e){return Ws(e).map(t=>" ".repeat(t.level)+t.message).join(`
function xn (line 62) | function xn(e=0){return(new Error().stack??"").split(`
function Rr (line 64) | function Rr(e,t){t??=globalThis.console;let n=Ws(e);for(let r of n)r.sho...
function Vu (line 64) | function Vu(e){return Di.on(Li,e),()=>Di.off(Li,e)}
function Ht (line 64) | function Ht(e){throw e}
function Zw (line 64) | function Zw(e){Rr(new Error("An unhandled error occurred executing async...
function Ws (line 64) | function Ws(e,t=0,n=[]){if(e===void 0)return n;if(!(e instanceof Error))...
function qn (line 65) | function qn(e){return e.replaceAll(/[.*+?^${}()|[\]\\]/g,"\\$&")}
function Wu (line 65) | function Wu(e){try{return new RegExp(e),!0}catch{return!1}}
function En (line 65) | async function En(e,...t){return Kw(e)?await e(...t):e}
function Kw (line 65) | function Kw(e){return typeof e=="function"}
function Uu (line 65) | function Uu(e,t,n,r){return r??=n,e.slice(0,n)+t+e.slice(r)}
function Or (line 65) | function Or(e){return Ce(e,/\u00A0|\u202F/g," ").normalize("NFC")}
function Ce (line 65) | function Ce(e,t,n){return typeof n>"u"?e:(t instanceof RegExp&&!t.global...
function Hu (line 65) | async function Hu(e,t,n){if(typeof n=="string")return Ce(e,t,n);let r=[]...
function Ni (line 65) | function Ni(e,t,n){if(e.endsWith(t))return e.slice(0,-t.length);if(n)thr...
function Gn (line 65) | function Gn(e,t,n){if(e.startsWith(t))return e.slice(t.length);if(n)thro...
function An (line 65) | function An(e,t){return t?`${e}.${t}`:e}
function ju (line 65) | function ju(...e){let t=Tt.resolve(...e);return t=ny(t),ty.exec(t)?.[0]??t}
function ny (line 65) | function ny(e){return Ce(e,"\\","/")}
function Xu (line 65) | function Xu(e,t,n){if(ct(t))return t.extension===n;if(typeof t=="string"...
function Cn (line 65) | function Cn(e,t,n){if(t===null)return null;if(Ju(t))return t;let r=qu(e,...
function Me (line 65) | function Me(e,t,n,r){let o=Ze(e,t,r);if(!o)if(n)o=Du(e,t);else throw new...
function Ze (line 65) | function Ze(e,t,n){let r=Cn(e,t,n);return ct(r)?r:null}
function Lr (line 65) | function Lr(e,t,n,r){let o=_t(e,t,r);if(!o)if(n)o=Ri(e,t);else throw new...
function _t (line 65) | function _t(e,t,n){let r=Cn(e,t,n);return Hs(r)?r:null}
function we (line 65) | function we(e,t){if(Ju(t))return t.path;let n=Cn(e,t);return n?n.path:Ku...
function Ju (line 65) | function Ju(e){return e instanceof jt.TAbstractFile}
function qt (line 65) | function qt(e,t){return Xu(e,t,ry)}
function ct (line 65) | function ct(e){return e instanceof jt.TFile}
function Hs (line 65) | function Hs(e){return e instanceof jt.TFolder}
function Gt (line 65) | function Gt(e,t){return Xu(e,t,Gu)}
function Ke (line 65) | function Ke(e,t){return Gt(e,t)||qt(e,t)}
function Zu (line 65) | function Zu(e,t){return Gt(e,t)?Ni(t.path,`.${Gu}`):t.path}
function qu (line 65) | function qu(e,t,n){return n?e.vault.getAbstractFileByPathInsensitive(t):...
function Ku (line 65) | function Ku(e){return(0,jt.normalizePath)(ju("/",e))}
function iy (line 65) | async function iy(e,t,n){let r=we(e,t),o=we(e,n),s=Me(e,o,!0),l=ve(r),u=...
function Jn (line 65) | async function Jn(e,t){return ut(await iy(e,"DUMMY_FILE.pdf",t))}
function js (line 65) | async function js(e,t,n,r,o){let s=e.vault.getConfig("attachmentFolderPa...
function qs (line 65) | async function qs(e,t){let n=await Jn(e,t),r=await Jn(e,be(ke(t),"DUMMY_...
function Qu (line 65) | function Qu(e){return e=Ce(e,/(?:[\\/])+/g,"/"),e=Ce(e,/^\/+|\/+$/g,""),...
function ft (line 65) | function ft(){return ec}
function tc (line 65) | function tc(e){e&&(ec=e)}
method constructor (line 65) | constructor(t,n,r){super(t.app),this.resolve=n,this.containerEl.addClass...
function Zn (line 65) | async function Zn(e){return await new Promise(t=>{e(t).open()})}
method constructor (line 65) | constructor(t,n){super(t,n,W.AlertModal);let r={app:t.app,cssClass:"",me...
method onClose (line 65) | onClose(){this.resolve()}
method onOpen (line 65) | onOpen(){this.titleEl.setText(this.options.title),this.contentEl.createE...
function ic (line 65) | async function ic(e){await Zn(t=>new Xs(e,t))}
function Ft (line 236) | function Ft(){}
function ta (line 236) | async function ta(){}
method constructor (line 236) | constructor(t){this.value=t}
function yc (line 236) | function yc(){try{return globalThis.require("obsidian/app")}catch{return...
function an (line 236) | function an(e,t,n){let r=e;return r.obsidianDevUtilsState??={},r.obsidia...
function bc (line 236) | function bc(){return{disable:Ty,enable:_y,get:Hi,set:Dr}}
function Ui (line 236) | function Ui(e,t=0){let n=tr()(e);return n.log=(r,...o)=>{Fy(e,t,r,...o)}...
function Qe (line 236) | function Qe(e){let t=ft(),n=t===Gs?"":`${t}:`;return Ui(`${n}${Vi}:${e}`)}
function xc (line 236) | function xc(e){let t=tr().enabled(e),n=t?"enabled":"disabled",r=t?"disab...
function Ty (line 236) | function Ty(e){let t=new Set(Hi());for(let n of Mr(e)){if(n.startsWith(W...
function _y (line 236) | function _y(e){let t=new Set(Hi());for(let n of Mr(e)){if(!n.startsWith(...
function Hi (line 236) | function Hi(){return Mr(tr().load()??"")}
function tr (line 236) | function tr(){if(typeof window>"u")return ra.default;let e=yc();return a...
function Ec (line 236) | function Ec(){return typeof window<"u"}
function Fy (line 236) | function Fy(e,t,n,...r){if(!tr().enabled(e))return;let l=(new Error().st...
function Ac (line 237) | function Ac(e,t,n){let r=tr()(e);if(!r.enabled)return;t||(t="(unavailabl...
function Dr (line 238) | function Dr(e){tr().enable(Mr(e).join(kc))}
function Mr (line 238) | function Mr(e){return typeof e=="string"?e.split(kc).filter(Boolean):e.f...
function _c (line 238) | function _c(e,t){tc(t),xc(t);let n=an(e,"lastLibraryVersion","0.0.0");if...
function Iy (line 238) | function Iy(){return window}
method abortSignal (line 238) | get abortSignal(){return this._abortSignal}
method settings (line 238) | get settings(){return this._settings}
method settingsClone (line 238) | get settingsClone(){return this.createPluginSettings(this.settings.toJSO...
method consoleDebug (line 238) | consoleDebug(t,...n){Ui(this.manifest.id,1)(t,...n)}
method onExternalSettingsChange (line 238) | async onExternalSettingsChange(){await this.loadSettings()}
method onload (line 238) | async onload(){_c(this.app,this.manifest.id),this.register(Vu(()=>{this....
method saveSettings (line 238) | async saveSettings(t){let n=t.toJSON();this._settings=this.createPluginS...
method onLayoutReady (line 238) | onLayoutReady(){}
method onloadComplete (line 238) | onloadComplete(){}
method showNotice (line 238) | showNotice(t){this.notice&&this.notice.hide(),this.notice=new Gi.Notice(...
method loadSettings (line 239) | async loadSettings(){let t=await this.loadData();this._settings=this.cre...
function oa (line 239) | function oa(e,t){if(e===t)return!0;if(typeof e!="object"||typeof t!="obj...
function Ic (line 239) | function Ic(e,t){let n=!1;for(let r of t)n=Py(e,r)||n;return n}
function Py (line 239) | function Py(e,t){return Object.hasOwn(e,t)?(delete e[t],!0):!1}
function nr (line 239) | function nr(e,t){let n=e,r=t.split(Fc);for(let o of r){if(n===void 0)ret...
function Pc (line 239) | function Pc(e,t,n){let r=new Error(`Property path ${t} not found`),o=e,s...
function rr (line 239) | function rr(e,t={}){let n={functionHandlingMode:"exclude",maxDepth:-1,sh...
function Ry (line 239) | function Ry(e){switch(e.key){case"CircularReference":return e.substituti...
function Oy (line 239) | function Oy(e,t,n,r,o,s){return t>r.maxDepth?ir("MaxDepthLimitReachedArr...
function Ly (line 239) | function Ly(e,t,n){if(n.shouldHandleCircularReferences)return ir("Circul...
function Dy (line 241) | function Dy(e,t,n){if(n.functionHandlingMode==="exclude")return;let r=t....
function My (line 241) | function My(e,t,n,r,o,s,l){if(l.has(e))return Ly(e,t,o);if(l.add(e),r){l...
function Ny (line 241) | function Ny(e,t,n,r,o,s){let l=Object.entries(e);return r.shouldSortKeys...
function ia (line 241) | function ia(e){return`{ "[[${e}]]": null }`}
function ir (line 241) | function ir(e,t){return`[[${e}${t?.toString()??""}]]`}
function Xi (line 241) | function Xi(e,t,n,r,o,s,l){return e===void 0?n===0||o.shouldHandleUndefi...
function $y (line 241) | function $y(e,t,n,r,o,s){let l=e.toJSON;if(typeof l=="function")try{let ...
function Sn (line 241) | function Sn(e,t){let n=t||Yy,r=typeof n.includeImageAlt=="boolean"?n.inc...
function Oc (line 241) | function Oc(e,t,n){if(By(e)){if("value"in e)return e.type==="html"&&!n?"...
function Rc (line 241) | function Rc(e,t,n){let r=[],o=-1;for(;++o<e.length;)r[o]=Oc(e[o],t,n);re...
function By (line 241) | function By(e){return!!(e&&typeof e=="object")}
function or (line 241) | function or(e){let t="&"+e+";";Lc.innerHTML=t;let n=Lc.textContent;retur...
function Fe (line 241) | function Fe(e,t,n,r){let o=e.length,s=0,l;if(t<0?t=-t>o?0:o+t:t=t>o?o:t,...
function He (line 241) | function He(e,t){return e.length>0?(Fe(e,e.length,0,t),e):t}
function Mc (line 241) | function Mc(e){let t={},n=-1;for(;++n<e.length;)zy(t,e[n]);return t}
function zy (line 241) | function zy(e,t){let n;for(n in t){let o=(Dc.call(e,n)?e[n]:void 0)||(e[...
function Vy (line 241) | function Vy(e,t){let n=-1,r=[];for(;++n<t.length;)(t[n].add==="after"?e:...
function Ji (line 241) | function Ji(e,t){let n=Number.parseInt(e,t);return n<9||n===11||n>13&&n<...
function Xt (line 241) | function Xt(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"")....
function Nr (line 241) | function Nr(e){return e!==null&&(e<32||e===127)}
function $ (line 241) | function $(e){return e!==null&&e<-2}
function ye (line 241) | function ye(e){return e!==null&&(e<0||e===32)}
function q (line 241) | function q(e){return e===-2||e===-1||e===32}
function ln (line 241) | function ln(e){return t;function t(n){return n!==null&&n>-1&&e.test(Stri...
function G (line 241) | function G(e,t,n,r){let o=r?r-1:Number.POSITIVE_INFINITY,s=0;return l;fu...
function Wy (line 241) | function Wy(e){let t=e.attempt(this.parser.constructs.contentInitial,r,o...
function Uy (line 241) | function Uy(e){let t=this,n=[],r=0,o,s,l;return u;function u(I){if(r<n.l...
function Hy (line 241) | function Hy(e,t,n){return G(e,e.attempt(this.parser.constructs.document,...
function sr (line 241) | function sr(e){if(e===null||ye(e)||zc(e))return 1;if(Bc(e))return 2}
function ar (line 241) | function ar(e,t,n){let r=[],o=-1;for(;++o<e.length;){let s=e[o].resolveA...
function jy (line 241) | function jy(e,t){let n=-1,r,o,s,l,u,f,h,m;for(;++n<e.length;)if(e[n][0]=...
function qy (line 241) | function qy(e,t){let n=this.parser.constructs.attentionMarkers.null,r=th...
function Hc (line 241) | function Hc(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}
function Gy (line 241) | function Gy(e,t,n){let r=0;return o;function o(w){return e.enter("autoli...
function Xy (line 241) | function Xy(e,t,n){return r;function r(s){return q(s)?G(e,o,"linePrefix"...
function Jy (line 241) | function Jy(e,t,n){let r=this;return o;function o(l){if(l===62){let u=r....
function Zy (line 241) | function Zy(e,t,n){let r=this;return o;function o(l){return q(l)?G(e,s,"...
function Ky (line 241) | function Ky(e){e.exit("blockQuote")}
function Qy (line 241) | function Qy(e,t,n){return r;function r(s){return e.enter("characterEscap...
function ek (line 241) | function ek(e,t,n){let r=this,o=0,s,l;return u;function u(p){return e.en...
function tk (line 241) | function tk(e,t,n){let r=this,o={partial:!0,tokenize:H},s=0,l=0,u;return...
function nk (line 241) | function nk(e,t,n){let r=this;return o;function o(l){return l===null?n(l...
function ik (line 241) | function ik(e,t,n){let r=this;return o;function o(h){return e.enter("cod...
function ok (line 241) | function ok(e,t,n){let r=this;return o;function o(l){return r.parser.laz...
function sk (line 241) | function sk(e){let t=e.length-4,n=3,r,o;if((e[n][1].type==="lineEnding"|...
function ak (line 241) | function ak(e){return e!==96||this.events[this.events.length-1][1].type=...
function lk (line 241) | function lk(e,t,n){let r=this,o=0,s,l;return u;function u(g){return e.en...
method constructor (line 241) | constructor(t){this.left=t?[...t]:[],this.right=[]}
method get (line 241) | get(t){if(t<0||t>=this.left.length+this.right.length)throw new RangeErro...
method length (line 241) | get length(){return this.left.length+this.right.length}
method shift (line 241) | shift(){return this.setCursor(0),this.right.pop()}
method slice (line 241) | slice(t,n){let r=n??Number.POSITIVE_INFINITY;return r<this.left.length?t...
method splice (line 241) | splice(t,n,r){let o=n||0;this.setCursor(Math.trunc(t));let s=this.right....
method pop (line 241) | pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}
method push (line 241) | push(t){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(t)}
method pushMany (line 241) | pushMany(t){this.setCursor(Number.POSITIVE_INFINITY),zr(this.left,t)}
method unshift (line 241) | unshift(t){this.setCursor(0),this.right.push(t)}
method unshiftMany (line 241) | unshiftMany(t){this.setCursor(0),zr(this.right,t.reverse())}
method setCursor (line 241) | setCursor(t){if(!(t===this.left.length||t>this.left.length&&this.right.l...
function zr (line 241) | function zr(e,t){let n=0;if(t.length<1e4)e.push(...t);else for(;n<t.leng...
function no (line 241) | function no(e){let t={},n=-1,r,o,s,l,u,f,h,m=new to(e);for(;++n<m.length...
function uk (line 241) | function uk(e,t){let n=e.get(t)[1],r=e.get(t)[2],o=t-1,s=[],l=n._tokeniz...
function fk (line 241) | function fk(e){return no(e),e}
function dk (line 241) | function dk(e,t){let n;return r;function r(u){return e.enter("content"),...
function hk (line 241) | function hk(e,t,n){let r=this;return o;function o(l){return e.exit("chun...
function ro (line 241) | function ro(e,t,n,r,o,s,l,u,f){let h=f||Number.POSITIVE_INFINITY,m=0;ret...
function io (line 241) | function io(e,t,n,r,o,s){let l=this,u=0,f;return h;function h(w){return ...
function oo (line 241) | function oo(e,t,n,r,o,s){let l;return u;function u(g){return g===34||g==...
function Tn (line 241) | function Tn(e,t){let n;return r;function r(o){return $(o)?(e.enter("line...
function pk (line 241) | function pk(e,t,n){let r=this,o;return s;function s(w){return e.enter("d...
function gk (line 241) | function gk(e,t,n){return r;function r(u){return ye(u)?Tn(e,o)(u):n(u)}f...
function wk (line 241) | function wk(e,t,n){return r;function r(s){return e.enter("hardBreakEscap...
function yk (line 241) | function yk(e,t){let n=e.length-2,r=3,o,s;return e[r][1].type==="whitesp...
function kk (line 241) | function kk(e,t,n){let r=0;return o;function o(m){return e.enter("atxHea...
function Ek (line 241) | function Ek(e){let t=e.length;for(;t--&&!(e[t][0]==="enter"&&e[t][1].typ...
function Ak (line 241) | function Ak(e,t,n){let r=this,o,s,l,u,f;return h;function h(k){return m(...
function Ck (line 241) | function Ck(e,t,n){let r=this;return o;function o(l){return $(l)?(e.ente...
function vk (line 241) | function vk(e,t,n){return r;function r(o){return e.enter("lineEnding"),e...
function Sk (line 241) | function Sk(e,t,n){let r=this,o,s,l;return u;function u(x){return e.ente...
function Ik (line 241) | function Ik(e){let t=-1,n=[];for(;++t<e.length;){let r=e[t][1];if(n.push...
function Pk (line 241) | function Pk(e,t){let n=e.length,r=0,o,s,l,u;for(;n--;)if(o=e[n][1],s){if...
function Rk (line 241) | function Rk(e,t,n){let r=this,o=r.events.length,s,l;for(;o--;)if((r.even...
function Ok (line 241) | function Ok(e,t,n){return r;function r(p){return e.enter("resource"),e.e...
function Lk (line 241) | function Lk(e,t,n){let r=this;return o;function o(u){return io.call(r,e,...
function Dk (line 241) | function Dk(e,t,n){return r;function r(s){return e.enter("reference"),e....
function Mk (line 241) | function Mk(e,t,n){let r=this;return o;function o(u){return e.enter("lab...
function Nk (line 241) | function Nk(e,t,n){let r=this;return o;function o(l){return e.enter("lab...
function $k (line 241) | function $k(e,t){return n;function n(r){return e.enter("lineEnding"),e.c...
function Yk (line 241) | function Yk(e,t,n){let r=0,o;return s;function s(h){return e.enter("them...
function Vk (line 241) | function Vk(e,t,n){let r=this,o=r.events[r.events.length-1],s=o&&o[1].ty...
function Wk (line 241) | function Wk(e,t,n){let r=this;return r.containerState._closeFlow=void 0,...
function Uk (line 241) | function Uk(e,t,n){let r=this;return G(e,o,"listItemIndent",r.containerS...
function Hk (line 241) | function Hk(e){e.exit(this.containerState.type)}
function jk (line 241) | function jk(e,t,n){let r=this;return G(e,o,"listItemPrefixWhitespace",r....
function qk (line 241) | function qk(e,t){let n=e.length,r,o,s;for(;n--;)if(e[n][0]==="enter"){if...
function Gk (line 241) | function Gk(e,t,n){let r=this,o;return s;function s(h){let m=r.events.le...
function Xk (line 241) | function Xk(e){let t=this,n=e.attempt(un,r,e.attempt(this.parser.constru...
function Kc (line 241) | function Kc(e){return{resolveAll:Qc(e==="text"?Jk:void 0),tokenize:t};fu...
function Qc (line 241) | function Qc(e){return t;function t(n,r){let o=-1,s;for(;++o<=n.length;)s...
function Jk (line 241) | function Jk(e,t){let n=0;for(;++n<=e.length;)if((n===e.length||e[n][1].t...
function ef (line 241) | function ef(e,t,n){let r={_bufferIndex:-1,_index:0,line:n&&n.line||1,col...
function sb (line 241) | function sb(e,t){let n=t.start._index,r=t.start._bufferIndex,o=t.end._in...
function ab (line 241) | function ab(e,t){let n=-1,r=[],o;for(;++n<e.length;){let s=e[n],l;if(typ...
function ya (line 243) | function ya(e){let r={constructs:Mc([wa,...(e||{}).extensions||[]]),cont...
function ka (line 243) | function ka(e){for(;!no(e););return e}
function ba (line 243) | function ba(){let e=1,t="",n=!0,r;return o;function o(s,l,u){let f=[],h,...
function ao (line 243) | function ao(e){return e.replace(lb,ub)}
function ub (line 243) | function ub(e,t,n){if(t)return t;if(n.charCodeAt(0)===35){let o=n.charCo...
function cn (line 243) | function cn(e){return!e||typeof e!="object"?"":"position"in e||"type"in ...
function xa (line 243) | function xa(e){return rf(e&&e.line)+":"+rf(e&&e.column)}
function nf (line 243) | function nf(e){return xa(e&&e.start)+"-"+xa(e&&e.end)}
function rf (line 243) | function rf(e){return e&&typeof e=="number"?e:1}
function Ea (line 243) | function Ea(e,t,n){return typeof t!="string"&&(n=t,t=void 0),cb(n)(ka(ya...
function cb (line 243) | function cb(e){let t={transforms:[],canContainEols:["emphasis","fragment...
function fn (line 243) | function fn(e){return{line:e.line,column:e.column,offset:e.offset}}
function af (line 243) | function af(e,t){let n=-1;for(;++n<t.length;){let r=t[n];Array.isArray(r...
function fb (line 243) | function fb(e,t){let n;for(n in t)if(sf.call(t,n))switch(n){case"canCont...
function of (line 243) | function of(e,t){throw e?new Error("Cannot close `"+e.type+"` ("+cn({sta...
function lr (line 243) | function lr(e){let t=this;t.parser=n;function n(r){return Ea(r,{...t.dat...
function uf (line 243) | function uf(e,t){let n=t||{};function r(o,...s){let l=r.invalid,u=r.hand...
function Aa (line 243) | function Aa(e,t){let n=-1,r;if(t.extensions)for(;++n<t.extensions.length...
function cf (line 243) | function cf(e,t){t&&e.push(...t)}
function hb (line 243) | function hb(e,t){t&&Object.assign(e,t)}
function ff (line 243) | function ff(e,t,n,r){let o=n.enter("blockquote"),s=n.createTracker(r);s....
function mb (line 243) | function mb(e,t,n){return">"+(n?"":" ")+e}
function lo (line 243) | function lo(e,t){return df(e,t.inConstruct,!0)&&!df(e,t.notInConstruct,!1)}
function df (line 243) | function df(e,t,n){if(typeof t=="string"&&(t=[t]),!t||t.length===0)retur...
function Ca (line 243) | function Ca(e,t,n,r){let o=-1;for(;++o<n.unsafe.length;)if(n.unsafe[o].c...
function hf (line 245) | function hf(e,t){let n=String(e),r=n.indexOf(t),o=r,s=0,l=0;if(typeof t!...
function Wr (line 245) | function Wr(e,t){return!!(t.options.fences===!1&&e.value&&!e.lang&&/[^ \...
function mf (line 245) | function mf(e){let t=e.options.fence||"`";if(t!=="`"&&t!=="~")throw new ...
function pf (line 245) | function pf(e,t,n,r){let o=mf(n),s=e.value||"",l=o==="`"?"GraveAccent":"...
function pb (line 248) | function pb(e,t,n){return(n?"":" ")+e}
function ur (line 248) | function ur(e){let t=e.options.quote||'"';if(t!=='"'&&t!=="'")throw new ...
function gf (line 248) | function gf(e,t,n,r){let o=ur(n),s=o==='"'?"Quote":"Apostrophe",l=n.ente...
function wf (line 249) | function wf(e){let t=e.options.emphasis||"*";if(t!=="*"&&t!=="_")throw n...
function st (line 249) | function st(e){return"&#x"+e.toString(16).toUpperCase()+";"}
function cr (line 249) | function cr(e,t,n){let r=sr(e),o=sr(t);return r===void 0?o===void 0?n===...
function va (line 249) | function va(e,t,n,r){let o=wf(n),s=n.enter("emphasis"),l=n.createTracker...
function gb (line 249) | function gb(e,t,n){return n.options.emphasis||"*"}
function wb (line 249) | function wb(e){let t=[],n=-1;for(;++n<e.length;)t[n]=fr(e[n]);return uo(...
function yb (line 249) | function yb(e){let t=e;return uo(n);function n(r){let o=r,s;for(s in e)i...
function kb (line 249) | function kb(e){return uo(t);function t(n){return n&&n.type===e}}
function uo (line 249) | function uo(e){return t;function t(n,r,o){return!!(xb(n)&&e.call(this,n,...
function bb (line 249) | function bb(){return!0}
function xb (line 249) | function xb(e){return e!==null&&typeof e=="object"&&"type"in e}
function yf (line 249) | function yf(e){return"\x1B[33m"+e+"\x1B[39m"}
function Sa (line 249) | function Sa(e,t,n,r){let o;typeof t=="function"&&typeof n!="function"?(r...
function Eb (line 249) | function Eb(e){return Array.isArray(e)?e:typeof e=="number"?[co,e]:e==nu...
function Ta (line 249) | function Ta(e,t,n,r){let o,s,l;typeof t=="function"&&typeof n!="function...
function ho (line 249) | function ho(e,t){let n=!1;return Ta(e,function(r){if("value"in r&&/\r?\n...
function bf (line 249) | function bf(e,t,n,r){let o=Math.max(Math.min(6,e.depth||1),1),s=n.create...
function _a (line 254) | function _a(e){return e.value||""}
function Ab (line 254) | function Ab(){return"<"}
function Fa (line 254) | function Fa(e,t,n,r){let o=ur(n),s=o==='"'?"Quote":"Apostrophe",l=n.ente...
function Cb (line 254) | function Cb(){return"!"}
function Ia (line 254) | function Ia(e,t,n,r){let o=e.referenceType,s=n.enter("imageReference"),l...
function vb (line 254) | function vb(){return"!"}
function Pa (line 254) | function Pa(e,t,n){let r=e.value||"",o="`",s=-1;for(;new RegExp("(^|[^`]...
function Sb (line 254) | function Sb(){return"`"}
function Ra (line 254) | function Ra(e,t){let n=Sn(e);return!!(!t.options.resourceLink&&e.url&&!e...
function Oa (line 254) | function Oa(e,t,n,r){let o=ur(n),s=o==='"'?"Quote":"Apostrophe",l=n.crea...
function Tb (line 254) | function Tb(e,t,n){return Ra(e,n)?"<":"["}
function La (line 254) | function La(e,t,n,r){let o=e.referenceType,s=n.enter("linkReference"),l=...
function _b (line 254) | function _b(){return"["}
function dr (line 254) | function dr(e){let t=e.options.bullet||"*";if(t!=="*"&&t!=="+"&&t!=="-")...
function xf (line 254) | function xf(e){let t=dr(e),n=e.options.bulletOther;if(!n)return t==="*"?...
function Ef (line 254) | function Ef(e){let t=e.options.bulletOrdered||".";if(t!=="."&&t!==")")th...
function mo (line 254) | function mo(e){let t=e.options.rule||"*";if(t!=="*"&&t!=="-"&&t!=="_")th...
function Af (line 254) | function Af(e,t,n,r){let o=n.enter("list"),s=n.bulletCurrent,l=e.ordered...
function Cf (line 254) | function Cf(e){let t=e.options.listItemIndent||"one";if(t!=="tab"&&t!=="...
function vf (line 254) | function vf(e,t,n,r){let o=Cf(n),s=n.bulletCurrent||dr(n);t&&t.type==="l...
function Sf (line 254) | function Sf(e,t,n,r){let o=n.enter("paragraph"),s=n.enter("phrasing"),l=...
function Tf (line 254) | function Tf(e,t,n,r){return(e.children.some(function(l){return Da(l)})?n...
function _f (line 254) | function _f(e){let t=e.options.strong||"*";if(t!=="*"&&t!=="_")throw new...
function Ma (line 254) | function Ma(e,t,n,r){let o=_f(n),s=n.enter("strong"),l=n.createTracker(r...
function Fb (line 254) | function Fb(e,t,n){return n.options.strong||"*"}
function Ff (line 254) | function Ff(e,t,n,r){return n.safe(e.value,r)}
function If (line 254) | function If(e){let t=e.options.ruleRepetition||3;if(t<3)throw new Error(...
function Pf (line 254) | function Pf(e,t,n){let r=(mo(n)+(n.options.ruleSpaces?" ":"")).repeat(If...
function Ib (line 254) | function Ib(e,t,n,r){if(t.type==="code"&&Wr(t,r)&&(e.type==="list"||e.ty...
function Df (line 260) | function Df(e){return e.label||!e.identifier?e.label||"":ao(e.identifier)}
function Mf (line 260) | function Mf(e){if(!e._compiled){let t=(e.atBreak?"[\\r\\n][\\t ]*":"")+(...
function Nf (line 260) | function Nf(e,t,n){let r=t.indexStack,o=e.children||[],s=[],l=-1,u=n.bef...
function $f (line 261) | function $f(e,t,n){let r=t.indexStack,o=e.children||[],s=t.createTracker...
function Pb (line 263) | function Pb(e,t,n,r){let o=r.join.length;for(;o--;){let s=r.join[o](e,t,...
function Yf (line 270) | function Yf(e,t){let n=[],r=0,o=0,s;for(;s=Rb.exec(e);)l(e.slice(r,s.ind...
function zf (line 270) | function zf(e,t,n){let r=(n.before||"")+(t||"")+(n.after||""),o=[],s=[],...
function Ob (line 270) | function Ob(e,t){return e-t}
function Bf (line 270) | function Bf(e,t){let n=/\\(?=[!-/:-@[-`{-~])/g,r=[],o=[],s=e+t,l=-1,u=0,...
function Vf (line 270) | function Vf(e){let t=e||{},n=t.now||{},r=t.lineShift||0,o=n.line||1,s=n....
function Na (line 270) | function Na(e,t){let n=t||{},r={associationId:Df,containerPhrasing:Nb,co...
function Lb (line 273) | function Lb(e){throw new Error("Cannot handle value `"+e+"`, expected no...
function Db (line 273) | function Db(e){let t=e;throw new Error("Cannot handle unknown node `"+t....
function Mb (line 273) | function Mb(e,t){if(e.type==="definition"&&e.type===t.type)return 0}
function Nb (line 273) | function Nb(e,t){return Nf(e,this,t)}
function $b (line 273) | function $b(e,t){return $f(e,this,t)}
function Yb (line 273) | function Yb(e,t){return zf(this,e,t)}
function po (line 273) | function po(e){let t=this;t.compiler=n;function n(r){return Na(r,{...t.d...
function $a (line 273) | function $a(e){if(e)throw e}
function Ur (line 273) | function Ur(e){if(typeof e!="object"||e===null)return!1;let t=Object.get...
function Ya (line 273) | function Ya(){let e=[],t={run:n,use:r};return t;function n(...o){let s=-...
function Kf (line 273) | function Kf(e,t){let n;return r;function r(...l){let u=e.length>l.length...
method constructor (line 273) | constructor(t,n,r){super(),typeof n=="string"&&(r=n,n=void 0);let o="",s...
function wo (line 273) | function wo(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href...
method constructor (line 273) | constructor(t){let n;t?wo(t)?n={path:t}:typeof t=="string"||Bb(t)?n={val...
method basename (line 273) | get basename(){return typeof this.path=="string"?ht.default.basename(thi...
method basename (line 273) | set basename(t){Ua(t,"basename"),Wa(t,"basename"),this.path=ht.default.j...
method dirname (line 273) | get dirname(){return typeof this.path=="string"?ht.default.dirname(this....
method dirname (line 273) | set dirname(t){Qf(this.basename,"dirname"),this.path=ht.default.join(t||...
method extname (line 273) | get extname(){return typeof this.path=="string"?ht.default.extname(this....
method extname (line 273) | set extname(t){if(Wa(t,"extname"),Qf(this.dirname,"extname"),t){if(t.cod...
method path (line 273) | get path(){return this.history[this.history.length-1]}
method path (line 273) | set path(t){wo(t)&&(t=(0,za.fileURLToPath)(t)),Ua(t,"path"),this.path!==...
method stem (line 273) | get stem(){return typeof this.path=="string"?ht.default.basename(this.pa...
method stem (line 273) | set stem(t){Ua(t,"stem"),Wa(t,"stem"),this.path=ht.default.join(this.dir...
method fail (line 273) | fail(t,n,r){let o=this.message(t,n,r);throw o.fatal=!0,o}
method info (line 273) | info(t,n,r){let o=this.message(t,n,r);return o.fatal=void 0,o}
method message (line 273) | message(t,n,r){let o=new _e(t,n,r);return this.path&&(o.name=this.path+"...
method toString (line 273) | toString(t){return this.value===void 0?"":typeof this.value=="string"?th...
function Wa (line 273) | function Wa(e,t){if(e&&e.includes(ht.default.sep))throw new Error("`"+t+...
function Ua (line 273) | function Ua(e,t){if(!e)throw new Error("`"+t+"` cannot be empty")}
function Qf (line 273) | function Qf(e,t){if(!e)throw new Error("Setting `"+t+"` requires `path` ...
function Bb (line 273) | function Bb(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOf...
method constructor (line 273) | constructor(){super("copy"),this.Compiler=void 0,this.Parser=void 0,this...
method copy (line 273) | copy(){let t=new e,n=-1;for(;++n<this.attachers.length;){let r=this.atta...
method data (line 273) | data(t,n){return typeof t=="string"?arguments.length===2?(qa("data",this...
method freeze (line 273) | freeze(){if(this.frozen)return this;let t=this;for(;++this.freezeIndex<t...
method parse (line 273) | parse(t){this.freeze();let n=yo(t),r=this.parser||this.Parser;return Ha(...
method process (line 273) | process(t,n){let r=this;return this.freeze(),Ha("process",this.parser||t...
method processSync (line 273) | processSync(t){let n=!1,r;return this.freeze(),Ha("processSync",this.par...
method run (line 273) | run(t,n,r){td(t),this.freeze();let o=this.transformers;return!r&&typeof ...
method runSync (line 273) | runSync(t,n){let r=!1,o;return this.run(t,n,s),nd("runSync","run",r),o;f...
method stringify (line 273) | stringify(t,n){this.freeze();let r=yo(n),o=this.compiler||this.Compiler;...
method use (line 273) | use(t,...n){let r=this.attachers,o=this.namespace;if(qa("use",this.froze...
function Ha (line 273) | function Ha(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+...
function ja (line 273) | function ja(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+...
function qa (line 273) | function qa(e,t){if(t)throw new Error("Cannot call `"+e+"` on a frozen p...
function td (line 273) | function td(e){if(!Ur(e)||typeof e.type!="string")throw new TypeError("E...
function nd (line 273) | function nd(e,t,n){if(!n)throw new Error("`"+e+"` finished async. Use `"...
function yo (line 273) | function yo(e){return Vb(e)?e:new Hr(e)}
function Vb (line 273) | function Vb(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"...
function Wb (line 273) | function Wb(e){return typeof e=="string"||Ub(e)}
function Ub (line 273) | function Ub(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOf...
function id (line 273) | function id(e){return e<hr.nul||e===hr.space}
function Ja (line 273) | function Ja(e){return e<hr.horizontalTab}
function t (line 273) | function t(n,r,o){var s;if(!r)return o;for(typeof r=="string"&&(r=[r]),s...
function s (line 273) | function s(u,f){return u-f}
function l (line 273) | function l(u,f){for(var h,m=/\\(?=[!-/:-@[-`{-~])/g,p=[],g=[],w=-1,E=0,F...
function It (line 273) | function It(e){var t=od[e];if(t!==void 0)return t.exports;var n=od[e]={e...
function e (line 273) | function e(o={}){let s=o.permalinks||[],l=o.pageResolver||(g=>[g.replace...
function r (line 273) | function r(o={}){let s=o.aliasDivider||":";return{unsafe:[{character:"["...
function ad (line 273) | function ad(e={}){let t=this.data();function n(r,o){t[r]?t[r].push(o):t[...
function el (line 273) | function el(e){try{return!e.includes("://")||e.trim()!==e?!1:(new URL(e)...
function bo (line 273) | function bo(e){let t=(0,Rn.getFrontMatterInfo)(e);return(0,Rn.parseYaml)...
function ud (line 273) | function ud(e,t){let n=(0,Rn.getFrontMatterInfo)(e);if(Object.keys(t).le...
function tl (line 275) | function tl(e){return cd(e)&&e.type==="file"}
function cd (line 275) | function cd(e){return vt(e)&&!!e.isCanvas}
function Xb (line 275) | function Xb(e){return cd(e)&&e.type==="text"}
function mr (line 275) | function mr(e,t){if(rn(e))return{endIndex:e.position.end.offset,newConte...
function fd (line 275) | function fd(e){return e.sort((t,n)=>vt(t)&&vt(n)?t.key.localeCompare(n.k...
function nl (line 275) | async function nl(e){try{await e()}catch(t){Mi(t)}}
function pr (line 275) | function pr(e){return(...t)=>{On(()=>e(...t))}}
function On (line 275) | function On(e){nl(e)}
function jr (line 275) | async function jr(e,t,n){let r=Qe("Async:retryWithTimeout");n??=xn(1);le...
function rl (line 275) | async function rl(e,t){let n=!0,r=null,o=performance.now();if(await Prom...
function dd (line 275) | async function dd(e){await new Promise(t=>{setTimeout(t,e)})}
function hd (line 275) | async function hd(e,t,n){let r=Me(e,t),o=ut(n);await xo(e,o);let s=md(e,...
function xo (line 275) | async function xo(e,t){if(await e.vault.adapter.exists(t))return!1;try{r...
function md (line 275) | function md(e,t){let n=ve(t);return e.vault.getAvailablePath(be(ke(t),pe...
function il (line 275) | function il(e,t,n){let r=we(e,t);if(e.vault.adapter.insensitive){let o=k...
function ol (line 275) | async function ol(e,t){let n=await sl(e,we(e,t));return n.files.length==...
function sl (line 275) | async function sl(e,t){let n=we(e,t),r={files:[],folders:[]};if((await e...
function Eo (line 275) | async function Eo(e,t,n,r={}){let s={...{shouldFailOnMissingFile:!0},......
function al (line 275) | async function al(e,t){let n=null;return await pd(e,t,async r=>{n=await ...
function Ao (line 275) | async function Ao(e,t,n){let r=Me(e,t,!1,!0),o=il(e,t,n);if(r.path.toLow...
function pd (line 275) | async function pd(e,t,n){let r=we(e,t),o=Ze(e,r);if(!o||o.deleted)return...
function vo (line 275) | async function vo(e,t,n,r={}){await Eo(e,t,async o=>qt(e,t)?Kb(o,we(e,t)...
function qr (line 275) | function qr(e){return!!e.isCanvas}
function Jb (line 275) | function Jb(e){return qr(e)&&e.type==="file"}
function Zb (line 275) | function Zb(e){return qr(e)&&e.type==="text"}
function Jt (line 275) | function Jt(e){return e.startIndex!==void 0}
function Co (line 275) | function Co(e){return e.frontmatterKey!==void 0}
function Kb (line 275) | async function Kb(e,t,n){let r=await En(n),o=Qb(e),s=new Map;for(let l o...
function gd (line 275) | async function gd(e,t,n){let r=await En(n),o=bo(e);for(let f of r)if(Jt(...
function Qb (line 275) | function Qb(e){let t;try{t=JSON.parse(e)}catch{t=null}return(t===null||t...
function ex (line 275) | async function ex(e){for(let[t,n]of Object.entries(e.metadataCache.fileC...
function dn (line 275) | function dn(e){let t=[];return e.links&&t.push(...e.links),e.embeds&&t.p...
function ll (line 275) | function ll(e,t){let n=Me(e,t,!0);return Xr(e,n,()=>e.metadataCache.getB...
function Zt (line 275) | async function Zt(e,t,n={}){let r=e.metadataCache.getBacklinksForFile.sa...
function Gr (line 275) | async function Gr(e,t,n={}){let r=Qe("MetadataCache:getCacheSafe"),o=nul...
function tx (line 275) | function tx(e,t){if(!t.deleted)return Ft;let n=[],r=t;for(;r.deleted;)n....
function Xr (line 275) | function Xr(e,t,n){let r=tx(e,t);try{return n()}finally{r()}}
function yd (line 275) | async function yd(e,t){if(!Gt(e,t))return;let n=we(e,t);for(let r of e.w...
function kd (line 275) | function kd(e){return e.vault.getConfig("newLinkFormat")==="relative"}
function bd (line 275) | function bd(e){return!e.vault.getConfig("useMarkdownLinks")}
function sx (line 275) | function sx(e){let t=gr(e.app,e.link,e.oldSourcePathOrFile??e.newSourceP...
function ul (line 275) | async function ul(e,t,n,r={}){await vo(e,t,async()=>{let o=await Gr(e,t)...
function gr (line 275) | function gr(e,t,n){let{linkPath:r}=Ad(t.link);return e.metadataCache.get...
function ax (line 275) | function ax(e){let{app:t}=e,r=(t.fileManager.generateMarkdownLink.defaul...
function Jr (line 275) | function Jr(e){let t=wx(e);if(t)return t;let n="!",r=e.startsWith(n);r&&...
function lx (line 275) | function lx(e){let{app:t,displayText:n,isWikilink:r,newSourcePathOrFile:...
function Ad (line 275) | function Ad(e){let t=(0,So.parseLinktext)(Or(e));return{linkPath:t.path,...
function ux (line 275) | function ux(e){return Jr(e)?.hasAngleBrackets??!1}
function Cd (line 275) | function Cd(e){return Jr(e)?.isEmbed??!1}
function cx (line 275) | function cx(e){return Jr(e)?.url.startsWith("./")??!1}
function vd (line 275) | function vd(e){return Jr(e)?.isWikilink??!1}
function Zr (line 275) | function Zr(e){let{app:t,link:n,newSourcePathOrFile:r,newTargetPathOrFil...
function Sd (line 275) | async function Sd(e){let{app:t,newSourcePathOrFile:n,oldSourcePathOrFile...
function fx (line 275) | function fx(e,t,n,r,o){let s;return t.path===n&&r?s=r:o.shouldForceRelat...
function dx (line 275) | function dx(e){let{app:t}=e,n=Me(t,e.targetPathOrFile,e.isNonExistingFil...
function hx (line 275) | function hx(e,t,n,r){let{app:o}=n,s=r.isEmbed?"!":"",l=r.shouldUseAngleB...
function mx (line 275) | function mx(e,t,n){let r=n?"!":"",o=t??"";if(o&&o.toLowerCase()===e.toLo...
function px (line 275) | function px(e,t){let{app:n}=e;return{isEmbed:e.isEmbed??(e.originalLink?...
function gx (line 275) | function gx(e,t,n){let r="<",o="](",s=")",l=e.children[0],u=t.slice((l?....
function wx (line 275) | function wx(e){return el(e)?{isEmbed:!1,isExternal:!0,isWikilink:!1,url:...
function yx (line 275) | function yx(e,t,n){return{alias:t.includes(Ed)?e.data.alias:void 0,isEmb...
function kx (line 275) | function kx(e,t){return!Jt(e)||!xd.test(e.newContent)?!1:t.some(n=>n.sta...
function Td (line 275) | async function Td(e,t,n){let r=Qe("Logger:invokeAsyncAndLog"),o=performa...
function hn (line 275) | function hn(e,t,n,r){r??=xn(1),On(()=>bx(e,t,n,r))}
function bx (line 275) | async function bx(e,t,n,r){n??=6e4,r??=xn(1);let s=_d(e).value;s.items.p...
function _d (line 275) | function _d(e){return an(e,"queue",{items:[],promise:Promise.resolve()})}
function Fd (line 275) | async function Fd(e){let t=_d(e).value,n=t.items[0];n&&(await nl(()=>rl(...
function To (line 275) | async function To(e,t){let n=_t(e,t);for(;n;){if(!await ol(e,n))return;l...
function Kr (line 275) | async function Kr(e,t,n,r,o){let s=Cn(e,t);if(!s)return!1;let l=ct(s)||(...
function Od (line 275) | function Od(e,t){let n=Fo(e.app),r=e.manifest.id;n.set(r,t),Pd(e.app),e....
function xx (line 275) | async function xx(e,t,n,r,o){let s=_o.get(t);if(s){_o.delete(t);for(let ...
function Ex (line 275) | async function Ex(e,t,n,r,o){if(r.set(t,n),!Ke(e,t))return;let s=ei(e),l...
function Fo (line 275) | function Fo(e){return an(e,"renameDeleteHandlersMap",new Map).value}
function ei (line 275) | function ei(e){let t=Fo(e),n=Array.from(t.values()).reverse(),r={};for(l...
function Ax (line 275) | async function Ax(e,t,n,r,o){if(!e.vault.adapter.insensitive||t.toLowerC...
function Cx (line 275) | async function Cx(e,t){if(Qe("RenameDeleteHandler:handleDelete")(`Handle...
function vx (line 275) | function vx(e,t){let n=e.app;if(!dl(e))return;let r=t.path;hn(n,()=>Cx(n...
function Sx (line 275) | function Sx(e,t,n){let r=ei(e);r.isPathIgnored?.(t.path)||r.shouldHandle...
function Tx (line 275) | function Tx(e,t,n){dl(e)&&Sx(e.app,t,n)}
function _x (line 275) | function _x(e,t,n){let r=Ld(t,n);if(Qe("RenameDeleteHandler:handleRename...
function fl (line 275) | async function fl(e,t,n,r,o,s){if(await xx(e,t,n,r,o),await Ix(e,t,n,r,o...
function Fx (line 275) | function Fx(e,t,n){if(!dl(e)||!ct(t))return;let r=t.path;_x(e.app,n,r)}
function Id (line 275) | function Id(e,t,n,r){for(let[o,s]of e.entries()){let l=t.get(o)??o,u=n.g...
function Pd (line 275) | function Pd(e){let t=Fo(e);Qe("RenameDeleteHandler:logRegisteredHandlers...
function Ld (line 275) | function Ld(e,t){return`${e} -> ${t}`}
function Ix (line 275) | async function Ix(e,t,n,r,o){let s=e.metadataCache.getCache(t)??e.metada...
function Dd (line 275) | async function Dd(e,t,n){if(n=il(e,t,n),t===n)return n;let r=Ld(t,n);ret...
function dl (line 275) | function dl(e){let t=e.app,n=e.manifest.id,r=Fo(t);return Array.from(r.k...
function tt (line 275) | function tt(e,t){e.createEl("strong",{cls:"markdown-rendered code"},n=>{...
function Tm (line 275) | async function Tm(e){let t=e.items,n=0,r=new Notice("",0);for(let o of t...
method constructor (line 275) | constructor(t,n){super(t,n,W.ConfirmModal);let r={app:t.app,cancelButton...
method onClose (line 275) | onClose(){this.resolve(this.isConfirmed)}
method onOpen (line 275) | onOpen(){this.titleEl.setText(this.options.title),this.contentEl.createE...
function _m (line 275) | async function _m(e){return await Zn(t=>new Rl(e,t))}
method constructor (line 275) | constructor(t,n){super(t,n,W.PromptModal);let r={app:t.app,cancelButtonT...
method onClose (line 275) | onClose(){this.resolve(this.isOkClicked?this.value:null)}
method onOpen (line 275) | onOpen(){this.titleEl.setText(this.options.title);let t=new li.TextCompo...
method handleOk (line 275) | handleOk(t,n){t.preventDefault(),n.inputEl.checkValidity()&&(this.isOkCl...
function Fm (line 275) | async function Fm(e){return await Zn(t=>new Ol(e,t))}
function Ml (line 275) | function Ml(e){let t=new Map;try{let n=new Function("exports",e),r={};n(...
function _C (line 275) | function _C(e){return(0,Ll.default)().format(e)}
function Im (line 275) | function Im(e,t,n,r){let o=Ze(e,t);return o?(0,Ll.default)(r(o)).format(...
function FC (line 275) | function FC(){return Nl("0123456789")}
function IC (line 275) | function IC(){return Nl("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ")}
function PC (line 275) | function PC(){return Nl("ABCDEFGHIJKLMNOPQRSTUVWXYZ")}
function RC (line 275) | function RC(){return crypto.randomUUID()}
function OC (line 275) | function OC(e,t,n){let r=Ze(e,t);if(!r)return"";let o=e.metadataCache.ge...
method constructor (line 275) | constructor(t,n,r=""){this.app=t;this.filePath=n;this.originalCopiedFile...
method isRegisteredToken (line 275) | static isRegisteredToken(t){return e.formatters.has(t.toLowerCase())}
method registerCustomFormatters (line 275) | static registerCustomFormatters(t){this.formatters.clear(),this.register...
method registerFormatter (line 275) | static registerFormatter(t,n){this.formatters.set(t.toLowerCase(),n)}
method fillTemplate (line 275) | async fillTemplate(t){return await Hu(t,ui,async(n,r,o)=>{let s=e.format...
method prompt (line 275) | async prompt(){let t=await Fm({app:this.app,defaultValue:this.originalCo...
function zo (line 275) | function zo(e,t=!0){if(t){e=Pm(e);let n=Rm(e);if(n)return`Unknown token:...
function ci (line 275) | function ci(e,t=!0){if(t){e=Pm(e);let r=Rm(e);if(r)return`Unknown token:...
function Nl (line 275) | function Nl(e){return e[Math.floor(Math.random()*e.length)]??""}
function Pm (line 275) | function Pm(e){return Ce(e,ui,(t,n)=>`\${${n}}`)}
function Rm (line 275) | function Rm(e){let t=e.matchAll(ui);for(let n of t){let r=n[1]??"";if(!E...
function Vo (line 275) | async function Vo(e,t,n){return await DC(e,new Et(e.app,t,n))}
function Wo (line 275) | async function Wo(e,t){return await Lm(e,e.settings.generatedAttachmentF...
function LC (line 275) | function LC(e,t){if(!e.settings.specialCharacters)return t;t=t.replace(e...
function DC (line 275) | async function DC(e,t){return await Lm(e,e.settings.attachmentFolderPath...
function Lm (line 275) | async function Lm(e,t,n){let r=await n.fillTemplate(t),o=ci(r,!1);if(o)t...
function Dm (line 275) | async function Dm(e,t,n,r){let o=e.app;n??=t.path,r??=()=>!0;let s=new D...
function Mm (line 275) | function Mm(e,t){let n=e.app.workspace.getActiveFile();return Ke(e.app,n...
function Nm (line 275) | function Nm(e,t){let n=e.app.workspace.getActiveFile();if(!n||!Ke(e.app,...
function $m (line 275) | function $m(e){hn(e.app,()=>Uo(e,e.app.vault.getRoot()))}
function Uo (line 275) | async function Uo(e,t){if(!await _m({app:e.app,message:createFragment(r=...
function MC (line 275) | async function MC(e,t){return(await e.vault.readJson(t.path)).nodes.filt...
function NC (line 275) | async function NC(e,t,n,r){let o=e.app,s=gr(o,t,r);if(!s||Ke(e.app,s))re...
method getTransformer (line 275) | getTransformer(t){if(t===this.id)return this;throw new Error(`Transforme...
method transformObjectRecursively (line 275) | transformObjectRecursively(t){return this.transformValueRecursively(t,"")}
method getTransformerId (line 275) | getTransformerId(t,n){return this.canTransform(t,n)?this.id:null}
method transformValueRecursively (line 275) | transformValueRecursively(t,n){let r=this.getTransformerId(t,n);if(r){le...
method id (line 275) | get id(){return"date"}
method canTransform (line 275) | canTransform(t){return t instanceof Date}
method restoreValue (line 275) | restoreValue(t){return new Date(t)}
method transformValue (line 275) | transformValue(t){return t.toISOString()}
method id (line 275) | get id(){return"duration"}
method canTransform (line 275) | canTransform(t){let n=t;return!!n.asHours&&!!n.asMinutes&&!!n.asSeconds&...
method restoreValue (line 275) | restoreValue(t){return(0,Ym.duration)(t)}
method transformValue (line 275) | transformValue(t){return t.toISOString()}
method constructor (line 275) | constructor(t){super(),this.transformers=t}
method id (line 275) | get id(){return"group"}
method canTransform (line 275) | canTransform(t,n){return this.getFirstTransformerThatCanTransform(t,n)!=...
method getTransformer (line 275) | getTransformer(t){return this.transformers.find(n=>n.id===t)??Ht(`No tra...
method transformValue (line 275) | transformValue(t,n){let r=this.getFirstTransformerThatCanTransform(t,n);...
method getTransformerId (line 275) | getTransformerId(t,n){let r=this.getFirstTransformerThatCanTransform(t,n...
method restoreValue (line 275) | restoreValue(){throw new Error("GroupTransformer does not support restor...
method getFirstTransformerThatCanTransform (line 275) | getFirstTransformerThatCanTransform(t,n){return this.transformers.find(r...
method id (line 275) | get id(){return"skip-private-property"}
method canTransform (line 275) | canTransform(t,n){return n.startsWith($C)}
method transformValue (line 275) | transformValue(){}
method restoreValue (line 275) | restoreValue(){throw new Error("SkipPrivatePropertyTransformer does not ...
method shouldSaveAfterLoad (line 275) | get shouldSaveAfterLoad(){return this._shouldSaveAfterLoad}
method init (line 275) | init(t){if(t!=null){if(typeof t!="object"||Array.isArray(t)){let n=Array...
method toJSON (line 275) | toJSON(){return this.getTransformer().transformObjectRecursively(this)}
method getTransformer (line 275) | getTransformer(){return YC}
method initFromRecord (line 275) | initFromRecord(t){t=this.getTransformer().transformObjectRecursively(t);...
method customTokensStr (line 275) | get customTokensStr(){return this._customTokensStr}
method customTokensStr (line 275) | set customTokensStr(t){this._customTokensStr=t,Et.registerCustomFormatte...
method excludePaths (line 275) | get excludePaths(){return this._excludePaths}
method excludePaths (line 275) | set excludePaths(t){this._excludePaths=t.filter(Boolean),this._excludePa...
method includePaths (line 275) | get includePaths(){return this._includePaths}
method includePaths (line 275) | set includePaths(t){this._includePaths=t.filter(Boolean),this._includePa...
method specialCharactersRegExp (line 275) | get specialCharactersRegExp(){return new RegExp(`[${qn(this.specialChara...
method constructor (line 275) | constructor(t){super(),this.init(t)}
method isPathIgnored (line 275) | isPathIgnored(t){return!this._includePathsRegExp.test(t)||this._excludeP...
method toJSON (line 275) | toJSON(){return{...super.toJSON(),customTokensStr:this.customTokensStr,e...
method initFromRecord (line 275) | initFromRecord(t){let n=t,r=n.dateTimeFormat??"YYYYMMDDHHmmssSSS";n.atta...
function Vm (line 275) | function Vm(e,t){return e.replaceAll("${date}",`\${date:${t}}`)}
function Wm (line 275) | function Wm(e,t){if(e.length===0)return t;let n=e.map(r=>r.startsWith("/...
function Um (line 275) | function Um(e,t){let n=Object.keys(e).find(r=>e[r]===t);if(n===void 0)th...
function Hm (line 275) | function Hm(e,t){let n=e[t];if(n===void 0)throw new Error(`Invalid enum ...
function jm (line 275) | function jm(e){let t=e;return t.validatorEl?t:e instanceof pn.DropdownCo...
method constructor (line 275) | constructor(t){super(t.app,t),this.plugin=t,this.containerEl.addClass(W....
method bind (line 275) | bind(t,n,r){let s={...{componentToPluginSettingsValueConverter:h=>h,onCh...
method revalidate (line 275) | async revalidate(t){let n=this.validatorsMap.get(t);return n?await n():!0}
method validatorEl (line 275) | get validatorEl(){return this.inputEl}
method constructor (line 275) | constructor(t,n,r){super(),this.textComponent=new Ko.TextComponent(t),th...
method getValue (line 275) | getValue(){return this.valueFromString(this.inputEl.value)}
method onChange (line 275) | onChange(t){return this.textComponent.onChange(()=>t(this.getValue())),t...
method onChanged (line 275) | onChanged(){this.textComponent.onChanged()}
method setDisabled (line 275) | setDisabled(t){return this.textComponent.setDisabled(t),this.disabled=t,...
method setPlaceholder (line 275) | setPlaceholder(t){return this.textComponent.setPlaceholder(t),this}
method setValue (line 275) | setValue(t){return this.inputEl.value=this.valueToString(t),this}
method valueToString (line 275) | valueToString(t){return String(t)}
method setMax (line 275) | setMax(t){return this.inputEl.max=this.valueToString(t),this}
method setMin (line 275) | setMin(t){return this.inputEl.min=this.valueToString(t),this}
method setStep (line 275) | setStep(t){return this.inputEl.step=t.toString(),this}
method constructor (line 275) | constructor(t){super(t,"date",W.DateComponent)}
method valueFromString (line 275) | valueFromString(t){return(0,$l.default)(t,Gm).toDate()}
method valueToString (line 275) | valueToString(t){return(0,$l.default)(t).format(Gm)}
method constructor (line 275) | constructor(t){super(t,"datetime-local",W.DateTimeComponent)}
method valueFromString (line 275) | valueFromString(t){return(0,Yl.default)(t,Xm).toDate()}
method valueToString (line 275) | valueToString(t){return(0,Yl.default)(t).format(Xm)}
method constructor (line 275) | constructor(t){super(t,"email",W.EmailComponent)}
method valueFromString (line 275) | valueFromString(t){return t}
method constructor (line 275) | constructor(t){super(t,"file",W.FileComponent)}
method getValue (line 275) | getValue(){return this.inputEl.files?.[0]??null}
method valueFromString (line 275) | valueFromString(){return this.getValue()}
method valueToString (line 275) | valueToString(t){return t?.name??""}
method constructor (line 275) | constructor(t){super(t,"month",W.MonthComponent)}
method valueFromString (line 275) | valueFromString(t){let n=(0,Bl.default)(t,Jm);if(!n.isValid())throw new ...
method valueToString (line 275) | valueToString(t){return(0,Bl.default)().year(t.year).month(t.month-1).fo...
method validatorEl (line 275) | get validatorEl(){return this.dropdownComponent.selectEl}
method constructor (line 275) | constructor(t){super(),this.dropdownComponent=new os.DropdownComponent(t...
method addOption (line 275) | addOption(t,n){return this.dropdownComponent.addOption(t,n),this}
method addOptions (line 275) | addOptions(t){return this.dropdownComponent.addOptions(t),this}
method getValue (line 275) | getValue(){return Array.from(this.dropdownComponent.selectEl.selectedOpt...
method onChange (line 275) | onChange(t){return this.dropdownComponent.onChange(()=>t(this.getValue()...
method setDisabled (line 275) | setDisabled(t){return this.dropdownComponent.setDisabled(t),this.disable...
method setValue (line 275) | setValue(t){for(let n of Array.from(this.dropdownComponent.selectEl.opti...
method constructor (line 275) | constructor(t){super(t,"email",W.MultipleEmailComponent),this.inputEl.mu...
method valueFromString (line 275) | valueFromString(t){return t.split(",").map(n=>n.trim())}
method valueToString (line 275) | valueToString(t){return t.join(", ")}
method constructor (line 275) | constructor(t){super(t,"file",W.MultipleFileComponent),this.inputEl.mult...
method getValue (line 275) | getValue(){return Array.from(this.inputEl.files??[])}
method valueFromString (line 275) | valueFromString(){return this.getValue()}
method valueToString (line 275) | valueToString(t){return t[0]?.name??""}
method validatorEl (line 275) | get validatorEl(){return this.textAreaComponent.inputEl}
method constructor (line 275) | constructor(t){super(),this.textAreaComponent=new us.TextAreaComponent(t...
method getValue (line 275) | getValue(){return this.textAreaComponent.getValue().split(`
method onChange (line 276) | onChange(t){return this.textAreaComponent.onChange(()=>t(this.getValue()...
method setDisabled (line 276) | setDisabled(t){return this.textAreaComponent.setDisabled(t),this.disable...
method setPlaceholder (line 276) | setPlaceholder(t){return this.textAreaComponent.setPlaceholder(t),this}
method setValue (line 276) | setValue(t){return this.textAreaComponent.setValue(t.join(`
method constructor (line 277) | constructor(t){super(t,"number",W.NumberComponent)}
method valueFromString (line 277) | valueFromString(t){return parseInt(t,10)}
method constructor (line 277) | constructor(t){super(t,"time",W.TimeComponent)}
method valueFromString (line 277) | valueFromString(t){return(0,ds.duration)(t)}
method valueToString (line 277) | valueToString(t){let n;return t.milliseconds()>0?n="HH:mm:ss.SSS":t.seco...
method constructor (line 277) | constructor(t){super(t,"url",W.UrlComponent)}
method valueFromString (line 277) | valueFromString(t){return t}
method constructor (line 277) | constructor(t){super(t,"week",W.WeekComponent)}
method valueFromString (line 277) | valueFromString(t){let n=(0,zl.default)(t,Zm);if(!n.isValid())throw new ...
method valueToString (line 277) | valueToString(t){return(0,zl.default)().year(t.year).isoWeek(t.weekNumbe...
method addComponent (line 277) | addComponent(t,n){let r=new t(this.controlEl);return this.components.pus...
method addDate (line 277) | addDate(t){return this.addComponent(Qo,t)}
method addDateTime (line 277) | addDateTime(t){return this.addComponent(es,t)}
method addEmail (line 277) | addEmail(t){return this.addComponent(ts,t)}
method addFile (line 277) | addFile(t){return this.addComponent(ns,t)}
method addMonth (line 277) | addMonth(t){return this.addComponent(rs,t)}
method addMultipleDropdown (line 277) | addMultipleDropdown(t){return this.addComponent(is,t)}
method addMultipleEmail (line 277) | addMultipleEmail(t){return this.addComponent(ss,t)}
method addMultipleFile (line 277) | addMultipleFile(t){return this.addComponent(as,t)}
method addMultipleText (line 277) | addMultipleText(t){return this.addComponent(ls,t)}
method addNumber (line 277) | addNumber(t){return this.addComponent(cs,t)}
method addTime (line 277) | addTime(t){return this.addComponent(fs,t)}
method addUrl (line 277) | addUrl(t){return this.addComponent(hs,t)}
method addWeek (line 277) | addWeek(t){return this.addComponent(ms,t)}
method display (line 277) | display(){this.containerEl.empty(),new xe(this.containerEl).setName("Loc...
function BC (line 277) | function BC(e){if(Ml(e)===null)return"Invalid custom tokens code"}
function zC (line 277) | function zC(){let t={};for(let n=1;n<=10;n++){let r=(n/10).toFixed(1);t[...
function Qm (line 277) | function Qm(e){for(let t of e)if(t.startsWith("/")&&t.endsWith("/")){let...
function Vl (line 277) | function Vl(e){return e.replaceAll(" ",fi)}
method createPluginSettings (line 277) | createPluginSettings(t){return new Jo(t)}
method createPluginSettingsTab (line 277) | createPluginSettingsTab(){return new ps(this)}
method onLayoutReady (line 277) | async onLayoutReady(){if(this.register(Hn(this.app.vault,{getAvailablePa...
method onloadComplete (line 277) | onloadComplete(){Od(this,()=>({isPathIgnored:n=>this.settings.isPathIgno...
method getAvailablePath (line 277) | getAvailablePath(t,n){let r=0;for(;;){let o=An(r===0?t:`${t}${this.setti...
method getAvailablePathForAttachments (line 277) | async getAvailablePathForAttachments(t,n,r,o){let s;if(!r||!Ke(this.app,...
method getPathForFile (line 277) | getPathForFile(t,n){return t.path||n(t)}
method handleFileMenu (line 277) | handleFileMenu(t,n){n instanceof tp.TFolder&&t.addItem(r=>{r.setTitle("C...
method saveAttachment (line 277) | async saveAttachment(t,n,r,o){let s=this.app.workspace.getActiveFile();i...
FILE: .obsidian/plugins/obsidian-custom-attachment-location/main.js
function name (line 34) | function name(obj) {
function extractDefault (line 37) | function extractDefault(module2) {
function requirePatched (line 40) | function requirePatched(id) {
function t (line 54) | function t(){return e.apply(null,arguments)}
function n (line 54) | function n(i){e=i}
function r (line 54) | function r(i){return i instanceof Array||Object.prototype.toString.call(...
function o (line 54) | function o(i){return i!=null&&Object.prototype.toString.call(i)==="[obje...
function s (line 54) | function s(i,a){return Object.prototype.hasOwnProperty.call(i,a)}
function l (line 54) | function l(i){if(Object.getOwnPropertyNames)return Object.getOwnProperty...
function u (line 54) | function u(i){return i===void 0}
function f (line 54) | function f(i){return typeof i=="number"||Object.prototype.toString.call(...
function h (line 54) | function h(i){return i instanceof Date||Object.prototype.toString.call(i...
function m (line 54) | function m(i,a){var c=[],d,y=i.length;for(d=0;d<y;++d)c.push(a(i[d],d));...
function p (line 54) | function p(i,a){for(var c in a)s(a,c)&&(i[c]=a[c]);return s(a,"toString"...
function g (line 54) | function g(i,a,c,d){return au(i,a,c,d,!0).utc()}
function w (line 54) | function w(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,...
function E (line 54) | function E(i){return i._pf==null&&(i._pf=w()),i._pf}
function T (line 54) | function T(i){var a=null,c=!1,d=i._d&&!isNaN(i._d.getTime());if(d&&(a=E(...
function A (line 54) | function A(i){var a=g(NaN);return i!=null?p(E(a),i):E(a).userInvalidated...
function z (line 54) | function z(i,a){var c,d,y,b=_.length;if(u(a._isAMomentObject)||(i._isAMo...
function H (line 54) | function H(i){z(this,i),this._d=new Date(i._d!=null?i._d.getTime():NaN),...
function v (line 54) | function v(i){return i instanceof H||i!=null&&i._isAMomentObject!=null}
function te (line 54) | function te(i){t.suppressDeprecationWarnings===!1&&typeof console<"u"&&c...
function J (line 54) | function J(i,a){var c=!0;return p(function(){if(t.deprecationHandler!=nu...
function se (line 57) | function se(i,a){t.deprecationHandler!=null&&t.deprecationHandler(i,a),Z...
function ue (line 57) | function ue(i){return typeof Function<"u"&&i instanceof Function||Object...
function re (line 57) | function re(i){var a,c;for(c in i)s(i,c)&&(a=i[c],ue(a)?this[c]=a:this["...
function Y (line 57) | function Y(i,a){var c=p({},i),d;for(d in a)s(a,d)&&(o(i[d])&&o(a[d])?(c[...
function j (line 57) | function j(i){i!=null&&this.set(i)}
function he (line 57) | function he(i,a,c){var d=this._calendar[i]||this._calendar.sameElse;retu...
function me (line 57) | function me(i,a,c){var d=""+Math.abs(i),y=a-d.length,b=i>=0;return(b?c?"...
function k (line 57) | function k(i,a,c,d){var y=d;typeof d=="string"&&(y=function(){return thi...
function Ye (line 57) | function Ye(i){return i.match(/\[[\s\S]/)?i.replace(/^\[|\]$/g,""):i.rep...
function Rt (line 57) | function Rt(i){var a=i.match(Xe),c,d;for(c=0,d=a.length;c<d;c++)Pe[a[c]]...
function Kt (line 57) | function Kt(i,a){return i.isValid()?(a=gn(a,i.localeData()),Ie[a]=Ie[a]|...
function gn (line 57) | function gn(i,a){var c=5;function d(y){return a.longDateFormat(y)||y}for...
function wn (line 57) | function wn(i){var a=this._longDateFormat[i],c=this._longDateFormat[i.to...
function Ot (line 57) | function Ot(){return this._invalidDate}
function ws (line 57) | function ws(i){return this._ordinal.replace("%d",i)}
function hi (line 57) | function hi(i,a,c,d){var y=this._relativeTime[c];return ue(y)?y(i,a,c,d)...
function mi (line 57) | function mi(i,a){var c=this._relativeTime[i>0?"future":"past"];return ue...
function Be (line 57) | function Be(i){return typeof i=="string"?pi[i]||pi[i.toLowerCase()]:void 0}
function Mn (line 57) | function Mn(i){var a={},c,d;for(d in i)s(i,d)&&(c=Be(d),c&&(a[c]=i[d]));...
function ks (line 57) | function ks(i){var a=[],c;for(c in i)s(i,c)&&a.push({unit:c,priority:ys[...
function N (line 57) | function N(i,a,c){yi[i]=ue(a)?a:function(d,y){return d&&c?c:a}}
function rp (line 57) | function rp(i,a){return s(yi,i)?yi[i](a._strict,a._locale):new RegExp(ip...
function ip (line 57) | function ip(i){return Lt(i.replace("\\","").replace(/\\(\[)|\\(\])|\[([^...
function Lt (line 57) | function Lt(i){return i.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}
function lt (line 57) | function lt(i){return i<0?Math.ceil(i)||0:Math.floor(i)}
function Q (line 57) | function Q(i){var a=+i,c=0;return a!==0&&isFinite(a)&&(c=lt(a)),c}
function le (line 57) | function le(i,a){var c,d=a,y;for(typeof i=="string"&&(i=[i]),f(a)&&(d=fu...
function Ar (line 57) | function Ar(i,a){le(i,function(c,d,y,b){y._w=y._w||{},a(c,y._w,y,b)})}
function op (line 57) | function op(i,a,c){a!=null&&s(xs,i)&&xs[i](a,c._a,c,i)}
function ki (line 57) | function ki(i){return i%4===0&&i%100!==0||i%400===0}
function Cr (line 57) | function Cr(i){return ki(i)?366:365}
function lp (line 57) | function lp(){return ki(this.year())}
function $n (line 57) | function $n(i,a){return function(c){return c!=null?(jl(this,i,c),t.updat...
function vr (line 57) | function vr(i,a){if(!i.isValid())return NaN;var c=i._d,d=i._isUTC;switch...
function jl (line 57) | function jl(i,a,c){var d,y,b,C,L;if(!(!i.isValid()||isNaN(c))){switch(d=...
function up (line 57) | function up(i){return i=Be(i),ue(this[i])?this[i]():this}
function cp (line 57) | function cp(i,a){if(typeof i=="object"){i=Mn(i);var c=ks(i),d,y=c.length...
function fp (line 57) | function fp(i,a){return(i%a+a)%a}
function Es (line 57) | function Es(i,a){if(isNaN(i)||isNaN(a))return NaN;var c=fp(a,12);return ...
function pp (line 57) | function pp(i,a){return i?r(this._months)?this._months[i.month()]:this._...
function gp (line 57) | function gp(i,a){return i?r(this._monthsShort)?this._monthsShort[i.month...
function wp (line 57) | function wp(i,a,c){var d,y,b,C=i.toLocaleLowerCase();if(!this._monthsPar...
function yp (line 57) | function yp(i,a,c){var d,y,b;if(this._monthsParseExact)return wp.call(th...
function Xl (line 57) | function Xl(i,a){if(!i.isValid())return i;if(typeof a=="string"){if(/^\d...
function Jl (line 57) | function Jl(i){return i!=null?(Xl(this,i),t.updateOffset(this,!0),this):...
function kp (line 57) | function kp(){return Es(this.year(),this.month())}
function bp (line 57) | function bp(i){return this._monthsParseExact?(s(this,"_monthsRegex")||Zl...
function xp (line 57) | function xp(i){return this._monthsParseExact?(s(this,"_monthsRegex")||Zl...
function Zl (line 57) | function Zl(){function i(U,ee){return ee.length-U.length}var a=[],c=[],d...
function Ep (line 57) | function Ep(i,a,c,d,y,b,C){var L;return i<100&&i>=0?(L=new Date(i+400,a,...
function Sr (line 57) | function Sr(i){var a,c;return i<100&&i>=0?(c=Array.prototype.slice.call(...
function bi (line 57) | function bi(i,a,c){var d=7+a-c,y=(7+Sr(i,0,d).getUTCDay()-a)%7;return-y+...
function Kl (line 57) | function Kl(i,a,c,d,y){var b=(7+c-d)%7,C=bi(i,d,y),L=1+7*(a-1)+b+C,U,ee;...
function Tr (line 57) | function Tr(i,a,c){var d=bi(i.year(),a,c),y=Math.floor((i.dayOfYear()-d-...
function Nt (line 57) | function Nt(i,a,c){var d=bi(i,a,c),y=bi(i+1,a,c);return(Cr(i)-d+y)/7}
function Ap (line 57) | function Ap(i){return Tr(i,this._week.dow,this._week.doy).week}
function vp (line 57) | function vp(){return this._week.dow}
function Sp (line 57) | function Sp(){return this._week.doy}
function Tp (line 57) | function Tp(i){var a=this.localeData().week(this);return i==null?a:this....
function _p (line 57) | function _p(i){var a=Tr(this,1,4).week;return i==null?a:this.add((i-a)*7...
function Fp (line 57) | function Fp(i,a){return typeof i!="string"?i:isNaN(i)?(i=a.weekdaysParse...
function Ip (line 57) | function Ip(i,a){return typeof i=="string"?a.weekdaysParse(i)%7||7:isNaN...
function As (line 57) | function As(i,a){return i.slice(a,7).concat(i.slice(0,a))}
function Mp (line 57) | function Mp(i,a){var c=r(this._weekdays)?this._weekdays:this._weekdays[i...
function Np (line 57) | function Np(i){return i===!0?As(this._weekdaysShort,this._week.dow):i?th...
function $p (line 57) | function $p(i){return i===!0?As(this._weekdaysMin,this._week.dow):i?this...
function Yp (line 57) | function Yp(i,a,c){var d,y,b,C=i.toLocaleLowerCase();if(!this._weekdaysP...
function Bp (line 57) | function Bp(i,a,c){var d,y,b;if(this._weekdaysParseExact)return Yp.call(...
function zp (line 57) | function zp(i){if(!this.isValid())return i!=null?this:NaN;var a=vr(this,...
function Vp (line 57) | function Vp(i){if(!this.isValid())return i!=null?this:NaN;var a=(this.da...
function Wp (line 57) | function Wp(i){if(!this.isValid())return i!=null?this:NaN;if(i!=null){va...
function Up (line 57) | function Up(i){return this._weekdaysParseExact?(s(this,"_weekdaysRegex")...
function Hp (line 57) | function Hp(i){return this._weekdaysParseExact?(s(this,"_weekdaysRegex")...
function jp (line 57) | function jp(i){return this._weekdaysParseExact?(s(this,"_weekdaysRegex")...
function Cs (line 57) | function Cs(){function i(We,Vt){return Vt.length-We.length}var a=[],c=[]...
function vs (line 57) | function vs(){return this.hours()%12||12}
function qp (line 57) | function qp(){return this.hours()||24}
function eu (line 57) | function eu(i,a){k(i,0,0,function(){return this.localeData().meridiem(th...
function tu (line 57) | function tu(i,a){return a._meridiemParse}
function Gp (line 57) | function Gp(i){return(i+"").toLowerCase().charAt(0)==="p"}
function Zp (line 57) | function Zp(i,a,c){return i>11?c?"pm":"PM":c?"am":"AM"}
function Kp (line 57) | function Kp(i,a){var c,d=Math.min(i.length,a.length);for(c=0;c<d;c+=1)if...
function ru (line 57) | function ru(i){return i&&i.toLowerCase().replace("_","-")}
function Qp (line 57) | function Qp(i){for(var a=0,c,d,y,b;a<i.length;){for(b=ru(i[a]).split("-"...
function eg (line 57) | function eg(i){return!!(i&&i.match("^[^/\\\\]*$"))}
function xi (line 57) | function xi(i){var a=null,c;if(de[i]===void 0&&typeof Un<"u"&&Un&&Un.exp...
function en (line 57) | function en(i,a){var c;return i&&(u(a)?c=$t(i):c=Ss(i,a),c?Fr=c:typeof c...
function Ss (line 57) | function Ss(i,a){if(a!==null){var c,d=nu;if(a.abbr=i,de[i]!=null)se("def...
function tg (line 57) | function tg(i,a){if(a!=null){var c,d,y=nu;de[i]!=null&&de[i].parentLocal...
function $t (line 57) | function $t(i){var a;if(i&&i._locale&&i._locale._abbr&&(i=i._locale._abb...
function ng (line 57) | function ng(){return V(de)}
function Ts (line 57) | function Ts(i){var a,c=i._a;return c&&E(i).overflow===-2&&(a=c[Dt]<0||c[...
function iu (line 57) | function iu(i){var a,c,d=i._i,y=rg.exec(d)||ig.exec(d),b,C,L,U,ee=Ei.len...
function ug (line 57) | function ug(i,a,c,d,y,b){var C=[cg(i),ql.indexOf(a),parseInt(c,10),parse...
function cg (line 57) | function cg(i){var a=parseInt(i,10);return a<=49?2e3+a:a<=999?1900+a:a}
function fg (line 57) | function fg(i){return i.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s...
function dg (line 57) | function dg(i,a,c){if(i){var d=Ql.indexOf(i),y=new Date(a[0],a[1],a[2])....
function hg (line 57) | function hg(i,a,c){if(i)return lg[i];if(a)return 0;var d=parseInt(c,10),...
function ou (line 57) | function ou(i){var a=ag.exec(fg(i._i)),c;if(a){if(c=ug(a[4],a[3],a[2],a[...
function mg (line 57) | function mg(i){var a=sg.exec(i._i);if(a!==null){i._d=new Date(+a[1]);ret...
function Yn (line 57) | function Yn(i,a,c){return i??a??c}
function pg (line 57) | function pg(i){var a=new Date(t.now());return i._useUTC?[a.getUTCFullYea...
function Fs (line 57) | function Fs(i){var a,c,d=[],y,b,C;if(!i._d){for(y=pg(i),i._w&&i._a[Ct]==...
function gg (line 57) | function gg(i){var a,c,d,y,b,C,L,U,ee;a=i._w,a.GG!=null||a.W!=null||a.E!...
function Is (line 57) | function Is(i){if(i._f===t.ISO_8601){iu(i);return}if(i._f===t.RFC_2822){...
function wg (line 57) | function wg(i,a,c){var d;return c==null?a:i.meridiemHour!=null?i.meridie...
function yg (line 57) | function yg(i){var a,c,d,y,b,C,L=!1,U=i._f.length;if(U===0){E(i).invalid...
function kg (line 57) | function kg(i){if(!i._d){var a=Mn(i._i),c=a.day===void 0?a.date:a.day;i....
function bg (line 57) | function bg(i){var a=new H(Ts(su(i)));return a._nextDay&&(a.add(1,"d"),a...
function su (line 57) | function su(i){var a=i._i,c=i._f;return i._locale=i._locale||$t(i._l),a=...
function xg (line 57) | function xg(i){var a=i._i;u(a)?i._d=new Date(t.now()):h(a)?i._d=new Date...
function au (line 57) | function au(i,a,c,d,y){var b={};return(a===!0||a===!1)&&(d=a,a=void 0),(...
function ce (line 57) | function ce(i,a,c,d){return au(i,a,c,d,!1)}
function lu (line 57) | function lu(i,a){var c,d;if(a.length===1&&r(a[0])&&(a=a[0]),!a.length)re...
function Cg (line 57) | function Cg(){var i=[].slice.call(arguments,0);return lu("isBefore",i)}
function vg (line 57) | function vg(){var i=[].slice.call(arguments,0);return lu("isAfter",i)}
function Tg (line 57) | function Tg(i){var a,c=!1,d,y=Ir.length;for(a in i)if(s(i,a)&&!(ge.call(...
function _g (line 57) | function _g(){return this._isValid}
function Fg (line 57) | function Fg(){return xt(NaN)}
function Ai (line 57) | function Ai(i){var a=Mn(i),c=a.year||0,d=a.quarter||0,y=a.month||0,b=a.w...
function Ci (line 57) | function Ci(i){return i instanceof Ai}
function Ps (line 57) | function Ps(i){return i<0?Math.round(-1*i)*-1:Math.round(i)}
function Ig (line 57) | function Ig(i,a,c){var d=Math.min(i.length,a.length),y=Math.abs(i.length...
function uu (line 57) | function uu(i,a){k(i,0,0,function(){var c=this.utcOffset(),d="+";return ...
function Rs (line 57) | function Rs(i,a){var c=(a||"").match(i),d,y,b;return c===null?null:(d=c[...
function Os (line 57) | function Os(i,a){var c,d;return a._isUTC?(c=a.clone(),d=(v(i)||h(i)?i.va...
function Ls (line 57) | function Ls(i){return-Math.round(i._d.getTimezoneOffset())}
function Rg (line 57) | function Rg(i,a,c){var d=this._offset||0,y;if(!this.isValid())return i!=...
function Og (line 57) | function Og(i,a){return i!=null?(typeof i!="string"&&(i=-i),this.utcOffs...
function Lg (line 57) | function Lg(i){return this.utcOffset(0,i)}
function Dg (line 57) | function Dg(i){return this._isUTC&&(this.utcOffset(0,i),this._isUTC=!1,i...
function Mg (line 57) | function Mg(){if(this._tzm!=null)this.utcOffset(this._tzm,!1,!0);else if...
function Ng (line 57) | function Ng(i){return this.isValid()?(i=i?ce(i).utcOffset():0,(this.utcO...
function $g (line 57) | function $g(){return this.utcOffset()>this.clone().month(0).utcOffset()|...
function Yg (line 57) | function Yg(){if(!u(this._isDSTShifted))return this._isDSTShifted;var i=...
function Bg (line 57) | function Bg(){return this.isValid()?!this._isUTC:!1}
function zg (line 57) | function zg(){return this.isValid()?this._isUTC:!1}
function cu (line 57) | function cu(){return this.isValid()?this._isUTC&&this._offset===0:!1}
function xt (line 57) | function xt(i,a){var c=i,d=null,y,b,C;return Ci(i)?c={ms:i._milliseconds...
function kn (line 57) | function kn(i,a){var c=i&&parseFloat(i.replace(",","."));return(isNaN(c)...
function fu (line 57) | function fu(i,a){var c={};return c.months=a.month()-i.month()+(a.year()-...
function Ug (line 57) | function Ug(i,a){var c;return i.isValid()&&a.isValid()?(a=Os(a,i),i.isBe...
function du (line 57) | function du(i,a){return function(c,d){var y,b;return d!==null&&!isNaN(+d...
function hu (line 57) | function hu(i,a,c,d){var y=a._milliseconds,b=Ps(a._days),C=Ps(a._months)...
function mu (line 57) | function mu(i){return typeof i=="string"||i instanceof String}
function qg (line 57) | function qg(i){return v(i)||h(i)||mu(i)||f(i)||Xg(i)||Gg(i)||i===null||i...
function Gg (line 57) | function Gg(i){var a=o(i)&&!l(i),c=!1,d=["years","year","y","months","mo...
function Xg (line 57) | function Xg(i){var a=r(i),c=!1;return a&&(c=i.filter(function(d){return!...
function Jg (line 57) | function Jg(i){var a=o(i)&&!l(i),c=!1,d=["sameDay","nextDay","lastDay","...
function Zg (line 57) | function Zg(i,a){var c=i.diff(a,"days",!0);return c<-6?"sameElse":c<-1?"...
function Kg (line 57) | function Kg(i,a){arguments.length===1&&(arguments[0]?qg(arguments[0])?(i...
function Qg (line 57) | function Qg(){return new H(this)}
function e0 (line 57) | function e0(i,a){var c=v(i)?i:ce(i);return this.isValid()&&c.isValid()?(...
function t0 (line 57) | function t0(i,a){var c=v(i)?i:ce(i);return this.isValid()&&c.isValid()?(...
function n0 (line 57) | function n0(i,a,c,d){var y=v(i)?i:ce(i),b=v(a)?a:ce(a);return this.isVal...
function r0 (line 57) | function r0(i,a){var c=v(i)?i:ce(i),d;return this.isValid()&&c.isValid()...
function i0 (line 57) | function i0(i,a){return this.isSame(i,a)||this.isAfter(i,a)}
function o0 (line 57) | function o0(i,a){return this.isSame(i,a)||this.isBefore(i,a)}
function s0 (line 57) | function s0(i,a,c){var d,y,b;if(!this.isValid())return NaN;if(d=Os(i,thi...
function vi (line 57) | function vi(i,a){if(i.date()<a.date())return-vi(a,i);var c=(a.year()-i.y...
function a0 (line 57) | function a0(){return this.clone().locale("en").format("ddd MMM DD YYYY H...
function l0 (line 57) | function l0(i){if(!this.isValid())return null;var a=i!==!0,c=a?this.clon...
function u0 (line 57) | function u0(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */...
function c0 (line 57) | function c0(i){i||(i=this.isUtc()?t.defaultFormatUtc:t.defaultFormat);va...
function f0 (line 57) | function f0(i,a){return this.isValid()&&(v(i)&&i.isValid()||ce(i).isVali...
function d0 (line 57) | function d0(i){return this.from(ce(),i)}
function h0 (line 57) | function h0(i,a){return this.isValid()&&(v(i)&&i.isValid()||ce(i).isVali...
function m0 (line 57) | function m0(i){return this.to(ce(),i)}
function pu (line 57) | function pu(i){var a;return i===void 0?this._locale._abbr:(a=$t(i),a!=nu...
function wu (line 57) | function wu(){return this._locale}
function zn (line 57) | function zn(i,a){return(i%a+a)%a}
function ku (line 57) | function ku(i,a,c){return i<100&&i>=0?new Date(i+400,a,c)-yu:new Date(i,...
function bu (line 57) | function bu(i,a,c){return i<100&&i>=0?Date.UTC(i+400,a,c)-yu:Date.UTC(i,...
function p0 (line 57) | function p0(i){var a,c;if(i=Be(i),i===void 0||i==="millisecond"||!this.i...
function g0 (line 57) | function g0(i){var a,c;if(i=Be(i),i===void 0||i==="millisecond"||!this.i...
function w0 (line 57) | function w0(){return this._d.valueOf()-(this._offset||0)*6e4}
function y0 (line 57) | function y0(){return Math.floor(this.valueOf()/1e3)}
function k0 (line 57) | function k0(){return new Date(this.valueOf())}
function b0 (line 57) | function b0(){var i=this;return[i.year(),i.month(),i.date(),i.hour(),i.m...
function x0 (line 57) | function x0(){var i=this;return{years:i.year(),months:i.month(),date:i.d...
function E0 (line 57) | function E0(){return this.isValid()?this.toISOString():null}
function A0 (line 57) | function A0(){return T(this)}
function C0 (line 57) | function C0(){return p({},E(this))}
function v0 (line 57) | function v0(){return E(this).overflow}
function S0 (line 57) | function S0(){return{input:this._i,format:this._f,locale:this._locale,is...
function T0 (line 57) | function T0(i,a){var c,d,y,b=this._eras||$t("en")._eras;for(c=0,d=b.leng...
function _0 (line 57) | function _0(i,a,c){var d,y,b=this.eras(),C,L,U;for(i=i.toUpperCase(),d=0...
function F0 (line 57) | function F0(i,a){var c=i.since<=i.until?1:-1;return a===void 0?t(i.since...
function I0 (line 57) | function I0(){var i,a,c,d=this.localeData().eras();for(i=0,a=d.length;i<...
function P0 (line 57) | function P0(){var i,a,c,d=this.localeData().eras();for(i=0,a=d.length;i<...
function R0 (line 57) | function R0(){var i,a,c,d=this.localeData().eras();for(i=0,a=d.length;i<...
function O0 (line 57) | function O0(){var i,a,c,d,y=this.localeData().eras();for(i=0,a=y.length;...
function L0 (line 57) | function L0(i){return s(this,"_erasNameRegex")||Ms.call(this),i?this._er...
function D0 (line 57) | function D0(i){return s(this,"_erasAbbrRegex")||Ms.call(this),i?this._er...
function M0 (line 57) | function M0(i){return s(this,"_erasNarrowRegex")||Ms.call(this),i?this._...
function Ds (line 57) | function Ds(i,a){return a.erasAbbrRegex(i)}
function N0 (line 57) | function N0(i,a){return a.erasNameRegex(i)}
function $0 (line 57) | function $0(i,a){return a.erasNarrowRegex(i)}
function Y0 (line 57) | function Y0(i,a){return a._eraYearOrdinalRegex||at}
function Ms (line 57) | function Ms(){var i=[],a=[],c=[],d=[],y,b,C,L,U,ee=this.eras();for(y=0,b...
function _i (line 57) | function _i(i,a){k(0,[i,i.length],0,a)}
function B0 (line 57) | function B0(i){return xu.call(this,i,this.week(),this.weekday()+this.loc...
function z0 (line 57) | function z0(i){return xu.call(this,i,this.isoWeek(),this.isoWeekday(),1,4)}
function V0 (line 57) | function V0(){return Nt(this.year(),1,4)}
function W0 (line 57) | function W0(){return Nt(this.isoWeekYear(),1,4)}
function U0 (line 57) | function U0(){var i=this.localeData()._week;return Nt(this.year(),i.dow,...
function H0 (line 57) | function H0(){var i=this.localeData()._week;return Nt(this.weekYear(),i....
function xu (line 57) | function xu(i,a,c,d,y){var b;return i==null?Tr(this,d,y).year:(b=Nt(i,d,...
function j0 (line 57) | function j0(i,a,c,d,y){var b=Kl(i,a,c,d,y),C=Sr(b.year,0,b.dayOfYear);re...
function q0 (line 57) | function q0(i){return i==null?Math.ceil((this.month()+1)/3):this.month((...
function G0 (line 57) | function G0(i){var a=Math.round((this.clone().startOf("day")-this.clone(...
function Z0 (line 57) | function Z0(i,a){a[yn]=Q(("0."+i)*1e3)}
function K0 (line 57) | function K0(){return this._isUTC?"UTC":""}
function Q0 (line 57) | function Q0(){return this._isUTC?"Coordinated Universal Time":""}
function ew (line 57) | function ew(i){return ce(i*1e3)}
function tw (line 57) | function tw(){return ce.apply(null,arguments).parseZone()}
function Cu (line 57) | function Cu(i){return i}
function Fi (line 57) | function Fi(i,a,c,d){var y=$t(),b=g().set(d,a);return y[c](b,i)}
function vu (line 57) | function vu(i,a,c){if(f(i)&&(a=i,i=void 0),i=i||"",a!=null)return Fi(i,a...
function Ns (line 57) | function Ns(i,a,c,d){typeof i=="boolean"?(f(a)&&(c=a,a=void 0),a=a||""):...
function nw (line 57) | function nw(i,a){return vu(i,a,"months")}
function rw (line 57) | function rw(i,a){return vu(i,a,"monthsShort")}
Condensed preview — 170 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (5,776K chars).
[
{
"path": ".obsidian/app.json",
"chars": 276,
"preview": "{\n \"attachmentFolderPath\": \"./media\",\n \"defaultViewMode\": \"preview\",\n \"promptDelete\": false,\n \"showInlineTitle\": fal"
},
{
"path": ".obsidian/appearance.json",
"chars": 99,
"preview": "{\n \"cssTheme\": \"Blue Topaz\",\n \"accentColor\": \"\",\n \"showViewHeader\": true,\n \"showRibbon\": true\n}"
},
{
"path": ".obsidian/community-plugins.json",
"chars": 101,
"preview": "[\n \"obsidian-custom-attachment-location\",\n \"i18n\",\n \"awesome-image\",\n \"obsidian-style-settings\"\n]"
},
{
"path": ".obsidian/core-plugins.json",
"chars": 700,
"preview": "{\n \"file-explorer\": true,\n \"global-search\": true,\n \"switcher\": true,\n \"graph\": true,\n \"backlink\": false,\n \"canvas\""
},
{
"path": ".obsidian/graph.json",
"chars": 511,
"preview": "{\n \"collapse-filter\": true,\n \"search\": \"\",\n \"showTags\": false,\n \"showAttachments\": false,\n \"hideUnresolved\": false,"
},
{
"path": ".obsidian/hotkeys.json",
"chars": 764,
"preview": "{\n \"editor:set-heading-1\": [\n {\n \"modifiers\": [\n \"Mod\"\n ],\n \"key\": \"1\"\n }\n ],\n \"editor:se"
},
{
"path": ".obsidian/plugins/awesome-image/data.json",
"chars": 926,
"preview": "{\n \"viewImageEditor\": true,\n \"viewImageInCPB\": true,\n \"viewImageWithALink\": true,\n \"viewImageOther\": true,\n \"pinMod"
},
{
"path": ".obsidian/plugins/awesome-image/main.js",
"chars": 1010456,
"preview": "/*\nTHIS IS A GENERATED/BUNDLED FILE BY ROLLUP\nif you want to view the source visit the plugins github repository\n*/\n\n'us"
},
{
"path": ".obsidian/plugins/awesome-image/manifest.json",
"chars": 265,
"preview": "{\n \"id\": \"awesome-image\",\n \"name\": \"Awesome Image\",\n \"version\": \"0.1.3\",\n \"minAppVersion\": \"0.15.0\",\n \"description\""
},
{
"path": ".obsidian/plugins/awesome-image/styles.css",
"chars": 22893,
"preview": "body {\n --layer-image-toolkit-popup: 1024;\n --layer-image-toolkit-player: 1025;\n --layer-image-toolkit-notice: "
},
{
"path": ".obsidian/plugins/i18n/data.json",
"chars": 3408,
"preview": "{\n \"I18N_AGREEMENT\": true,\n \"I18N_WIZARD\": false,\n \"I18N_UUID\": \"2b1684f2-4538-4438-8115-43f28e711f38\",\n \"I18N_LANGU"
},
{
"path": ".obsidian/plugins/i18n/main.js",
"chars": 236760,
"preview": "var __create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnProp"
},
{
"path": ".obsidian/plugins/i18n/manifest.json",
"chars": 220,
"preview": "{\"id\":\"i18n\",\"name\":\"I18N\",\"version\":\"1.6.2\",\"minAppVersion\":\"1.5.8\",\"description\":\"专为Obsidian打造的插件国际化工具,助力用户轻松跨越语言障碍,实现"
},
{
"path": ".obsidian/plugins/i18n/styles.css",
"chars": 35442,
"preview": ":root {\n --i18n-color-primary: #409EFF;\n --i18n-color-success: #67C23A;\n --i18n-color-warning: #E6A23C;\n --i"
},
{
"path": ".obsidian/plugins/obsidian-custom-attachment-location/data.json",
"chars": 688,
"preview": "{\n \"attachmentFolderPath\": \"./media\",\n \"attachmentRenameMode\": \"Only pasted images\",\n \"duplicateNameSeparator\": \" \",\n"
},
{
"path": ".obsidian/plugins/obsidian-custom-attachment-location/duplicate.js",
"chars": 296753,
"preview": "/*\nTHIS IS A GENERATED/BUNDLED FILE BY ESBUILD\nif you want to view the source, please visit the github repository of thi"
},
{
"path": ".obsidian/plugins/obsidian-custom-attachment-location/lang/state.json",
"chars": 85,
"preview": "{\"type\":\"0\",\"state\":true,\"pluginVersion\":\"7.1.0\",\"translationVersion\":1741567288260}\n"
},
{
"path": ".obsidian/plugins/obsidian-custom-attachment-location/lang/zh-cn.json",
"chars": 10167,
"preview": "{\n \"manifest\": {\n \"translationVersion\": 1741567288260,\n \"pluginVersion\": \"7.0.2\"\n },\n \"descriptio"
},
{
"path": ".obsidian/plugins/obsidian-custom-attachment-location/main.js",
"chars": 295479,
"preview": "/*\nTHIS IS A GENERATED/BUNDLED FILE BY ESBUILD\nif you want to view the source, please visit the github repository of thi"
},
{
"path": ".obsidian/plugins/obsidian-custom-attachment-location/manifest.json",
"chars": 383,
"preview": "{\n \"id\": \"obsidian-custom-attachment-location\",\n \"name\": \"Custom Attachment Location\",\n \"version\": \"7.1.0\",\n "
},
{
"path": ".obsidian/plugins/obsidian-git/data.json",
"chars": 1557,
"preview": "{\n \"commitMessage\": \"vault backup: {{date}}\",\n \"commitDateFormat\": \"YYYY-MM-DD HH:mm:ss\",\n \"autoSaveInterval\": 0,\n \""
},
{
"path": ".obsidian/plugins/obsidian-git/duplicate.js",
"chars": 745506,
"preview": "/*\nTHIS IS A GENERATED/BUNDLED FILE BY ESBUILD\nif you want to view the source visit the plugins github repository (https"
},
{
"path": ".obsidian/plugins/obsidian-git/lang/state.json",
"chars": 86,
"preview": "{\"type\":\"0\",\"state\":true,\"pluginVersion\":\"2.32.1\",\"translationVersion\":1731497952199}\n"
},
{
"path": ".obsidian/plugins/obsidian-git/lang/zh-cn.json",
"chars": 49215,
"preview": "{\n \"manifest\": {\n \"translationVersion\": 1731497952199,\n \"pluginVersion\": \"2.28.2\"\n },\n \"descripti"
},
{
"path": ".obsidian/plugins/obsidian-git/main.js",
"chars": 738594,
"preview": "/*\nTHIS IS A GENERATED/BUNDLED FILE BY ESBUILD\nif you want to view the source visit the plugins github repository (https"
},
{
"path": ".obsidian/plugins/obsidian-git/manifest.json",
"chars": 271,
"preview": "{\n \"author\": \"Vinzent\",\n \"authorUrl\": \"https://github.com/Vinzent03\",\n \"id\": \"obsidian-git\",\n \"name\": \"Git\","
},
{
"path": ".obsidian/plugins/obsidian-git/obsidian_askpass.sh",
"chars": 402,
"preview": "#!/bin/sh\n\nPROMPT=\"$1\"\nTEMP_FILE=\"$OBSIDIAN_GIT_CREDENTIALS_INPUT\"\n\ncleanup() {\n rm -f \"$TEMP_FILE\" \"$TEMP_FILE.respo"
},
{
"path": ".obsidian/plugins/obsidian-git/styles.css",
"chars": 14193,
"preview": "@keyframes loading {\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n "
},
{
"path": ".obsidian/plugins/obsidian-style-settings/data.json",
"chars": 885,
"preview": "{\n \"blue-topaz-theme@@bt-status-on\": false,\n \"blue-topaz-theme@@layout-style-options\": \"layout-style-options-default\","
},
{
"path": ".obsidian/plugins/obsidian-style-settings/main.js",
"chars": 154579,
"preview": "/*\nTHIS IS A GENERATED/BUNDLED FILE BY ESBUILD\nif you want to view the source, please visit the github repository of thi"
},
{
"path": ".obsidian/plugins/obsidian-style-settings/manifest.json",
"chars": 321,
"preview": "{\n\t\"id\": \"obsidian-style-settings\",\n\t\"name\": \"Style Settings\",\n\t\"version\": \"1.0.9\",\n\t\"minAppVersion\": \"0.11.5\",\n\t\"descri"
},
{
"path": ".obsidian/plugins/obsidian-style-settings/styles.css",
"chars": 13904,
"preview": ".style-settings-heading {\n cursor: pointer;\n margin-bottom: 18px;\n padding-bottom: 6px;\n border-bottom: 1px "
},
{
"path": ".obsidian/plugins/obsidian42-brat/data.json",
"chars": 385,
"preview": "{\n \"pluginList\": [\n \"0011000000110010/obsidian-i18n\"\n ],\n \"pluginSubListFrozenVersion\": [],\n \"themesList\": [],\n "
},
{
"path": ".obsidian/plugins/obsidian42-brat/main.js",
"chars": 47554,
"preview": "\"use strict\";var qt=Object.create;var Q=Object.defineProperty;var Jt=Object.getOwnPropertyDescriptor;var Wt=Object.getOw"
},
{
"path": ".obsidian/plugins/obsidian42-brat/manifest.json",
"chars": 384,
"preview": "{\n\t\"id\": \"obsidian42-brat\",\n\t\"name\": \"BRAT\",\n\t\"version\": \"1.0.6\",\n\t\"minAppVersion\": \"1.7.2\",\n\t\"description\": \"Easily ins"
},
{
"path": ".obsidian/plugins/obsidian42-brat/styles.css",
"chars": 69,
"preview": ".brat-modal .modal-button-container {\n\tmargin-top: 5px !important;\n}\n"
},
{
"path": ".obsidian/themes/Blue Topaz/manifest.json",
"chars": 167,
"preview": "{\n \"name\": \"Blue Topaz\",\n \"version\": \"2025041201\",\n \"minAppVersion\": \"1.0.0\",\n \"author\": \"WhyI & Pkmer\",\n "
},
{
"path": ".obsidian/themes/Blue Topaz/theme.css",
"chars": 1236440,
"preview": "/* \n\n\nIf you want to distribute the whole or parts of the above codes, please copy & paste the following sentences:\n\nPar"
},
{
"path": ".obsidian/workspace.json",
"chars": 5990,
"preview": "{\n \"main\": {\n \"id\": \"8a102c2d24869213\",\n \"type\": \"split\",\n \"children\": [\n {\n \"id\": \"650072354ba3ed"
},
{
"path": ".obsidian/workspaces.json",
"chars": 38,
"preview": "{\n \"workspaces\": {},\n \"active\": \"\"\n}"
},
{
"path": "Algorithm/2d激光雷达运动补偿方法(去畸变).md",
"chars": 1850,
"preview": "# 2d激光雷达运动补偿方法(去畸变)\n\n## 1.点云畸变原理\n\n我们以VLP-16为例,纵向排列着16个激光发射器和接收器。VLP-16的垂直测量角度从-15°到+15°,每条激光线之间的角分辨率为2°,在10Hz扫描频率下,水平角分辨"
},
{
"path": "Algorithm/IMU预积分.md",
"chars": 1500,
"preview": "# IMU预积分\n\n## 简述\t\t\n\n\t\t惯性导航的核心原理基于牛顿第二定律,即位置的导数等于速度,速度的导数等于加速度。如果我们假设参考坐标系下载体的初始速度和初始位置已知,利用载体运动过程中参考系下的加速度信息,就可以不断地进行积分运"
},
{
"path": "Algorithm/ORBSLAM3学习.md",
"chars": 706,
"preview": "# 1. ORB-SLAM3中为什么要进行三次IMU初始化\n## 1.1 三次初始化的概述\n1.1.1 第一次初始化 (IMU第一阶段)\n- 发生在InitializeIMU()函数中\n\t- 主要目标:\n\t\t- 估计初始重力方向\n\t\t- 计"
},
{
"path": "Algorithm/ROS2_command.md",
"chars": 3525,
"preview": "## 1. 创建功能包\n```\n$ cd ~/dev_ws/src\n$ ros2 pkg create --build-type ament_cmake learning_pkg_c # C++\n$ ros2 pkg create --bu"
},
{
"path": "Algorithm/ROS2的Launch文件简介.md",
"chars": 2916,
"preview": "## 1. 基本用法\n```\nfrom launch import LaunchDescription\nfrom launch.actions import DeclareLaunchArgument\nfrom launch.substit"
},
{
"path": "Algorithm/ROSNodehandle句柄的理解.md",
"chars": 1319,
"preview": "# ROS Nodehandle句柄的理解\n\n## 1、句柄可以让你通过构造函数指定命名空间\n\n```\nros::NodeHandle nh(\"my_namespace\");\n```\n\n这使得使用该句柄的任何相对名字都是相对<node_na"
},
{
"path": "Algorithm/ROSparam的使用.md",
"chars": 6947,
"preview": "# ROS param 的使用\n\n## 一、rosparam 命令行操作\n\n1. 列出当前的所有参数:\n\n ```\n rosparam list\n ```\n\n2. 显示某个参数的值\n\n ```\n rosparam get"
},
{
"path": "Algorithm/ROS激光雷达信息、点云信息和PCL信息之间的转换.md",
"chars": 829,
"preview": "# ROS激光雷达信息、点云信息和PCL信息之间的转换\n\n## 一、消息类型\n\n```\nsensor_msgs::LaserScan // ROS激光雷达信息\nsensor_msgs::PointC"
},
{
"path": "Algorithm/Ros中Remap(话题重映射)的两种使用方法.md",
"chars": 1376,
"preview": "# Ros中Remap(话题重映射)的两种使用方法\n\n- remap在node之外的作用域是他之后的所有节点,在node中的作用域是当前节点,此外要注意想要remap的话题是这个节点要接收的还是要发布的。\n- 如果是要remap一个该节点发"
},
{
"path": "Algorithm/SLAM中的位姿变换与轨迹评价指标.md",
"chars": 14708,
"preview": "# SLAM中的位姿变换与轨迹评价指标:APE、RPE、ATE、RTE\n\n## 1.位姿变换的表示\n\n这里首先需要说明的是,当我们说一个位姿的时候,一定是相对于某个参考系的。它并不会独立于参考系而存在,即使有些时候我们没有显式地说明参考系。"
},
{
"path": "Algorithm/SVD与非线性优化在最小二乘问题中的区别.md",
"chars": 1883,
"preview": "## SVD与非线性优化在最小二乘问题中的区别\n\n最小二乘问题可以用 **SVD** 和 **非线性优化** 来求解,但它们适用于不同的场景。下面是它们的 **原理**、**区别** 和 **应用场景**。\n\n---\n\n## 1. SVD "
},
{
"path": "Algorithm/Theta_star-Any-Angle-Path-Planning-on-Grids.md",
"chars": 14816,
"preview": "# Theta*: Any-Angle Path Planning on Grids\n\n你可以在这里下载到原[论文](https://arxiv.org/ftp/arxiv/papers/1401/1401.3843.pdf),并且在这里找"
},
{
"path": "Algorithm/Voronoi Graph.md",
"chars": 338,
"preview": "可视化图表来展示脊线扩展算法前后地图的变化过程\n\n\n\n旋转θ 角度,求旋转后点的坐标:\n\n$x$,$y$表示旋转前的坐标\n\n$x_1$,$x_1$表示旋转后的坐标\n\nθ某点绕坐标系(原点)逆时针"
},
{
"path": "Algorithm/匈牙利算法.md",
"chars": 3414,
"preview": "# 匈牙利算法\n\n## 1.为什么需要匈牙利算法\n\n因为在目标跟踪中,不同时刻,物体的位置等信息会发生变化,但我们需要让它保持同一个ID\n\n**eg:**\n\n假设本来视频帧只出现一辆车,那么我们一直采用目标检测的方法也没有问题,可以一直把该"
},
{
"path": "Algorithm/协方差矩阵.md",
"chars": 943,
"preview": "# 协方差矩阵\n\n\n\n\n\n\n\n\n\n\n\n协方差矩阵(Covariance"
},
{
"path": "Algorithm/单目视觉的尺度等价性.md",
"chars": 656,
"preview": "# 单目视觉的尺度等价性\n\n视觉SLAM根据传感器硬件可以分为不同的流派,如单目,双目,深度相机等。其中,单目SLAM的难度较其它传感器实现的SLAM要困难许多,原因在于纯粹的单目相机缺乏真实的深度信息,会出现尺度等价性问题。\n\n单目相机的"
},
{
"path": "Algorithm/占据栅格地图构建.md",
"chars": 8072,
"preview": "# 占据栅格地图构建(Occupancy Grid Map)\n\n\n\n### 1、地图的分类\n\n移动机"
},
{
"path": "Algorithm/双目立体视觉SAD匹配算法.md",
"chars": 2198,
"preview": "# 双目立体视觉SAD匹配算法\n\n**1.算法原理**\n SAD(Sum of absolute differences)是一种图像匹配算法。基本思想:差的绝对值之和。此算法常用于图像块匹配,将每个像素对应数值之差的绝对值求和,据此评"
},
{
"path": "Algorithm/向量积(矢积)与数量积(标积)的区别.md",
"chars": 626,
"preview": "# **向量积(矢积)与数量积(标积)的区别**\n\n \n\n| 名称 | 标积/内积/数量积/点积 | 矢积/外积/向量积/叉积 "
},
{
"path": "Algorithm/多元函数的泰勒展开式.md",
"chars": 1190,
"preview": "# 多元函数的泰勒展开式\n\n\n\n\n\n\n\n"
},
{
"path": "Algorithm/多维高斯分布.md",
"chars": 130,
"preview": "# 多维高斯分布 \n\n\n\n\n\n\n\n,其原理主要是在速度空间(v,w)中**采样多组速度**,并模拟出这些速度在一定时间内的**运动轨迹**,并通过**评价函数**对这些轨迹进"
},
{
"path": "Algorithm/归一化与标准化.md",
"chars": 870,
"preview": "# 归一化与标准化 \n\n## 1. 线性函数归一化(Min-Max scaling)\n线性函数将原始数据线性化的方法转换到[0 1]的范围,归一化公式如下:\n\n\n\n该方法实现对原始数据的等比例缩放,"
},
{
"path": "Algorithm/旋转下激光雷达数据与地图产生错位的问题.md",
"chars": 1803,
"preview": "# 旋转下激光雷达数据与地图产生错位的问题\n这是一个典型的机器人运动和传感器数据变换中的问题,涉及到 **卡尔曼滤波**、**`base_footprint` 坐标系的变换** 和 **激光扫描数据的同步问题**。\n## 1. 机器人顺时针"
},
{
"path": "Algorithm/本质矩阵基础矩阵的自由度及其解法.md",
"chars": 7101,
"preview": "# 本质矩阵,基础矩阵,自由度及其解法 \n\n## **常用重要性质:** \n\n### **(1)正交矩阵相乘仍然是正交矩阵** \n\n *A**、**B*是正交矩阵,那么*AA'=E BB'=E* \n\n $(AB)\\*(AB)'=AB\\*B'"
},
{
"path": "Algorithm/欧拉角与坐标系旋转变换.md",
"chars": 3605,
"preview": "# 欧拉角与坐标系旋转变换\n\n## 总结:\n\n\t**在slam中,对于一个旋转$p_{ab}$,表示将b坐标下的点旋转到a坐标系下(处理的是坐之间的变换关系),也可以理解为将坐标系a旋转一定角度得到坐标系b(处理的是坐标轴之间的变换)。*"
},
{
"path": "Algorithm/正态分布.md",
"chars": 5698,
"preview": "# 正态分布 \n\n**正态分布**(**Normal distribution**)又名**高斯分布**(**Gaussian distribution**),是一个在[数学](http://zh.wikipedia.org/wiki/數學"
},
{
"path": "Algorithm/激光雷达与相机外参联合标定调研.md",
"chars": 5855,
"preview": "# 激光雷达与相机外参联合标定调研\n\n## 相机的内参标定原理:\n\n#### 张正友标定法:\n\nhttps://zhuanlan.zhihu.com/p/668358597\n\n## 一些比较通用的3D激光雷达和RGB相机外参标定算法:\n\n#"
},
{
"path": "Algorithm/激光雷达性能指标.md",
"chars": 2443,
"preview": "# 激光雷达性能指标\n\n激光雷达的性能指标主要包括线数,波长,激光安全等级,测距能力和盲区,精度,视场角FOV,角分辨率,帧率,转速,出点数以及其他部分。\n\n## 线数\n\n车载激光雷达一般使用多线雷达,就是在垂直方向上具有多个发射器和接收"
},
{
"path": "Algorithm/灰度质心法.md",
"chars": 143,
"preview": "# 灰度质心法 \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n算法是一种很常用的路径查找和图形遍历算法。它有较好的性能和准确度。本文在讲解算法的同时也会提供C++语言的代码实现\n\nhttps://github.com/hanlin-cheng/A-S"
},
{
"path": "Algorithm/重投影误差.md",
"chars": 45,
"preview": "## 重投影误差\n\n\n\n"
},
{
"path": "Algorithm/雅克比矩阵和海塞矩阵.md",
"chars": 1178,
"preview": "# 雅克比矩阵和海塞矩阵 \n\n## **雅可比(Jacobian)矩阵** \n\n(雅克比算子又称为行偏导算子) \n\n在向量分析中, 雅可比矩阵是**一阶偏导数**以**一定方式排列**成的**矩阵**。其行列式称为雅可比行列式。还有, 在"
},
{
"path": "Algorithm/高斯牛顿法.md",
"chars": 3382,
"preview": "# 高斯牛顿法 \n\n## **手写高斯牛顿法**\n\n**CMakeLists**\n\n```cmake\ncmake_minimum_required(VERSION 3.15) \nproject(GuassNewton) \n\nset(CMAK"
},
{
"path": "C++/C++11chrono库.md",
"chars": 8483,
"preview": "# C++11:chrono库 (日期和时间库)\n\n> \tC++11标准已经支持std::chrono了,但是为了兼容老编译系统现在很多C++库和程序都使用boost::chrono作为时间类库(还有的原因就std::chrono没有收录"
},
{
"path": "C++/C++下const增强.md",
"chars": 1039,
"preview": "# C++下const增强\n\n### 全局const间接修改\n\n```c++\nconst int m_a = 100;\t//分配到常量区\nvoid fun()\n{\n\tint * p = (int *)&m_a;\n\t*p = 200;\n}\n`"
},
{
"path": "C++/CMakeLists简易模板.md",
"chars": 1508,
"preview": "# CMakeLists简易模板\n\n```cmake\ncmake_minimum_required(VERSION 2.8)\nPROJECT(ndt_mapping)\n\n#dboost\nadd_definitions(-DBOOST_ERR"
},
{
"path": "C++/CMakelists基础指令.md",
"chars": 693,
"preview": "# CMakelists基础指令 \n\n## (1)include_directories \n\n用于设置头文件的相对路径。全局路径默认是功能包所在目录,一般会放在功能包根目录下的include文件夹中,所以此处需要添加该文件夹。此外,该配置项"
},
{
"path": "C++/EigenGeometry.md",
"chars": 2182,
"preview": "# EigenGeometry \n\n```c++\n#include<iostream> \n#include<cmath> \n\nusing namespace std; \n\n#include<Eigen/Core> \n#include<Eig"
},
{
"path": "C++/Eigen几何模块的引入.md",
"chars": 3077,
"preview": "# Eigen几何模块的引入 \n\n## 1、在CMakeLists文件中添加 \n\n```\ninclude_directories(\"/usr/include/eigen3\") \n```\n\n## 2、在main.cpp中添加 \n\n```\n#i"
},
{
"path": "C++/Find_package.md",
"chars": 9758,
"preview": "# Find_package \n\n## **1、find_packakge命令基本介绍** \n\n> \t\t在我们实际开发过程中,经常不可避免会使用到第三方开源库,这些开源库可能是通过apt-get install命令自动安装到系统目录中,也"
},
{
"path": "C++/GoogleTest.md",
"chars": 568,
"preview": "# GoogleTest\n\n## GoogleTest运行特定的测试用例\n\n通常GoogleTest的单元测试,直接执行,就全跑一遍,很耗时,有时候需要只测试某个case。\n\n先列出所有case:\n\n```\nD:\\my_workspace\\"
},
{
"path": "C++/Opencv_Mat.md",
"chars": 1129,
"preview": "# Opencv Mat\n\n\n\n## **Mat_\\<\\>()**\n\n```\nMat k = (Mat_<double>(3,3) << 1, 2, 3, 4, 5, 6, 7, 8, 9);\n```\n\n\n\n## **Mat.at\\<\\>("
},
{
"path": "C++/Protocol_Buffers基本使用.md",
"chars": 9927,
"preview": "# Protocol Buffers基本使用\n\n> - Protocol Buffer 和 XML、JSON一样都是结构数据序列化的工具,但它们的数据格式有比较大的区别:\n> - 首先,Protocol Buffer 序列化之后得到的数"
},
{
"path": "C++/ROS指令.md",
"chars": 4660,
"preview": "# ROS指令\n\n## ROS Shell命令\n\n| 命令 | 功能 |\n| ------------------ |"
},
{
"path": "C++/STL容器使用时机.md",
"chars": 1107,
"preview": "# STL容器使用时机\n\n| | vector | deque | list | set | multiset | map | multimap |\n|--"
},
{
"path": "C++/boostcondition_variable.md",
"chars": 2482,
"preview": "# boost::condition_variable\n\nboost::condition 和 boost::condition_variable 都是 Boost 库中用于实现条件变量的类。条件变量是一种同步原语,通常用于实现等待/通知机"
},
{
"path": "C++/c++_boost_circular_buffer.md",
"chars": 3469,
"preview": "# c++ boost circular_buffer\n\n## 一、概述\n\nBoost.Circular_buffer维护了一块连续内存块作为缓存区,当缓存区内的数据存满时,继续存入数据就覆盖掉旧的数据。\n它是一个与STL兼容的容器,类似于"
},
{
"path": "C++/c++并发与多线程.md",
"chars": 3438,
"preview": "# c++并发与多线程\n\n显示转换在主线程中构造,没有问题,隐式转换在子线程中构造,会出现问题\n\n有确定存储地址、有变量名,表达式结束依然存在的值,简"
},
{
"path": "C++/常用函数.md",
"chars": 2131,
"preview": "# 常用函数\n\n- ## **swap():**\n\n **@brief:**用于元素的交换\n\n ```\n swap(a, b)\n ```\n\n \n\n- ## **substr():**\n\n **形式 :** s.substr(po"
},
{
"path": "C++/常规函数与内联函数.md",
"chars": 79,
"preview": "# 常规函数与内联函数\n\n\n\n常规函数调用将程序流程转到独立的函数就行运行\n\n\n\n内敛函数用相应的代码段替换函数调用,因此内联函数运行较快,但是更加占用内存\n"
},
{
"path": "C++/数据类型字节数.md",
"chars": 1235,
"preview": "# 数据类型字节数\n\n\n\n\n\n1个字节 = 8位 n表示位\n\n整数有符号取值范围:[-2^(n-1), 2^(n-1) -1]\n\n整数无符号取值"
},
{
"path": "C++/构造函数的调用时机.md",
"chars": 874,
"preview": "# 构造函数的调用时机\n\n```c++\n//1. 无参构造调用方式\nvoid test01(){\n \n //调用无参构造函数\n Person person1; \n person1.PrintPerson();\n \n "
},
{
"path": "C++/类知识点.md",
"chars": 636,
"preview": "# 类知识点\n\n1. 类声明描述如何分配内存,但是并不分配内存\n\n \n\n2. 对于静态成员函数,在类外进行初始化\n\n \n\n3. 构造函数用于创建对象\n\n \n\n4. 函数返回对象时会调用拷贝构造函数\n\n \n\n5. 一个类的所有"
},
{
"path": "C++/计算时间.md",
"chars": 283,
"preview": "# 计算时间\n\n```c++\n#include<chrono>\nstd::chrono::steady_clock::time_point t1 = std::chrono::steady_clock::now();\nstd::chrono"
},
{
"path": "C++/设计模式之生产者-消费者模型.md",
"chars": 6619,
"preview": "# 设计模式之生产者-消费者模型\n\n### 一、什么是生产者-消费者模型\n\n1、简单理解生产者-消费者模型\n假设有两个进程(或线程)A、B和一个固定大小的缓冲区,A进程生产数据放入缓冲区,B进程从缓冲区中取出数据进行计算,这就是一个简单的生"
},
{
"path": "C++/转换.md",
"chars": 154,
"preview": "# 转换\n\n## int to string \n\n```c++\nstring = to_string(int a)\n```\n\n\n\n## string to char\n\n```c++\n*.c_str()\n```\n\n\n\n## char\\* to"
},
{
"path": "Linux/Shell的变量功能.md",
"chars": 32667,
"preview": "## **Shell 的变量功能**\n\n变量是 bash 环境中非常重要的一个玩意儿,我们知道 Linux 是多人多任务的环境,每个人登陆"
},
{
"path": "Linux/认识BASH这个Shell.md",
"chars": 10520,
"preview": "# **认识BASH这个Shell**\n\n## **认识 BASH 这个 Shell**\n\n我们在[第一章 Linux 是什么](http"
},
{
"path": "QT/QT迁移项目后显示修改时间大于当前时间.md",
"chars": 82,
"preview": "# QT迁移项目后显示修改时间大于当前时间\n\n打开终端输入\n\n```shell\nfind /项目路径 -type f -exec touch {} +\n```\n\n\n"
},
{
"path": "QT/Qt点击按钮进行页面的切换.md",
"chars": 1406,
"preview": "# Qt点击按钮进行页面的切换\n\n## **widget.h**\n\n```c++\n#ifndef WIDGET_H\n#define WIDGET_H\n\n#include <QWidget>\n\nclass Widget : public QW"
},
{
"path": "QT/基于arm架构的NVIDIA_Xavier安装Qt.md",
"chars": 638,
"preview": "# 基于arm架构的NVIDIA Xavier安装Qt\n\n## **Part1:安装Qt**\n\n#### 1.安装Qt Creator\n\n```shell\nsudo apt-get install qt5-default qtcreator"
},
{
"path": "QT/项目默认文件介绍.md",
"chars": 595,
"preview": "# 项目默认文件介绍\n\n## **main.cpp**\n\n```c++\n#include \"mainwindow.h\"\n#include <QApplication> //应用程序类\n\n//argc 命令行变量数量 argv 命令行变量数组"
},
{
"path": "README.md",
"chars": 9484,
"preview": "# Study-note from HanLin\n\n本仓库包含以下内容:\n\n1. 一些学习的[心得笔记](#心的笔记)\n2. \n3. 一些可能有用的[电子书籍和学习资源](#Resource)\n\n4. 一些[学习软件](#Software)"
},
{
"path": "command/Docker简要教程.md",
"chars": 2609,
"preview": "# Docker简要教程\n\n## 1.常用命令\n\n### 1.1镜像操作\n\n镜像是容器执行的前提条件,一般需要掌握命令注意有**搜索**、**下载**、**删除**、**创建**。\n\n```shell\ndocker images "
},
{
"path": "command/Git_Command.md",
"chars": 7504,
"preview": "# Git Command\n\n[参考教程]: https://www.liaoxuefeng.com/wiki/896043488029600\n\n> `git clone` 默认是克隆`Head`指向的`master`分支,如果是多分支,我"
},
{
"path": "command/Git中submodule的使用.md",
"chars": 6203,
"preview": "# Git中submodule的使用\n\n## 背景\n\n面对比较复杂的项目,我们有可能会将代码根据功能拆解成不同的子模块。主项目对子模块有依赖关系,却又并不关心子模块的内部开发流程细节。\n\n这种情况下,通常不会把所有源码都放在同一个 Git "
},
{
"path": "command/LIO-SAM运行.md",
"chars": 1525,
"preview": "# LIO-SAM运行\n\n## part1:数据集运行\n\n### 1.环境变量\n\n```shell\nsource devel/setup.bash\n```\n\n### 2.启动lio-sam功能包\n\n```shell\nroslaunch li"
},
{
"path": "command/Orb-slam2运行.md",
"chars": 2133,
"preview": "# Orb-slam2运行\n\n## **part1:运行数据集**\n\n### **1.Monocular**\n\n- #### Tum:\n\n\n```shell\n./Examples/Monocular/mono_tum Vocabulary/"
},
{
"path": "command/ROS查看ZED节点效果.md",
"chars": 83,
"preview": "# ros查看ZED节点效果\n\n\n\n```shell\nroslaunch zed_wrapper zed2.launch\n\nrqt_image_view\n```\n\n\n"
},
{
"path": "command/Ubuntu-xavier.md",
"chars": 155,
"preview": "# Ubuntu-xavier\n\n## 1.查看NVIDIA jetson相关参数\n\n```shell\nsudo jtop\n```\n\n\n\n## 2.更改xavier风扇转速\n\n```shell\nsudo gedit /sys/devices"
},
{
"path": "command/Xsens传感器调用.md",
"chars": 128,
"preview": "# Xsens传感器调用\n\n\n\n```shell\nsource devel/setup.bash\n\nsudo chmod 777 /dev/ttyUSB\\*\n\nroslaunch xsens_mti_driver display.launc"
},
{
"path": "command/git_cherry-pick.md",
"chars": 2992,
"preview": "# git cherry-pick\n\n## 前言\n\n对于多分支的代码库,将代码从一个分支转移到另一个分支是常见需求。\n\n这时分两种情况。\n\n你需要另一个分支的所有代码变动,那么就采用合并(git merge)。\n你只需要部分代码变动(某几个"
},
{
"path": "command/git_rebase的两种用法.md",
"chars": 5221,
"preview": "# git rebase的两种用法\n\n## 用法一: 合并当前分支的多个commit记录\n\n你可能出现过对同一处代码进行多次处理的场景。这会导致如下提交记录:\n\n```\n$ git log --pretty=format:'%h: %s'\n"
},
{
"path": "slam_config/Matlab标定单目相机内参.md",
"chars": 2283,
"preview": "# Matlab标定单目相机内参\n\n我使用的是Matlab 2024,使用不同版本大体流程都是一样的,可能界面显示会稍有不同\n\n## 1. 打开相机标定app\n\n\n\n vscode c++开大家一般用 vscode 自家出品的c++插件\n\n网络"
},
{
"path": "slam_config/turbot建图导航算法汇总.md",
"chars": 4407,
"preview": "# turbot建图,导航算法汇总 \n\n## **建图** \n\n1. gmapping: https://github.com/ros-perception/openslam_gmapping.git,可以跑,输入:scan,tf,输出:m"
},
{
"path": "slam_config/ubuntu18.04系统下安装turtlebot2.md",
"chars": 2093,
"preview": "# ubuntu 18.04系统下安装turtlebot2 \n\n## 先完成ROS melodic安装 \n\n \n\n## 安装依赖: \n\n```\n$ sudo apt-get install ros-melodic-kobuki-* \n$ s"
},
{
"path": "slam_config/windows下orb和hfnet安装.md",
"chars": 5019,
"preview": "# ORB-SLAM3 and HF-NET安装(Windows)\n\n## 1.克隆代码和依赖库到本地\n\n#### orbslam3_opt:\n\n```\ngit clone https://stash.slamtec.com/scm/np/"
},
{
"path": "slam_config/xavier装机文档.md",
"chars": 5141,
"preview": "# xavier装机文档 \n\n## 1、刷机 \n\n刷 Jetpack 最新版本: \n\nhttps://www.ncnynl.com/category/Xavier-basic/ \n\n## 2、挂载固态硬盘 \n\nhttps://www.ncn"
},
{
"path": "slam_config/基于ROS的opencv安装与卸载.md",
"chars": 2922,
"preview": "# 基于ROS的opencv安装与卸载 \n\n## **Part1:下载安装包** \n\n前往官网下载所需版本的opencv。 \n\n## **Part2:安装依赖包** \n\n```\nsudo apt-get install cmake git"
},
{
"path": "slam_config/激光雷达与IMU联合标定(lidar_IMU_calib).md",
"chars": 2300,
"preview": "# 激光雷达与IMU联合标定(lidar_IMU_calib)\n\n> 本文档主要介绍浙大开源标定算法lidar_IMU_calib \n>\n> Github地址: https://github.com/APRIL-ZJU/lidar_IMU_"
},
{
"path": "slam_config/轨迹评估介绍与evo工具使用.md",
"chars": 23775,
"preview": "# 轨迹评估介绍与evo工具使用 \n\n## **介绍** \n\n本文介绍了轨迹评估的基本概念,包括轨迹对齐、尺度变换、绝对轨迹误差、相对轨迹误差以及计算方法、相关文献,以及evo轨迹评估工具的安装、使用举例、命令参数详解。 \n\n \n\n## *"
},
{
"path": "something_else/stable-diffusion-webui手动安装详细步骤.md",
"chars": 6367,
"preview": "# stable-diffusion-webui手动安装详细步骤\n\n## 环境\n\nOS:Windows10\n显卡类型:NVIDIA(英伟达)\n[Python版本](https://www.python.org/downloads/?logi"
},
{
"path": "something_else/如何在Linux中使用Clash.md",
"chars": 1507,
"preview": "# 如何在Linux中使用Clash\n\n## Step 1\n\n下载相应的[Clash](https://github.com/Dreamacro/clash/releases)文件,注意区分`amd`架构和`arm`架构,使用 `uname"
},
{
"path": "something_else/获取Office2021安装包及相关激活工具.md",
"chars": 18792,
"preview": "# 获取Office 2021安装包及相关激活工具🛠️\n\n### Office 2021 安装部署和激活方式💡\n\n> 概述\n\n废话不多说,这里我大致搜集了几种能够免费安装`Office 2021`的方法以及激活方式,并总结出保姆级教程 如下"
}
]
// ... and 24 more files (download for full content)
About this extraction
This page contains the full source code of the hanlin-cheng/slam-study-note GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 170 files (45.6 MB), approximately 1.3M tokens, and a symbol index with 7046 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.