diff --git a/.gitattributes b/.gitattributes
deleted file mode 100644
index 053c9066..00000000
--- a/.gitattributes
+++ /dev/null
@@ -1 +0,0 @@
-*.own linguist-language=Scala
diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml
deleted file mode 100644
index 15ba0c83..00000000
--- a/.github/workflows/docs.yml
+++ /dev/null
@@ -1,55 +0,0 @@
-name: docs
-
-on:
- push:
- branches: [ "latest" ]
-
-jobs:
- docs-build:
- runs-on: ubuntu-latest
- strategy:
- matrix:
- node-version: [16]
- java: [21]
- steps:
- - uses: actions/checkout@v4
- - uses: pnpm/action-setup@v3
- with:
- version: 8
- - name: Use Node.js ${{ matrix.node-version }}
- uses: actions/setup-node@v3
- with:
- node-version: ${{ matrix.node-version }}
- cache: pnpm
- cache-dependency-path: docs/pnpm-lock.yaml
- - name: Install dependencies
- run: cd docs && pnpm install
-
- - name: Set up JDK ${{ matrix.java }}
- uses: actions/setup-java@v4
- with:
- java-version: ${{ matrix.java }}
- distribution: 'temurin'
- - name: Setup Gradle
- uses: gradle/actions/setup-gradle@v4
- - name: Build docs
- run: ./gradlew buildDocs
-
- - name: Clear docs
- uses: appleboy/ssh-action@v1.0.3
- with:
- host: ${{ secrets.SSH_HOST }}
- username: ${{ secrets.SSH_USERNAME }}
- port: ${{ secrets.SSH_PORT }}
- key: ${{ secrets.SSH_KEY }}
- script: ${{ secrets.DOCS_CLEAR_SCRIPT }}
- - name: Upload docs
- uses: appleboy/scp-action@v0.1.7
- with:
- host: ${{ secrets.SSH_HOST }}
- username: ${{ secrets.SSH_USERNAME }}
- port: ${{ secrets.SSH_PORT }}
- key: ${{ secrets.SSH_KEY }}
- source: './docs/docs/.vuepress/dist/*'
- target: ${{ secrets.DOCS_UPLOAD_PATH }}
- strip_components: 4
diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml
deleted file mode 100644
index 5d69a63c..00000000
--- a/.github/workflows/gradle.yml
+++ /dev/null
@@ -1,26 +0,0 @@
-name: build
-
-on:
- push:
- branches: [ "latest" ]
- pull_request:
- branches: [ "latest" ]
-
-jobs:
- build:
- runs-on: ubuntu-latest
- strategy:
- matrix:
- java: [ '17', '21' ]
- name: Test
- steps:
- - uses: actions/checkout@v4
- - name: Set up JDK ${{ matrix.java }}
- uses: actions/setup-java@v4
- with:
- java-version: ${{ matrix.java }}
- distribution: 'temurin'
- - name: Setup Gradle
- uses: gradle/actions/setup-gradle@v4
- - name: Run tests
- run: ./gradlew test
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index ee9683a7..00000000
--- a/.gitignore
+++ /dev/null
@@ -1,9 +0,0 @@
-/.gradle/
-/.idea/
-/.nb-gradle/
-**/build/
-/out/
-/store/
-/optimizations/
-OwnLang.iml
-*.sh
\ No newline at end of file
diff --git a/Dockerfile b/Dockerfile
deleted file mode 100644
index 7662d625..00000000
--- a/Dockerfile
+++ /dev/null
@@ -1,25 +0,0 @@
-FROM gradle:8.13.0-jdk21-alpine AS cache
-RUN mkdir -p /home/gradle/cache_home
-ENV GRADLE_USER_HOME=/home/gradle/cache_home
-COPY build.gradle /home/gradle/java-code/
-WORKDIR /home/gradle/java-code
-RUN GRADLE_OPTS="-Xmx256m" gradle build --build-cache --stacktrace -i --no-daemon
-
-FROM gradle:8.13.0-jdk21-alpine AS builder
-COPY --from=cache /home/gradle/cache_home /home/gradle/.gradle
-COPY . /usr/src/java-code
-WORKDIR /usr/src/java-code
-RUN GRADLE_OPTS="-Xmx256m" gradle shadowJar --build-cache --stacktrace --no-daemon
-
-FROM eclipse-temurin:21-jre-alpine
-WORKDIR /opt/ownlang
-ENV PATH /opt/ownlang:$PATH
-COPY --from=builder /usr/src/java-code/ownlang-desktop/build/libs/*.jar libs/OwnLang.jar
-COPY --from=builder /usr/src/java-code/modules/jdbc/build/libs/*.jar modules/
-COPY --from=builder /usr/src/java-code/modules/server/build/libs/*.jar modules/
-COPY --from=builder /usr/src/java-code/modules/socket/build/libs/*.jar modules/
-COPY dist/own .
-COPY dist/ownlang .
-RUN chmod +x own ownlang
-ENTRYPOINT ["ownlang"]
-
diff --git a/LICENSE b/LICENSE
deleted file mode 100644
index b9f4d675..00000000
--- a/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License
-
-Copyright (c) 2015-2016 Victor Melnik
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/README.md b/README.md
index dfd9473a..0f050d01 100644
--- a/README.md
+++ b/README.md
@@ -1,157 +1,3 @@
-# OwnLang
+# OwnLang Registry
-OwnLang - dynamic functional programming language inspired by Scala and Python. Available for PC, Android and Java ME devices.
-## Installing
-
-| Free | Pro | Desktop |
-| :--: | :-: |:------------------------------------------------------------------------------------------:|
-| [](https://play.google.com/store/apps/details?id=com.annimon.ownlang.free) | [](https://play.google.com/store/apps/details?id=com.annimon.ownlang) | [v2.1.0](https://github.com/aNNiMON/Own-Programming-Language-Tutorial/releases/tag/v2.1.0) |
-
-Also available as AUR package:
-
-```
-yay -S ownlang
-```
-
-## Key features
-
-#### Higher-order functions
-
-Functions are values, so we can store them to variables for operating.
-
-```scala
-operations = {
- "+" : def(a,b) = a+b,
- "-" : def(a,b) = a-b,
- "*" : def(a,b) = a*b,
- "/" : ::division
-}
-
-def division(v1, v2) {
- if (v2 == 0) return "error: division by zero"
- return v1 / v2
-}
-
-for name, operation : operations {
- println "2 " + name + " 3 = " + operation(2, 3)
-}
-```
-
-#### Pattern Matching
-
-Pattern matching with value pattern, tuple pattern, list pattern and optional condition.
-
-```scala
-def factorial(n) = match n {
- case 0: 1
- case n if n < 0: 0
- case _: n * factorial(n - 1)
-}
-
-def fizzbuzz(limit = 100) {
- for i = 1, i <= limit, i++ {
- println match [i % 3 == 0, i % 5 == 0] {
- case (true, false): "Fizz"
- case (false, true): "Buzz"
- case (true, true): "FizzBuzz"
- case _: i
- }
- }
-}
-
-// run
-fizzbuzz()
-```
-
-#### Functional data operations
-
-Operate data in functional style.
-
-```scala
-use std, functional
-
-nums = [1,2,3,4,5,6,7,8,9,10]
-nums = filter(nums, def(x) = x % 2 == 0)
-// Squares of even numbers
-squares = map(nums, def(x) = x * x)
-foreach(squares, ::echo)
-// Sum of squares
-sum = reduce(squares, 0, def(x, y) = x + y)
-println "Sum: " + sum
-// Same using stream
-println "Sum: " + stream(range(1, 11))
- .filter(def(x) = x % 2 == 0)
- .map(def(x) = x * x)
- .reduce(0, def(x, y) = x + y)
-```
-
-#### Operator overloading
-
-Why not?
-
-```scala
-use std, types, math
-
-def `..`(a, b) = range(a, b)
-def `**`(a, b) = int(pow(a, b))
-for y : 1 .. 10 {
- println sprintf("2 ^ %d = %d", y, 2 ** y)
-}
-```
-
-#### Network module
-
-Easy async HTTP requests with `http` module.
-
-```scala
-use std, http, functional, json
-
-// GET request
-http("https://api.github.com/events", def(r) {
- events = jsondecode(r)
- println events[0]
-})
-
-// POST request
-http("http://jsonplaceholder.typicode.com/users", "POST", {
- "name": "OwnLang",
- "versionCode": 10
-}, ::echo)
-
-// PATCH request
-http("http://jsonplaceholder.typicode.com/users/2", "PATCH", {"name": "Patched Name"}, ::patch_callback)
-
-def patch_callback(v) {
- println v
-}
-```
-
-## Language specification
-
-[English](https://annimon.com/docs/ownlang/en/) and [Russian](https://annimon.com/docs/ownlang/ru/)
-
-[Examples](examples/)
-
-
-## Build
-
-Build using Gradle `./gradlew shadowJar`
-
-or take a look to [latest release](https://github.com/aNNiMON/Own-Programming-Language-Tutorial/releases/latest) for binaries.
-
-
-## Run
-
-To run script use command
-
-`java -jar OwnLang.jar -f input.own`
-
-or
-
-`java -jar OwnLang.jar < input.own`
-
-
-## License
-
-MIT - see [MIT license information](LICENSE)
diff --git a/build.gradle b/build.gradle
deleted file mode 100644
index b4573e47..00000000
--- a/build.gradle
+++ /dev/null
@@ -1,34 +0,0 @@
-ext {
- versions = [
- project: '2.1.0',
-
- json: '20240303', // org.json:json
- snakeyaml: '1.33', // org.yaml:snakeyaml
- okhttp: '4.12.0', // com.squareup.okhttp3:okhttp
- socket: '2.1.1', // io.socket:socket.io-client
- jline: '2.14.6', // jline:jline
-
- javalin: '6.3.0', // io.javalin:javalin
- slf4j: '2.0.16', // org.slf4j:slf4j-simple
- jackson: '2.18.0', // com.fasterxml.jackson.core:jackson-databind
-
- junit: '5.11.2', // org.junit:junit-bom
- jmh: '1.37', // org.openjdk.jmh:jmh-core
- assertj: '3.26.3' // org.assertj:assertj-core
- ]
-}
-
-allprojects {
- repositories {
- mavenCentral()
- }
-
- gradle.projectsEvaluated {
- tasks.withType(JavaCompile).tap {
- configureEach {
- [compileJava, compileTestJava]*.options*.encoding = 'UTF-8'
- options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
- }
- }
- }
-}
diff --git a/dist/icon.png b/dist/icon.png
deleted file mode 100644
index 608745a0..00000000
Binary files a/dist/icon.png and /dev/null differ
diff --git a/dist/own b/dist/own
deleted file mode 100755
index 00f7a6f8..00000000
--- a/dist/own
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/usr/bin/env sh
-ownlang run own "$@"
\ No newline at end of file
diff --git a/dist/own.cmd b/dist/own.cmd
deleted file mode 100644
index 76496d75..00000000
--- a/dist/own.cmd
+++ /dev/null
@@ -1,2 +0,0 @@
-@echo off
-ownlang run own %*
\ No newline at end of file
diff --git a/dist/ownlang b/dist/ownlang
deleted file mode 100755
index a717400c..00000000
--- a/dist/ownlang
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/usr/bin/env sh
-(set -o igncr) 2>/dev/null && set -o igncr; # cygwin encoding fix
-
-# resolve links - $0 may be a softlink
-PRG="$0"
-while [ -h "$PRG" ] ; do
- ls=`ls -ld "$PRG"`
- link=`expr "$ls" : '.*-> \(.*\)$'`
- if expr "$link" : '/.*' > /dev/null; then
- PRG="$link"
- else
- PRG=`dirname "$PRG"`/"$link"
- fi
-done
-PRGDIR=`dirname "$PRG"`
-
-_classpath=".:$PRGDIR/OwnLang.jar"
-if [ `uname -a | grep -i -c cygwin` -ne 0 ]; then # Cygwin, translate the path
- for k in "$PRGDIR"/modules/*.jar
- do
- _classpath="${_classpath};`cygpath -w ${k}`"
- done
- for k in "$PRGDIR"/libs/*.jar
- do
- _classpath="${_classpath};`cygpath -w ${k}`"
- done
-else
- for k in "$PRGDIR"/modules/*.jar
- do
- _classpath="${_classpath}:${k}"
- done
- for k in "$PRGDIR"/libs/*.jar
- do
- _classpath="${_classpath}:${k}"
- done
-fi
-
-java -cp "${_classpath}" com.annimon.ownlang.Main "$@"
\ No newline at end of file
diff --git a/dist/ownlang-runner.cmd b/dist/ownlang-runner.cmd
deleted file mode 100644
index a7099924..00000000
--- a/dist/ownlang-runner.cmd
+++ /dev/null
@@ -1,4 +0,0 @@
-@echo off
-set JAVA=java
-%JAVA% -cp "%~dp0/*;%~dp0modules/*;%~dp0libs/*" com.annimon.ownlang.Main --file %1
-pause
\ No newline at end of file
diff --git a/dist/ownlang.cmd b/dist/ownlang.cmd
deleted file mode 100644
index 8595d86d..00000000
--- a/dist/ownlang.cmd
+++ /dev/null
@@ -1,5 +0,0 @@
-@echo off
-
-set JAVA=java
-%JAVA% ^
- -cp "%~dp0/*;%~dp0modules/*;%~dp0libs/*" com.annimon.ownlang.Main %*
diff --git a/docs/.gitignore b/docs/.gitignore
deleted file mode 100644
index c561d8e5..00000000
--- a/docs/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-node_modules
-.temp
-.cache
-docs/.vuepress/configs/modules.js
-docs/.vuepress/dist/
-docs/*/modules/
diff --git a/docs/build.gradle b/docs/build.gradle
deleted file mode 100644
index 72811d40..00000000
--- a/docs/build.gradle
+++ /dev/null
@@ -1,54 +0,0 @@
-plugins {
- id 'java'
-}
-
-group = 'com.annimon'
-version = versions.project
-
-dependencies {
- implementation project(":ownlang-core")
- implementation project(":ownlang-parser")
- implementation project(":ownlang-utils")
- implementation project(":modules:main")
- implementation project(":modules:canvasfx")
- implementation project(":modules:server")
-
- implementation "org.yaml:snakeyaml:${versions.snakeyaml}"
-}
-
-tasks.register('generateMarkdownModules') {
- group = "documentation"
- def ownlangExec = tasks.getByPath(':ownlang-desktop:ownlangExec')
- doFirst {
- ownlangExec.configure {
- workingDir '../docs/src'
- args '-f', 'docgen-md.own'
- }
- }
- finalizedBy ownlangExec
-}
-
-tasks.register('runDocsDev', Exec) {
- group = "documentation"
- description = "Start docs dev server"
- dependsOn generateMarkdownModules
- workingDir '../docs/docs'
- commandLine 'pnpm', 'docs:dev'
-}
-
-tasks.register('buildDocs', Exec) {
- group = "documentation"
- description = "Build docs to static site"
- dependsOn generateMarkdownModules
- workingDir '../docs/docs'
- commandLine 'pnpm', 'docs:build'
-}
-
-tasks.register('generateModuleInfo', JavaExec) {
- group = "documentation"
- description = "Run sample program"
- dependsOn classes
- mainClass = 'com.annimon.ownlang.docs.ModulesInfoCreator'
- classpath = sourceSets.main.runtimeClasspath
- args 'server', 'okhttp'
-}
\ No newline at end of file
diff --git a/docs/docs/.vuepress/components/Scope.vue b/docs/docs/.vuepress/components/Scope.vue
deleted file mode 100644
index 0d5cd18e..00000000
--- a/docs/docs/.vuepress/components/Scope.vue
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
- {{ scope }}
-
-
-
-
-
-
\ No newline at end of file
diff --git a/docs/docs/.vuepress/components/Since.vue b/docs/docs/.vuepress/components/Since.vue
deleted file mode 100644
index 62232ab3..00000000
--- a/docs/docs/.vuepress/components/Since.vue
+++ /dev/null
@@ -1,32 +0,0 @@
-
- {{ text }} {{ version }}
-
-
-
-
-
\ No newline at end of file
diff --git a/docs/docs/.vuepress/config.js b/docs/docs/.vuepress/config.js
deleted file mode 100644
index 78845b53..00000000
--- a/docs/docs/.vuepress/config.js
+++ /dev/null
@@ -1,63 +0,0 @@
-import { defineUserConfig, defaultTheme } from 'vuepress'
-import { getDirname, path } from '@vuepress/utils'
-import { registerComponentsPlugin } from '@vuepress/plugin-register-components'
-import { prismjsPlugin } from '@vuepress/plugin-prismjs'
-import { searchPlugin } from '@vuepress/plugin-search'
-import { sidebarConfig } from './configs/sidebar'
-import { navbarConfig } from './configs/navbar'
-import Prism from 'prismjs';
-import definePrismOwnLang from '../../../editors/prismjs/own-language.js'
-
-definePrismOwnLang(Prism)
-const __dirname = getDirname(import.meta.url)
-
-export default defineUserConfig({
- base: "/docs/ownlang/",
- locales: {
- '/en/': {
- lang: 'en-US',
- title: 'OwnLang',
- description: 'OwnLang documentation',
- },
- '/ru/': {
- lang: 'ru-RU',
- title: 'OwnLang',
- description: 'Документация OwnLang',
- }
- },
-
- theme: defaultTheme({
- repo: 'aNNiMON/Own-Programming-Language-Tutorial',
- docsBranch: 'next',
- editLinkPattern: ':repo/blob/:branch/docs/docs/:path',
- editLinkText: 'View source',
- contributors: false,
- locales: {
- '/en/': {
- selectLanguageName: 'English',
- sidebar: sidebarConfig.en,
- navbar: navbarConfig.en
- },
- '/ru/': {
- selectLanguageName: 'Русский',
- sidebar: sidebarConfig.ru,
- navbar: navbarConfig.ru
- }
- }
- }),
-
- plugins: [
- prismjsPlugin({
- preloadLanguages: ['own', 'json']
- }),
- registerComponentsPlugin({
- componentsDir: path.resolve(__dirname, './components'),
- }),
- searchPlugin({
- locales: {
- '/en/': { placeholder: 'Search' },
- '/ru/': { placeholder: 'Поиск' },
- },
- }),
- ],
-})
diff --git a/docs/docs/.vuepress/configs/navbar.js b/docs/docs/.vuepress/configs/navbar.js
deleted file mode 100644
index 2c7a2a69..00000000
--- a/docs/docs/.vuepress/configs/navbar.js
+++ /dev/null
@@ -1,16 +0,0 @@
-import pages from './pages'
-
-let navbar = {}
-for (let lang of ['en', 'ru']) {
- let config = []
- for (let [relativePath, entry] of Object.entries(pages)) {
- const path = '/' + lang + relativePath
- config.push({
- text: entry.text[lang],
- children: entry.pages.map(r => path + r)
- })
- }
- navbar[lang] = config
-}
-
-export const navbarConfig = navbar
\ No newline at end of file
diff --git a/docs/docs/.vuepress/configs/pages.js b/docs/docs/.vuepress/configs/pages.js
deleted file mode 100644
index d60daba0..00000000
--- a/docs/docs/.vuepress/configs/pages.js
+++ /dev/null
@@ -1,31 +0,0 @@
-import modules from './modules'
-export default {
- '/': {
- text: {'en': 'OwnLang', 'ru': 'OwnLang'},
- pages: [
- 'README.md',
- 'links.md',
- 'changelog.md',
- ]
- },
-
- '/basics/': {
- text: {'en': 'Basics', 'ru': 'Основы'},
- pages: [
- 'comments.md',
- 'strings.md',
- 'types.md',
- 'loops.md',
- 'functions.md',
- 'destructuring_assignment.md',
- 'pattern_matching.md',
- 'string_functions.md',
- 'array_functions.md'
- ]
- },
-
- '/modules/': {
- text: {'en': 'Modules', 'ru': 'Модули'},
- pages: modules
- }
-}
\ No newline at end of file
diff --git a/docs/docs/.vuepress/configs/sidebar.js b/docs/docs/.vuepress/configs/sidebar.js
deleted file mode 100644
index 057ca20d..00000000
--- a/docs/docs/.vuepress/configs/sidebar.js
+++ /dev/null
@@ -1,17 +0,0 @@
-import pages from './pages'
-
-let sidebar = {}
-for (let lang of ['en', 'ru']) {
- let config = {}
- for (let [relativePath, entry] of Object.entries(pages)) {
- const path = '/' + lang + relativePath
- config[path] = (path in config) ? config[path] : []
- config[path].push({
- text: entry.text[lang],
- children: entry.pages.map(r => path + r)
- })
- }
- sidebar[lang] = config
-}
-
-export const sidebarConfig = sidebar
\ No newline at end of file
diff --git a/docs/docs/.vuepress/styles/palette.scss b/docs/docs/.vuepress/styles/palette.scss
deleted file mode 100644
index c4f3dd38..00000000
--- a/docs/docs/.vuepress/styles/palette.scss
+++ /dev/null
@@ -1,15 +0,0 @@
-:root {
- --c-brand: #f15d15;
- --c-brand-light: #ff9562;
- --c-badge-danger: #f63f3f;
- --c-badge-warning: #d0af01;
-
- --usc-since: var(--c-badge-warning);
- --usc-scope: var(--c-brand);
-}
-html.dark {
- --c-brand: #e1792d;
- --c-brand-light: #ff8e3d;
- --c-badge-danger: #d94657;
- --c-badge-danger-text: #160304;
-}
\ No newline at end of file
diff --git a/docs/docs/README.md b/docs/docs/README.md
deleted file mode 100644
index 4b8be740..00000000
--- a/docs/docs/README.md
+++ /dev/null
@@ -1,15 +0,0 @@
----
-home: true
-title: OwnLang
-heroText: OwnLang
-tagline: Dynamic functional programming language
-actions:
- - text: English
- link: /en/
- type: primary
- - text: Русский
- link: /ru/
- type: primary
-footer: © 2024 aNNiMON
----
-
\ No newline at end of file
diff --git a/docs/docs/code/basics/destructuring_assignment1.own b/docs/docs/code/basics/destructuring_assignment1.own
deleted file mode 100644
index 893d4c8a..00000000
--- a/docs/docs/code/basics/destructuring_assignment1.own
+++ /dev/null
@@ -1,5 +0,0 @@
-arr = ["a", "b", "c"]
-extract(var1, var2, var3) = arr
-print var1 // a
-print var2 // b
-print var3 // c
\ No newline at end of file
diff --git a/docs/docs/code/basics/destructuring_assignment2.own b/docs/docs/code/basics/destructuring_assignment2.own
deleted file mode 100644
index bb1b128a..00000000
--- a/docs/docs/code/basics/destructuring_assignment2.own
+++ /dev/null
@@ -1,4 +0,0 @@
-arr = ["a", "b", "c"]
-var1 = arr[0]
-var2 = arr[1]
-var3 = arr[2]
\ No newline at end of file
diff --git a/docs/docs/code/basics/destructuring_assignment3.own b/docs/docs/code/basics/destructuring_assignment3.own
deleted file mode 100644
index 1c8a6a14..00000000
--- a/docs/docs/code/basics/destructuring_assignment3.own
+++ /dev/null
@@ -1,4 +0,0 @@
-map = {"key1": 1, "test": "text"}
-extract(var1, var2) = map
-println var1 // [key1, 1]
-println var2 // [test, text]
\ No newline at end of file
diff --git a/docs/docs/code/basics/destructuring_assignment4.own b/docs/docs/code/basics/destructuring_assignment4.own
deleted file mode 100644
index 3538b909..00000000
--- a/docs/docs/code/basics/destructuring_assignment4.own
+++ /dev/null
@@ -1,3 +0,0 @@
-extract(x, , z) = [93, 58, 90]
-println x // 93
-println z // 90
\ No newline at end of file
diff --git a/docs/docs/code/basics/fibonacci.own b/docs/docs/code/basics/fibonacci.own
deleted file mode 100644
index eae9e8bf..00000000
--- a/docs/docs/code/basics/fibonacci.own
+++ /dev/null
@@ -1,9 +0,0 @@
-def fibonacci(count) {
- def fib(n) {
- if n < 2 return n
- return fib(n-2) + fib(n-1)
- }
- return fib(count)
-}
-
-println fibonacci(10) // 55
\ No newline at end of file
diff --git a/docs/docs/code/basics/loops1.own b/docs/docs/code/basics/loops1.own
deleted file mode 100644
index 4a2ae95b..00000000
--- a/docs/docs/code/basics/loops1.own
+++ /dev/null
@@ -1,9 +0,0 @@
-arr = [1, 2, 3, 4]
-for v : arr {
- println v
-}
-
-map = {"key1": 1, "key2": 2}
-for key, value : map
- println key + " = " value
-}
\ No newline at end of file
diff --git a/docs/docs/code/basics/pattern_matching1.own b/docs/docs/code/basics/pattern_matching1.own
deleted file mode 100644
index a67666f8..00000000
--- a/docs/docs/code/basics/pattern_matching1.own
+++ /dev/null
@@ -1,7 +0,0 @@
-x = 2
-print match x {
- case 1: "One"
- case 2: "Two"
- case "str": "String"
- case _: "Unknown"
-}
\ No newline at end of file
diff --git a/docs/docs/code/basics/pattern_matching2.own b/docs/docs/code/basics/pattern_matching2.own
deleted file mode 100644
index 80e6dccb..00000000
--- a/docs/docs/code/basics/pattern_matching2.own
+++ /dev/null
@@ -1,9 +0,0 @@
-x = "str"
-match x {
- case "": {
- println "Empty string"
- }
- case "str": {
- println "String!"
- }
-}
\ No newline at end of file
diff --git a/docs/docs/code/basics/pattern_matching3.own b/docs/docs/code/basics/pattern_matching3.own
deleted file mode 100644
index ddacb268..00000000
--- a/docs/docs/code/basics/pattern_matching3.own
+++ /dev/null
@@ -1,10 +0,0 @@
-def test(x) = match x {
- case a: "case a: " + a
- case b: "case b: " + b
- case c: "case c: " + c
-}
-a = 10
-b = 20
-println test(15) // case c: 15
-println test(20) // case b: 20
-println test("test") // case c: test
\ No newline at end of file
diff --git a/docs/docs/code/basics/pattern_matching4.own b/docs/docs/code/basics/pattern_matching4.own
deleted file mode 100644
index 3ddbd67e..00000000
--- a/docs/docs/code/basics/pattern_matching4.own
+++ /dev/null
@@ -1,9 +0,0 @@
-def test(x) = match x {
- case x if x < 0: "(-∞ .. 0)"
- case x if x > 0: "(0 .. +∞)"
- case x: "0"
-}
-
-println test(-10) // (-∞ .. 0)
-println test(0) // 0
-println test(10) // (0 .. +∞)
\ No newline at end of file
diff --git a/docs/docs/code/basics/pattern_matching5.own b/docs/docs/code/basics/pattern_matching5.own
deleted file mode 100644
index 97d5e40d..00000000
--- a/docs/docs/code/basics/pattern_matching5.own
+++ /dev/null
@@ -1,7 +0,0 @@
-def arrayRecursive(arr) = match arr {
- case [head :: tail]: "[" + head + ", " + arrayRecursive(tail) + "]"
- case []: "[]"
- case last: "[" + last + ", []]"
-}
-
-println arrayRecursive([1, 2, 3, 4, 5, 6, 7]) // [1, [2, [3, [4, [5, [6, [7, []]]]]]]]
\ No newline at end of file
diff --git a/docs/docs/code/basics/pattern_matching6.own b/docs/docs/code/basics/pattern_matching6.own
deleted file mode 100644
index 0ff5e70a..00000000
--- a/docs/docs/code/basics/pattern_matching6.own
+++ /dev/null
@@ -1,8 +0,0 @@
-for i = 1, i <= 100, i++ {
- println match [i % 3 == 0, i % 5 == 0] {
- case (true, false): "Fizz"
- case (false, true): "Buzz"
- case (true, true): "FizzBuzz"
- case _: i
- }
-}
\ No newline at end of file
diff --git a/docs/docs/code/basics/string_functions1.own b/docs/docs/code/basics/string_functions1.own
deleted file mode 100644
index 954d1714..00000000
--- a/docs/docs/code/basics/string_functions1.own
+++ /dev/null
@@ -1,7 +0,0 @@
-str = " ababcaab "
-println indexOf(str, "abc")
-println str.indexOf("abc")
-
-def isBlank(s) = s.trim().isEmpty()
-println isBlank(str)
-println str.isBlank()
\ No newline at end of file
diff --git a/docs/docs/code/functional_en.own b/docs/docs/code/functional_en.own
deleted file mode 100644
index 9de63c2e..00000000
--- a/docs/docs/code/functional_en.own
+++ /dev/null
@@ -1,15 +0,0 @@
-use std, functional
-
-nums = [1,2,3,4,5,6,7,8,9,10]
-nums = filter(nums, def(x) = x % 2 == 0)
-// Squares of even numbers
-squares = map(nums, def(x) = x * x)
-foreach(squares, ::echo)
-// Sum of squares
-sum = reduce(squares, 0, def(x, y) = x + y)
-println "Sum: " + sum
-// Same using stream
-println "Sum: " + stream(range(1, 11))
- .filter(def(x) = x % 2 == 0)
- .map(def(x) = x * x)
- .reduce(0, def(x, y) = x + y)
diff --git a/docs/docs/code/functional_ru.own b/docs/docs/code/functional_ru.own
deleted file mode 100644
index ef710b16..00000000
--- a/docs/docs/code/functional_ru.own
+++ /dev/null
@@ -1,15 +0,0 @@
-use std, functional
-
-nums = [1,2,3,4,5,6,7,8,9,10]
-nums = filter(nums, def(x) = x % 2 == 0)
-// Квадраты чётных чисел
-squares = map(nums, def(x) = x * x)
-foreach(squares, ::echo)
-// Сумма квадратов
-sum = reduce(squares, 0, def(x, y) = x + y)
-println "Сумма: " + sum
-// То же самое с использованием stream
-println "Сумма: " + stream(range(1, 11))
- .filter(def(x) = x % 2 == 0)
- .map(def(x) = x * x)
- .reduce(0, def(x, y) = x + y)
diff --git a/docs/docs/code/high_order_functions_en.own b/docs/docs/code/high_order_functions_en.own
deleted file mode 100644
index a6c24356..00000000
--- a/docs/docs/code/high_order_functions_en.own
+++ /dev/null
@@ -1,14 +0,0 @@
-operations = {
- "+" : def(a,b) = a+b,
- "-" : def(a,b) = a-b,
- "*" : def(a,b) = a*b,
- "/" : ::division
-}
-def division(v1, v2) {
- if (v2 == 0) return "error: division by zero"
- return v1 / v2
-}
-
-for operation : operations {
- println operation(2, 3)
-}
\ No newline at end of file
diff --git a/docs/docs/code/high_order_functions_ru.own b/docs/docs/code/high_order_functions_ru.own
deleted file mode 100644
index f3abd153..00000000
--- a/docs/docs/code/high_order_functions_ru.own
+++ /dev/null
@@ -1,14 +0,0 @@
-operations = {
- "+" : def(a,b) = a+b,
- "-" : def(a,b) = a-b,
- "*" : def(a,b) = a*b,
- "/" : ::division
-}
-def division(v1, v2) {
- if (v2 == 0) return "ошибка: деление на ноль"
- return v1 / v2
-}
-
-for operation : operations {
- println operation(2, 3)
-}
\ No newline at end of file
diff --git a/docs/docs/code/http_en.own b/docs/docs/code/http_en.own
deleted file mode 100644
index 38e283b1..00000000
--- a/docs/docs/code/http_en.own
+++ /dev/null
@@ -1,20 +0,0 @@
-use std, http, functional
-
-// GET request
-http("https://api.github.com/events", def(r) {
- use json
- events = jsondecode(r)
-})
-
-// POST request
-http("http://jsonplaceholder.typicode.com/users", "POST", {
- "name": "OwnLang",
- "versionCode": 10
-}, ::echo)
-
-// PATCH request
-http("http://jsonplaceholder.typicode.com/users/2", "PATCH", {"name": "Patched Name"}, ::patch_callback)
-
-def patch_callback(v) {
- println v
-}
diff --git a/docs/docs/code/http_ru.own b/docs/docs/code/http_ru.own
deleted file mode 100644
index abc3f799..00000000
--- a/docs/docs/code/http_ru.own
+++ /dev/null
@@ -1,20 +0,0 @@
-use std, http, functional
-
-// GET-запрос
-http("https://api.github.com/events", def(r) {
- use json
- events = jsondecode(r)
-})
-
-// POST-запрос
-http("http://jsonplaceholder.typicode.com/users", "POST", {
- "name": "OwnLang",
- "versionCode": 10
-}, ::echo)
-
-// PATCH-запрос
-http("http://jsonplaceholder.typicode.com/users/2", "PATCH", {"name": "Патч"}, ::patch_callback)
-
-def patch_callback(v) {
- println v
-}
diff --git a/docs/docs/code/operator_overloading.own b/docs/docs/code/operator_overloading.own
deleted file mode 100644
index d823b227..00000000
--- a/docs/docs/code/operator_overloading.own
+++ /dev/null
@@ -1,7 +0,0 @@
-use std, types, math
-
-def `..`(a, b) = range(a, b - 1)
-def `**`(a, b) = int(pow(a, b))
-for y : 1 .. 10 {
- println sprintf("2 ^ %d = %d", y, 2 ** y)
-}
\ No newline at end of file
diff --git a/docs/docs/code/pattern_matching.own b/docs/docs/code/pattern_matching.own
deleted file mode 100644
index 6beb3e85..00000000
--- a/docs/docs/code/pattern_matching.own
+++ /dev/null
@@ -1,16 +0,0 @@
-def factorial(n) = match n {
- case 0: 1
- case n if n < 0: 0
- case _: n * factorial(n - 1)
-}
-
-def fizzbuzz(limit = 100) {
- for i = 1, i <= limit, i++ {
- println match [i % 3 == 0, i % 5 == 0] {
- case (true, false): "Fizz"
- case (false, true): "Buzz"
- case (true, true): "FizzBuzz"
- case _: i
- }
- }
-}
\ No newline at end of file
diff --git a/docs/docs/en/README.md b/docs/docs/en/README.md
deleted file mode 100644
index 7b4b5931..00000000
--- a/docs/docs/en/README.md
+++ /dev/null
@@ -1,35 +0,0 @@
-# Overview
-
-OwnLang — dynamic functional programming language inspired by Scala and Python. Available for PC and Android devices.
-
-## Key features
-
-### Higher-order functions
-
-Functions are values, so we can store them to variables for operating.
-
-@[code](../code/high_order_functions_en.own)
-
-### Pattern Matching
-
-Pattern matching with value pattern, tuple pattern, list pattern and optional condition.
-
-@[code](../code/pattern_matching.own)
-
-### Functional data operations
-
-Operate data in functional style.
-
-@[code](../code/functional_en.own)
-
-### Operator overloading
-
-Why not?
-
-@[code](../code/operator_overloading.own)
-
-### Network module
-
-Easy async HTTP requests with `http` module.
-
-@[code](../code/http_en.own)
\ No newline at end of file
diff --git a/docs/docs/en/basics/README.md b/docs/docs/en/basics/README.md
deleted file mode 100644
index b68cc02f..00000000
--- a/docs/docs/en/basics/README.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# Basics
-
-* [Comments](comments.md)
-* [Strings](strings.md)
-* [Types](types.md)
-* [Loops](loops.md)
-* [Functions definition](functions.md)
-* [Destructuring assignment](destructuring_assignment.md)
-* [Pattern matching](pattern_matching.md)
-* [String functions](string_functions.md)
-* [Array functions](array_functions.md)
diff --git a/docs/docs/en/basics/array_functions.md b/docs/docs/en/basics/array_functions.md
deleted file mode 100644
index 16e827dc..00000000
--- a/docs/docs/en/basics/array_functions.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Array functions
-
-Fields:
- - `length` - number of elements of the array
-
-Functions:
- - `isEmpty()` - returns true, if the array is empty
- - `joinToString(delimiter = "", prefix = "", suffix = "")` - joins array into a string
diff --git a/docs/docs/en/basics/comments.md b/docs/docs/en/basics/comments.md
deleted file mode 100644
index 01eaa68b..00000000
--- a/docs/docs/en/basics/comments.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# Comments
-
-```own
-// Line comment
-/* multiline
- comment
-*/
-print /*inner comment*/ "Text"
-```
\ No newline at end of file
diff --git a/docs/docs/en/basics/destructuring_assignment.md b/docs/docs/en/basics/destructuring_assignment.md
deleted file mode 100644
index fca2558b..00000000
--- a/docs/docs/en/basics/destructuring_assignment.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# Destructuring assignment
-
-Destructuring assignment allows to define multiple variables for each element of an array or map.
-
-For arrays, value is assigned to variable:
-
-@[code](../../code/basics/destructuring_assignment1.own)
-
-Which is equivalent to:
-
-@[code](../../code/basics/destructuring_assignment2.own)
-
-For maps, key and value are assigned to variable:
-
-@[code](../../code/basics/destructuring_assignment3.own)
-
-To skip value just leave argument empty:
-
-@[code](../../code/basics/destructuring_assignment4.own)
diff --git a/docs/docs/en/basics/functions.md b/docs/docs/en/basics/functions.md
deleted file mode 100644
index b12be6e2..00000000
--- a/docs/docs/en/basics/functions.md
+++ /dev/null
@@ -1,54 +0,0 @@
-# Functions definition
-
-To define function uses the `def` keyword:
-
-```own
-def function(arg1, arg2) {
- println arg1
-}
-```
-
-## Shorthand definition
-
-There is short syntax fot function body:
-
-```own
-def repeat(str, count) = str * count
-```
-
-Which is equivalent to:
-
-```own
-def repeat(str, count) {
- return str * count
-}
-```
-
-## Default arguments
-
-Function arguments can have default values.
-
-```own
-def repeat(str, count = 5) = str * count
-```
-
-In this case only `str` argument is required.
-
-```own
-repeat("*") // *****
-repeat("+", 3) // +++
-```
-
-Default arguments can't be declared before required arguments.
-
-```own
-def repeat(str = "*", count) = str * count
-```
-
-Causes parsing error: `ParseError on line 1: Required argument cannot be after optional`
-
-## Inner functions
-
-You can define function in other function.
-
-@[code](../../code/basics/fibonacci.own)
diff --git a/docs/docs/en/basics/loops.md b/docs/docs/en/basics/loops.md
deleted file mode 100644
index ace5bff0..00000000
--- a/docs/docs/en/basics/loops.md
+++ /dev/null
@@ -1,113 +0,0 @@
-# Loops
-
-## while loop
-
-```own
-while condition {
- body
-}
-```
-
-Parentheses in condition are not necessary.
-
-```own
-i = 0
-while i < 5 {
- print i++
-}
-
-// or
-
-i = 0
-while (i < 5) {
- print i++
-}
-```
-
-## do-while loop
-
-```own
-do {
- body
-} while condition
-```
-
-Parentheses in condition are not necessary.
-
-```own
-i = 0
-do {
- print i++
-} while i < 5
-
-// or
-
-i = 0
-do {
- print i++
-} while (i < 5)
-```
-
-## for loop
-
-```own
-for initializing, condition, increment {
- body
-}
-
-for (initializing, condition, increment) {
- body
-}
-```
-
-```own
-for i = 0, i < 5, i++
- print i++
-
-// or
-
-for (i = 0, i < 5, i++) {
- print i++
-}
-```
-
-## foreach loop
-
-Iterates elements of an string, array or map.
-
-Iterating over string:
-
-```own
-for char : string {
- body
-}
-for char, code : string {
- body
-}
-```
-
-Iterating over array:
-
-```own
-for value : array {
- body
-}
-for value, index : array {
- body
-}
-```
-
-Iterating over map:
-
-```own
-for key, value : map {
- body
-}
-for (key, value : map) {
- body
-}
-```
-
-Parentheses are not necessary.
-
-@[code](../../code/basics/loops1.own)
diff --git a/docs/docs/en/basics/pattern_matching.md b/docs/docs/en/basics/pattern_matching.md
deleted file mode 100644
index 86d775cc..00000000
--- a/docs/docs/en/basics/pattern_matching.md
+++ /dev/null
@@ -1,79 +0,0 @@
-# Pattern matching
-
-The `match` operator allows to match values by pattern.
-
-@[code](../../code/basics/pattern_matching1.own)
-
-@[code](../../code/basics/pattern_matching2.own)
-
-In this case value and type are checking. If none of `case` branches doesn't match, the body of `case _` branch will executes.
-
-
-In addition to the constant values, you can set variable name to `case`.
-
-@[code](../../code/basics/pattern_matching3.own)
-
-In this case there is two scenarios:
-
-1. Variable is already defined. Matching to its value.
-2. Variable is not defined. Assign matching value to it and executes body of the `case` branch.
-
-In the example above, the interpreter sees the first two branches as:
-
-```own
-case 10:
-case 20:
-```
-
-For the last branch `c` variable is not defined, so assign `c = x` and execute body of the `case c` branch.
-
-
-## Refinements
-
-`case` branch may have additional comparison
-
-@[code](../../code/basics/pattern_matching4.own)
-
-
-## Matching arrays
-
-To compare elements of arrays, the following syntax is used:
-
-* `case []:` executes if there are no elements in array
-* `case [a]:` executes if an array contains one element
-* `case [a :: b]:` executes if an array contains two or more elements
-* `case [a :: b :: c :: d :: e]:` executes if an array contain five or more elements
-
-There are two rules for the last two cases:
-
-* If variables count matches array elements count - all variables are assigned to the value of the array.
-
-```own
-match [0, 1, 2] {
- case [x :: y :: z]: // x = 0, y = 1, z = 2
-}
-```
-
-* If array elements count is greater, then the rest of the array will be assigned to the last variable.
-
-```own
-match [0, 1, 2, 3, 4] {
- case [x :: y :: z]: // x = 0, y = 1, z = [2, 3, 4]
-}
-```
-
-An example of a recursive output array
-
-@[code](../../code/basics/pattern_matching5.own)
-
-
-## Matching array's value
-
-To compare values of array's elements, the following syntax is used:
-
-* `case (expr1, expr2, expr3):` executes if an array contain 3 elements and first element is equal to expr1 result, second element is equal to expr2 and third element is equal to expr3.
-* `case (expr1, _):` executes if an array contain 2 elements and first element is equal to expr1 result and result of the second element is not importand.
-
-FizzBuzz classical problem can be solved using Pattern Matching:
-
-@[code](../../code/basics/pattern_matching6.own)
diff --git a/docs/docs/en/basics/string_functions.md b/docs/docs/en/basics/string_functions.md
deleted file mode 100644
index 070dcb63..00000000
--- a/docs/docs/en/basics/string_functions.md
+++ /dev/null
@@ -1,20 +0,0 @@
-# String functions
-
-Fields:
- - `length` - string length
- - `lower` - lower case string
- - `upper` - upper case string
- - `chars` - ASCII characters array
-
-Functions:
- - `trim()` - removes any leading and trailing whitespaces in string
- - `startsWith(str, offset = 0)` - checks whether the string starts with the substring str at offset
- - `endsWith(str)` - checks whether the string ends with the str
- - `matches(regex)` - checks whether the string matches regex pattern
- - `contains(str)` - checks whether the string contains substring str
- - `equalsIgnoreCase(str)` - checks equality of two strings ignore case (tEsT = TEST)
- - `isEmpty()` - returns true, if the string is empty
-
-In addition, there are automatic function extensions available if the function accepts a string as the first argument:
-
-@[code](../../code/basics/string_functions1.own)
diff --git a/docs/docs/en/basics/strings.md b/docs/docs/en/basics/strings.md
deleted file mode 100644
index d44a99bb..00000000
--- a/docs/docs/en/basics/strings.md
+++ /dev/null
@@ -1,12 +0,0 @@
-# Strings
-
-Strings are defined in double quotes and can be multiline. Escaping Unicode characters is also supported.:
-
-```own
-str = "\n\tThis is
-\tmultiline
-\ttext
-"
-```
-
-`print` and `println` operators are used to output text.
\ No newline at end of file
diff --git a/docs/docs/en/basics/types.md b/docs/docs/en/basics/types.md
deleted file mode 100644
index c7b5b116..00000000
--- a/docs/docs/en/basics/types.md
+++ /dev/null
@@ -1,25 +0,0 @@
-# Types
-
-OwnLang types are:
-
- * Number - numbers (integer, float)
- * String - strings
- * Array - arrays
- * Map - objects (an associative arrays)
- * Function - functions
- * Class
-
-Since OwnLang is dynamic programming language, which means that explicitly declare the types is not necessary.
-
-```own
-x = 10 // integer
-y = 1.61803 // float
-z = "abcd" // string
-```
-
-If some function requires string as argument, but number was passed, then numeric value will automatically converts to string.
-
-```own
-x = 90
-print x // Ok, 90 converts to "90"
-```
\ No newline at end of file
diff --git a/docs/docs/en/changelog.md b/docs/docs/en/changelog.md
deleted file mode 100644
index 89621261..00000000
--- a/docs/docs/en/changelog.md
+++ /dev/null
@@ -1,113 +0,0 @@
-# Changelog
-
-## Next
-
-
-## 2.1.0
-
-### Changes
-- Add `own` package manager. Usage examples: `own`, `own init`, `own add openai`.
-- Use relative path in include statement.
-
-### Fixes
-- Fix passing command-line arguments to scripts.
-- Fix `this` in non-static class methods.
-- Fix program is not finished if using any http call (okhttp issue).
-- Fix visitor and linter checks inside functions.
-
-### Modules
-- [okhttp] Added `okhttp.newClient()` and `HttpClientBuilderValue`.
-- [canvasfx] Updated JavaFX version.
-
-
-## 2.0.0
-
-### Breaking changes
-- Minimal Java version is 17.
-- Simplified use statement. `use std, math` instead of `use ["std", "math"]`.
-- Change `case [x]` behavior in list pattern matching to match single element.
-- More strict lexer. Fixed escaping backslash in strings. Fixed HEX numbers println 0x0123456789, 0x०१२३४५६७८९.
-
-### Changes
-- Introducing Constants. Constant can be imported only when using a module.
-- Support for long number declaration: `700L`, `0xABL`
-- Fixed variables scope in shadowing.
-- Better error visualizing. Parse errors shows exact line in which an error occurs. Same for Linter and Runtime errors.
-- Semantic linter as a required stage.
-- Preserve the order of Map elements by default.
-- Ability to run programs from resources by adding "resource:" prefix to path.
-- Added internal scripts and command `ownlang run` to run them. Added script `checkUpdate` that checks app updates.
-- Updated [documentation](https://annimon.com/docs/ownlang/). New documentation engine based on vuepress.
-
-### Modules
-- [std] Added parseDouble, nanotime, exit, getenv, getprop functions.
-- [http] Added httpSync function.
-- [functional] Added groupby, tomap, Stream.groupBy, Stream.filterNot, Stream.forEachIndexed, Stream::toMap, Stream.anyMatch, Stream.allMatch, Stream.noneMatch operators.
-- [canvasfx] Works for Java 17+ with Java FX 17 (Windows only).
-- [server] New server module.
-
-
-## 1.5.0
-
-- Added modules `zip`, `gzip`, `okhttp`
-- Added functions `std::getBytes`, `std::stringFromBytes`, `std::stripMargin`
-- Added JProgressBar, JTextArea, JScrollPane to `forms`, methods for JButton, JTextField and WindowListener
-- Added function `joining` to `functional::stream`
-- Added array properties: `arr.length`, `arr.isEmpty()`, `arr.joinToString(...)`
-- Added null coalesce operator `??`
-- Added basic support for classes
-- Strict string to number conversion
-- `for` supports iterating strings and arrays with index:
- `for ch : "test"`
- `for ch, code : "test"`
- `for el : arr`
- `for el, index : arr`
-- Pretty-print for `jsonencode`:
- `jsonencode(obj)` — minified json
- `jsonencode(obj, 2)` — pretty-print json with 2 spaces indent
-- Ability to set options for yaml parser/dumper
-- Fixed mysql connection in `jdbc`
-- Fixed `str::range` for reversed ranges
-- Fixed files::readBytes with offset and length
-- Fixed matching class constructor in `java::new`. Ability to instantiate classes with `new` operator
-- Other minor changes
-
-
-## 1.4.0
-
-- Added modules `downloader`, `regex`
-- Added functions `std::arraySplice`, `std::default`
-- Added constant `std::OwnLang` which stores language version and platform metadata
-- Added `peek`, `sorted` to StreamValue
-- An ability to import several modules `use ["std", "types", "math"]`
-- String internal fields support (length, lower, upper, chars, trim(), startsWith(s), endsWith(s), matches(s), contains(s), equalsIgnoreCase(s), isEmpty()). Also support for extensions: `"%d. %s".sprintf(1, "OwnLang")` -> `sprintf("%d. %s", 1, "OwnLang")`
-- Added kawaii-operator `^^`
-- Improved REPL mode. Now command history (up key) supported on all platforms. Added autocompletion by Tab key.
-- Improved error output
-- Updated examples
-
-
-## 1.3.0
-
-- Function and function call chaining support (`func().func()` and `func()()`)
-- Added `takewhile`, `dropwhile`, `stream` functions to `functional` module
-- Added `parseInt`, `parseLong`, `toHexString` functions to `std` module
-- Added `copy` function to `files` module
-- Added `socket`, `base64`, `java`, `forms`, `jdbc` modules
-- Improved optimization
-- Updated examples
-- Minor fixes and improvements
-
-## 1.2.0
-
-- Added `canvasfx`, `date`, `yml`, `aimp` modules
-- Updated `std`, `math`, `files`, `functional` modules
-- Added `std::ARGS` constant for accessing command-line arguments
-- Added REPL mode, Beautifier, Linter, Optimizer
-- Fixed error recovering in parser and deadlock in lexer
-- Added merging objects operation `map1 + map2`
-- Fixed variables scope
-- Speed up files reading
-- Added NumberValue cache
-- Updated Netbeans plugin
-- Added examples and help
diff --git a/docs/docs/en/links.md b/docs/docs/en/links.md
deleted file mode 100644
index 345725c1..00000000
--- a/docs/docs/en/links.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# Links
-
-## Downloads
-
-Android: [Free](https://play.google.com/store/apps/details?id=com.annimon.ownlang.free) / [Pro](https://play.google.com/store/apps/details?id=com.annimon.ownlang)
-PC / Netbeans Plugin / etc: [GitHub Releases](https://github.com/aNNiMON/Own-Programming-Language-Tutorial/releases)
-Source code: [GitHub](https://github.com/aNNiMON/Own-Programming-Language-Tutorial)
-
-Also available as AUR package:
-
-```
-paru -S ownlang
-```
diff --git a/docs/docs/ru/README.md b/docs/docs/ru/README.md
deleted file mode 100644
index 0e7c2b2e..00000000
--- a/docs/docs/ru/README.md
+++ /dev/null
@@ -1,35 +0,0 @@
-# Возможности
-
-OwnLang — скриптовый функциональный язык программирования с динамической типизацией для ПК и Android устройств.
-
-## Ключевые особенности
-
-### Функции высшего порядка
-
-Функции выступают как значения, а значит мы можем сохранять их в переменные для дальнейшего использования.
-
-@[code](../code/high_order_functions_ru.own)
-
-### Pattern Matching
-
-Сопоставление по образцу с шаблоном значений, шаблоном кортежей, шаблоном списков и дополнительным сравнением.
-
-@[code](../code/pattern_matching.own)
-
-### Функциональные операции над данными
-
-Оперирование данными в функциональном стиле.
-
-@[code](../code/functional_ru.own)
-
-### Перегрузка операторов
-
-Почему бы и нет?
-
-@[code](../code/operator_overloading.own)
-
-### Модуль для работы с сетью Интернет
-
-Простые асинхронные HTTP-запросы с модулем `http`.
-
-@[code](../code/http_ru.own)
\ No newline at end of file
diff --git a/docs/docs/ru/basics/README.md b/docs/docs/ru/basics/README.md
deleted file mode 100644
index 0b843ddb..00000000
--- a/docs/docs/ru/basics/README.md
+++ /dev/null
@@ -1,11 +0,0 @@
-# Синтаксис и основы языка
-
-* [Комментарии](comments.md)
-* [Строки](strings.md)
-* [Типы](types.md)
-* [Циклы](loops.md)
-* [Определение функций](functions.md)
-* [Реструктуризующее присваивание](destructuring_assignment.md)
-* [Pattern matching](pattern_matching.md) (сопоставление с образцом)
-* [Функции строк](string_functions.md)
-* [Функции массивов](array_functions.md)
\ No newline at end of file
diff --git a/docs/docs/ru/basics/array_functions.md b/docs/docs/ru/basics/array_functions.md
deleted file mode 100644
index cba7892e..00000000
--- a/docs/docs/ru/basics/array_functions.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Функции массивов
-
-Поля:
- - `length` - количество элементов массива
-
-Функции:
- - `isEmpty()` - возвращает true, если массив пуст
- - `joinToString(delimiter = "", prefix = "", suffix = "")` - склеивает массив в строку
diff --git a/docs/docs/ru/basics/comments.md b/docs/docs/ru/basics/comments.md
deleted file mode 100644
index 189f8405..00000000
--- a/docs/docs/ru/basics/comments.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# Комментарии
-
-```own
-// Однострочный комментарий
-/* многострочный
- комментарий
-*/
-print /*или так*/ "Текст"
-```
\ No newline at end of file
diff --git a/docs/docs/ru/basics/destructuring_assignment.md b/docs/docs/ru/basics/destructuring_assignment.md
deleted file mode 100644
index b2b21cb3..00000000
--- a/docs/docs/ru/basics/destructuring_assignment.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# Реструктуризующее присваивание
-
-Реструктуризующее (деструктивное) присваивание позволяет определить сразу несколько переменных по каждому элементу массива или объекта.
-
-Для массивов, переменным присваивается значение.
-
-@[code](../../code/basics/destructuring_assignment1.own)
-
-Что равносильно:
-
-@[code](../../code/basics/destructuring_assignment2.own)
-
-Для объектов, переменным присваивается массив [ключ, значение]
-
-@[code](../../code/basics/destructuring_assignment3.own)
-
-Если нужно пропустить какое-либо значение, название переменной можно не писать:
-
-@[code](../../code/basics/destructuring_assignment4.own)
\ No newline at end of file
diff --git a/docs/docs/ru/basics/functions.md b/docs/docs/ru/basics/functions.md
deleted file mode 100644
index a1cc0fc5..00000000
--- a/docs/docs/ru/basics/functions.md
+++ /dev/null
@@ -1,54 +0,0 @@
-# Определение функций
-
-Для определения функции используется ключевое слово `def`. Затем идёт имя, аргументы и тело функции. Пример:
-
-```own
-def function(arg1, arg2) {
- println arg1
-}
-```
-
-## Короткий синтаксис
-
-Возможен короткий синтаксис:
-
-```own
-def repeat(str, count) = str * count
-```
-
-что равносильно:
-
-```own
-def repeat(str, count) {
- return str * count
-}
-```
-
-## Аргументы по умолчанию
-
-Аргументы функции могут иметь значения по умолчанию.
-
-```own
-def repeat(str, count = 5) = str * count
-```
-
-В этом случае обязательным будет только аргумент `str`
-
-```own
-repeat("*") // *****
-repeat("+", 3) // +++
-```
-
-Аргументы по умолчанию обязательно должны идти после обязательных аргументов, если такие были.
-
-```own
-def repeat(str = "*", count) = str * count
-```
-
-Приведёт к ошибки парсинга: `ParseError on line 1: Required argument cannot be after optional`
-
-## Внутренние функции
-
-Внутри функции можно объявить другую функцию.
-
-@[code](../../code/basics/fibonacci.own)
\ No newline at end of file
diff --git a/docs/docs/ru/basics/loops.md b/docs/docs/ru/basics/loops.md
deleted file mode 100644
index fae20b42..00000000
--- a/docs/docs/ru/basics/loops.md
+++ /dev/null
@@ -1,115 +0,0 @@
-# Циклы
-
-## Цикл while
-
-```own
-while условие {
- тело цикла
-}
-```
-
-Скобки в условии необязательны.
-
-```own
-i = 0
-while i < 5 {
- print i++
-}
-
-// или
-
-i = 0
-while (i < 5) {
- print i++
-}
-```
-
-## Цикл do-while
-
-```own
-do {
- тело цикла
-} while условие
-```
-
-Скобки в условии необязательны.
-
-```own
-i = 0
-do {
- print i++
-} while i < 5
-
-// или
-
-i = 0
-do {
- print i++
-} while (i < 5)
-```
-
-## Цикл for
-
-```own
-for инициализация, условие_работы, инкремент {
- тело цикла
-}
-
-for (инициализация, условие_работы, инкремент) {
- тело цикла
-}
-```
-
-Скобки в условии необязательны.
-
-```own
-for i = 0, i < 5, i++
- print i++
-
-// или
-
-for (i = 0, i < 5, i++) {
- print i++
-}
-```
-
-## Цикл foreach
-
-Перебирает элементы строки, массива или карты.
-
-Перебор строки:
-
-```own
-for символ : строка {
- тело цикла
-}
-for символ, код : строка {
- тело цикла
-}
-```
-
-Перебор массива:
-
-```own
-for значение : массив {
- тело цикла
-}
-for значение, индекс : массив {
- тело цикла
-}
-for (значение : массив) {
- тело цикла
-}
-```
-
-Перебор карты:
-
-```own
-for (ключ, значение : карта) {
- тело цикла
-}
-```
-
-Скобки необязательны.
-
-@[code](../../code/basics/loops1.own)
\ No newline at end of file
diff --git a/docs/docs/ru/basics/pattern_matching.md b/docs/docs/ru/basics/pattern_matching.md
deleted file mode 100644
index ab96bc37..00000000
--- a/docs/docs/ru/basics/pattern_matching.md
+++ /dev/null
@@ -1,79 +0,0 @@
-# Pattern Matching (сопоставление с образцом)
-
-Оператор `match` позволяет выполнить сопоставление значения с образцом.
-
-@[code](../../code/basics/pattern_matching1.own)
-
-@[code](../../code/basics/pattern_matching2.own)
-
-Проверяется тип и значение. Если ни одна из веток `case` не обнаружила совпадение, выполняется тело ветки `case _`.
-
-
-Помимо константных значений, в `case` может присутствовать имя переменной.
-
-@[code](../../code/basics/pattern_matching3.own)
-
-В таком случае возможен один из двух сценариев:
-
-1. Переменная уже определена. Сравнивается её значение.
-2. Переменная не определена. Ей присваивается сопоставляемое значение и выполняется ветка `case`.
-
-В примере выше, интерпретатор видит первые две ветки так:
-
-```own
-case 10:
-case 20:
-```
-
-Для последней ветки переменная `c` не определена, поэтому выполнится присваивание `c = x`, после чего вызов передаётся телу ветки `case c`.
-
-
-## Уточнения
-
-Ветка `case` может иметь дополнительное сравнение
-
-@[code](../../code/basics/pattern_matching4.own)
-
-
-## Сопоставление массивов
-
-Для сопоставления элементов массивов, в блоке case используется следующий синтаксис:
-
-* `case []:` выполняется, если в массиве нет элементов
-* `case [a]:` выполняется, если в массиве есть один элемент
-* `case [a :: b]:` выполняется, если в массиве есть два и более элементов
-* `case [a :: b :: c :: d :: e]:` выполняется, если в массиве есть пять и более элементов
-
-Для двух последних случаев справедливы такие правила:
-
-* Если количество переменных в списке совпадает с количество элементов массива, то всем переменным присваивается значение массива.
-
-```own
-match [0, 1, 2] {
- case [x :: y :: z]: // x = 0, y = 1, z = 2
-}
-```
-
-* Если элементов массива больше, то в последней переменной будут сохранены оставшиеся элементы массива.
-
-```own
-match [0, 1, 2, 3, 4] {
- case [x :: y :: z]: // x = 0, y = 1, z = [2, 3, 4]
-}
-```
-
-Пример рекурсивного вывода элементов массива
-
-@[code](../../code/basics/pattern_matching5.own)
-
-
-## Сопоставление значений массивов
-
-Для сопоставления значений элементов массивов, используется синтаксис:
-
-* `case (expr1, expr2, expr3):` выполняется, если в массиве есть 3 элемента и первый элемент равен результату выражения expr1, второй - результату expr2 и третий - результату expr3.
-* `case (expr1, _):` выполняется, если в массиве есть 2 элемента и первый элемент равен результату выражения expr1, а результат второго не важен.
-
-Классическая задача FizzBuzz может быть решена с использованием Pattern Matching:
-
-@[code](../../code/basics/pattern_matching6.own)
diff --git a/docs/docs/ru/basics/string_functions.md b/docs/docs/ru/basics/string_functions.md
deleted file mode 100644
index 17d1c9ed..00000000
--- a/docs/docs/ru/basics/string_functions.md
+++ /dev/null
@@ -1,20 +0,0 @@
-# Функции строк
-
-Поля:
- - `length` - длина строки
- - `lower` - строка в нижнем регистре
- - `upper` - строка в верхнем регистре
- - `chars` - массив символов в виде ASCII-кодов
-
-Функции:
- - `trim()` - обрезает пробельные невидимые символы по обоим концам строки
- - `startsWith(str, offset = 0)` - проверяет, начинается ли строка с подстроки str в позиции offset
- - `endsWith(str)` - проверяет, заканчивается ли строка подстрокой str
- - `matches(regex)` - проверяет соответствие строки с заданным шаблоном
- - `contains(str)` - проверяет, содержится ли в строке подстрока str
- - `equalsIgnoreCase(str)` - проверяет, равны ли строки вне зависимости от регистра (tEsT = TEST)
- - `isEmpty()` - возвращает true, если строка пустая
-
-Кроме того, доступны автоматические функции-расширения, если функция принимает в качестве первого аргумента строку:
-
-@[code](../../code/basics/string_functions1.own)
diff --git a/docs/docs/ru/basics/strings.md b/docs/docs/ru/basics/strings.md
deleted file mode 100644
index 8ad5fa99..00000000
--- a/docs/docs/ru/basics/strings.md
+++ /dev/null
@@ -1,12 +0,0 @@
-# Строки
-
-Строки задаются в двойных кавычках и могут быть многострочные. Поддерживается юникод и экранирование символов:
-
-```own
-str = "\n\tЭто
-\tмногострочный
-\tтекст
-"
-```
-
-Для вывода строк есть два оператора `print` и `println`
\ No newline at end of file
diff --git a/docs/docs/ru/basics/types.md b/docs/docs/ru/basics/types.md
deleted file mode 100644
index 0d0f55ca..00000000
--- a/docs/docs/ru/basics/types.md
+++ /dev/null
@@ -1,25 +0,0 @@
-# Типы
-
-В OwnLang есть такие типы:
-
- * Number - числа (охватывает как целые, так и вещественные числа)
- * String - строки
- * Array - массивы
- * Map - объекты (ассоциативные массивы)
- * Function - функции
- * Class - классы
-
-Поскольку OwnLang - динамически типизируемый язык программирования, это значит, что явно объявлять типы не нужно.
-
-```own
-x = 10 // целое число
-y = 1.61803 // вещественное число
-z = "abcd" // строка
-```
-
-Если какая-либо функция предполагает использование строк в качестве аргументов, а были переданы числа, то значения автоматически приведутся к строке.
-
-```own
-x = 90
-print x
-```
\ No newline at end of file
diff --git a/docs/docs/ru/changelog.md b/docs/docs/ru/changelog.md
deleted file mode 100644
index f996edcd..00000000
--- a/docs/docs/ru/changelog.md
+++ /dev/null
@@ -1,115 +0,0 @@
-# История изменений
-
-## Next
-
-
-## 2.1.0
-
-### Изменения
-- Добавлен `own` пакетный менеджер. Примеры испльзования: `own`, `own init`, `own add openai`.
-- Относительные пути в include.
-
-### Исправления
-- Исправлена передача аргументов командной строки скриптам.
-- Исправлен `this` в нестатических методах классов.
-- Исправлено завершение программы при использовании любого http запроса (баг в okhttp).
-- Исправлен visitor и проверки линтера внутри функций.
-
-### Модули
-- [okhttp] Добавлен `okhttp.newClient()` и `HttpClientBuilderValue`.
-- [canvasfx] Обновлена версия JavaFX.
-
-
-## 2.0.0
-
-### Критические изменения
-- Минимальная версия Java — 17.
-- Упрощён оператор use. `use std, math` вместо `use ["std", "math"]`.
-- `case [x]` при сопоставлении списков теперь соответствует лишь одному элементу.
-- Более строгий лексер. Исправлено экранирование обратного слэша в строках. Исправлены HEX числа println 0x0123456789, 0x०१२३४५६७८९.
-
-### Изменения
-- Добавлены константы. Константа может быть импортирована только при подключении модуля.
-- Возможность задать числа типа long: `700L`, `0xABL`
-- Исправлена область видимости переменных при шедоуинге.
-- Улучшена визуализация ошибок. Ошибки парсинга показывают конкретное место, где возникла ошибка. То же самое с линтером и ошибками времени исполнения.
-- Семантический линтер как обязательный этап работы интерпретатора.
-- Сохранение порядка элементов в Map по умолчанию.
-- Возможность запускать программы из ресурсов, указав "resource:" в качестве префикса пути.
-- Добавлены внутренние скрипты и команда `ownlang run` для их запуска. Добавлен скрипт `checkUpdate` для проверки новых версий.
-- Обновлена [документация](https://annimon.com/docs/ownlang/). Новый движок документации, основанный на vuepress.
-
-### Модули
-- [std] Добавлены функции parseDouble, nanotime, exit, getenv, getprop.
-- [http] Добавлена функция httpSync.
-- [functional] Добавлены функции groupby, tomap и операторы Stream.groupBy, Stream.filterNot, Stream.forEachIndexed, Stream::toMap, Stream.anyMatch, Stream.allMatch, Stream.noneMatch
-- [canvasfx] Исправлено для Java 17+ с Java FX 17 (только Windows)
-- [server] Новый модуль сервера
-
-
-## 1.5.0
-
-- Добавлены модули `zip`, `gzip`, `okhttp`
-- Добавлены функции `std::getBytes`, `std::stringFromBytes`, `std::stripMargin`
-- В `forms` добавлены JProgressBar, JTextArea, JScrollPane, методы для JButton, JTextField и WindowListener
-- В `functional::stream` добавлена функция `joining`
-- Добавлены свойства и функции для массивов: `arr.length`, `arr.isEmpty()`, `arr.joinToString(...)`
-- Добавлен оператор объединения с null `??` (null coalesce)
-- Добавлены классы (пока без наследования, как структура)
-- Строгое преобразование строк в числа (раньше int("test") выдавало 0, а теперь ошибку)
-- В `for` теперь можно итерировать строки и массивы с индексом:
- `for ch : "test"`
- `for ch, code : "test"`
- `for el : arr`
- `for el, index : arr`
-- В jsonencode можно задать отступ для читабельного форматирования:
- `jsonencode(obj)` — минифицированный json
- `jsonencode(obj, 2)` — pretty-print с отступом в 2 пробела
-- Возможность задать параметры парсера/дампера yaml
-- Исправлено подключение к mysql в модуле `jdbc`
-- Исправлен `str::range` для реверсивных промежутков
-- Исправлена функция files::readBytes с заданными offset и length
-- Исправлен поиск подходящего конструктора класса в `java::new`, так же можно инстанцировать класс через оператор new
-- Другие мелкие изменения
-
-
-## 1.4.0
-
-- Добавлены модули `downloader`, `regex`
-- Добавлены функции `std::arraySplice`, `std::default`
-- Добавлена константа `OwnLang` в модуль `std`, содержащая метаинформацию о версии языка и платформы
-- В StreamValue добавлены функции `peek`, `sorted`
-- Возможность импортировать сразу несколько модулей `use ["std", "types", "math"]`
-- Поддержка внутренних полей и функций у строк (length, lower, upper, chars, trim(), startsWith(s), endsWith(s), matches(s), contains(s), equalsIgnoreCase(s), isEmpty()). Также доступны автоматические функции расширения: `"%d. %s".sprintf(1, "OwnLang")` -> `sprintf("%d. %s", 1, "OwnLang")`
-- Добавлен kawaii-оператор `^^` для возможного переопределения
-- Улучшен режим REPL, теперь история команд (клавиша вверх) поддерживается на всех платформах, а по табу теперь всплывают подсказки автодополнения
-- Немного улучшен вывод ошибок
-- Обновлены примеры
-
-
-## 1.3.0
-
-- Поддержка цепочек функций и функциональных вызовов (`func().func()` и `func()()`)
-- Добавлены функции `takewhile`, `dropwhile`, `stream` в модуль `functional`
-- Добавлены функции `parseInt`, `parseLong`, `toHexString` в модуль `std`
-- Добавлена функция `copy` в модуль `files`
-- Добавлены модули `socket`, `base64`, `java`, `forms`, `jdbc`
-- Улучшена оптимизация
-- Обновлены примеры
-- Мелкие исправления и улучшения
-
-
-## 1.2.0
-
-- Добавлены модули `canvasfx`, `date`, `yml`, `aimp`
-- Обновлены модули `std`, `math`, `files`, `functional`
-- Добавлена константа `std::ARGS` для доступа к аргументам командной строки
-- Добавлен режим REPL, Beautifier, линтер, оптимизатор
-- Добавлена операция слияния объектов `map1 + map2`
-- Исправлено восстановление при ошибках парсинга и зависание в лексере
-- Исправлена область видимости переменных
-- Ускорено чтение файлов
-- Добавлен кэш числовых значений
-- Обновлён плагин для Netbeans
-- Добавлены примеры и помощь
-
diff --git a/docs/docs/ru/links.md b/docs/docs/ru/links.md
deleted file mode 100644
index 60d91f40..00000000
--- a/docs/docs/ru/links.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# Ссылки
-
-## Загрузки
-
-Android: [Free](https://play.google.com/store/apps/details?id=com.annimon.ownlang.free) / [Pro](https://play.google.com/store/apps/details?id=com.annimon.ownlang)
-PC / плагин Netbeans / прочее: [GitHub Releases](https://github.com/aNNiMON/Own-Programming-Language-Tutorial/releases)
-Исходный код: [GitHub](https://github.com/aNNiMON/Own-Programming-Language-Tutorial)
-
-Также доступно в виде пакета в AUR:
-
-```
-paru -S ownlang
-```
diff --git a/docs/package.json b/docs/package.json
deleted file mode 100644
index ef6505e1..00000000
--- a/docs/package.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "name": "ownlang-docs",
- "version": "1.0.0",
- "description": "OwnLang Documentation",
- "main": "index.js",
- "scripts": {
- "docs:dev": "vuepress dev docs",
- "docs:build": "vuepress build docs"
- },
- "keywords": [
- "documentation",
- "ownlang",
- "programming-language"
- ],
- "author": "aNNiMON",
- "license": "MIT",
- "devDependencies": {
- "@vuepress/client": "2.0.0-rc.0",
- "@vuepress/plugin-prismjs": "2.0.0-rc.0",
- "@vuepress/plugin-register-components": "2.0.0-rc.0",
- "@vuepress/plugin-search": "2.0.0-rc.0",
- "@vuepress/utils": "2.0.0-rc.0",
- "prismjs": "^1.30.0",
- "vue": "^3.4.20",
- "vuepress": "2.0.0-rc.0"
- }
-}
diff --git a/docs/pnpm-lock.yaml b/docs/pnpm-lock.yaml
deleted file mode 100644
index 03c204d5..00000000
--- a/docs/pnpm-lock.yaml
+++ /dev/null
@@ -1,2177 +0,0 @@
-lockfileVersion: '9.0'
-
-settings:
- autoInstallPeers: true
- excludeLinksFromLockfile: false
-
-importers:
-
- .:
- devDependencies:
- '@vuepress/client':
- specifier: 2.0.0-rc.0
- version: 2.0.0-rc.0
- '@vuepress/plugin-prismjs':
- specifier: 2.0.0-rc.0
- version: 2.0.0-rc.0
- '@vuepress/plugin-register-components':
- specifier: 2.0.0-rc.0
- version: 2.0.0-rc.0
- '@vuepress/plugin-search':
- specifier: 2.0.0-rc.0
- version: 2.0.0-rc.0
- '@vuepress/utils':
- specifier: 2.0.0-rc.0
- version: 2.0.0-rc.0
- prismjs:
- specifier: ^1.30.0
- version: 1.30.0
- vue:
- specifier: ^3.4.20
- version: 3.4.20
- vuepress:
- specifier: 2.0.0-rc.0
- version: 2.0.0-rc.0(@types/node@20.11.20)(@vuepress/client@2.0.0-rc.0)(sass@1.71.1)(vue@3.4.20)
-
-packages:
-
- '@babel/helper-string-parser@7.23.4':
- resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helper-validator-identifier@7.22.20':
- resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==}
- engines: {node: '>=6.9.0'}
-
- '@babel/parser@7.23.9':
- resolution: {integrity: sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==}
- engines: {node: '>=6.0.0'}
- hasBin: true
-
- '@babel/types@7.23.9':
- resolution: {integrity: sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==}
- engines: {node: '>=6.9.0'}
-
- '@esbuild/aix-ppc64@0.19.12':
- resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==}
- engines: {node: '>=12'}
- cpu: [ppc64]
- os: [aix]
-
- '@esbuild/android-arm64@0.19.12':
- resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [android]
-
- '@esbuild/android-arm@0.19.12':
- resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [android]
-
- '@esbuild/android-x64@0.19.12':
- resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [android]
-
- '@esbuild/darwin-arm64@0.19.12':
- resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [darwin]
-
- '@esbuild/darwin-x64@0.19.12':
- resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [darwin]
-
- '@esbuild/freebsd-arm64@0.19.12':
- resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [freebsd]
-
- '@esbuild/freebsd-x64@0.19.12':
- resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [freebsd]
-
- '@esbuild/linux-arm64@0.19.12':
- resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [linux]
-
- '@esbuild/linux-arm@0.19.12':
- resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [linux]
-
- '@esbuild/linux-ia32@0.19.12':
- resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [linux]
-
- '@esbuild/linux-loong64@0.19.12':
- resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==}
- engines: {node: '>=12'}
- cpu: [loong64]
- os: [linux]
-
- '@esbuild/linux-mips64el@0.19.12':
- resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==}
- engines: {node: '>=12'}
- cpu: [mips64el]
- os: [linux]
-
- '@esbuild/linux-ppc64@0.19.12':
- resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==}
- engines: {node: '>=12'}
- cpu: [ppc64]
- os: [linux]
-
- '@esbuild/linux-riscv64@0.19.12':
- resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==}
- engines: {node: '>=12'}
- cpu: [riscv64]
- os: [linux]
-
- '@esbuild/linux-s390x@0.19.12':
- resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==}
- engines: {node: '>=12'}
- cpu: [s390x]
- os: [linux]
-
- '@esbuild/linux-x64@0.19.12':
- resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [linux]
-
- '@esbuild/netbsd-x64@0.19.12':
- resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [netbsd]
-
- '@esbuild/openbsd-x64@0.19.12':
- resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [openbsd]
-
- '@esbuild/sunos-x64@0.19.12':
- resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [sunos]
-
- '@esbuild/win32-arm64@0.19.12':
- resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [win32]
-
- '@esbuild/win32-ia32@0.19.12':
- resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [win32]
-
- '@esbuild/win32-x64@0.19.12':
- resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [win32]
-
- '@jridgewell/sourcemap-codec@1.4.15':
- resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
-
- '@mdit-vue/plugin-component@1.0.0':
- resolution: {integrity: sha512-ZXsJwxkG5yyTHARIYbR74cT4AZ0SfMokFFjiHYCbypHIeYWgJhso4+CZ8+3V9EWFG3EHlGoKNGqKp9chHnqntQ==}
-
- '@mdit-vue/plugin-frontmatter@1.0.0':
- resolution: {integrity: sha512-MMA7Ny+YPZA7eDOY1t4E+rKuEWO39mzDdP/M68fKdXJU6VfcGkPr7gnpnJfW2QBJ5qIvMrK/3lDAA2JBy5TfpA==}
-
- '@mdit-vue/plugin-headers@1.0.0':
- resolution: {integrity: sha512-0rK/iKy6x13d/Pp5XxdLBshTD0+YjZvtHIaIV+JO+/H2WnOv7oaRgs48G5d44z3XJVUE2u6fNnTlI169fef0/A==}
-
- '@mdit-vue/plugin-sfc@1.0.0':
- resolution: {integrity: sha512-agMUe0fY4YHxsZivSvplBwRwrFvsIf/JNUJCAYq1+2Sg9+2hviTBZwjZDxYqHDHOVLtiNr+wuo68tE24mAx3AQ==}
-
- '@mdit-vue/plugin-title@1.0.0':
- resolution: {integrity: sha512-8yC60fCZ95xcJ/cvJH4Lv43Rs4k+33UGyKrRWj5J8TNyMwUyGcwur0XyPM+ffJH4/Bzq4myZLsj/TTFSkXRxvw==}
-
- '@mdit-vue/plugin-toc@1.0.0':
- resolution: {integrity: sha512-WN8blfX0X/5Nolic0ClDWP7eVo9IB+U4g0jbycX3lolIZX5Bai1UpsD3QYZr5VVsPbQJMKMGvTrCEtCNTGvyWQ==}
-
- '@mdit-vue/shared@1.0.0':
- resolution: {integrity: sha512-nbYBfmEi+pR2Lm0Z6TMVX2/iBjfr/kGEsHW8CC0rQw+3+sG5dY6VG094HuFAkiAmmvZx9DZZb+7ZMWp9vkwCRw==}
-
- '@mdit-vue/types@1.0.0':
- resolution: {integrity: sha512-xeF5+sHLzRNF7plbksywKCph4qli20l72of2fMlZQQ7RECvXYrRkE9+bjRFQCyULC7B8ydUYbpbkux5xJlVWyw==}
-
- '@nodelib/fs.scandir@2.1.5':
- resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
- engines: {node: '>= 8'}
-
- '@nodelib/fs.stat@2.0.5':
- resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
- engines: {node: '>= 8'}
-
- '@nodelib/fs.walk@1.2.8':
- resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
- engines: {node: '>= 8'}
-
- '@rollup/rollup-android-arm-eabi@4.22.4':
- resolution: {integrity: sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==}
- cpu: [arm]
- os: [android]
-
- '@rollup/rollup-android-arm64@4.22.4':
- resolution: {integrity: sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==}
- cpu: [arm64]
- os: [android]
-
- '@rollup/rollup-darwin-arm64@4.22.4':
- resolution: {integrity: sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==}
- cpu: [arm64]
- os: [darwin]
-
- '@rollup/rollup-darwin-x64@4.22.4':
- resolution: {integrity: sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==}
- cpu: [x64]
- os: [darwin]
-
- '@rollup/rollup-linux-arm-gnueabihf@4.22.4':
- resolution: {integrity: sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==}
- cpu: [arm]
- os: [linux]
-
- '@rollup/rollup-linux-arm-musleabihf@4.22.4':
- resolution: {integrity: sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==}
- cpu: [arm]
- os: [linux]
-
- '@rollup/rollup-linux-arm64-gnu@4.22.4':
- resolution: {integrity: sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==}
- cpu: [arm64]
- os: [linux]
-
- '@rollup/rollup-linux-arm64-musl@4.22.4':
- resolution: {integrity: sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==}
- cpu: [arm64]
- os: [linux]
-
- '@rollup/rollup-linux-powerpc64le-gnu@4.22.4':
- resolution: {integrity: sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==}
- cpu: [ppc64]
- os: [linux]
-
- '@rollup/rollup-linux-riscv64-gnu@4.22.4':
- resolution: {integrity: sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==}
- cpu: [riscv64]
- os: [linux]
-
- '@rollup/rollup-linux-s390x-gnu@4.22.4':
- resolution: {integrity: sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==}
- cpu: [s390x]
- os: [linux]
-
- '@rollup/rollup-linux-x64-gnu@4.22.4':
- resolution: {integrity: sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==}
- cpu: [x64]
- os: [linux]
-
- '@rollup/rollup-linux-x64-musl@4.22.4':
- resolution: {integrity: sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==}
- cpu: [x64]
- os: [linux]
-
- '@rollup/rollup-win32-arm64-msvc@4.22.4':
- resolution: {integrity: sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==}
- cpu: [arm64]
- os: [win32]
-
- '@rollup/rollup-win32-ia32-msvc@4.22.4':
- resolution: {integrity: sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==}
- cpu: [ia32]
- os: [win32]
-
- '@rollup/rollup-win32-x64-msvc@4.22.4':
- resolution: {integrity: sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==}
- cpu: [x64]
- os: [win32]
-
- '@sindresorhus/merge-streams@2.3.0':
- resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==}
- engines: {node: '>=18'}
-
- '@types/debug@4.1.12':
- resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==}
-
- '@types/estree@1.0.5':
- resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
-
- '@types/fs-extra@11.0.4':
- resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==}
-
- '@types/hash-sum@1.0.2':
- resolution: {integrity: sha512-UP28RddqY8xcU0SCEp9YKutQICXpaAq9N8U2klqF5hegGha7KzTOL8EdhIIV3bOSGBzjEpN9bU/d+nNZBdJYVw==}
-
- '@types/jsonfile@6.1.4':
- resolution: {integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==}
-
- '@types/linkify-it@3.0.5':
- resolution: {integrity: sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==}
-
- '@types/markdown-it-emoji@2.0.4':
- resolution: {integrity: sha512-H6ulk/ZmbDxOayPwI/leJzrmoW1YKX1Z+MVSCHXuYhvqckV4I/c+hPTf6UiqJyn2avWugfj30XroheEb6/Ekqg==}
-
- '@types/markdown-it@13.0.7':
- resolution: {integrity: sha512-U/CBi2YUUcTHBt5tjO2r5QV/x0Po6nsYwQU4Y04fBS6vfoImaiZ6f8bi3CjTCxBPQSO1LMyUqkByzi8AidyxfA==}
-
- '@types/mdurl@1.0.5':
- resolution: {integrity: sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==}
-
- '@types/ms@0.7.34':
- resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==}
-
- '@types/node@20.11.20':
- resolution: {integrity: sha512-7/rR21OS+fq8IyHTgtLkDK949uzsa6n8BkziAKtPVpugIkO6D+/ooXMvzXxDnZrmtXVfjb1bKQafYpb8s89LOg==}
-
- '@types/web-bluetooth@0.0.20':
- resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==}
-
- '@vitejs/plugin-vue@4.6.2':
- resolution: {integrity: sha512-kqf7SGFoG+80aZG6Pf+gsZIVvGSCKE98JbiWqcCV9cThtg91Jav0yvYFC9Zb+jKetNGF6ZKeoaxgZfND21fWKw==}
- engines: {node: ^14.18.0 || >=16.0.0}
- peerDependencies:
- vite: ^4.0.0 || ^5.0.0
- vue: ^3.2.25
-
- '@vue/compiler-core@3.4.20':
- resolution: {integrity: sha512-l7M+xUuL8hrGtRLkrf+62d9zucAdgqNBTbJ/NufCOIuJQhauhfyAKH9ra/qUctCXcULwmclGAVpvmxjbBO30qg==}
-
- '@vue/compiler-dom@3.4.20':
- resolution: {integrity: sha512-/cSBGL79HFBYgDnqCNKErOav3bPde3n0sJwJM2Z09rXlkiowV/2SG1tgDAiWS1CatS4Cvo0o74e1vNeCK1R3RA==}
-
- '@vue/compiler-sfc@3.4.20':
- resolution: {integrity: sha512-nPuTZz0yxTPzjyYe+9nQQsFYImcz/57UX8N3jyhl5oIUUs2jqqAMaULsAlJwve3qNYfjQzq0bwy3pqJrN9ecZw==}
-
- '@vue/compiler-ssr@3.4.20':
- resolution: {integrity: sha512-b3gFQPiHLvI12C56otzBPpQhZ5kgkJ5RMv/zpLjLC2BIFwX5GktDqYQ7xg0Q2grP6uFI8al3beVKvAVxFtXmIg==}
-
- '@vue/devtools-api@6.6.1':
- resolution: {integrity: sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA==}
-
- '@vue/reactivity@3.4.20':
- resolution: {integrity: sha512-P5LJcxUkG6inlHr6MHVA4AVFAmRYJQ7ONGWJILNjMjoYuEXFhYviSCb9BEMyszSG/1kWCZbtWQlKSLasFRpThw==}
-
- '@vue/runtime-core@3.4.20':
- resolution: {integrity: sha512-MPvsQpGAxoBqLHjqopt4YPtUYBpq0K6oAWDTwIR1CTNZ3y9O/J2ZVh+i2JpxKNYwANJBiZ20O99NE20uisB7xw==}
-
- '@vue/runtime-dom@3.4.20':
- resolution: {integrity: sha512-OkbPVP69H+8m74543zMAAx/LIkajxufYyow41gc0s5iF0uplT5uTQ4llDYu1GeJZEI8wjL5ueiPQruk4qwOMmA==}
-
- '@vue/server-renderer@3.4.20':
- resolution: {integrity: sha512-w3VH2GuwxQHA6pJo/HCV22OfVC8Mw4oeHQM+vKeqtRK0OPE1Wilnh+P/SDVGGxPjJsGmyfphi0dbw8UKZQJH9w==}
- peerDependencies:
- vue: 3.4.20
-
- '@vue/shared@3.4.20':
- resolution: {integrity: sha512-KTEngal0aiUvNJ6I1Chk5Ew5XqChsFsxP4GKAYXWb99zKJWjNU72p2FWEOmZWHxHcqtniOJsgnpd3zizdpfEag==}
-
- '@vuepress/bundler-vite@2.0.0-rc.0':
- resolution: {integrity: sha512-rX8S8IYpqqlJfNPstS/joorpxXx/4WuE7+gDM31i2HUrxOKGZVzq8ZsRRRU2UdoTwHZSd3LpUS4sMtxE5xLK1A==}
-
- '@vuepress/cli@2.0.0-rc.0':
- resolution: {integrity: sha512-XWSIFO9iOR7N4O2lXIwS5vZuLjU9WU/aGAtmhMWEMxrdMx7TQaJbgrfpTUEbHMf+cPI1DXBbUbtmkqIvtfOV0w==}
- hasBin: true
-
- '@vuepress/client@2.0.0-rc.0':
- resolution: {integrity: sha512-TwQx8hJgYONYxX+QltZ2aw9O5Ym6SKelfiUduuIRb555B1gece/jSVap3H/ZwyBhpgJMtG4+/Mrmf8nlDSHjvw==}
-
- '@vuepress/core@2.0.0-rc.0':
- resolution: {integrity: sha512-uoOaZP1MdxZYJIAJcRcmYKKeCIVnxZeOuLMOOB9CPuAKSalT1RvJ1lztw6RX3q9SPnlqtSZPQXDncPAZivw4pA==}
-
- '@vuepress/markdown@2.0.0-rc.0':
- resolution: {integrity: sha512-USmqdKKMT6ZFHYRztTjKUlO8qgGfnEygMAAq4AzC/uYXiEfrbMBLAWJhteyGS56P3rGLj0OPAhksE681bX/wOg==}
-
- '@vuepress/plugin-active-header-links@2.0.0-rc.0':
- resolution: {integrity: sha512-UJdXLYNGL5Wjy5YGY8M2QgqT75bZ95EHebbqGi8twBdIJE9O+bM+dPJyYtAk2PIVqFORiw3Hj+PchsNSxdn9+g==}
-
- '@vuepress/plugin-back-to-top@2.0.0-rc.0':
- resolution: {integrity: sha512-6GPfuzV5lkAnR00BxRUhqMXwMWt741alkq2R6bln4N8BneSOwEpX/7vi19MGf232aKdS/Va4pF5p0/nJ8Sed/g==}
-
- '@vuepress/plugin-container@2.0.0-rc.0':
- resolution: {integrity: sha512-b7vrLN11YE7qiUDPfA3N9P7Z8fupe9Wbcr9KAE/bmfZ9VT4d6kzpVyoU7XHi99XngitsmnkaXP4aBvBF1c2AnA==}
-
- '@vuepress/plugin-external-link-icon@2.0.0-rc.0':
- resolution: {integrity: sha512-o8bk0oIlj/BkKc02mq91XLDloq1VOz/8iNcRwKAeqBE6svXzdYiyoTGet0J/4iPuAetsCn75S57W6RioDJHMnQ==}
-
- '@vuepress/plugin-git@2.0.0-rc.0':
- resolution: {integrity: sha512-r7UF77vZxaYeJQLygzodKv+15z3/dTLuGp4VcYO21W6BlJZvd4u9zqgiV7A//bZQvK4+3Hprylr0G3KgXqMewA==}
-
- '@vuepress/plugin-medium-zoom@2.0.0-rc.0':
- resolution: {integrity: sha512-peU1lYKsmKikIe/0pkJuHzD/k6xW2TuqdvKVhV4I//aOE1WxsREKJ4ACcldmoIsnysoDydAUqKT6xDPGyDsH2g==}
-
- '@vuepress/plugin-nprogress@2.0.0-rc.0':
- resolution: {integrity: sha512-rI+eK0Pg1KiZE+7hGmDUeSbgdWCid8Vnw0hFKNmjinDzGVmx4m03M6qfvclsI0SryH+lR7itZGLaR4gbTlrz/w==}
-
- '@vuepress/plugin-palette@2.0.0-rc.0':
- resolution: {integrity: sha512-wW70SCp3/K7s1lln5YQsBGTog2WXaQv5piva5zhXcQ47YGf4aAJpThDa5C/ot4HhkPOKn8Iz5s0ckxXZzW8DIg==}
-
- '@vuepress/plugin-prismjs@2.0.0-rc.0':
- resolution: {integrity: sha512-c5WRI7+FhVjdbymOKQ8F2KY/Bnv7aQtWScVk8vCMUimNi7v7Wff/A/i3KSFNz/tge3LxiAeH/Dc2WS/OnQXwCg==}
-
- '@vuepress/plugin-register-components@2.0.0-rc.0':
- resolution: {integrity: sha512-yN71x93j8ce99bqOwHn3lVfgiwsfhv21ByW/3em1kGXANjzOOoXOvt7ITbXNa5g6bsfjdJpoeUkUtFPwfK8dNA==}
-
- '@vuepress/plugin-search@2.0.0-rc.0':
- resolution: {integrity: sha512-1ikJUgIN+7QrcAftxpWUKTrNVHEN2+k/az0Sjz7Ok7EthMHcG6qQsIb+AoK4WIQMsJkwVPLxwym/M1FbBTZDWQ==}
-
- '@vuepress/plugin-theme-data@2.0.0-rc.0':
- resolution: {integrity: sha512-FXY3/Ml+rM6gNKvwdBF6vKAcwnSvtXCzKgQwJAw3ppQTKUkLcbOxqM+h4d8bzHWAAvdnEvQFug5uEZgWllBQbA==}
-
- '@vuepress/shared@2.0.0-rc.0':
- resolution: {integrity: sha512-ikdSfjRv5LGM1iv4HHwF9P6gqTjaFCXKPK+hzlkHFHNZO1GLqk7/BPc4F51tAG1s8TcLhUZc+54LrfgS7PkXXA==}
-
- '@vuepress/theme-default@2.0.0-rc.0':
- resolution: {integrity: sha512-I8Y08evDmMuD1jh3NftPpFFSlCWOizQDJLjN7EQwcg7jiAP4A7c2REo6nBN2EmP24Mi7UrRM+RnytHR5V+pElA==}
- peerDependencies:
- sass-loader: ^13.3.2
- peerDependenciesMeta:
- sass-loader:
- optional: true
-
- '@vuepress/utils@2.0.0-rc.0':
- resolution: {integrity: sha512-Q1ay/woClDHcW0Qe91KsnHoupdNN0tp/vhjvVLuAYxlv/1Obii7hz9WFcajyyGEhmsYxdvG2sGmcxFA02tuKkw==}
-
- '@vueuse/core@10.8.0':
- resolution: {integrity: sha512-G9Ok9fjx10TkNIPn8V1dJmK1NcdJCtYmDRyYiTMUyJ1p0Tywc1zmOoCQ2xhHYyz8ULBU4KjIJQ9n+Lrty74iVw==}
-
- '@vueuse/metadata@10.8.0':
- resolution: {integrity: sha512-Nim/Vle5OgXcXhAvGOgkJQXB1Yb+Kq/fMbLuv3YYDYbiQrwr39ljuD4k9fPeq4yUyokYRo2RaNQmbbIMWB/9+w==}
-
- '@vueuse/shared@10.8.0':
- resolution: {integrity: sha512-dUdy6zwHhULGxmr9YUg8e+EnB39gcM4Fe2oKBSrh3cOsV30JcMPtsyuspgFCUo5xxFNaeMf/W2yyKfST7Bg8oQ==}
-
- ansi-regex@6.0.1:
- resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==}
- engines: {node: '>=12'}
-
- anymatch@3.1.3:
- resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
- engines: {node: '>= 8'}
-
- argparse@1.0.10:
- resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
-
- argparse@2.0.1:
- resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
-
- autoprefixer@10.4.17:
- resolution: {integrity: sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==}
- engines: {node: ^10 || ^12 || >=14}
- hasBin: true
- peerDependencies:
- postcss: ^8.1.0
-
- base64-js@1.5.1:
- resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
-
- binary-extensions@2.2.0:
- resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
- engines: {node: '>=8'}
-
- bl@5.1.0:
- resolution: {integrity: sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==}
-
- braces@3.0.3:
- resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
- engines: {node: '>=8'}
-
- browserslist@4.23.0:
- resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==}
- engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
- hasBin: true
-
- buffer@6.0.3:
- resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==}
-
- cac@6.7.14:
- resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
- engines: {node: '>=8'}
-
- caniuse-lite@1.0.30001589:
- resolution: {integrity: sha512-vNQWS6kI+q6sBlHbh71IIeC+sRwK2N3EDySc/updIGhIee2x5z00J4c1242/5/d6EpEMdOnk/m+6tuk4/tcsqg==}
-
- chalk@5.3.0:
- resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==}
- engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
-
- chokidar@3.6.0:
- resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
- engines: {node: '>= 8.10.0'}
-
- cli-cursor@4.0.0:
- resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
-
- cli-spinners@2.9.2:
- resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==}
- engines: {node: '>=6'}
-
- connect-history-api-fallback@2.0.0:
- resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==}
- engines: {node: '>=0.8'}
-
- cross-spawn@7.0.3:
- resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
- engines: {node: '>= 8'}
-
- csstype@3.1.3:
- resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
-
- debug@4.3.4:
- resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
- engines: {node: '>=6.0'}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
-
- eastasianwidth@0.2.0:
- resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
-
- electron-to-chromium@1.4.681:
- resolution: {integrity: sha512-1PpuqJUFWoXZ1E54m8bsLPVYwIVCRzvaL+n5cjigGga4z854abDnFRc+cTa2th4S79kyGqya/1xoR7h+Y5G5lg==}
-
- emoji-regex@10.3.0:
- resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==}
-
- entities@3.0.1:
- resolution: {integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==}
- engines: {node: '>=0.12'}
-
- entities@4.5.0:
- resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
- engines: {node: '>=0.12'}
-
- envinfo@7.11.1:
- resolution: {integrity: sha512-8PiZgZNIB4q/Lw4AhOvAfB/ityHAd2bli3lESSWmWSzSsl5dKpy5N1d1Rfkd2teq/g9xN90lc6o98DOjMeYHpg==}
- engines: {node: '>=4'}
- hasBin: true
-
- esbuild@0.19.12:
- resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==}
- engines: {node: '>=12'}
- hasBin: true
-
- escalade@3.1.2:
- resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==}
- engines: {node: '>=6'}
-
- esprima@4.0.1:
- resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
- engines: {node: '>=4'}
- hasBin: true
-
- estree-walker@2.0.2:
- resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
-
- execa@8.0.1:
- resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==}
- engines: {node: '>=16.17'}
-
- extend-shallow@2.0.1:
- resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==}
- engines: {node: '>=0.10.0'}
-
- fast-glob@3.3.2:
- resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
- engines: {node: '>=8.6.0'}
-
- fastq@1.17.1:
- resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
-
- fill-range@7.1.1:
- resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
- engines: {node: '>=8'}
-
- fraction.js@4.3.7:
- resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
-
- fs-extra@11.2.0:
- resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==}
- engines: {node: '>=14.14'}
-
- fsevents@2.3.3:
- resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
- engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
- os: [darwin]
-
- get-stream@8.0.1:
- resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==}
- engines: {node: '>=16'}
-
- glob-parent@5.1.2:
- resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
- engines: {node: '>= 6'}
-
- globby@14.0.1:
- resolution: {integrity: sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==}
- engines: {node: '>=18'}
-
- graceful-fs@4.2.11:
- resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
-
- gray-matter@4.0.3:
- resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==}
- engines: {node: '>=6.0'}
-
- hash-sum@2.0.0:
- resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==}
-
- human-signals@5.0.0:
- resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==}
- engines: {node: '>=16.17.0'}
-
- ieee754@1.2.1:
- resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
-
- ignore@5.3.1:
- resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==}
- engines: {node: '>= 4'}
-
- immutable@4.3.5:
- resolution: {integrity: sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==}
-
- inherits@2.0.4:
- resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
-
- is-binary-path@2.1.0:
- resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
- engines: {node: '>=8'}
-
- is-extendable@0.1.1:
- resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==}
- engines: {node: '>=0.10.0'}
-
- is-extglob@2.1.1:
- resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
- engines: {node: '>=0.10.0'}
-
- is-glob@4.0.3:
- resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
- engines: {node: '>=0.10.0'}
-
- is-interactive@2.0.0:
- resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==}
- engines: {node: '>=12'}
-
- is-number@7.0.0:
- resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
- engines: {node: '>=0.12.0'}
-
- is-stream@3.0.0:
- resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
-
- is-unicode-supported@1.3.0:
- resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==}
- engines: {node: '>=12'}
-
- isexe@2.0.0:
- resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
-
- js-yaml@3.14.1:
- resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==}
- hasBin: true
-
- jsonfile@6.1.0:
- resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
-
- kind-of@6.0.3:
- resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
- engines: {node: '>=0.10.0'}
-
- lilconfig@3.1.1:
- resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==}
- engines: {node: '>=14'}
-
- linkify-it@4.0.1:
- resolution: {integrity: sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==}
-
- log-symbols@5.1.0:
- resolution: {integrity: sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==}
- engines: {node: '>=12'}
-
- magic-string@0.30.7:
- resolution: {integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==}
- engines: {node: '>=12'}
-
- markdown-it-anchor@8.6.7:
- resolution: {integrity: sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA==}
- peerDependencies:
- '@types/markdown-it': '*'
- markdown-it: '*'
-
- markdown-it-container@3.0.0:
- resolution: {integrity: sha512-y6oKTq4BB9OQuY/KLfk/O3ysFhB3IMYoIWhGJEidXt1NQFocFK2sA2t0NYZAMyMShAGL6x5OPIbrmXPIqaN9rw==}
-
- markdown-it-emoji@2.0.2:
- resolution: {integrity: sha512-zLftSaNrKuYl0kR5zm4gxXjHaOI3FAOEaloKmRA5hijmJZvSjmxcokOLlzycb/HXlUFWzXqpIEoyEMCE4i9MvQ==}
-
- markdown-it@13.0.2:
- resolution: {integrity: sha512-FtwnEuuK+2yVU7goGn/MJ0WBZMM9ZPgU9spqlFs7/A/pDIUNSOQZhUgOqYCficIuR2QaFnrt8LHqBWsbTAoI5w==}
- hasBin: true
-
- mdurl@1.0.1:
- resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==}
-
- medium-zoom@1.1.0:
- resolution: {integrity: sha512-ewyDsp7k4InCUp3jRmwHBRFGyjBimKps/AJLjRSox+2q/2H4p/PNpQf+pwONWlJiOudkBXtbdmVbFjqyybfTmQ==}
-
- merge-stream@2.0.0:
- resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
-
- merge2@1.4.1:
- resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
- engines: {node: '>= 8'}
-
- micromatch@4.0.5:
- resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
- engines: {node: '>=8.6'}
-
- mimic-fn@2.1.0:
- resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
- engines: {node: '>=6'}
-
- mimic-fn@4.0.0:
- resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==}
- engines: {node: '>=12'}
-
- ms@2.1.2:
- resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
-
- nanoid@3.3.7:
- resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
- engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
- hasBin: true
-
- node-releases@2.0.14:
- resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==}
-
- normalize-path@3.0.0:
- resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
- engines: {node: '>=0.10.0'}
-
- normalize-range@0.1.2:
- resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
- engines: {node: '>=0.10.0'}
-
- npm-run-path@5.3.0:
- resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
-
- onetime@5.1.2:
- resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
- engines: {node: '>=6'}
-
- onetime@6.0.0:
- resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==}
- engines: {node: '>=12'}
-
- ora@7.0.1:
- resolution: {integrity: sha512-0TUxTiFJWv+JnjWm4o9yvuskpEJLXTcng8MJuKd+SzAzp2o+OP3HWqNhB4OdJRt1Vsd9/mR0oyaEYlOnL7XIRw==}
- engines: {node: '>=16'}
-
- path-key@3.1.1:
- resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
- engines: {node: '>=8'}
-
- path-key@4.0.0:
- resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==}
- engines: {node: '>=12'}
-
- path-type@5.0.0:
- resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==}
- engines: {node: '>=12'}
-
- picocolors@1.0.0:
- resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
-
- picomatch@2.3.1:
- resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
- engines: {node: '>=8.6'}
-
- postcss-load-config@4.0.2:
- resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==}
- engines: {node: '>= 14'}
- peerDependencies:
- postcss: '>=8.0.9'
- ts-node: '>=9.0.0'
- peerDependenciesMeta:
- postcss:
- optional: true
- ts-node:
- optional: true
-
- postcss-value-parser@4.2.0:
- resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
-
- postcss@8.4.35:
- resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==}
- engines: {node: ^10 || ^12 || >=14}
-
- prismjs@1.30.0:
- resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==}
- engines: {node: '>=6'}
-
- queue-microtask@1.2.3:
- resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
-
- readable-stream@3.6.2:
- resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
- engines: {node: '>= 6'}
-
- readdirp@3.6.0:
- resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
- engines: {node: '>=8.10.0'}
-
- restore-cursor@4.0.0:
- resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
-
- reusify@1.0.4:
- resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
- engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
-
- rollup@4.22.4:
- resolution: {integrity: sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==}
- engines: {node: '>=18.0.0', npm: '>=8.0.0'}
- hasBin: true
-
- run-parallel@1.2.0:
- resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
-
- safe-buffer@5.2.1:
- resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
-
- sass@1.71.1:
- resolution: {integrity: sha512-wovtnV2PxzteLlfNzbgm1tFXPLoZILYAMJtvoXXkD7/+1uP41eKkIt1ypWq5/q2uT94qHjXehEYfmjKOvjL9sg==}
- engines: {node: '>=14.0.0'}
- hasBin: true
-
- section-matter@1.0.0:
- resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==}
- engines: {node: '>=4'}
-
- shebang-command@2.0.0:
- resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
- engines: {node: '>=8'}
-
- shebang-regex@3.0.0:
- resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
- engines: {node: '>=8'}
-
- signal-exit@3.0.7:
- resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
-
- signal-exit@4.1.0:
- resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
- engines: {node: '>=14'}
-
- slash@5.1.0:
- resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==}
- engines: {node: '>=14.16'}
-
- source-map-js@1.0.2:
- resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
- engines: {node: '>=0.10.0'}
-
- sprintf-js@1.0.3:
- resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
-
- stdin-discarder@0.1.0:
- resolution: {integrity: sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
-
- string-width@6.1.0:
- resolution: {integrity: sha512-k01swCJAgQmuADB0YIc+7TuatfNvTBVOoaUWJjTB9R4VJzR5vNWzf5t42ESVZFPS8xTySF7CAdV4t/aaIm3UnQ==}
- engines: {node: '>=16'}
-
- string_decoder@1.3.0:
- resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
-
- strip-ansi@7.1.0:
- resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
- engines: {node: '>=12'}
-
- strip-bom-string@1.0.0:
- resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==}
- engines: {node: '>=0.10.0'}
-
- strip-final-newline@3.0.0:
- resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==}
- engines: {node: '>=12'}
-
- to-fast-properties@2.0.0:
- resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
- engines: {node: '>=4'}
-
- to-regex-range@5.0.1:
- resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
- engines: {node: '>=8.0'}
-
- ts-debounce@4.0.0:
- resolution: {integrity: sha512-+1iDGY6NmOGidq7i7xZGA4cm8DAa6fqdYcvO5Z6yBevH++Bdo9Qt/mN0TzHUgcCcKv1gmh9+W5dHqz8pMWbCbg==}
-
- uc.micro@1.0.6:
- resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==}
-
- undici-types@5.26.5:
- resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
-
- unicorn-magic@0.1.0:
- resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==}
- engines: {node: '>=18'}
-
- universalify@2.0.1:
- resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
- engines: {node: '>= 10.0.0'}
-
- upath@2.0.1:
- resolution: {integrity: sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==}
- engines: {node: '>=4'}
-
- update-browserslist-db@1.0.13:
- resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==}
- hasBin: true
- peerDependencies:
- browserslist: '>= 4.21.0'
-
- util-deprecate@1.0.2:
- resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
-
- vite@5.0.13:
- resolution: {integrity: sha512-/9ovhv2M2dGTuA+dY93B9trfyWMDRQw2jdVBhHNP6wr0oF34wG2i/N55801iZIpgUpnHDm4F/FabGQLyc+eOgg==}
- engines: {node: ^18.0.0 || >=20.0.0}
- hasBin: true
- peerDependencies:
- '@types/node': ^18.0.0 || >=20.0.0
- less: '*'
- lightningcss: ^1.21.0
- sass: '*'
- stylus: '*'
- sugarss: '*'
- terser: ^5.4.0
- peerDependenciesMeta:
- '@types/node':
- optional: true
- less:
- optional: true
- lightningcss:
- optional: true
- sass:
- optional: true
- stylus:
- optional: true
- sugarss:
- optional: true
- terser:
- optional: true
-
- vue-demi@0.14.7:
- resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==}
- engines: {node: '>=12'}
- hasBin: true
- peerDependencies:
- '@vue/composition-api': ^1.0.0-rc.1
- vue: ^3.0.0-0 || ^2.6.0
- peerDependenciesMeta:
- '@vue/composition-api':
- optional: true
-
- vue-router@4.3.0:
- resolution: {integrity: sha512-dqUcs8tUeG+ssgWhcPbjHvazML16Oga5w34uCUmsk7i0BcnskoLGwjpa15fqMr2Fa5JgVBrdL2MEgqz6XZ/6IQ==}
- peerDependencies:
- vue: ^3.2.0
-
- vue@3.4.20:
- resolution: {integrity: sha512-xF4zDKXp67NjgORFX/HOuaiaKYjgxkaToK0KWglFQEYlCw9AqgBlj1yu5xa6YaRek47w2IGiuvpvrGg/XuQFCw==}
- peerDependencies:
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
-
- vuepress-vite@2.0.0-rc.0:
- resolution: {integrity: sha512-+2XBejeiskPyr2raBeA2o4uDFDsjtadpUVmtio3qqFtQpOhidz/ORuiTLr2UfLtFn1ASIHP6Vy2YjQ0e/TeUVw==}
- engines: {node: '>=18.16.0'}
- hasBin: true
- peerDependencies:
- '@vuepress/client': 2.0.0-rc.0
- vue: ^3.3.4
-
- vuepress@2.0.0-rc.0:
- resolution: {integrity: sha512-sydt/B7+pIw926G5PntYmptLkC5o2buXKh+WR1+P2KnsvkXU+UGnQrJJ0FBvu/4RNuY99tkUZd59nyPhEmRrCg==}
- engines: {node: '>=18.16.0'}
- hasBin: true
-
- which@2.0.2:
- resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
- engines: {node: '>= 8'}
- hasBin: true
-
- yaml@2.4.0:
- resolution: {integrity: sha512-j9iR8g+/t0lArF4V6NE/QCfT+CO7iLqrXAHZbJdo+LfjqP1vR8Fg5bSiaq6Q2lOD1AUEVrEVIgABvBFYojJVYQ==}
- engines: {node: '>= 14'}
- hasBin: true
-
-snapshots:
-
- '@babel/helper-string-parser@7.23.4': {}
-
- '@babel/helper-validator-identifier@7.22.20': {}
-
- '@babel/parser@7.23.9':
- dependencies:
- '@babel/types': 7.23.9
-
- '@babel/types@7.23.9':
- dependencies:
- '@babel/helper-string-parser': 7.23.4
- '@babel/helper-validator-identifier': 7.22.20
- to-fast-properties: 2.0.0
-
- '@esbuild/aix-ppc64@0.19.12':
- optional: true
-
- '@esbuild/android-arm64@0.19.12':
- optional: true
-
- '@esbuild/android-arm@0.19.12':
- optional: true
-
- '@esbuild/android-x64@0.19.12':
- optional: true
-
- '@esbuild/darwin-arm64@0.19.12':
- optional: true
-
- '@esbuild/darwin-x64@0.19.12':
- optional: true
-
- '@esbuild/freebsd-arm64@0.19.12':
- optional: true
-
- '@esbuild/freebsd-x64@0.19.12':
- optional: true
-
- '@esbuild/linux-arm64@0.19.12':
- optional: true
-
- '@esbuild/linux-arm@0.19.12':
- optional: true
-
- '@esbuild/linux-ia32@0.19.12':
- optional: true
-
- '@esbuild/linux-loong64@0.19.12':
- optional: true
-
- '@esbuild/linux-mips64el@0.19.12':
- optional: true
-
- '@esbuild/linux-ppc64@0.19.12':
- optional: true
-
- '@esbuild/linux-riscv64@0.19.12':
- optional: true
-
- '@esbuild/linux-s390x@0.19.12':
- optional: true
-
- '@esbuild/linux-x64@0.19.12':
- optional: true
-
- '@esbuild/netbsd-x64@0.19.12':
- optional: true
-
- '@esbuild/openbsd-x64@0.19.12':
- optional: true
-
- '@esbuild/sunos-x64@0.19.12':
- optional: true
-
- '@esbuild/win32-arm64@0.19.12':
- optional: true
-
- '@esbuild/win32-ia32@0.19.12':
- optional: true
-
- '@esbuild/win32-x64@0.19.12':
- optional: true
-
- '@jridgewell/sourcemap-codec@1.4.15': {}
-
- '@mdit-vue/plugin-component@1.0.0':
- dependencies:
- '@types/markdown-it': 13.0.7
- markdown-it: 13.0.2
-
- '@mdit-vue/plugin-frontmatter@1.0.0':
- dependencies:
- '@mdit-vue/types': 1.0.0
- '@types/markdown-it': 13.0.7
- gray-matter: 4.0.3
- markdown-it: 13.0.2
-
- '@mdit-vue/plugin-headers@1.0.0':
- dependencies:
- '@mdit-vue/shared': 1.0.0
- '@mdit-vue/types': 1.0.0
- '@types/markdown-it': 13.0.7
- markdown-it: 13.0.2
-
- '@mdit-vue/plugin-sfc@1.0.0':
- dependencies:
- '@mdit-vue/types': 1.0.0
- '@types/markdown-it': 13.0.7
- markdown-it: 13.0.2
-
- '@mdit-vue/plugin-title@1.0.0':
- dependencies:
- '@mdit-vue/shared': 1.0.0
- '@mdit-vue/types': 1.0.0
- '@types/markdown-it': 13.0.7
- markdown-it: 13.0.2
-
- '@mdit-vue/plugin-toc@1.0.0':
- dependencies:
- '@mdit-vue/shared': 1.0.0
- '@mdit-vue/types': 1.0.0
- '@types/markdown-it': 13.0.7
- markdown-it: 13.0.2
-
- '@mdit-vue/shared@1.0.0':
- dependencies:
- '@mdit-vue/types': 1.0.0
- '@types/markdown-it': 13.0.7
- markdown-it: 13.0.2
-
- '@mdit-vue/types@1.0.0': {}
-
- '@nodelib/fs.scandir@2.1.5':
- dependencies:
- '@nodelib/fs.stat': 2.0.5
- run-parallel: 1.2.0
-
- '@nodelib/fs.stat@2.0.5': {}
-
- '@nodelib/fs.walk@1.2.8':
- dependencies:
- '@nodelib/fs.scandir': 2.1.5
- fastq: 1.17.1
-
- '@rollup/rollup-android-arm-eabi@4.22.4':
- optional: true
-
- '@rollup/rollup-android-arm64@4.22.4':
- optional: true
-
- '@rollup/rollup-darwin-arm64@4.22.4':
- optional: true
-
- '@rollup/rollup-darwin-x64@4.22.4':
- optional: true
-
- '@rollup/rollup-linux-arm-gnueabihf@4.22.4':
- optional: true
-
- '@rollup/rollup-linux-arm-musleabihf@4.22.4':
- optional: true
-
- '@rollup/rollup-linux-arm64-gnu@4.22.4':
- optional: true
-
- '@rollup/rollup-linux-arm64-musl@4.22.4':
- optional: true
-
- '@rollup/rollup-linux-powerpc64le-gnu@4.22.4':
- optional: true
-
- '@rollup/rollup-linux-riscv64-gnu@4.22.4':
- optional: true
-
- '@rollup/rollup-linux-s390x-gnu@4.22.4':
- optional: true
-
- '@rollup/rollup-linux-x64-gnu@4.22.4':
- optional: true
-
- '@rollup/rollup-linux-x64-musl@4.22.4':
- optional: true
-
- '@rollup/rollup-win32-arm64-msvc@4.22.4':
- optional: true
-
- '@rollup/rollup-win32-ia32-msvc@4.22.4':
- optional: true
-
- '@rollup/rollup-win32-x64-msvc@4.22.4':
- optional: true
-
- '@sindresorhus/merge-streams@2.3.0': {}
-
- '@types/debug@4.1.12':
- dependencies:
- '@types/ms': 0.7.34
-
- '@types/estree@1.0.5': {}
-
- '@types/fs-extra@11.0.4':
- dependencies:
- '@types/jsonfile': 6.1.4
- '@types/node': 20.11.20
-
- '@types/hash-sum@1.0.2': {}
-
- '@types/jsonfile@6.1.4':
- dependencies:
- '@types/node': 20.11.20
-
- '@types/linkify-it@3.0.5': {}
-
- '@types/markdown-it-emoji@2.0.4':
- dependencies:
- '@types/markdown-it': 13.0.7
-
- '@types/markdown-it@13.0.7':
- dependencies:
- '@types/linkify-it': 3.0.5
- '@types/mdurl': 1.0.5
-
- '@types/mdurl@1.0.5': {}
-
- '@types/ms@0.7.34': {}
-
- '@types/node@20.11.20':
- dependencies:
- undici-types: 5.26.5
-
- '@types/web-bluetooth@0.0.20': {}
-
- '@vitejs/plugin-vue@4.6.2(vite@5.0.13(@types/node@20.11.20)(sass@1.71.1))(vue@3.4.20)':
- dependencies:
- vite: 5.0.13(@types/node@20.11.20)(sass@1.71.1)
- vue: 3.4.20
-
- '@vue/compiler-core@3.4.20':
- dependencies:
- '@babel/parser': 7.23.9
- '@vue/shared': 3.4.20
- entities: 4.5.0
- estree-walker: 2.0.2
- source-map-js: 1.0.2
-
- '@vue/compiler-dom@3.4.20':
- dependencies:
- '@vue/compiler-core': 3.4.20
- '@vue/shared': 3.4.20
-
- '@vue/compiler-sfc@3.4.20':
- dependencies:
- '@babel/parser': 7.23.9
- '@vue/compiler-core': 3.4.20
- '@vue/compiler-dom': 3.4.20
- '@vue/compiler-ssr': 3.4.20
- '@vue/shared': 3.4.20
- estree-walker: 2.0.2
- magic-string: 0.30.7
- postcss: 8.4.35
- source-map-js: 1.0.2
-
- '@vue/compiler-ssr@3.4.20':
- dependencies:
- '@vue/compiler-dom': 3.4.20
- '@vue/shared': 3.4.20
-
- '@vue/devtools-api@6.6.1': {}
-
- '@vue/reactivity@3.4.20':
- dependencies:
- '@vue/shared': 3.4.20
-
- '@vue/runtime-core@3.4.20':
- dependencies:
- '@vue/reactivity': 3.4.20
- '@vue/shared': 3.4.20
-
- '@vue/runtime-dom@3.4.20':
- dependencies:
- '@vue/runtime-core': 3.4.20
- '@vue/shared': 3.4.20
- csstype: 3.1.3
-
- '@vue/server-renderer@3.4.20(vue@3.4.20)':
- dependencies:
- '@vue/compiler-ssr': 3.4.20
- '@vue/shared': 3.4.20
- vue: 3.4.20
-
- '@vue/shared@3.4.20': {}
-
- '@vuepress/bundler-vite@2.0.0-rc.0(@types/node@20.11.20)(sass@1.71.1)':
- dependencies:
- '@vitejs/plugin-vue': 4.6.2(vite@5.0.13(@types/node@20.11.20)(sass@1.71.1))(vue@3.4.20)
- '@vuepress/client': 2.0.0-rc.0
- '@vuepress/core': 2.0.0-rc.0
- '@vuepress/shared': 2.0.0-rc.0
- '@vuepress/utils': 2.0.0-rc.0
- autoprefixer: 10.4.17(postcss@8.4.35)
- connect-history-api-fallback: 2.0.0
- postcss: 8.4.35
- postcss-load-config: 4.0.2(postcss@8.4.35)
- rollup: 4.22.4
- vite: 5.0.13(@types/node@20.11.20)(sass@1.71.1)
- vue: 3.4.20
- vue-router: 4.3.0(vue@3.4.20)
- transitivePeerDependencies:
- - '@types/node'
- - '@vue/composition-api'
- - less
- - lightningcss
- - sass
- - stylus
- - sugarss
- - supports-color
- - terser
- - ts-node
- - typescript
-
- '@vuepress/cli@2.0.0-rc.0':
- dependencies:
- '@vuepress/core': 2.0.0-rc.0
- '@vuepress/shared': 2.0.0-rc.0
- '@vuepress/utils': 2.0.0-rc.0
- cac: 6.7.14
- chokidar: 3.6.0
- envinfo: 7.11.1
- esbuild: 0.19.12
- transitivePeerDependencies:
- - '@vue/composition-api'
- - supports-color
- - typescript
-
- '@vuepress/client@2.0.0-rc.0':
- dependencies:
- '@vue/devtools-api': 6.6.1
- '@vuepress/shared': 2.0.0-rc.0
- '@vueuse/core': 10.8.0(vue@3.4.20)
- vue: 3.4.20
- vue-router: 4.3.0(vue@3.4.20)
- transitivePeerDependencies:
- - '@vue/composition-api'
- - typescript
-
- '@vuepress/core@2.0.0-rc.0':
- dependencies:
- '@vuepress/client': 2.0.0-rc.0
- '@vuepress/markdown': 2.0.0-rc.0
- '@vuepress/shared': 2.0.0-rc.0
- '@vuepress/utils': 2.0.0-rc.0
- vue: 3.4.20
- transitivePeerDependencies:
- - '@vue/composition-api'
- - supports-color
- - typescript
-
- '@vuepress/markdown@2.0.0-rc.0':
- dependencies:
- '@mdit-vue/plugin-component': 1.0.0
- '@mdit-vue/plugin-frontmatter': 1.0.0
- '@mdit-vue/plugin-headers': 1.0.0
- '@mdit-vue/plugin-sfc': 1.0.0
- '@mdit-vue/plugin-title': 1.0.0
- '@mdit-vue/plugin-toc': 1.0.0
- '@mdit-vue/shared': 1.0.0
- '@mdit-vue/types': 1.0.0
- '@types/markdown-it': 13.0.7
- '@types/markdown-it-emoji': 2.0.4
- '@vuepress/shared': 2.0.0-rc.0
- '@vuepress/utils': 2.0.0-rc.0
- markdown-it: 13.0.2
- markdown-it-anchor: 8.6.7(@types/markdown-it@13.0.7)(markdown-it@13.0.2)
- markdown-it-emoji: 2.0.2
- mdurl: 1.0.1
- transitivePeerDependencies:
- - supports-color
-
- '@vuepress/plugin-active-header-links@2.0.0-rc.0':
- dependencies:
- '@vuepress/client': 2.0.0-rc.0
- '@vuepress/core': 2.0.0-rc.0
- '@vuepress/utils': 2.0.0-rc.0
- ts-debounce: 4.0.0
- vue: 3.4.20
- vue-router: 4.3.0(vue@3.4.20)
- transitivePeerDependencies:
- - '@vue/composition-api'
- - supports-color
- - typescript
-
- '@vuepress/plugin-back-to-top@2.0.0-rc.0':
- dependencies:
- '@vuepress/client': 2.0.0-rc.0
- '@vuepress/core': 2.0.0-rc.0
- '@vuepress/utils': 2.0.0-rc.0
- ts-debounce: 4.0.0
- vue: 3.4.20
- transitivePeerDependencies:
- - '@vue/composition-api'
- - supports-color
- - typescript
-
- '@vuepress/plugin-container@2.0.0-rc.0':
- dependencies:
- '@types/markdown-it': 13.0.7
- '@vuepress/core': 2.0.0-rc.0
- '@vuepress/markdown': 2.0.0-rc.0
- '@vuepress/shared': 2.0.0-rc.0
- '@vuepress/utils': 2.0.0-rc.0
- markdown-it: 13.0.2
- markdown-it-container: 3.0.0
- transitivePeerDependencies:
- - '@vue/composition-api'
- - supports-color
- - typescript
-
- '@vuepress/plugin-external-link-icon@2.0.0-rc.0':
- dependencies:
- '@vuepress/client': 2.0.0-rc.0
- '@vuepress/core': 2.0.0-rc.0
- '@vuepress/markdown': 2.0.0-rc.0
- '@vuepress/shared': 2.0.0-rc.0
- '@vuepress/utils': 2.0.0-rc.0
- vue: 3.4.20
- transitivePeerDependencies:
- - '@vue/composition-api'
- - supports-color
- - typescript
-
- '@vuepress/plugin-git@2.0.0-rc.0':
- dependencies:
- '@vuepress/core': 2.0.0-rc.0
- '@vuepress/utils': 2.0.0-rc.0
- execa: 8.0.1
- transitivePeerDependencies:
- - '@vue/composition-api'
- - supports-color
- - typescript
-
- '@vuepress/plugin-medium-zoom@2.0.0-rc.0':
- dependencies:
- '@vuepress/client': 2.0.0-rc.0
- '@vuepress/core': 2.0.0-rc.0
- '@vuepress/utils': 2.0.0-rc.0
- medium-zoom: 1.1.0
- vue: 3.4.20
- transitivePeerDependencies:
- - '@vue/composition-api'
- - supports-color
- - typescript
-
- '@vuepress/plugin-nprogress@2.0.0-rc.0':
- dependencies:
- '@vuepress/client': 2.0.0-rc.0
- '@vuepress/core': 2.0.0-rc.0
- '@vuepress/utils': 2.0.0-rc.0
- vue: 3.4.20
- vue-router: 4.3.0(vue@3.4.20)
- transitivePeerDependencies:
- - '@vue/composition-api'
- - supports-color
- - typescript
-
- '@vuepress/plugin-palette@2.0.0-rc.0':
- dependencies:
- '@vuepress/core': 2.0.0-rc.0
- '@vuepress/utils': 2.0.0-rc.0
- chokidar: 3.6.0
- transitivePeerDependencies:
- - '@vue/composition-api'
- - supports-color
- - typescript
-
- '@vuepress/plugin-prismjs@2.0.0-rc.0':
- dependencies:
- '@vuepress/core': 2.0.0-rc.0
- prismjs: 1.30.0
- transitivePeerDependencies:
- - '@vue/composition-api'
- - supports-color
- - typescript
-
- '@vuepress/plugin-register-components@2.0.0-rc.0':
- dependencies:
- '@vuepress/core': 2.0.0-rc.0
- '@vuepress/utils': 2.0.0-rc.0
- chokidar: 3.6.0
- transitivePeerDependencies:
- - '@vue/composition-api'
- - supports-color
- - typescript
-
- '@vuepress/plugin-search@2.0.0-rc.0':
- dependencies:
- '@vuepress/client': 2.0.0-rc.0
- '@vuepress/core': 2.0.0-rc.0
- '@vuepress/shared': 2.0.0-rc.0
- '@vuepress/utils': 2.0.0-rc.0
- chokidar: 3.6.0
- vue: 3.4.20
- vue-router: 4.3.0(vue@3.4.20)
- transitivePeerDependencies:
- - '@vue/composition-api'
- - supports-color
- - typescript
-
- '@vuepress/plugin-theme-data@2.0.0-rc.0':
- dependencies:
- '@vue/devtools-api': 6.6.1
- '@vuepress/client': 2.0.0-rc.0
- '@vuepress/core': 2.0.0-rc.0
- '@vuepress/shared': 2.0.0-rc.0
- '@vuepress/utils': 2.0.0-rc.0
- vue: 3.4.20
- transitivePeerDependencies:
- - '@vue/composition-api'
- - supports-color
- - typescript
-
- '@vuepress/shared@2.0.0-rc.0':
- dependencies:
- '@mdit-vue/types': 1.0.0
- '@vue/shared': 3.4.20
-
- '@vuepress/theme-default@2.0.0-rc.0':
- dependencies:
- '@vuepress/client': 2.0.0-rc.0
- '@vuepress/core': 2.0.0-rc.0
- '@vuepress/plugin-active-header-links': 2.0.0-rc.0
- '@vuepress/plugin-back-to-top': 2.0.0-rc.0
- '@vuepress/plugin-container': 2.0.0-rc.0
- '@vuepress/plugin-external-link-icon': 2.0.0-rc.0
- '@vuepress/plugin-git': 2.0.0-rc.0
- '@vuepress/plugin-medium-zoom': 2.0.0-rc.0
- '@vuepress/plugin-nprogress': 2.0.0-rc.0
- '@vuepress/plugin-palette': 2.0.0-rc.0
- '@vuepress/plugin-prismjs': 2.0.0-rc.0
- '@vuepress/plugin-theme-data': 2.0.0-rc.0
- '@vuepress/shared': 2.0.0-rc.0
- '@vuepress/utils': 2.0.0-rc.0
- '@vueuse/core': 10.8.0(vue@3.4.20)
- sass: 1.71.1
- vue: 3.4.20
- vue-router: 4.3.0(vue@3.4.20)
- transitivePeerDependencies:
- - '@vue/composition-api'
- - supports-color
- - typescript
-
- '@vuepress/utils@2.0.0-rc.0':
- dependencies:
- '@types/debug': 4.1.12
- '@types/fs-extra': 11.0.4
- '@types/hash-sum': 1.0.2
- '@vuepress/shared': 2.0.0-rc.0
- debug: 4.3.4
- fs-extra: 11.2.0
- globby: 14.0.1
- hash-sum: 2.0.0
- ora: 7.0.1
- picocolors: 1.0.0
- upath: 2.0.1
- transitivePeerDependencies:
- - supports-color
-
- '@vueuse/core@10.8.0(vue@3.4.20)':
- dependencies:
- '@types/web-bluetooth': 0.0.20
- '@vueuse/metadata': 10.8.0
- '@vueuse/shared': 10.8.0(vue@3.4.20)
- vue-demi: 0.14.7(vue@3.4.20)
- transitivePeerDependencies:
- - '@vue/composition-api'
- - vue
-
- '@vueuse/metadata@10.8.0': {}
-
- '@vueuse/shared@10.8.0(vue@3.4.20)':
- dependencies:
- vue-demi: 0.14.7(vue@3.4.20)
- transitivePeerDependencies:
- - '@vue/composition-api'
- - vue
-
- ansi-regex@6.0.1: {}
-
- anymatch@3.1.3:
- dependencies:
- normalize-path: 3.0.0
- picomatch: 2.3.1
-
- argparse@1.0.10:
- dependencies:
- sprintf-js: 1.0.3
-
- argparse@2.0.1: {}
-
- autoprefixer@10.4.17(postcss@8.4.35):
- dependencies:
- browserslist: 4.23.0
- caniuse-lite: 1.0.30001589
- fraction.js: 4.3.7
- normalize-range: 0.1.2
- picocolors: 1.0.0
- postcss: 8.4.35
- postcss-value-parser: 4.2.0
-
- base64-js@1.5.1: {}
-
- binary-extensions@2.2.0: {}
-
- bl@5.1.0:
- dependencies:
- buffer: 6.0.3
- inherits: 2.0.4
- readable-stream: 3.6.2
-
- braces@3.0.3:
- dependencies:
- fill-range: 7.1.1
-
- browserslist@4.23.0:
- dependencies:
- caniuse-lite: 1.0.30001589
- electron-to-chromium: 1.4.681
- node-releases: 2.0.14
- update-browserslist-db: 1.0.13(browserslist@4.23.0)
-
- buffer@6.0.3:
- dependencies:
- base64-js: 1.5.1
- ieee754: 1.2.1
-
- cac@6.7.14: {}
-
- caniuse-lite@1.0.30001589: {}
-
- chalk@5.3.0: {}
-
- chokidar@3.6.0:
- dependencies:
- anymatch: 3.1.3
- braces: 3.0.3
- glob-parent: 5.1.2
- is-binary-path: 2.1.0
- is-glob: 4.0.3
- normalize-path: 3.0.0
- readdirp: 3.6.0
- optionalDependencies:
- fsevents: 2.3.3
-
- cli-cursor@4.0.0:
- dependencies:
- restore-cursor: 4.0.0
-
- cli-spinners@2.9.2: {}
-
- connect-history-api-fallback@2.0.0: {}
-
- cross-spawn@7.0.3:
- dependencies:
- path-key: 3.1.1
- shebang-command: 2.0.0
- which: 2.0.2
-
- csstype@3.1.3: {}
-
- debug@4.3.4:
- dependencies:
- ms: 2.1.2
-
- eastasianwidth@0.2.0: {}
-
- electron-to-chromium@1.4.681: {}
-
- emoji-regex@10.3.0: {}
-
- entities@3.0.1: {}
-
- entities@4.5.0: {}
-
- envinfo@7.11.1: {}
-
- esbuild@0.19.12:
- optionalDependencies:
- '@esbuild/aix-ppc64': 0.19.12
- '@esbuild/android-arm': 0.19.12
- '@esbuild/android-arm64': 0.19.12
- '@esbuild/android-x64': 0.19.12
- '@esbuild/darwin-arm64': 0.19.12
- '@esbuild/darwin-x64': 0.19.12
- '@esbuild/freebsd-arm64': 0.19.12
- '@esbuild/freebsd-x64': 0.19.12
- '@esbuild/linux-arm': 0.19.12
- '@esbuild/linux-arm64': 0.19.12
- '@esbuild/linux-ia32': 0.19.12
- '@esbuild/linux-loong64': 0.19.12
- '@esbuild/linux-mips64el': 0.19.12
- '@esbuild/linux-ppc64': 0.19.12
- '@esbuild/linux-riscv64': 0.19.12
- '@esbuild/linux-s390x': 0.19.12
- '@esbuild/linux-x64': 0.19.12
- '@esbuild/netbsd-x64': 0.19.12
- '@esbuild/openbsd-x64': 0.19.12
- '@esbuild/sunos-x64': 0.19.12
- '@esbuild/win32-arm64': 0.19.12
- '@esbuild/win32-ia32': 0.19.12
- '@esbuild/win32-x64': 0.19.12
-
- escalade@3.1.2: {}
-
- esprima@4.0.1: {}
-
- estree-walker@2.0.2: {}
-
- execa@8.0.1:
- dependencies:
- cross-spawn: 7.0.3
- get-stream: 8.0.1
- human-signals: 5.0.0
- is-stream: 3.0.0
- merge-stream: 2.0.0
- npm-run-path: 5.3.0
- onetime: 6.0.0
- signal-exit: 4.1.0
- strip-final-newline: 3.0.0
-
- extend-shallow@2.0.1:
- dependencies:
- is-extendable: 0.1.1
-
- fast-glob@3.3.2:
- dependencies:
- '@nodelib/fs.stat': 2.0.5
- '@nodelib/fs.walk': 1.2.8
- glob-parent: 5.1.2
- merge2: 1.4.1
- micromatch: 4.0.5
-
- fastq@1.17.1:
- dependencies:
- reusify: 1.0.4
-
- fill-range@7.1.1:
- dependencies:
- to-regex-range: 5.0.1
-
- fraction.js@4.3.7: {}
-
- fs-extra@11.2.0:
- dependencies:
- graceful-fs: 4.2.11
- jsonfile: 6.1.0
- universalify: 2.0.1
-
- fsevents@2.3.3:
- optional: true
-
- get-stream@8.0.1: {}
-
- glob-parent@5.1.2:
- dependencies:
- is-glob: 4.0.3
-
- globby@14.0.1:
- dependencies:
- '@sindresorhus/merge-streams': 2.3.0
- fast-glob: 3.3.2
- ignore: 5.3.1
- path-type: 5.0.0
- slash: 5.1.0
- unicorn-magic: 0.1.0
-
- graceful-fs@4.2.11: {}
-
- gray-matter@4.0.3:
- dependencies:
- js-yaml: 3.14.1
- kind-of: 6.0.3
- section-matter: 1.0.0
- strip-bom-string: 1.0.0
-
- hash-sum@2.0.0: {}
-
- human-signals@5.0.0: {}
-
- ieee754@1.2.1: {}
-
- ignore@5.3.1: {}
-
- immutable@4.3.5: {}
-
- inherits@2.0.4: {}
-
- is-binary-path@2.1.0:
- dependencies:
- binary-extensions: 2.2.0
-
- is-extendable@0.1.1: {}
-
- is-extglob@2.1.1: {}
-
- is-glob@4.0.3:
- dependencies:
- is-extglob: 2.1.1
-
- is-interactive@2.0.0: {}
-
- is-number@7.0.0: {}
-
- is-stream@3.0.0: {}
-
- is-unicode-supported@1.3.0: {}
-
- isexe@2.0.0: {}
-
- js-yaml@3.14.1:
- dependencies:
- argparse: 1.0.10
- esprima: 4.0.1
-
- jsonfile@6.1.0:
- dependencies:
- universalify: 2.0.1
- optionalDependencies:
- graceful-fs: 4.2.11
-
- kind-of@6.0.3: {}
-
- lilconfig@3.1.1: {}
-
- linkify-it@4.0.1:
- dependencies:
- uc.micro: 1.0.6
-
- log-symbols@5.1.0:
- dependencies:
- chalk: 5.3.0
- is-unicode-supported: 1.3.0
-
- magic-string@0.30.7:
- dependencies:
- '@jridgewell/sourcemap-codec': 1.4.15
-
- markdown-it-anchor@8.6.7(@types/markdown-it@13.0.7)(markdown-it@13.0.2):
- dependencies:
- '@types/markdown-it': 13.0.7
- markdown-it: 13.0.2
-
- markdown-it-container@3.0.0: {}
-
- markdown-it-emoji@2.0.2: {}
-
- markdown-it@13.0.2:
- dependencies:
- argparse: 2.0.1
- entities: 3.0.1
- linkify-it: 4.0.1
- mdurl: 1.0.1
- uc.micro: 1.0.6
-
- mdurl@1.0.1: {}
-
- medium-zoom@1.1.0: {}
-
- merge-stream@2.0.0: {}
-
- merge2@1.4.1: {}
-
- micromatch@4.0.5:
- dependencies:
- braces: 3.0.3
- picomatch: 2.3.1
-
- mimic-fn@2.1.0: {}
-
- mimic-fn@4.0.0: {}
-
- ms@2.1.2: {}
-
- nanoid@3.3.7: {}
-
- node-releases@2.0.14: {}
-
- normalize-path@3.0.0: {}
-
- normalize-range@0.1.2: {}
-
- npm-run-path@5.3.0:
- dependencies:
- path-key: 4.0.0
-
- onetime@5.1.2:
- dependencies:
- mimic-fn: 2.1.0
-
- onetime@6.0.0:
- dependencies:
- mimic-fn: 4.0.0
-
- ora@7.0.1:
- dependencies:
- chalk: 5.3.0
- cli-cursor: 4.0.0
- cli-spinners: 2.9.2
- is-interactive: 2.0.0
- is-unicode-supported: 1.3.0
- log-symbols: 5.1.0
- stdin-discarder: 0.1.0
- string-width: 6.1.0
- strip-ansi: 7.1.0
-
- path-key@3.1.1: {}
-
- path-key@4.0.0: {}
-
- path-type@5.0.0: {}
-
- picocolors@1.0.0: {}
-
- picomatch@2.3.1: {}
-
- postcss-load-config@4.0.2(postcss@8.4.35):
- dependencies:
- lilconfig: 3.1.1
- yaml: 2.4.0
- optionalDependencies:
- postcss: 8.4.35
-
- postcss-value-parser@4.2.0: {}
-
- postcss@8.4.35:
- dependencies:
- nanoid: 3.3.7
- picocolors: 1.0.0
- source-map-js: 1.0.2
-
- prismjs@1.30.0: {}
-
- queue-microtask@1.2.3: {}
-
- readable-stream@3.6.2:
- dependencies:
- inherits: 2.0.4
- string_decoder: 1.3.0
- util-deprecate: 1.0.2
-
- readdirp@3.6.0:
- dependencies:
- picomatch: 2.3.1
-
- restore-cursor@4.0.0:
- dependencies:
- onetime: 5.1.2
- signal-exit: 3.0.7
-
- reusify@1.0.4: {}
-
- rollup@4.22.4:
- dependencies:
- '@types/estree': 1.0.5
- optionalDependencies:
- '@rollup/rollup-android-arm-eabi': 4.22.4
- '@rollup/rollup-android-arm64': 4.22.4
- '@rollup/rollup-darwin-arm64': 4.22.4
- '@rollup/rollup-darwin-x64': 4.22.4
- '@rollup/rollup-linux-arm-gnueabihf': 4.22.4
- '@rollup/rollup-linux-arm-musleabihf': 4.22.4
- '@rollup/rollup-linux-arm64-gnu': 4.22.4
- '@rollup/rollup-linux-arm64-musl': 4.22.4
- '@rollup/rollup-linux-powerpc64le-gnu': 4.22.4
- '@rollup/rollup-linux-riscv64-gnu': 4.22.4
- '@rollup/rollup-linux-s390x-gnu': 4.22.4
- '@rollup/rollup-linux-x64-gnu': 4.22.4
- '@rollup/rollup-linux-x64-musl': 4.22.4
- '@rollup/rollup-win32-arm64-msvc': 4.22.4
- '@rollup/rollup-win32-ia32-msvc': 4.22.4
- '@rollup/rollup-win32-x64-msvc': 4.22.4
- fsevents: 2.3.3
-
- run-parallel@1.2.0:
- dependencies:
- queue-microtask: 1.2.3
-
- safe-buffer@5.2.1: {}
-
- sass@1.71.1:
- dependencies:
- chokidar: 3.6.0
- immutable: 4.3.5
- source-map-js: 1.0.2
-
- section-matter@1.0.0:
- dependencies:
- extend-shallow: 2.0.1
- kind-of: 6.0.3
-
- shebang-command@2.0.0:
- dependencies:
- shebang-regex: 3.0.0
-
- shebang-regex@3.0.0: {}
-
- signal-exit@3.0.7: {}
-
- signal-exit@4.1.0: {}
-
- slash@5.1.0: {}
-
- source-map-js@1.0.2: {}
-
- sprintf-js@1.0.3: {}
-
- stdin-discarder@0.1.0:
- dependencies:
- bl: 5.1.0
-
- string-width@6.1.0:
- dependencies:
- eastasianwidth: 0.2.0
- emoji-regex: 10.3.0
- strip-ansi: 7.1.0
-
- string_decoder@1.3.0:
- dependencies:
- safe-buffer: 5.2.1
-
- strip-ansi@7.1.0:
- dependencies:
- ansi-regex: 6.0.1
-
- strip-bom-string@1.0.0: {}
-
- strip-final-newline@3.0.0: {}
-
- to-fast-properties@2.0.0: {}
-
- to-regex-range@5.0.1:
- dependencies:
- is-number: 7.0.0
-
- ts-debounce@4.0.0: {}
-
- uc.micro@1.0.6: {}
-
- undici-types@5.26.5: {}
-
- unicorn-magic@0.1.0: {}
-
- universalify@2.0.1: {}
-
- upath@2.0.1: {}
-
- update-browserslist-db@1.0.13(browserslist@4.23.0):
- dependencies:
- browserslist: 4.23.0
- escalade: 3.1.2
- picocolors: 1.0.0
-
- util-deprecate@1.0.2: {}
-
- vite@5.0.13(@types/node@20.11.20)(sass@1.71.1):
- dependencies:
- esbuild: 0.19.12
- postcss: 8.4.35
- rollup: 4.22.4
- optionalDependencies:
- '@types/node': 20.11.20
- fsevents: 2.3.3
- sass: 1.71.1
-
- vue-demi@0.14.7(vue@3.4.20):
- dependencies:
- vue: 3.4.20
-
- vue-router@4.3.0(vue@3.4.20):
- dependencies:
- '@vue/devtools-api': 6.6.1
- vue: 3.4.20
-
- vue@3.4.20:
- dependencies:
- '@vue/compiler-dom': 3.4.20
- '@vue/compiler-sfc': 3.4.20
- '@vue/runtime-dom': 3.4.20
- '@vue/server-renderer': 3.4.20(vue@3.4.20)
- '@vue/shared': 3.4.20
-
- vuepress-vite@2.0.0-rc.0(@types/node@20.11.20)(@vuepress/client@2.0.0-rc.0)(sass@1.71.1)(vue@3.4.20):
- dependencies:
- '@vuepress/bundler-vite': 2.0.0-rc.0(@types/node@20.11.20)(sass@1.71.1)
- '@vuepress/cli': 2.0.0-rc.0
- '@vuepress/client': 2.0.0-rc.0
- '@vuepress/core': 2.0.0-rc.0
- '@vuepress/theme-default': 2.0.0-rc.0
- vue: 3.4.20
- transitivePeerDependencies:
- - '@types/node'
- - '@vue/composition-api'
- - less
- - lightningcss
- - sass
- - sass-loader
- - stylus
- - sugarss
- - supports-color
- - terser
- - ts-node
- - typescript
-
- vuepress@2.0.0-rc.0(@types/node@20.11.20)(@vuepress/client@2.0.0-rc.0)(sass@1.71.1)(vue@3.4.20):
- dependencies:
- vuepress-vite: 2.0.0-rc.0(@types/node@20.11.20)(@vuepress/client@2.0.0-rc.0)(sass@1.71.1)(vue@3.4.20)
- transitivePeerDependencies:
- - '@types/node'
- - '@vue/composition-api'
- - '@vuepress/client'
- - less
- - lightningcss
- - sass
- - sass-loader
- - stylus
- - sugarss
- - supports-color
- - terser
- - ts-node
- - typescript
- - vue
-
- which@2.0.2:
- dependencies:
- isexe: 2.0.0
-
- yaml@2.4.0: {}
diff --git a/docs/src/docgen-md.own b/docs/src/docgen-md.own
deleted file mode 100644
index 53e61abe..00000000
--- a/docs/src/docgen-md.own
+++ /dev/null
@@ -1,200 +0,0 @@
-use std, types, files, json, yaml, functional
-
-INPUT_PATH_FMT = "./modules/%s.yml"
-OUTPUT_DIR_FMT = "../docs/%s/modules"
-OUTPUT_PATH_FMT = OUTPUT_DIR_FMT + "/%s.md"
-
-LANGS = ["en", "ru"]
-MODULES = [
- "std",
- "collections",
- "date",
- "downloader",
- "files",
- "functional",
- "http",
- "okhttp",
- "java",
- "math",
- "ounit",
- "regex",
- "robot",
- "socket",
- "types",
- // formats
- "base64",
- "json",
- "yaml",
- "gzip",
- "zip"
-
- // Desktop-only
- "canvas",
- "canvasfx",
- "forms",
- "jdbc",
- "server",
-
- // Android-only
- "android",
- "canvas_android",
- "forms_android",
- "gps_android",
- "imageprocessing_android"
-]
-
-messages = {
- "constants": {"en": "Constants", "ru": "Константы"},
- "functions": {"en": "Functions", "ru": "Функции"},
- "types": {"en": "Types", "ru": "Типы"},
- "example": {"en": "Example", "ru": "Пример"},
- "since": {"en": "Since", "ru": "Начиная с"},
- "elements": {"en": " elements", "ru": " элементов"}
-}
-
-// Write modules pages to vuepress config
-modulesPages = jsonencode(map(MODULES, def(m) = m + ".md"))
-f = fopen("../docs/.vuepress/configs/modules.js", "w")
-writeLine(f, "export default " + modulesPages)
-flush(f)
-fclose(f)
-
-// Create output dirs
-for lang : LANGS {
- mkdirs(sprintf(OUTPUT_DIR_FMT, lang))
-}
-
-for moduleName : MODULES {
- module = readYml(sprintf(INPUT_PATH_FMT, moduleName))
- for lang : LANGS {
- println "" + module.name + " / " + lang
- file = sprintf(OUTPUT_PATH_FMT, lang, moduleName)
- f = fopen(file, "w")
-
- writeHeader(f, module, lang)
- writeConstants(f, module.constants ?? [], lang)
- writeFunctions(f, module.functions ?? [], lang, 2);
- writeTypes(f, module.types ?? [], lang);
-
- flush(f)
- fclose(f)
- }
-}
-
-// -- write
-def writeHeader(f, module, lang) {
- writeText(f, header(module.name, 1))
- if length(module.scope ?? "") && (module.scope != "both") {
- writeText(f, " (" + module.scope + ")")
- }
- writeLine(f, "\n")
- if length(module.since ?? "") {
- writeSince(f, module.since, lang)
- }
- writeDescription(f, module, lang, "\n%s\n")
-}
-
-def writeConstants(f, constants, lang) {
- if (constants.isEmpty()) return 0
-
- writeLine(f, "\n\n## " + messages.constants[lang])
- for info : constants {
- writeText(f, "\n`%s` : *%s*".sprintf(info.name, info.typeName))
- writeScope(f, info.scope ?? "")
- writeText(f, " = ")
- constValue = getValue(info, "value", lang)
- if (info.type != MAP && info.type != CLASS) {
- writeText(f, "`%s`".sprintf(constValue))
- } else {
- mapValues = constValue.substring(1, constValue.length - 1).split(", ")
- if (mapValues.length >= 7) {
- writeText(f, "\n\n::: details %d %s".sprintf(mapValues.length, messages.elements[lang]));
- writeText(f, "\n\n```own:no-line-numbers\n{\n ");
- writeText(f, mapValues.joinToString(",\n "));
- writeText(f, "\n}\n```");
- writeText(f, "\n:::");
- } else {
- writeText(f, "`%s`".sprintf(constValue));
- }
- }
- writeLine(f, "")
- writeDescription(f, info, lang, "\n%s\n")
- }
-
-}
-
-def writeFunctions(f, functions, lang, level = 2) {
- if (functions.isEmpty()) return 0
-
- writeLine(f, "\n\n" + header(messages.functions[lang], level))
- for info : functions {
- writeText(f, "\n`%s(%s)`".sprintf(info.name, info.args))
- writeScope(f, info.scope ?? "")
- if length(info.since ?? "") {
- writeSince(f, info.since, lang, true)
- }
- writeDescription(f, info, lang, " — %s")
- writeLine(f, "")
-
- writeExample(f, info, lang)
- }
-}
-
-def writeTypes(f, types, lang) {
- if (types.isEmpty()) return 0
-
- writeLine(f, "\n\n" + header(messages.types[lang]))
- for info : types {
- writeText(f, "\n\n" + header("`%s`".sprintf(info.name), 3))
- writeScope(f, info.scope ?? "")
- writeDescription(f, info, lang, "%s\n")
- writeFunctions(f, info.functions ?? [], lang, 4);
- writeLine(f, "")
- writeExample(f, info, lang)
- }
-}
-
-def writeScope(f, scope) = match(scope) {
- case "android": writeText(f, " ")
- case "desktop": writeText(f, " ")
- case _: { }
-}
-
-def writeDescription(f, obj, lang, format = "%s") {
- str = getValue(obj, "desc", lang)
- if (str != "") {
- writeText(f, sprintf(format, str))
- }
-}
-
-def writeSince(f, version, lang, isInline = false) {
- if (isInline) {
- writeText(f, "".sprintf(version))
- } else {
- writeText(f, "".sprintf(messages.since[lang], version))
- }
-}
-
-def writeExample(f, info, lang) {
- example = getValue(info, "example", lang)
- if (length(example ?? "")) {
- writeLine(f, "\n```own")
- writeLine(f, example)
- writeLine(f, "```")
- }
-}
-
-// -- utils
-def getValue(object, key, lang = "en") {
- newKey = (lang != "en") ? (key + "_" + lang) : key
- return object[newKey] ?? object[key] ?? ""
-}
-
-def header(text, level = 2) = ("#" * level) + " " + text
-
-def readYml(filename) {
- f = fopen(filename, "r")
- s = readText(f)
- fclose(f)
- return yamldecode(s)
-}
\ No newline at end of file
diff --git a/docs/src/main/java/com/annimon/ownlang/docs/ModuleInfo.java b/docs/src/main/java/com/annimon/ownlang/docs/ModuleInfo.java
deleted file mode 100644
index d47f0fec..00000000
--- a/docs/src/main/java/com/annimon/ownlang/docs/ModuleInfo.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package com.annimon.ownlang.docs;
-
-import com.annimon.ownlang.Version;
-import com.annimon.ownlang.lib.MapValue;
-import com.annimon.ownlang.lib.Types;
-import com.annimon.ownlang.lib.Value;
-import java.util.*;
-import java.util.stream.Collectors;
-
-public class ModuleInfo {
- private final String name;
- final List functions;
- final Map constants;
- final List types;
-
- public ModuleInfo(String name) {
- this.name = name;
- functions = new ArrayList<>();
- constants = new HashMap<>();
- types = new ArrayList<>();
- }
-
- public String name() {
- return name;
- }
-
- public List