diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000..53fe054
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,12 @@
+# EditorConfig is awesome: https://EditorConfig.org
+
+# top-most EditorConfig file
+root = true
+
+[*]
+indent_style = space
+indent_size = 2
+end_of_line = lf
+charset = utf-8
+trim_trailing_whitespace = false
+insert_final_newline = true
\ No newline at end of file
diff --git a/.forgejo/workflows/depoly.yml b/.forgejo/workflows/depoly.yml
index 0ad3def..4b741a7 100644
--- a/.forgejo/workflows/depoly.yml
+++ b/.forgejo/workflows/depoly.yml
@@ -28,37 +28,28 @@ jobs:
git lfs fetch origin refs/remotes/origin/${{ github.ref_name }}
git lfs checkout
- - name: Setup pnpm
- run: |
- corepack enable
- corepack prepare pnpm@latest-9 --activate
- pnpm config set store-dir /tmp/pnpm-store
+ - name: Setup Bun
+ uses: oven-sh/setup-bun@v2
+ with:
+ bun-version-file: "package.json"
- name: Cache Dependencies
- id: dependencies-cache
uses: actions/cache@v4
with:
- path: /tmp/pnpm-store
- key: ${{ runner.os }}-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }}
+ path: ~/.bun/install/cache
+ key: ${{ runner.os }}-${{ matrix.bun }}-bun-${{ hashFiles('**/bun.lockb') }}
+ restore-keys: |
+ ${{ runner.os }}-${{ matrix.bun }}-bun-
- name: Install Dependencies
- run: pnpm install
-
- - name: Cache Generated Files
- id: files-cache
- uses: actions/cache@v4
- with:
- path: |
- public/**
- db.json
- key: generated-files-1
+ run: bun install
- name: Build Website
- run: pnpm build
+ run: bun dist
- name: Depoly Website
uses: https://github.com/cloudflare/wrangler-action@v3
with:
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
- command: pages deploy --project-name=rubicons-blog public
+ command: pages deploy --project-name=rubicons-blog dist
diff --git a/.gitignore b/.gitignore
index 063b0e4..ce6134f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,7 +1,35 @@
+# dependencies (bun install)
+node_modules
+
+# output
+.astro
+out
+dist
+*.tgz
+
+# code coverage
+coverage
+*.lcov
+
+# logs
+logs
+_.log
+report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json
+
+# dotenv environment variable files
+.env
+.env.development.local
+.env.test.local
+.env.production.local
+.env.local
+
+# caches
+.eslintcache
+.cache
+*.tsbuildinfo
+
+# IntelliJ based IDEs
+.idea
+
+# Finder (MacOS) folder config
.DS_Store
-Thumbs.db
-db.json
-*.log
-node_modules/
-public/
-.deploy*/
\ No newline at end of file
diff --git a/.gitmodules b/.gitmodules
deleted file mode 100644
index 680bd56..0000000
--- a/.gitmodules
+++ /dev/null
@@ -1,3 +0,0 @@
-[submodule "themes/hexo-theme-buck"]
- path = themes/hexo-theme-buck
- url = https://github.com/thislight/hexo-theme-buck.git
diff --git a/.prettierrc b/.prettierrc
new file mode 100644
index 0000000..85655a3
--- /dev/null
+++ b/.prettierrc
@@ -0,0 +1,13 @@
+{
+ "tabWidth": 2,
+ "useTabs": false,
+ "plugins": [
+ "prettier-plugin-astro"
+ ],
+ "overrides": [{
+ "files": "*.astro",
+ "options": {
+ "parser": "astro"
+ }
+ }]
+}
diff --git a/.vscode/extensions.json b/.vscode/extensions.json
new file mode 100644
index 0000000..fdb77c8
--- /dev/null
+++ b/.vscode/extensions.json
@@ -0,0 +1,8 @@
+{
+ "recommendations": [
+ "unifiedjs.vscode-mdx",
+ "astro-build.astro-vscode",
+ "editorconfig.editorconfig",
+ "esbenp.prettier-vscode"
+ ]
+}
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..0fc2e12
--- /dev/null
+++ b/README.md
@@ -0,0 +1,15 @@
+# new-blog
+
+To install dependencies:
+
+```bash
+bun install
+```
+
+To run:
+
+```bash
+bun run index.ts
+```
+
+This project was created using `bun init` in bun v1.2.5. [Bun](https://bun.sh) is a fast all-in-one JavaScript runtime.
diff --git a/_config.yml b/_config.yml
deleted file mode 100644
index 6f73514..0000000
--- a/_config.yml
+++ /dev/null
@@ -1,128 +0,0 @@
-# Hexo Configuration
-## Docs: https://hexo.io/docs/configuration.html
-## Source: https://github.com/hexojs/hexo/
-
-# Site
-title: Rubicon's Rubicon
-subtitle: ''
-description: ''
-keywords:
-author: Rubicon
-language: zh-Hans
-timezone: 'Asia/Chongqing'
-email: "l1589002388@gmail.com"
-
-# URL
-## If your site is put in a subdirectory, set url as 'http://example.com/child' and root as '/child/'
-url: https://rubicon.lightstands.xyz
-root: /
-permalink: :year/:month/:day/:title/
-permalink_defaults:
-pretty_urls:
- trailing_index: true # Set to false to remove trailing 'index.html' from permalinks
- trailing_html: true # Set to false to remove trailing '.html' from permalinks
-
-# Directory
-source_dir: source
-public_dir: public
-tag_dir: tags
-archive_dir: archives
-category_dir: categories
-code_dir: downloads/code
-i18n_dir: :lang
-skip_render: files/**
-
-# Writing
-new_post_name: :title.md # File name of new posts
-default_layout: post
-titlecase: false # Transform title into titlecase
-external_link:
- enable: true # Open external links in new tab
- field: site # Apply to the whole site
- exclude: ''
-filename_case: 0
-render_drafts: false
-post_asset_folder: true
-relative_link: false
-future: true
-highlight:
- enable: true
- line_number: true
- auto_detect: true
- tab_replace: ''
- wrap: true
- hljs: false
-prismjs:
- enable: false
- preprocess: true
- line_number: true
- tab_replace: ''
-marked:
- prependRoot: true
- postAsset: true
-
-
-# Home page setting
-# path: Root path for your blogs index page. (default = '')
-# per_page: Posts displayed per page. (0 = disable pagination)
-# order_by: Posts order. (Order by date descending by default)
-index_generator:
- path: ''
- per_page: 10
- order_by: -date
-
-# Category & Tag
-default_category: uncategorized
-category_map:
-tag_map:
-
-# Metadata elements
-## https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta
-meta_generator: true
-
-# Date / Time format
-## Hexo uses Moment.js to parse and display date
-## You can customize the date format as defined in
-## http://momentjs.com/docs/#/displaying/format/
-date_format: YYYY-MM-DD
-time_format: HH:mm:ss
-## updated_option supports 'mtime', 'date', 'empty'
-updated_option: 'mtime'
-
-# Pagination
-## Set per_page to 0 to disable pagination
-per_page: 10
-pagination_dir: page
-
-# Include / Exclude file(s)
-## include:/exclude: options only apply to the 'source/' folder
-include: []
-exclude: []
-ignore:
-
-# Extensions
-## Plugins: https://hexo.io/plugins/
-## Themes: https://hexo.io/themes/
-theme: hexo-theme-buck
-
-# Deployment
-## Docs: https://hexo.io/docs/one-command-deployment
-deploy:
- type: git
- repo: git@github.com:thislight/thislight.github.io.git
- branch: master
-
-
-feed:
- limit: 20
- order_by: "-date"
- tag_dir: "feeds/by-tag"
- category_dir: "feeds/by-category"
- rss:
- enable: true
- output: "rss.xml"
- atom:
- enable: true
- output: "atom.xml"
- jsonFeed:
- enable: false
diff --git a/astro.config.mjs b/astro.config.mjs
new file mode 100644
index 0000000..f777689
--- /dev/null
+++ b/astro.config.mjs
@@ -0,0 +1,38 @@
+import { defineConfig } from "astro/config";
+import solidJs from "@astrojs/solid-js";
+import mdx from "@astrojs/mdx";
+import icon from "astro-icon";
+import paths from "node:path"
+import rehypeBuckTable from "~/support/rehype-buck-tables";
+
+// https://astro.build/config
+export default defineConfig({
+ integrations: [solidJs(), mdx(), icon(), {
+ name: "inject-cloudflare-headers",
+ "hooks": {
+ "astro:config:setup": ({injectRoute}) => {
+ injectRoute({
+ pattern: "/_headers",
+ entrypoint: "./src/pages/_headers.ts",
+ })
+ }
+ }
+ }
+ ],
+ markdown: {
+ rehypePlugins: [rehypeBuckTable],
+ shikiConfig: {
+ themes: {
+ light: "github-light",
+ dark: "github-dark",
+ }
+ }
+ },
+ vite: {
+ resolve: {
+ alias: {
+ "~": paths.resolve(import.meta.dir, "src")
+ }
+ }
+ }
+});
diff --git a/bun.lock b/bun.lock
new file mode 100644
index 0000000..8a83128
--- /dev/null
+++ b/bun.lock
@@ -0,0 +1,1124 @@
+{
+ "lockfileVersion": 1,
+ "workspaces": {
+ "": {
+ "name": "new-blog",
+ "dependencies": {
+ "@astrojs/mdx": "^4.2.2",
+ "@astrojs/solid-js": "^5.0.6",
+ "@fontsource-variable/roboto": "^5.2.5",
+ "@formatjs/intl-localematcher": "^0.6.1",
+ "@iconify-json/mdi": "^1.2.3",
+ "astro": "^5.5.5",
+ "astro-icon": "^1.1.5",
+ "astro-pagefind": "^1.8.3",
+ "date-fns": "^4.1.0",
+ "solid-js": "^1.9.5",
+ "xast": "^0.1.208",
+ "xast-util-to-xml": "^4.0.0",
+ "xastscript": "^4.0.0",
+ },
+ "devDependencies": {
+ "@types/bun": "latest",
+ "hast": "^1.0.0",
+ "prettier": "^3.5.3",
+ "prettier-plugin-astro": "^0.14.1",
+ "unist-util-visit": "^5.0.0",
+ },
+ "peerDependencies": {
+ "typescript": "^5",
+ },
+ },
+ },
+ "packages": {
+ "@ampproject/remapping": ["@ampproject/remapping@2.3.0", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw=="],
+
+ "@antfu/install-pkg": ["@antfu/install-pkg@1.0.0", "", { "dependencies": { "package-manager-detector": "^0.2.8", "tinyexec": "^0.3.2" } }, "sha512-xvX6P/lo1B3ej0OsaErAjqgFYzYVcJpamjLAFLYh9vRJngBrMoUG7aVnrGTeqM7yxbyTD5p3F2+0/QUEh8Vzhw=="],
+
+ "@antfu/utils": ["@antfu/utils@8.1.1", "", {}, "sha512-Mex9nXf9vR6AhcXmMrlz/HVgYYZpVGJ6YlPgwl7UnaFpnshXs6EK/oa5Gpf3CzENMjkvEx2tQtntGnb7UtSTOQ=="],
+
+ "@astrojs/compiler": ["@astrojs/compiler@2.11.0", "", {}, "sha512-zZOO7i+JhojO8qmlyR/URui6LyfHJY6m+L9nwyX5GiKD78YoRaZ5tzz6X0fkl+5bD3uwlDHayf6Oe8Fu36RKNg=="],
+
+ "@astrojs/internal-helpers": ["@astrojs/internal-helpers@0.6.1", "", {}, "sha512-l5Pqf6uZu31aG+3Lv8nl/3s4DbUzdlxTWDof4pEpto6GUJNhhCbelVi9dEyurOVyqaelwmS9oSyOWOENSfgo9A=="],
+
+ "@astrojs/markdown-remark": ["@astrojs/markdown-remark@6.3.1", "", { "dependencies": { "@astrojs/internal-helpers": "0.6.1", "@astrojs/prism": "3.2.0", "github-slugger": "^2.0.0", "hast-util-from-html": "^2.0.3", "hast-util-to-text": "^4.0.2", "import-meta-resolve": "^4.1.0", "js-yaml": "^4.1.0", "mdast-util-definitions": "^6.0.0", "rehype-raw": "^7.0.0", "rehype-stringify": "^10.0.1", "remark-gfm": "^4.0.1", "remark-parse": "^11.0.0", "remark-rehype": "^11.1.1", "remark-smartypants": "^3.0.2", "shiki": "^3.0.0", "smol-toml": "^1.3.1", "unified": "^11.0.5", "unist-util-remove-position": "^5.0.0", "unist-util-visit": "^5.0.0", "unist-util-visit-parents": "^6.0.1", "vfile": "^6.0.3" } }, "sha512-c5F5gGrkczUaTVgmMW9g1YMJGzOtRvjjhw6IfGuxarM6ct09MpwysP10US729dy07gg8y+ofVifezvP3BNsWZg=="],
+
+ "@astrojs/mdx": ["@astrojs/mdx@4.2.2", "", { "dependencies": { "@astrojs/markdown-remark": "6.3.1", "@mdx-js/mdx": "^3.1.0", "acorn": "^8.14.1", "es-module-lexer": "^1.6.0", "estree-util-visit": "^2.0.0", "hast-util-to-html": "^9.0.5", "kleur": "^4.1.5", "rehype-raw": "^7.0.0", "remark-gfm": "^4.0.1", "remark-smartypants": "^3.0.2", "source-map": "^0.7.4", "unist-util-visit": "^5.0.0", "vfile": "^6.0.3" }, "peerDependencies": { "astro": "^5.0.0" } }, "sha512-nWDvuCPenxoxbog3YK3yVWF3Jw7Lq1+ziWSAOc9fy6zAUbPDSr2bt3c6r6+oa1ll0miCQByj5UVts6eJvN/y+g=="],
+
+ "@astrojs/prism": ["@astrojs/prism@3.2.0", "", { "dependencies": { "prismjs": "^1.29.0" } }, "sha512-GilTHKGCW6HMq7y3BUv9Ac7GMe/MO9gi9GW62GzKtth0SwukCu/qp2wLiGpEujhY+VVhaG9v7kv/5vFzvf4NYw=="],
+
+ "@astrojs/solid-js": ["@astrojs/solid-js@5.0.6", "", { "dependencies": { "vite": "^6.2.3", "vite-plugin-solid": "^2.11.6" }, "peerDependencies": { "solid-devtools": "^0.30.1", "solid-js": "^1.8.5" }, "optionalPeers": ["solid-devtools"] }, "sha512-jtO12tvjWYvzgBJa6tuq2igZadwyhUzczFCxY/2VzBl5+Va7b5gnRlpgHceJzcpravWxcKzWtwpVTyj1DZfVwg=="],
+
+ "@astrojs/telemetry": ["@astrojs/telemetry@3.2.0", "", { "dependencies": { "ci-info": "^4.1.0", "debug": "^4.3.7", "dlv": "^1.1.3", "dset": "^3.1.4", "is-docker": "^3.0.0", "is-wsl": "^3.1.0", "which-pm-runs": "^1.1.0" } }, "sha512-wxhSKRfKugLwLlr4OFfcqovk+LIFtKwLyGPqMsv+9/ibqqnW3Gv7tBhtKEb0gAyUAC4G9BTVQeQahqnQAhd6IQ=="],
+
+ "@babel/code-frame": ["@babel/code-frame@7.26.2", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.25.9", "js-tokens": "^4.0.0", "picocolors": "^1.0.0" } }, "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ=="],
+
+ "@babel/compat-data": ["@babel/compat-data@7.26.8", "", {}, "sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ=="],
+
+ "@babel/core": ["@babel/core@7.26.10", "", { "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.26.2", "@babel/generator": "^7.26.10", "@babel/helper-compilation-targets": "^7.26.5", "@babel/helper-module-transforms": "^7.26.0", "@babel/helpers": "^7.26.10", "@babel/parser": "^7.26.10", "@babel/template": "^7.26.9", "@babel/traverse": "^7.26.10", "@babel/types": "^7.26.10", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", "semver": "^6.3.1" } }, "sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ=="],
+
+ "@babel/generator": ["@babel/generator@7.27.0", "", { "dependencies": { "@babel/parser": "^7.27.0", "@babel/types": "^7.27.0", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^3.0.2" } }, "sha512-VybsKvpiN1gU1sdMZIp7FcqphVVKEwcuj02x73uvcHE0PTihx1nlBcowYWhDwjpoAXRv43+gDzyggGnn1XZhVw=="],
+
+ "@babel/helper-compilation-targets": ["@babel/helper-compilation-targets@7.27.0", "", { "dependencies": { "@babel/compat-data": "^7.26.8", "@babel/helper-validator-option": "^7.25.9", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" } }, "sha512-LVk7fbXml0H2xH34dFzKQ7TDZ2G4/rVTOrq9V+icbbadjbVxxeFeDsNHv2SrZeWoA+6ZiTyWYWtScEIW07EAcA=="],
+
+ "@babel/helper-module-imports": ["@babel/helper-module-imports@7.25.9", "", { "dependencies": { "@babel/traverse": "^7.25.9", "@babel/types": "^7.25.9" } }, "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw=="],
+
+ "@babel/helper-module-transforms": ["@babel/helper-module-transforms@7.26.0", "", { "dependencies": { "@babel/helper-module-imports": "^7.25.9", "@babel/helper-validator-identifier": "^7.25.9", "@babel/traverse": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw=="],
+
+ "@babel/helper-plugin-utils": ["@babel/helper-plugin-utils@7.26.5", "", {}, "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg=="],
+
+ "@babel/helper-string-parser": ["@babel/helper-string-parser@7.25.9", "", {}, "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA=="],
+
+ "@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@7.25.9", "", {}, "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ=="],
+
+ "@babel/helper-validator-option": ["@babel/helper-validator-option@7.25.9", "", {}, "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw=="],
+
+ "@babel/helpers": ["@babel/helpers@7.27.0", "", { "dependencies": { "@babel/template": "^7.27.0", "@babel/types": "^7.27.0" } }, "sha512-U5eyP/CTFPuNE3qk+WZMxFkp/4zUzdceQlfzf7DdGdhp+Fezd7HD+i8Y24ZuTMKX3wQBld449jijbGq6OdGNQg=="],
+
+ "@babel/parser": ["@babel/parser@7.27.0", "", { "dependencies": { "@babel/types": "^7.27.0" }, "bin": "./bin/babel-parser.js" }, "sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg=="],
+
+ "@babel/plugin-syntax-jsx": ["@babel/plugin-syntax-jsx@7.25.9", "", { "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA=="],
+
+ "@babel/template": ["@babel/template@7.27.0", "", { "dependencies": { "@babel/code-frame": "^7.26.2", "@babel/parser": "^7.27.0", "@babel/types": "^7.27.0" } }, "sha512-2ncevenBqXI6qRMukPlXwHKHchC7RyMuu4xv5JBXRfOGVcTy1mXCD12qrp7Jsoxll1EV3+9sE4GugBVRjT2jFA=="],
+
+ "@babel/traverse": ["@babel/traverse@7.27.0", "", { "dependencies": { "@babel/code-frame": "^7.26.2", "@babel/generator": "^7.27.0", "@babel/parser": "^7.27.0", "@babel/template": "^7.27.0", "@babel/types": "^7.27.0", "debug": "^4.3.1", "globals": "^11.1.0" } }, "sha512-19lYZFzYVQkkHkl4Cy4WrAVcqBkgvV2YM2TU3xG6DIwO7O3ecbDPfW3yM3bjAGcqcQHi+CCtjMR3dIEHxsd6bA=="],
+
+ "@babel/types": ["@babel/types@7.27.0", "", { "dependencies": { "@babel/helper-string-parser": "^7.25.9", "@babel/helper-validator-identifier": "^7.25.9" } }, "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg=="],
+
+ "@emnapi/runtime": ["@emnapi/runtime@1.4.0", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-64WYIf4UYcdLnbKn/umDlNjQDSS8AgZrI/R9+x5ilkUVFxXcA1Ebl+gQLc/6mERA4407Xof0R7wEyEuj091CVw=="],
+
+ "@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.1", "", { "os": "aix", "cpu": "ppc64" }, "sha512-kfYGy8IdzTGy+z0vFGvExZtxkFlA4zAxgKEahG9KE1ScBjpQnFsNOX8KTU5ojNru5ed5CVoJYXFtoxaq5nFbjQ=="],
+
+ "@esbuild/android-arm": ["@esbuild/android-arm@0.25.1", "", { "os": "android", "cpu": "arm" }, "sha512-dp+MshLYux6j/JjdqVLnMglQlFu+MuVeNrmT5nk6q07wNhCdSnB7QZj+7G8VMUGh1q+vj2Bq8kRsuyA00I/k+Q=="],
+
+ "@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.1", "", { "os": "android", "cpu": "arm64" }, "sha512-50tM0zCJW5kGqgG7fQ7IHvQOcAn9TKiVRuQ/lN0xR+T2lzEFvAi1ZcS8DiksFcEpf1t/GYOeOfCAgDHFpkiSmA=="],
+
+ "@esbuild/android-x64": ["@esbuild/android-x64@0.25.1", "", { "os": "android", "cpu": "x64" }, "sha512-GCj6WfUtNldqUzYkN/ITtlhwQqGWu9S45vUXs7EIYf+7rCiiqH9bCloatO9VhxsL0Pji+PF4Lz2XXCES+Q8hDw=="],
+
+ "@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.1", "", { "os": "darwin", "cpu": "arm64" }, "sha512-5hEZKPf+nQjYoSr/elb62U19/l1mZDdqidGfmFutVUjjUZrOazAtwK+Kr+3y0C/oeJfLlxo9fXb1w7L+P7E4FQ=="],
+
+ "@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.1", "", { "os": "darwin", "cpu": "x64" }, "sha512-hxVnwL2Dqs3fM1IWq8Iezh0cX7ZGdVhbTfnOy5uURtao5OIVCEyj9xIzemDi7sRvKsuSdtCAhMKarxqtlyVyfA=="],
+
+ "@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.1", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-1MrCZs0fZa2g8E+FUo2ipw6jw5qqQiH+tERoS5fAfKnRx6NXH31tXBKI3VpmLijLH6yriMZsxJtaXUyFt/8Y4A=="],
+
+ "@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.1", "", { "os": "freebsd", "cpu": "x64" }, "sha512-0IZWLiTyz7nm0xuIs0q1Y3QWJC52R8aSXxe40VUxm6BB1RNmkODtW6LHvWRrGiICulcX7ZvyH6h5fqdLu4gkww=="],
+
+ "@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.1", "", { "os": "linux", "cpu": "arm" }, "sha512-NdKOhS4u7JhDKw9G3cY6sWqFcnLITn6SqivVArbzIaf3cemShqfLGHYMx8Xlm/lBit3/5d7kXvriTUGa5YViuQ=="],
+
+ "@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.1", "", { "os": "linux", "cpu": "arm64" }, "sha512-jaN3dHi0/DDPelk0nLcXRm1q7DNJpjXy7yWaWvbfkPvI+7XNSc/lDOnCLN7gzsyzgu6qSAmgSvP9oXAhP973uQ=="],
+
+ "@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.1", "", { "os": "linux", "cpu": "ia32" }, "sha512-OJykPaF4v8JidKNGz8c/q1lBO44sQNUQtq1KktJXdBLn1hPod5rE/Hko5ugKKZd+D2+o1a9MFGUEIUwO2YfgkQ=="],
+
+ "@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.1", "", { "os": "linux", "cpu": "none" }, "sha512-nGfornQj4dzcq5Vp835oM/o21UMlXzn79KobKlcs3Wz9smwiifknLy4xDCLUU0BWp7b/houtdrgUz7nOGnfIYg=="],
+
+ "@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.1", "", { "os": "linux", "cpu": "none" }, "sha512-1osBbPEFYwIE5IVB/0g2X6i1qInZa1aIoj1TdL4AaAb55xIIgbg8Doq6a5BzYWgr+tEcDzYH67XVnTmUzL+nXg=="],
+
+ "@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.1", "", { "os": "linux", "cpu": "ppc64" }, "sha512-/6VBJOwUf3TdTvJZ82qF3tbLuWsscd7/1w+D9LH0W/SqUgM5/JJD0lrJ1fVIfZsqB6RFmLCe0Xz3fmZc3WtyVg=="],
+
+ "@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.1", "", { "os": "linux", "cpu": "none" }, "sha512-nSut/Mx5gnilhcq2yIMLMe3Wl4FK5wx/o0QuuCLMtmJn+WeWYoEGDN1ipcN72g1WHsnIbxGXd4i/MF0gTcuAjQ=="],
+
+ "@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.1", "", { "os": "linux", "cpu": "s390x" }, "sha512-cEECeLlJNfT8kZHqLarDBQso9a27o2Zd2AQ8USAEoGtejOrCYHNtKP8XQhMDJMtthdF4GBmjR2au3x1udADQQQ=="],
+
+ "@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.1", "", { "os": "linux", "cpu": "x64" }, "sha512-xbfUhu/gnvSEg+EGovRc+kjBAkrvtk38RlerAzQxvMzlB4fXpCFCeUAYzJvrnhFtdeyVCDANSjJvOvGYoeKzFA=="],
+
+ "@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.1", "", { "os": "none", "cpu": "arm64" }, "sha512-O96poM2XGhLtpTh+s4+nP7YCCAfb4tJNRVZHfIE7dgmax+yMP2WgMd2OecBuaATHKTHsLWHQeuaxMRnCsH8+5g=="],
+
+ "@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.1", "", { "os": "none", "cpu": "x64" }, "sha512-X53z6uXip6KFXBQ+Krbx25XHV/NCbzryM6ehOAeAil7X7oa4XIq+394PWGnwaSQ2WRA0KI6PUO6hTO5zeF5ijA=="],
+
+ "@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.1", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-Na9T3szbXezdzM/Kfs3GcRQNjHzM6GzFBeU1/6IV/npKP5ORtp9zbQjvkDJ47s6BCgaAZnnnu/cY1x342+MvZg=="],
+
+ "@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.1", "", { "os": "openbsd", "cpu": "x64" }, "sha512-T3H78X2h1tszfRSf+txbt5aOp/e7TAz3ptVKu9Oyir3IAOFPGV6O9c2naym5TOriy1l0nNf6a4X5UXRZSGX/dw=="],
+
+ "@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.1", "", { "os": "sunos", "cpu": "x64" }, "sha512-2H3RUvcmULO7dIE5EWJH8eubZAI4xw54H1ilJnRNZdeo8dTADEZ21w6J22XBkXqGJbe0+wnNJtw3UXRoLJnFEg=="],
+
+ "@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.1", "", { "os": "win32", "cpu": "arm64" }, "sha512-GE7XvrdOzrb+yVKB9KsRMq+7a2U/K5Cf/8grVFRAGJmfADr/e/ODQ134RK2/eeHqYV5eQRFxb1hY7Nr15fv1NQ=="],
+
+ "@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.1", "", { "os": "win32", "cpu": "ia32" }, "sha512-uOxSJCIcavSiT6UnBhBzE8wy3n0hOkJsBOzy7HDAuTDE++1DJMRRVCPGisULScHL+a/ZwdXPpXD3IyFKjA7K8A=="],
+
+ "@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.1", "", { "os": "win32", "cpu": "x64" }, "sha512-Y1EQdcfwMSeQN/ujR5VayLOJ1BHaK+ssyk0AEzPjC+t1lITgsnccPqFjb6V+LsTp/9Iov4ysfjxLaGJ9RPtkVg=="],
+
+ "@fontsource-variable/roboto": ["@fontsource-variable/roboto@5.2.5", "", {}, "sha512-csqBSOWXv0h5IbPhEqYJua6/nxl7dSNZbBOMeXSO9aqzgPw3GpfgC9kL5M6ULFLRaoDoBD4U9QctoDLKMaTyMg=="],
+
+ "@formatjs/intl-localematcher": ["@formatjs/intl-localematcher@0.6.1", "", { "dependencies": { "tslib": "^2.8.0" } }, "sha512-ePEgLgVCqi2BBFnTMWPfIghu6FkbZnnBVhO2sSxvLfrdFw7wCHAHiDoM2h4NRgjbaY7+B7HgOLZGkK187pZTZg=="],
+
+ "@iconify-json/mdi": ["@iconify-json/mdi@1.2.3", "", { "dependencies": { "@iconify/types": "*" } }, "sha512-O3cLwbDOK7NNDf2ihaQOH5F9JglnulNDFV7WprU2dSoZu3h3cWH//h74uQAB87brHmvFVxIOkuBX2sZSzYhScg=="],
+
+ "@iconify/tools": ["@iconify/tools@4.1.2", "", { "dependencies": { "@iconify/types": "^2.0.0", "@iconify/utils": "^2.3.0", "@types/tar": "^6.1.13", "axios": "^1.8.3", "cheerio": "1.0.0", "domhandler": "^5.0.3", "extract-zip": "^2.0.1", "local-pkg": "^0.5.1", "pathe": "^1.1.2", "svgo": "^3.3.2", "tar": "^6.2.1" } }, "sha512-q6NzLQYEN9zkDfcyBqD3vItHcZw97w/s++3H3TBxUORr57EfHxj6tOW6fyufDjMq+Vl56WXWaPx1csBPYlI5CA=="],
+
+ "@iconify/types": ["@iconify/types@2.0.0", "", {}, "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg=="],
+
+ "@iconify/utils": ["@iconify/utils@2.3.0", "", { "dependencies": { "@antfu/install-pkg": "^1.0.0", "@antfu/utils": "^8.1.0", "@iconify/types": "^2.0.0", "debug": "^4.4.0", "globals": "^15.14.0", "kolorist": "^1.8.0", "local-pkg": "^1.0.0", "mlly": "^1.7.4" } }, "sha512-GmQ78prtwYW6EtzXRU1rY+KwOKfz32PD7iJh6Iyqw68GiKuoZ2A6pRtzWONz5VQJbp50mEjXh/7NkumtrAgRKA=="],
+
+ "@img/sharp-darwin-arm64": ["@img/sharp-darwin-arm64@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-darwin-arm64": "1.0.4" }, "os": "darwin", "cpu": "arm64" }, "sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ=="],
+
+ "@img/sharp-darwin-x64": ["@img/sharp-darwin-x64@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-darwin-x64": "1.0.4" }, "os": "darwin", "cpu": "x64" }, "sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q=="],
+
+ "@img/sharp-libvips-darwin-arm64": ["@img/sharp-libvips-darwin-arm64@1.0.4", "", { "os": "darwin", "cpu": "arm64" }, "sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg=="],
+
+ "@img/sharp-libvips-darwin-x64": ["@img/sharp-libvips-darwin-x64@1.0.4", "", { "os": "darwin", "cpu": "x64" }, "sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ=="],
+
+ "@img/sharp-libvips-linux-arm": ["@img/sharp-libvips-linux-arm@1.0.5", "", { "os": "linux", "cpu": "arm" }, "sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g=="],
+
+ "@img/sharp-libvips-linux-arm64": ["@img/sharp-libvips-linux-arm64@1.0.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA=="],
+
+ "@img/sharp-libvips-linux-s390x": ["@img/sharp-libvips-linux-s390x@1.0.4", "", { "os": "linux", "cpu": "s390x" }, "sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA=="],
+
+ "@img/sharp-libvips-linux-x64": ["@img/sharp-libvips-linux-x64@1.0.4", "", { "os": "linux", "cpu": "x64" }, "sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw=="],
+
+ "@img/sharp-libvips-linuxmusl-arm64": ["@img/sharp-libvips-linuxmusl-arm64@1.0.4", "", { "os": "linux", "cpu": "arm64" }, "sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA=="],
+
+ "@img/sharp-libvips-linuxmusl-x64": ["@img/sharp-libvips-linuxmusl-x64@1.0.4", "", { "os": "linux", "cpu": "x64" }, "sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw=="],
+
+ "@img/sharp-linux-arm": ["@img/sharp-linux-arm@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-arm": "1.0.5" }, "os": "linux", "cpu": "arm" }, "sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ=="],
+
+ "@img/sharp-linux-arm64": ["@img/sharp-linux-arm64@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-arm64": "1.0.4" }, "os": "linux", "cpu": "arm64" }, "sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA=="],
+
+ "@img/sharp-linux-s390x": ["@img/sharp-linux-s390x@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-s390x": "1.0.4" }, "os": "linux", "cpu": "s390x" }, "sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q=="],
+
+ "@img/sharp-linux-x64": ["@img/sharp-linux-x64@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-linux-x64": "1.0.4" }, "os": "linux", "cpu": "x64" }, "sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA=="],
+
+ "@img/sharp-linuxmusl-arm64": ["@img/sharp-linuxmusl-arm64@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-linuxmusl-arm64": "1.0.4" }, "os": "linux", "cpu": "arm64" }, "sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g=="],
+
+ "@img/sharp-linuxmusl-x64": ["@img/sharp-linuxmusl-x64@0.33.5", "", { "optionalDependencies": { "@img/sharp-libvips-linuxmusl-x64": "1.0.4" }, "os": "linux", "cpu": "x64" }, "sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw=="],
+
+ "@img/sharp-wasm32": ["@img/sharp-wasm32@0.33.5", "", { "dependencies": { "@emnapi/runtime": "^1.2.0" }, "cpu": "none" }, "sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg=="],
+
+ "@img/sharp-win32-ia32": ["@img/sharp-win32-ia32@0.33.5", "", { "os": "win32", "cpu": "ia32" }, "sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ=="],
+
+ "@img/sharp-win32-x64": ["@img/sharp-win32-x64@0.33.5", "", { "os": "win32", "cpu": "x64" }, "sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg=="],
+
+ "@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.8", "", { "dependencies": { "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA=="],
+
+ "@jridgewell/resolve-uri": ["@jridgewell/resolve-uri@3.1.2", "", {}, "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw=="],
+
+ "@jridgewell/set-array": ["@jridgewell/set-array@1.2.1", "", {}, "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A=="],
+
+ "@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.0", "", {}, "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ=="],
+
+ "@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.25", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ=="],
+
+ "@mdx-js/mdx": ["@mdx-js/mdx@3.1.0", "", { "dependencies": { "@types/estree": "^1.0.0", "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", "@types/mdx": "^2.0.0", "collapse-white-space": "^2.0.0", "devlop": "^1.0.0", "estree-util-is-identifier-name": "^3.0.0", "estree-util-scope": "^1.0.0", "estree-walker": "^3.0.0", "hast-util-to-jsx-runtime": "^2.0.0", "markdown-extensions": "^2.0.0", "recma-build-jsx": "^1.0.0", "recma-jsx": "^1.0.0", "recma-stringify": "^1.0.0", "rehype-recma": "^1.0.0", "remark-mdx": "^3.0.0", "remark-parse": "^11.0.0", "remark-rehype": "^11.0.0", "source-map": "^0.7.0", "unified": "^11.0.0", "unist-util-position-from-estree": "^2.0.0", "unist-util-stringify-position": "^4.0.0", "unist-util-visit": "^5.0.0", "vfile": "^6.0.0" } }, "sha512-/QxEhPAvGwbQmy1Px8F899L5Uc2KZ6JtXwlCgJmjSTBedwOZkByYcBG4GceIGPXRDsmfxhHazuS+hlOShRLeDw=="],
+
+ "@oslojs/encoding": ["@oslojs/encoding@1.1.0", "", {}, "sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ=="],
+
+ "@pagefind/darwin-arm64": ["@pagefind/darwin-arm64@1.3.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-365BEGl6ChOsauRjyVpBjXybflXAOvoMROw3TucAROHIcdBvXk9/2AmEvGFU0r75+vdQI4LJdJdpH4Y6Yqaj4A=="],
+
+ "@pagefind/darwin-x64": ["@pagefind/darwin-x64@1.3.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-zlGHA23uuXmS8z3XxEGmbHpWDxXfPZ47QS06tGUq0HDcZjXjXHeLG+cboOy828QIV5FXsm9MjfkP5e4ZNbOkow=="],
+
+ "@pagefind/default-ui": ["@pagefind/default-ui@1.3.0", "", {}, "sha512-CGKT9ccd3+oRK6STXGgfH+m0DbOKayX6QGlq38TfE1ZfUcPc5+ulTuzDbZUnMo+bubsEOIypm4Pl2iEyzZ1cNg=="],
+
+ "@pagefind/linux-arm64": ["@pagefind/linux-arm64@1.3.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-8lsxNAiBRUk72JvetSBXs4WRpYrQrVJXjlRRnOL6UCdBN9Nlsz0t7hWstRk36+JqHpGWOKYiuHLzGYqYAqoOnQ=="],
+
+ "@pagefind/linux-x64": ["@pagefind/linux-x64@1.3.0", "", { "os": "linux", "cpu": "x64" }, "sha512-hAvqdPJv7A20Ucb6FQGE6jhjqy+vZ6pf+s2tFMNtMBG+fzcdc91uTw7aP/1Vo5plD0dAOHwdxfkyw0ugal4kcQ=="],
+
+ "@pagefind/windows-x64": ["@pagefind/windows-x64@1.3.0", "", { "os": "win32", "cpu": "x64" }, "sha512-BR1bIRWOMqkf8IoU576YDhij1Wd/Zf2kX/kCI0b2qzCKC8wcc2GQJaaRMCpzvCCrmliO4vtJ6RITp/AnoYUUmQ=="],
+
+ "@polka/url": ["@polka/url@1.0.0-next.28", "", {}, "sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw=="],
+
+ "@rollup/pluginutils": ["@rollup/pluginutils@5.1.4", "", { "dependencies": { "@types/estree": "^1.0.0", "estree-walker": "^2.0.2", "picomatch": "^4.0.2" }, "peerDependencies": { "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "optionalPeers": ["rollup"] }, "sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ=="],
+
+ "@rollup/rollup-android-arm-eabi": ["@rollup/rollup-android-arm-eabi@4.38.0", "", { "os": "android", "cpu": "arm" }, "sha512-ldomqc4/jDZu/xpYU+aRxo3V4mGCV9HeTgUBANI3oIQMOL+SsxB+S2lxMpkFp5UamSS3XuTMQVbsS24R4J4Qjg=="],
+
+ "@rollup/rollup-android-arm64": ["@rollup/rollup-android-arm64@4.38.0", "", { "os": "android", "cpu": "arm64" }, "sha512-VUsgcy4GhhT7rokwzYQP+aV9XnSLkkhlEJ0St8pbasuWO/vwphhZQxYEKUP3ayeCYLhk6gEtacRpYP/cj3GjyQ=="],
+
+ "@rollup/rollup-darwin-arm64": ["@rollup/rollup-darwin-arm64@4.38.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-buA17AYXlW9Rn091sWMq1xGUvWQFOH4N1rqUxGJtEQzhChxWjldGCCup7r/wUnaI6Au8sKXpoh0xg58a7cgcpg=="],
+
+ "@rollup/rollup-darwin-x64": ["@rollup/rollup-darwin-x64@4.38.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-Mgcmc78AjunP1SKXl624vVBOF2bzwNWFPMP4fpOu05vS0amnLcX8gHIge7q/lDAHy3T2HeR0TqrriZDQS2Woeg=="],
+
+ "@rollup/rollup-freebsd-arm64": ["@rollup/rollup-freebsd-arm64@4.38.0", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-zzJACgjLbQTsscxWqvrEQAEh28hqhebpRz5q/uUd1T7VTwUNZ4VIXQt5hE7ncs0GrF+s7d3S4on4TiXUY8KoQA=="],
+
+ "@rollup/rollup-freebsd-x64": ["@rollup/rollup-freebsd-x64@4.38.0", "", { "os": "freebsd", "cpu": "x64" }, "sha512-hCY/KAeYMCyDpEE4pTETam0XZS4/5GXzlLgpi5f0IaPExw9kuB+PDTOTLuPtM10TlRG0U9OSmXJ+Wq9J39LvAg=="],
+
+ "@rollup/rollup-linux-arm-gnueabihf": ["@rollup/rollup-linux-arm-gnueabihf@4.38.0", "", { "os": "linux", "cpu": "arm" }, "sha512-mimPH43mHl4JdOTD7bUMFhBdrg6f9HzMTOEnzRmXbOZqjijCw8LA5z8uL6LCjxSa67H2xiLFvvO67PT05PRKGg=="],
+
+ "@rollup/rollup-linux-arm-musleabihf": ["@rollup/rollup-linux-arm-musleabihf@4.38.0", "", { "os": "linux", "cpu": "arm" }, "sha512-tPiJtiOoNuIH8XGG8sWoMMkAMm98PUwlriOFCCbZGc9WCax+GLeVRhmaxjJtz6WxrPKACgrwoZ5ia/uapq3ZVg=="],
+
+ "@rollup/rollup-linux-arm64-gnu": ["@rollup/rollup-linux-arm64-gnu@4.38.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-wZco59rIVuB0tjQS0CSHTTUcEde+pXQWugZVxWaQFdQQ1VYub/sTrNdY76D1MKdN2NB48JDuGABP6o6fqos8mA=="],
+
+ "@rollup/rollup-linux-arm64-musl": ["@rollup/rollup-linux-arm64-musl@4.38.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-fQgqwKmW0REM4LomQ+87PP8w8xvU9LZfeLBKybeli+0yHT7VKILINzFEuggvnV9M3x1Ed4gUBmGUzCo/ikmFbQ=="],
+
+ "@rollup/rollup-linux-loongarch64-gnu": ["@rollup/rollup-linux-loongarch64-gnu@4.38.0", "", { "os": "linux", "cpu": "none" }, "sha512-hz5oqQLXTB3SbXpfkKHKXLdIp02/w3M+ajp8p4yWOWwQRtHWiEOCKtc9U+YXahrwdk+3qHdFMDWR5k+4dIlddg=="],
+
+ "@rollup/rollup-linux-powerpc64le-gnu": ["@rollup/rollup-linux-powerpc64le-gnu@4.38.0", "", { "os": "linux", "cpu": "ppc64" }, "sha512-NXqygK/dTSibQ+0pzxsL3r4Xl8oPqVoWbZV9niqOnIHV/J92fe65pOir0xjkUZDRSPyFRvu+4YOpJF9BZHQImw=="],
+
+ "@rollup/rollup-linux-riscv64-gnu": ["@rollup/rollup-linux-riscv64-gnu@4.38.0", "", { "os": "linux", "cpu": "none" }, "sha512-GEAIabR1uFyvf/jW/5jfu8gjM06/4kZ1W+j1nWTSSB3w6moZEBm7iBtzwQ3a1Pxos2F7Gz+58aVEnZHU295QTg=="],
+
+ "@rollup/rollup-linux-riscv64-musl": ["@rollup/rollup-linux-riscv64-musl@4.38.0", "", { "os": "linux", "cpu": "none" }, "sha512-9EYTX+Gus2EGPbfs+fh7l95wVADtSQyYw4DfSBcYdUEAmP2lqSZY0Y17yX/3m5VKGGJ4UmIH5LHLkMJft3bYoA=="],
+
+ "@rollup/rollup-linux-s390x-gnu": ["@rollup/rollup-linux-s390x-gnu@4.38.0", "", { "os": "linux", "cpu": "s390x" }, "sha512-Mpp6+Z5VhB9VDk7RwZXoG2qMdERm3Jw07RNlXHE0bOnEeX+l7Fy4bg+NxfyN15ruuY3/7Vrbpm75J9QHFqj5+Q=="],
+
+ "@rollup/rollup-linux-x64-gnu": ["@rollup/rollup-linux-x64-gnu@4.38.0", "", { "os": "linux", "cpu": "x64" }, "sha512-vPvNgFlZRAgO7rwncMeE0+8c4Hmc+qixnp00/Uv3ht2x7KYrJ6ERVd3/R0nUtlE6/hu7/HiiNHJ/rP6knRFt1w=="],
+
+ "@rollup/rollup-linux-x64-musl": ["@rollup/rollup-linux-x64-musl@4.38.0", "", { "os": "linux", "cpu": "x64" }, "sha512-q5Zv+goWvQUGCaL7fU8NuTw8aydIL/C9abAVGCzRReuj5h30TPx4LumBtAidrVOtXnlB+RZkBtExMsfqkMfb8g=="],
+
+ "@rollup/rollup-win32-arm64-msvc": ["@rollup/rollup-win32-arm64-msvc@4.38.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-u/Jbm1BU89Vftqyqbmxdq14nBaQjQX1HhmsdBWqSdGClNaKwhjsg5TpW+5Ibs1mb8Es9wJiMdl86BcmtUVXNZg=="],
+
+ "@rollup/rollup-win32-ia32-msvc": ["@rollup/rollup-win32-ia32-msvc@4.38.0", "", { "os": "win32", "cpu": "ia32" }, "sha512-mqu4PzTrlpNHHbu5qleGvXJoGgHpChBlrBx/mEhTPpnAL1ZAYFlvHD7rLK839LLKQzqEQMFJfGrrOHItN4ZQqA=="],
+
+ "@rollup/rollup-win32-x64-msvc": ["@rollup/rollup-win32-x64-msvc@4.38.0", "", { "os": "win32", "cpu": "x64" }, "sha512-jjqy3uWlecfB98Psxb5cD6Fny9Fupv9LrDSPTQZUROqjvZmcCqNu4UMl7qqhlUUGpwiAkotj6GYu4SZdcr/nLw=="],
+
+ "@shikijs/core": ["@shikijs/core@3.2.1", "", { "dependencies": { "@shikijs/types": "3.2.1", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4", "hast-util-to-html": "^9.0.5" } }, "sha512-FhsdxMWYu/C11sFisEp7FMGBtX/OSSbnXZDMBhGuUDBNTdsoZlMSgQv5f90rwvzWAdWIW6VobD+G3IrazxA6dQ=="],
+
+ "@shikijs/engine-javascript": ["@shikijs/engine-javascript@3.2.1", "", { "dependencies": { "@shikijs/types": "3.2.1", "@shikijs/vscode-textmate": "^10.0.2", "oniguruma-to-es": "^4.1.0" } }, "sha512-eMdcUzN3FMQYxOmRf2rmU8frikzoSHbQDFH2hIuXsrMO+IBOCI9BeeRkCiBkcLDHeRKbOCtYMJK3D6U32ooU9Q=="],
+
+ "@shikijs/engine-oniguruma": ["@shikijs/engine-oniguruma@3.2.1", "", { "dependencies": { "@shikijs/types": "3.2.1", "@shikijs/vscode-textmate": "^10.0.2" } }, "sha512-wZZAkayEn6qu2+YjenEoFqj0OyQI64EWsNR6/71d1EkG4sxEOFooowKivsWPpaWNBu3sxAG+zPz5kzBL/SsreQ=="],
+
+ "@shikijs/langs": ["@shikijs/langs@3.2.1", "", { "dependencies": { "@shikijs/types": "3.2.1" } }, "sha512-If0iDHYRSGbihiA8+7uRsgb1er1Yj11pwpX1c6HLYnizDsKAw5iaT3JXj5ZpaimXSWky/IhxTm7C6nkiYVym+A=="],
+
+ "@shikijs/themes": ["@shikijs/themes@3.2.1", "", { "dependencies": { "@shikijs/types": "3.2.1" } }, "sha512-k5DKJUT8IldBvAm8WcrDT5+7GA7se6lLksR+2E3SvyqGTyFMzU2F9Gb7rmD+t+Pga1MKrYFxDIeyWjMZWM6uBQ=="],
+
+ "@shikijs/types": ["@shikijs/types@3.2.1", "", { "dependencies": { "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" } }, "sha512-/NTWAk4KE2M8uac0RhOsIhYQf4pdU0OywQuYDGIGAJ6Mjunxl2cGiuLkvu4HLCMn+OTTLRWkjZITp+aYJv60yA=="],
+
+ "@shikijs/vscode-textmate": ["@shikijs/vscode-textmate@10.0.2", "", {}, "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg=="],
+
+ "@trysound/sax": ["@trysound/sax@0.2.0", "", {}, "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA=="],
+
+ "@types/babel__core": ["@types/babel__core@7.20.5", "", { "dependencies": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", "@types/babel__generator": "*", "@types/babel__template": "*", "@types/babel__traverse": "*" } }, "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA=="],
+
+ "@types/babel__generator": ["@types/babel__generator@7.6.8", "", { "dependencies": { "@babel/types": "^7.0.0" } }, "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw=="],
+
+ "@types/babel__template": ["@types/babel__template@7.4.4", "", { "dependencies": { "@babel/parser": "^7.1.0", "@babel/types": "^7.0.0" } }, "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A=="],
+
+ "@types/babel__traverse": ["@types/babel__traverse@7.20.7", "", { "dependencies": { "@babel/types": "^7.20.7" } }, "sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng=="],
+
+ "@types/bun": ["@types/bun@1.2.8", "", { "dependencies": { "bun-types": "1.2.7" } }, "sha512-t8L1RvJVUghW5V+M/fL3Thbxcs0HwNsXsnTEBEfEVqGteiJToOlZ/fyOEaR1kZsNqnu+3XA4RI/qmnX4w6+S+w=="],
+
+ "@types/debug": ["@types/debug@4.1.12", "", { "dependencies": { "@types/ms": "*" } }, "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ=="],
+
+ "@types/estree": ["@types/estree@1.0.7", "", {}, "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ=="],
+
+ "@types/estree-jsx": ["@types/estree-jsx@1.0.5", "", { "dependencies": { "@types/estree": "*" } }, "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg=="],
+
+ "@types/hast": ["@types/hast@3.0.4", "", { "dependencies": { "@types/unist": "*" } }, "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ=="],
+
+ "@types/mdast": ["@types/mdast@4.0.4", "", { "dependencies": { "@types/unist": "*" } }, "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA=="],
+
+ "@types/mdx": ["@types/mdx@2.0.13", "", {}, "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw=="],
+
+ "@types/ms": ["@types/ms@2.1.0", "", {}, "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA=="],
+
+ "@types/nlcst": ["@types/nlcst@2.0.3", "", { "dependencies": { "@types/unist": "*" } }, "sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA=="],
+
+ "@types/node": ["@types/node@22.13.14", "", { "dependencies": { "undici-types": "~6.20.0" } }, "sha512-Zs/Ollc1SJ8nKUAgc7ivOEdIBM8JAKgrqqUYi2J997JuKO7/tpQC+WCetQ1sypiKCQWHdvdg9wBNpUPEWZae7w=="],
+
+ "@types/tar": ["@types/tar@6.1.13", "", { "dependencies": { "@types/node": "*", "minipass": "^4.0.0" } }, "sha512-IznnlmU5f4WcGTh2ltRu/Ijpmk8wiWXfF0VA4s+HPjHZgvFggk1YaIkbo5krX/zUCzWF8N/l4+W/LNxnvAJ8nw=="],
+
+ "@types/unist": ["@types/unist@3.0.3", "", {}, "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q=="],
+
+ "@types/ws": ["@types/ws@8.18.0", "", { "dependencies": { "@types/node": "*" } }, "sha512-8svvI3hMyvN0kKCJMvTJP/x6Y/EoQbepff882wL+Sn5QsXb3etnamgrJq4isrBxSJj5L2AuXcI0+bgkoAXGUJw=="],
+
+ "@types/xast": ["@types/xast@2.0.4", "", { "dependencies": { "@types/unist": "*" } }, "sha512-6Q6HWhHXR5EEKcxgF5YBW5XPAAtCi/GgyCWHx6wR7dZTXF5rv2B2fm0hgpSscJqaVDVm6n1DAVbsM8RSM5PlMw=="],
+
+ "@types/yauzl": ["@types/yauzl@2.10.3", "", { "dependencies": { "@types/node": "*" } }, "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q=="],
+
+ "@ungap/structured-clone": ["@ungap/structured-clone@1.3.0", "", {}, "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g=="],
+
+ "acorn": ["acorn@8.14.1", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg=="],
+
+ "acorn-jsx": ["acorn-jsx@5.3.2", "", { "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ=="],
+
+ "ansi-align": ["ansi-align@3.0.1", "", { "dependencies": { "string-width": "^4.1.0" } }, "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w=="],
+
+ "ansi-regex": ["ansi-regex@6.1.0", "", {}, "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA=="],
+
+ "ansi-styles": ["ansi-styles@6.2.1", "", {}, "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug=="],
+
+ "anymatch": ["anymatch@3.1.3", "", { "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" } }, "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw=="],
+
+ "argparse": ["argparse@2.0.1", "", {}, "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="],
+
+ "aria-query": ["aria-query@5.3.2", "", {}, "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw=="],
+
+ "array-iterate": ["array-iterate@2.0.1", "", {}, "sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg=="],
+
+ "astring": ["astring@1.9.0", "", { "bin": { "astring": "bin/astring" } }, "sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg=="],
+
+ "astro": ["astro@5.5.5", "", { "dependencies": { "@astrojs/compiler": "^2.11.0", "@astrojs/internal-helpers": "0.6.1", "@astrojs/markdown-remark": "6.3.1", "@astrojs/telemetry": "3.2.0", "@oslojs/encoding": "^1.1.0", "@rollup/pluginutils": "^5.1.4", "acorn": "^8.14.1", "aria-query": "^5.3.2", "axobject-query": "^4.1.0", "boxen": "8.0.1", "ci-info": "^4.2.0", "clsx": "^2.1.1", "common-ancestor-path": "^1.0.1", "cookie": "^1.0.2", "cssesc": "^3.0.0", "debug": "^4.4.0", "deterministic-object-hash": "^2.0.2", "devalue": "^5.1.1", "diff": "^5.2.0", "dlv": "^1.1.3", "dset": "^3.1.4", "es-module-lexer": "^1.6.0", "esbuild": "^0.25.0", "estree-walker": "^3.0.3", "flattie": "^1.1.1", "github-slugger": "^2.0.0", "html-escaper": "3.0.3", "http-cache-semantics": "^4.1.1", "js-yaml": "^4.1.0", "kleur": "^4.1.5", "magic-string": "^0.30.17", "magicast": "^0.3.5", "mrmime": "^2.0.1", "neotraverse": "^0.6.18", "p-limit": "^6.2.0", "p-queue": "^8.1.0", "package-manager-detector": "^1.0.0", "picomatch": "^4.0.2", "prompts": "^2.4.2", "rehype": "^13.0.2", "semver": "^7.7.1", "shiki": "^3.0.0", "tinyexec": "^0.3.2", "tinyglobby": "^0.2.12", "tsconfck": "^3.1.5", "ultrahtml": "^1.5.3", "unist-util-visit": "^5.0.0", "unstorage": "^1.15.0", "vfile": "^6.0.3", "vite": "^6.2.3", "vitefu": "^1.0.6", "xxhash-wasm": "^1.1.0", "yargs-parser": "^21.1.1", "yocto-spinner": "^0.2.1", "zod": "^3.24.2", "zod-to-json-schema": "^3.24.3", "zod-to-ts": "^1.2.0" }, "optionalDependencies": { "sharp": "^0.33.3" }, "bin": { "astro": "astro.js" } }, "sha512-fdnnK5dhWNIQT/cXzvaGs9il4T5noi4jafobdntbuNOrRxI1JnOxDfrtBadUo6cknCRCFhYrXh4VndCqj1a4Sg=="],
+
+ "astro-icon": ["astro-icon@1.1.5", "", { "dependencies": { "@iconify/tools": "^4.0.5", "@iconify/types": "^2.0.0", "@iconify/utils": "^2.1.30" } }, "sha512-CJYS5nWOw9jz4RpGWmzNQY7D0y2ZZacH7atL2K9DeJXJVaz7/5WrxeyIxO8KASk1jCM96Q4LjRx/F3R+InjJrw=="],
+
+ "astro-pagefind": ["astro-pagefind@1.8.3", "", { "dependencies": { "@pagefind/default-ui": "^1.2.0", "pagefind": "^1.2.0", "sirv": "^3.0.0" }, "peerDependencies": { "astro": "^2.0.4 || ^3 || ^4 || ^5" } }, "sha512-Nfo1TdlEHdkXTiI0KpimLqX6awK3qWTil7IOJvk5Q8x+0VBTpIEp9QvGgoAxXDe3upAHLVsg4y7U1uUPm7GC9w=="],
+
+ "asynckit": ["asynckit@0.4.0", "", {}, "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="],
+
+ "axios": ["axios@1.8.4", "", { "dependencies": { "follow-redirects": "^1.15.6", "form-data": "^4.0.0", "proxy-from-env": "^1.1.0" } }, "sha512-eBSYY4Y68NNlHbHBMdeDmKNtDgXWhQsJcGqzO3iLUM0GraQFSS9cVgPX5I9b3lbdFKyYoAEGAZF1DwhTaljNAw=="],
+
+ "axobject-query": ["axobject-query@4.1.0", "", {}, "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ=="],
+
+ "babel-plugin-jsx-dom-expressions": ["babel-plugin-jsx-dom-expressions@0.39.7", "", { "dependencies": { "@babel/helper-module-imports": "7.18.6", "@babel/plugin-syntax-jsx": "^7.18.6", "@babel/types": "^7.20.7", "html-entities": "2.3.3", "parse5": "^7.1.2", "validate-html-nesting": "^1.2.1" }, "peerDependencies": { "@babel/core": "^7.20.12" } }, "sha512-8GzVmFla7jaTNWW8W+lTMl9YGva4/06CtwJjySnkYtt8G1v9weCzc2SuF1DfrudcCNb2Doetc1FRg33swBYZCA=="],
+
+ "babel-preset-solid": ["babel-preset-solid@1.9.5", "", { "dependencies": { "babel-plugin-jsx-dom-expressions": "^0.39.7" }, "peerDependencies": { "@babel/core": "^7.0.0" } }, "sha512-85I3osODJ1LvZbv8wFozROV1vXq32BubqHXAGu73A//TRs3NLI1OFP83AQBUTSQHwgZQmARjHlJciym3we+V+w=="],
+
+ "bail": ["bail@2.0.2", "", {}, "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw=="],
+
+ "base-64": ["base-64@1.0.0", "", {}, "sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg=="],
+
+ "boolbase": ["boolbase@1.0.0", "", {}, "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww=="],
+
+ "boxen": ["boxen@8.0.1", "", { "dependencies": { "ansi-align": "^3.0.1", "camelcase": "^8.0.0", "chalk": "^5.3.0", "cli-boxes": "^3.0.0", "string-width": "^7.2.0", "type-fest": "^4.21.0", "widest-line": "^5.0.0", "wrap-ansi": "^9.0.0" } }, "sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw=="],
+
+ "browserslist": ["browserslist@4.24.4", "", { "dependencies": { "caniuse-lite": "^1.0.30001688", "electron-to-chromium": "^1.5.73", "node-releases": "^2.0.19", "update-browserslist-db": "^1.1.1" }, "bin": { "browserslist": "cli.js" } }, "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A=="],
+
+ "buffer-crc32": ["buffer-crc32@0.2.13", "", {}, "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ=="],
+
+ "bun-types": ["bun-types@1.2.7", "", { "dependencies": { "@types/node": "*", "@types/ws": "*" } }, "sha512-P4hHhk7kjF99acXqKvltyuMQ2kf/rzIw3ylEDpCxDS9Xa0X0Yp/gJu/vDCucmWpiur5qJ0lwB2bWzOXa2GlHqA=="],
+
+ "call-bind-apply-helpers": ["call-bind-apply-helpers@1.0.2", "", { "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2" } }, "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ=="],
+
+ "camelcase": ["camelcase@8.0.0", "", {}, "sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA=="],
+
+ "caniuse-lite": ["caniuse-lite@1.0.30001707", "", {}, "sha512-3qtRjw/HQSMlDWf+X79N206fepf4SOOU6SQLMaq/0KkZLmSjPxAkBOQQ+FxbHKfHmYLZFfdWsO3KA90ceHPSnw=="],
+
+ "ccount": ["ccount@2.0.1", "", {}, "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg=="],
+
+ "chalk": ["chalk@5.4.1", "", {}, "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w=="],
+
+ "character-entities": ["character-entities@2.0.2", "", {}, "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ=="],
+
+ "character-entities-html4": ["character-entities-html4@2.1.0", "", {}, "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA=="],
+
+ "character-entities-legacy": ["character-entities-legacy@3.0.0", "", {}, "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ=="],
+
+ "character-reference-invalid": ["character-reference-invalid@2.0.1", "", {}, "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw=="],
+
+ "cheerio": ["cheerio@1.0.0", "", { "dependencies": { "cheerio-select": "^2.1.0", "dom-serializer": "^2.0.0", "domhandler": "^5.0.3", "domutils": "^3.1.0", "encoding-sniffer": "^0.2.0", "htmlparser2": "^9.1.0", "parse5": "^7.1.2", "parse5-htmlparser2-tree-adapter": "^7.0.0", "parse5-parser-stream": "^7.1.2", "undici": "^6.19.5", "whatwg-mimetype": "^4.0.0" } }, "sha512-quS9HgjQpdaXOvsZz82Oz7uxtXiy6UIsIQcpBj7HRw2M63Skasm9qlDocAM7jNuaxdhpPU7c4kJN+gA5MCu4ww=="],
+
+ "cheerio-select": ["cheerio-select@2.1.0", "", { "dependencies": { "boolbase": "^1.0.0", "css-select": "^5.1.0", "css-what": "^6.1.0", "domelementtype": "^2.3.0", "domhandler": "^5.0.3", "domutils": "^3.0.1" } }, "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g=="],
+
+ "chokidar": ["chokidar@4.0.3", "", { "dependencies": { "readdirp": "^4.0.1" } }, "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA=="],
+
+ "chownr": ["chownr@2.0.0", "", {}, "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ=="],
+
+ "ci-info": ["ci-info@4.2.0", "", {}, "sha512-cYY9mypksY8NRqgDB1XD1RiJL338v/551niynFTGkZOO2LHuB2OmOYxDIe/ttN9AHwrqdum1360G3ald0W9kCg=="],
+
+ "cli-boxes": ["cli-boxes@3.0.0", "", {}, "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g=="],
+
+ "clsx": ["clsx@2.1.1", "", {}, "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA=="],
+
+ "collapse-white-space": ["collapse-white-space@2.1.0", "", {}, "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw=="],
+
+ "color": ["color@4.2.3", "", { "dependencies": { "color-convert": "^2.0.1", "color-string": "^1.9.0" } }, "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A=="],
+
+ "color-convert": ["color-convert@2.0.1", "", { "dependencies": { "color-name": "~1.1.4" } }, "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="],
+
+ "color-name": ["color-name@1.1.4", "", {}, "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="],
+
+ "color-string": ["color-string@1.9.1", "", { "dependencies": { "color-name": "^1.0.0", "simple-swizzle": "^0.2.2" } }, "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg=="],
+
+ "combined-stream": ["combined-stream@1.0.8", "", { "dependencies": { "delayed-stream": "~1.0.0" } }, "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg=="],
+
+ "comma-separated-tokens": ["comma-separated-tokens@2.0.3", "", {}, "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg=="],
+
+ "commander": ["commander@7.2.0", "", {}, "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw=="],
+
+ "common-ancestor-path": ["common-ancestor-path@1.0.1", "", {}, "sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w=="],
+
+ "confbox": ["confbox@0.1.8", "", {}, "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w=="],
+
+ "convert-source-map": ["convert-source-map@2.0.0", "", {}, "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="],
+
+ "cookie": ["cookie@1.0.2", "", {}, "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA=="],
+
+ "cookie-es": ["cookie-es@1.2.2", "", {}, "sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg=="],
+
+ "crossws": ["crossws@0.3.4", "", { "dependencies": { "uncrypto": "^0.1.3" } }, "sha512-uj0O1ETYX1Bh6uSgktfPvwDiPYGQ3aI4qVsaC/LWpkIzGj1nUYm5FK3K+t11oOlpN01lGbprFCH4wBlKdJjVgw=="],
+
+ "css-select": ["css-select@5.1.0", "", { "dependencies": { "boolbase": "^1.0.0", "css-what": "^6.1.0", "domhandler": "^5.0.2", "domutils": "^3.0.1", "nth-check": "^2.0.1" } }, "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg=="],
+
+ "css-tree": ["css-tree@2.3.1", "", { "dependencies": { "mdn-data": "2.0.30", "source-map-js": "^1.0.1" } }, "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw=="],
+
+ "css-what": ["css-what@6.1.0", "", {}, "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw=="],
+
+ "cssesc": ["cssesc@3.0.0", "", { "bin": { "cssesc": "bin/cssesc" } }, "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg=="],
+
+ "csso": ["csso@5.0.5", "", { "dependencies": { "css-tree": "~2.2.0" } }, "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ=="],
+
+ "csstype": ["csstype@3.1.3", "", {}, "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="],
+
+ "date-fns": ["date-fns@4.1.0", "", {}, "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg=="],
+
+ "debug": ["debug@4.4.0", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA=="],
+
+ "decode-named-character-reference": ["decode-named-character-reference@1.1.0", "", { "dependencies": { "character-entities": "^2.0.0" } }, "sha512-Wy+JTSbFThEOXQIR2L6mxJvEs+veIzpmqD7ynWxMXGpnk3smkHQOp6forLdHsKpAMW9iJpaBBIxz285t1n1C3w=="],
+
+ "defu": ["defu@6.1.4", "", {}, "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg=="],
+
+ "delayed-stream": ["delayed-stream@1.0.0", "", {}, "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="],
+
+ "dequal": ["dequal@2.0.3", "", {}, "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA=="],
+
+ "destr": ["destr@2.0.3", "", {}, "sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ=="],
+
+ "detect-libc": ["detect-libc@2.0.3", "", {}, "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw=="],
+
+ "deterministic-object-hash": ["deterministic-object-hash@2.0.2", "", { "dependencies": { "base-64": "^1.0.0" } }, "sha512-KxektNH63SrbfUyDiwXqRb1rLwKt33AmMv+5Nhsw1kqZ13SJBRTgZHtGbE+hH3a1mVW1cz+4pqSWVPAtLVXTzQ=="],
+
+ "devalue": ["devalue@5.1.1", "", {}, "sha512-maua5KUiapvEwiEAe+XnlZ3Rh0GD+qI1J/nb9vrJc3muPXvcF/8gXYTWF76+5DAqHyDUtOIImEuo0YKE9mshVw=="],
+
+ "devlop": ["devlop@1.1.0", "", { "dependencies": { "dequal": "^2.0.0" } }, "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA=="],
+
+ "diff": ["diff@5.2.0", "", {}, "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A=="],
+
+ "dlv": ["dlv@1.1.3", "", {}, "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA=="],
+
+ "dom-serializer": ["dom-serializer@2.0.0", "", { "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.2", "entities": "^4.2.0" } }, "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg=="],
+
+ "domelementtype": ["domelementtype@2.3.0", "", {}, "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw=="],
+
+ "domhandler": ["domhandler@5.0.3", "", { "dependencies": { "domelementtype": "^2.3.0" } }, "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w=="],
+
+ "domutils": ["domutils@3.2.2", "", { "dependencies": { "dom-serializer": "^2.0.0", "domelementtype": "^2.3.0", "domhandler": "^5.0.3" } }, "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw=="],
+
+ "dset": ["dset@3.1.4", "", {}, "sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA=="],
+
+ "dunder-proto": ["dunder-proto@1.0.1", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.1", "es-errors": "^1.3.0", "gopd": "^1.2.0" } }, "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A=="],
+
+ "electron-to-chromium": ["electron-to-chromium@1.5.128", "", {}, "sha512-bo1A4HH/NS522Ws0QNFIzyPcyUUNV/yyy70Ho1xqfGYzPUme2F/xr4tlEOuM6/A538U1vDA7a4XfCd1CKRegKQ=="],
+
+ "emoji-regex": ["emoji-regex@10.4.0", "", {}, "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw=="],
+
+ "emoji-regex-xs": ["emoji-regex-xs@1.0.0", "", {}, "sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg=="],
+
+ "encoding-sniffer": ["encoding-sniffer@0.2.0", "", { "dependencies": { "iconv-lite": "^0.6.3", "whatwg-encoding": "^3.1.1" } }, "sha512-ju7Wq1kg04I3HtiYIOrUrdfdDvkyO9s5XM8QAj/bN61Yo/Vb4vgJxy5vi4Yxk01gWHbrofpPtpxM8bKger9jhg=="],
+
+ "end-of-stream": ["end-of-stream@1.4.4", "", { "dependencies": { "once": "^1.4.0" } }, "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q=="],
+
+ "entities": ["entities@4.5.0", "", {}, "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw=="],
+
+ "es-define-property": ["es-define-property@1.0.1", "", {}, "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g=="],
+
+ "es-errors": ["es-errors@1.3.0", "", {}, "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="],
+
+ "es-module-lexer": ["es-module-lexer@1.6.0", "", {}, "sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ=="],
+
+ "es-object-atoms": ["es-object-atoms@1.1.1", "", { "dependencies": { "es-errors": "^1.3.0" } }, "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA=="],
+
+ "es-set-tostringtag": ["es-set-tostringtag@2.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "get-intrinsic": "^1.2.6", "has-tostringtag": "^1.0.2", "hasown": "^2.0.2" } }, "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA=="],
+
+ "esast-util-from-estree": ["esast-util-from-estree@2.0.0", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "devlop": "^1.0.0", "estree-util-visit": "^2.0.0", "unist-util-position-from-estree": "^2.0.0" } }, "sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ=="],
+
+ "esast-util-from-js": ["esast-util-from-js@2.0.1", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "acorn": "^8.0.0", "esast-util-from-estree": "^2.0.0", "vfile-message": "^4.0.0" } }, "sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw=="],
+
+ "esbuild": ["esbuild@0.25.1", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.1", "@esbuild/android-arm": "0.25.1", "@esbuild/android-arm64": "0.25.1", "@esbuild/android-x64": "0.25.1", "@esbuild/darwin-arm64": "0.25.1", "@esbuild/darwin-x64": "0.25.1", "@esbuild/freebsd-arm64": "0.25.1", "@esbuild/freebsd-x64": "0.25.1", "@esbuild/linux-arm": "0.25.1", "@esbuild/linux-arm64": "0.25.1", "@esbuild/linux-ia32": "0.25.1", "@esbuild/linux-loong64": "0.25.1", "@esbuild/linux-mips64el": "0.25.1", "@esbuild/linux-ppc64": "0.25.1", "@esbuild/linux-riscv64": "0.25.1", "@esbuild/linux-s390x": "0.25.1", "@esbuild/linux-x64": "0.25.1", "@esbuild/netbsd-arm64": "0.25.1", "@esbuild/netbsd-x64": "0.25.1", "@esbuild/openbsd-arm64": "0.25.1", "@esbuild/openbsd-x64": "0.25.1", "@esbuild/sunos-x64": "0.25.1", "@esbuild/win32-arm64": "0.25.1", "@esbuild/win32-ia32": "0.25.1", "@esbuild/win32-x64": "0.25.1" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-BGO5LtrGC7vxnqucAe/rmvKdJllfGaYWdyABvyMoXQlfYMb2bbRuReWR5tEGE//4LcNJj9XrkovTqNYRFZHAMQ=="],
+
+ "escalade": ["escalade@3.2.0", "", {}, "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="],
+
+ "escape-string-regexp": ["escape-string-regexp@5.0.0", "", {}, "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw=="],
+
+ "estree-util-attach-comments": ["estree-util-attach-comments@3.0.0", "", { "dependencies": { "@types/estree": "^1.0.0" } }, "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw=="],
+
+ "estree-util-build-jsx": ["estree-util-build-jsx@3.0.1", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "devlop": "^1.0.0", "estree-util-is-identifier-name": "^3.0.0", "estree-walker": "^3.0.0" } }, "sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ=="],
+
+ "estree-util-is-identifier-name": ["estree-util-is-identifier-name@3.0.0", "", {}, "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg=="],
+
+ "estree-util-scope": ["estree-util-scope@1.0.0", "", { "dependencies": { "@types/estree": "^1.0.0", "devlop": "^1.0.0" } }, "sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ=="],
+
+ "estree-util-to-js": ["estree-util-to-js@2.0.0", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "astring": "^1.8.0", "source-map": "^0.7.0" } }, "sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg=="],
+
+ "estree-util-visit": ["estree-util-visit@2.0.0", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "@types/unist": "^3.0.0" } }, "sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww=="],
+
+ "estree-walker": ["estree-walker@3.0.3", "", { "dependencies": { "@types/estree": "^1.0.0" } }, "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g=="],
+
+ "eventemitter3": ["eventemitter3@5.0.1", "", {}, "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA=="],
+
+ "exsolve": ["exsolve@1.0.4", "", {}, "sha512-xsZH6PXaER4XoV+NiT7JHp1bJodJVT+cxeSH1G0f0tlT0lJqYuHUP3bUx2HtfTDvOagMINYp8rsqusxud3RXhw=="],
+
+ "extend": ["extend@3.0.2", "", {}, "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="],
+
+ "extract-zip": ["extract-zip@2.0.1", "", { "dependencies": { "debug": "^4.1.1", "get-stream": "^5.1.0", "yauzl": "^2.10.0" }, "optionalDependencies": { "@types/yauzl": "^2.9.1" }, "bin": { "extract-zip": "cli.js" } }, "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg=="],
+
+ "fd-slicer": ["fd-slicer@1.1.0", "", { "dependencies": { "pend": "~1.2.0" } }, "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g=="],
+
+ "fdir": ["fdir@6.4.3", "", { "peerDependencies": { "picomatch": "^3 || ^4" }, "optionalPeers": ["picomatch"] }, "sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw=="],
+
+ "flattie": ["flattie@1.1.1", "", {}, "sha512-9UbaD6XdAL97+k/n+N7JwX46K/M6Zc6KcFYskrYL8wbBV/Uyk0CTAMY0VT+qiK5PM7AIc9aTWYtq65U7T+aCNQ=="],
+
+ "follow-redirects": ["follow-redirects@1.15.9", "", {}, "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ=="],
+
+ "form-data": ["form-data@4.0.2", "", { "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", "es-set-tostringtag": "^2.1.0", "mime-types": "^2.1.12" } }, "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w=="],
+
+ "fs-minipass": ["fs-minipass@2.1.0", "", { "dependencies": { "minipass": "^3.0.0" } }, "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg=="],
+
+ "fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="],
+
+ "function-bind": ["function-bind@1.1.2", "", {}, "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="],
+
+ "gensync": ["gensync@1.0.0-beta.2", "", {}, "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg=="],
+
+ "get-east-asian-width": ["get-east-asian-width@1.3.0", "", {}, "sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ=="],
+
+ "get-intrinsic": ["get-intrinsic@1.3.0", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", "get-proto": "^1.0.1", "gopd": "^1.2.0", "has-symbols": "^1.1.0", "hasown": "^2.0.2", "math-intrinsics": "^1.1.0" } }, "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ=="],
+
+ "get-proto": ["get-proto@1.0.1", "", { "dependencies": { "dunder-proto": "^1.0.1", "es-object-atoms": "^1.0.0" } }, "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g=="],
+
+ "get-stream": ["get-stream@5.2.0", "", { "dependencies": { "pump": "^3.0.0" } }, "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA=="],
+
+ "github-slugger": ["github-slugger@2.0.0", "", {}, "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw=="],
+
+ "globals": ["globals@15.15.0", "", {}, "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg=="],
+
+ "gopd": ["gopd@1.2.0", "", {}, "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg=="],
+
+ "h3": ["h3@1.15.1", "", { "dependencies": { "cookie-es": "^1.2.2", "crossws": "^0.3.3", "defu": "^6.1.4", "destr": "^2.0.3", "iron-webcrypto": "^1.2.1", "node-mock-http": "^1.0.0", "radix3": "^1.1.2", "ufo": "^1.5.4", "uncrypto": "^0.1.3" } }, "sha512-+ORaOBttdUm1E2Uu/obAyCguiI7MbBvsLTndc3gyK3zU+SYLoZXlyCP9Xgy0gikkGufFLTZXCXD6+4BsufnmHA=="],
+
+ "has-symbols": ["has-symbols@1.1.0", "", {}, "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ=="],
+
+ "has-tostringtag": ["has-tostringtag@1.0.2", "", { "dependencies": { "has-symbols": "^1.0.3" } }, "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw=="],
+
+ "hasown": ["hasown@2.0.2", "", { "dependencies": { "function-bind": "^1.1.2" } }, "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ=="],
+
+ "hast": ["hast@1.0.0", "", {}, "sha512-vFUqlRV5C+xqP76Wwq2SrM0kipnmpxJm7OfvVXpB35Fp+Fn4MV+ozr+JZr5qFvyR1q/U+Foim2x+3P+x9S1PLA=="],
+
+ "hast-util-from-html": ["hast-util-from-html@2.0.3", "", { "dependencies": { "@types/hast": "^3.0.0", "devlop": "^1.1.0", "hast-util-from-parse5": "^8.0.0", "parse5": "^7.0.0", "vfile": "^6.0.0", "vfile-message": "^4.0.0" } }, "sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw=="],
+
+ "hast-util-from-parse5": ["hast-util-from-parse5@8.0.3", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "devlop": "^1.0.0", "hastscript": "^9.0.0", "property-information": "^7.0.0", "vfile": "^6.0.0", "vfile-location": "^5.0.0", "web-namespaces": "^2.0.0" } }, "sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg=="],
+
+ "hast-util-is-element": ["hast-util-is-element@3.0.0", "", { "dependencies": { "@types/hast": "^3.0.0" } }, "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g=="],
+
+ "hast-util-parse-selector": ["hast-util-parse-selector@4.0.0", "", { "dependencies": { "@types/hast": "^3.0.0" } }, "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A=="],
+
+ "hast-util-raw": ["hast-util-raw@9.1.0", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "@ungap/structured-clone": "^1.0.0", "hast-util-from-parse5": "^8.0.0", "hast-util-to-parse5": "^8.0.0", "html-void-elements": "^3.0.0", "mdast-util-to-hast": "^13.0.0", "parse5": "^7.0.0", "unist-util-position": "^5.0.0", "unist-util-visit": "^5.0.0", "vfile": "^6.0.0", "web-namespaces": "^2.0.0", "zwitch": "^2.0.0" } }, "sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw=="],
+
+ "hast-util-to-estree": ["hast-util-to-estree@3.1.3", "", { "dependencies": { "@types/estree": "^1.0.0", "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", "comma-separated-tokens": "^2.0.0", "devlop": "^1.0.0", "estree-util-attach-comments": "^3.0.0", "estree-util-is-identifier-name": "^3.0.0", "hast-util-whitespace": "^3.0.0", "mdast-util-mdx-expression": "^2.0.0", "mdast-util-mdx-jsx": "^3.0.0", "mdast-util-mdxjs-esm": "^2.0.0", "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0", "style-to-js": "^1.0.0", "unist-util-position": "^5.0.0", "zwitch": "^2.0.0" } }, "sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w=="],
+
+ "hast-util-to-html": ["hast-util-to-html@9.0.5", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "ccount": "^2.0.0", "comma-separated-tokens": "^2.0.0", "hast-util-whitespace": "^3.0.0", "html-void-elements": "^3.0.0", "mdast-util-to-hast": "^13.0.0", "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0", "stringify-entities": "^4.0.0", "zwitch": "^2.0.4" } }, "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw=="],
+
+ "hast-util-to-jsx-runtime": ["hast-util-to-jsx-runtime@2.3.6", "", { "dependencies": { "@types/estree": "^1.0.0", "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "comma-separated-tokens": "^2.0.0", "devlop": "^1.0.0", "estree-util-is-identifier-name": "^3.0.0", "hast-util-whitespace": "^3.0.0", "mdast-util-mdx-expression": "^2.0.0", "mdast-util-mdx-jsx": "^3.0.0", "mdast-util-mdxjs-esm": "^2.0.0", "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0", "style-to-js": "^1.0.0", "unist-util-position": "^5.0.0", "vfile-message": "^4.0.0" } }, "sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg=="],
+
+ "hast-util-to-parse5": ["hast-util-to-parse5@8.0.0", "", { "dependencies": { "@types/hast": "^3.0.0", "comma-separated-tokens": "^2.0.0", "devlop": "^1.0.0", "property-information": "^6.0.0", "space-separated-tokens": "^2.0.0", "web-namespaces": "^2.0.0", "zwitch": "^2.0.0" } }, "sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw=="],
+
+ "hast-util-to-text": ["hast-util-to-text@4.0.2", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/unist": "^3.0.0", "hast-util-is-element": "^3.0.0", "unist-util-find-after": "^5.0.0" } }, "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A=="],
+
+ "hast-util-whitespace": ["hast-util-whitespace@3.0.0", "", { "dependencies": { "@types/hast": "^3.0.0" } }, "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw=="],
+
+ "hastscript": ["hastscript@9.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "comma-separated-tokens": "^2.0.0", "hast-util-parse-selector": "^4.0.0", "property-information": "^7.0.0", "space-separated-tokens": "^2.0.0" } }, "sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w=="],
+
+ "html-entities": ["html-entities@2.3.3", "", {}, "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA=="],
+
+ "html-escaper": ["html-escaper@3.0.3", "", {}, "sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ=="],
+
+ "html-void-elements": ["html-void-elements@3.0.0", "", {}, "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg=="],
+
+ "htmlparser2": ["htmlparser2@9.1.0", "", { "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.3", "domutils": "^3.1.0", "entities": "^4.5.0" } }, "sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ=="],
+
+ "http-cache-semantics": ["http-cache-semantics@4.1.1", "", {}, "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ=="],
+
+ "iconv-lite": ["iconv-lite@0.6.3", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw=="],
+
+ "import-meta-resolve": ["import-meta-resolve@4.1.0", "", {}, "sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw=="],
+
+ "inline-style-parser": ["inline-style-parser@0.2.4", "", {}, "sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q=="],
+
+ "iron-webcrypto": ["iron-webcrypto@1.2.1", "", {}, "sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg=="],
+
+ "is-alphabetical": ["is-alphabetical@2.0.1", "", {}, "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ=="],
+
+ "is-alphanumerical": ["is-alphanumerical@2.0.1", "", { "dependencies": { "is-alphabetical": "^2.0.0", "is-decimal": "^2.0.0" } }, "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw=="],
+
+ "is-arrayish": ["is-arrayish@0.3.2", "", {}, "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ=="],
+
+ "is-decimal": ["is-decimal@2.0.1", "", {}, "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A=="],
+
+ "is-docker": ["is-docker@3.0.0", "", { "bin": { "is-docker": "cli.js" } }, "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ=="],
+
+ "is-fullwidth-code-point": ["is-fullwidth-code-point@3.0.0", "", {}, "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="],
+
+ "is-hexadecimal": ["is-hexadecimal@2.0.1", "", {}, "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg=="],
+
+ "is-inside-container": ["is-inside-container@1.0.0", "", { "dependencies": { "is-docker": "^3.0.0" }, "bin": { "is-inside-container": "cli.js" } }, "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA=="],
+
+ "is-plain-obj": ["is-plain-obj@4.1.0", "", {}, "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg=="],
+
+ "is-what": ["is-what@4.1.16", "", {}, "sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A=="],
+
+ "is-wsl": ["is-wsl@3.1.0", "", { "dependencies": { "is-inside-container": "^1.0.0" } }, "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw=="],
+
+ "js-tokens": ["js-tokens@4.0.0", "", {}, "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="],
+
+ "js-yaml": ["js-yaml@4.1.0", "", { "dependencies": { "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" } }, "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA=="],
+
+ "jsesc": ["jsesc@3.1.0", "", { "bin": { "jsesc": "bin/jsesc" } }, "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA=="],
+
+ "json5": ["json5@2.2.3", "", { "bin": { "json5": "lib/cli.js" } }, "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg=="],
+
+ "kleur": ["kleur@4.1.5", "", {}, "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ=="],
+
+ "kolorist": ["kolorist@1.8.0", "", {}, "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ=="],
+
+ "local-pkg": ["local-pkg@0.5.1", "", { "dependencies": { "mlly": "^1.7.3", "pkg-types": "^1.2.1" } }, "sha512-9rrA30MRRP3gBD3HTGnC6cDFpaE1kVDWxWgqWJUN0RvDNAo+Nz/9GxB+nHOH0ifbVFy0hSA1V6vFDvnx54lTEQ=="],
+
+ "longest-streak": ["longest-streak@3.1.0", "", {}, "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g=="],
+
+ "lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="],
+
+ "magic-string": ["magic-string@0.30.17", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0" } }, "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA=="],
+
+ "magicast": ["magicast@0.3.5", "", { "dependencies": { "@babel/parser": "^7.25.4", "@babel/types": "^7.25.4", "source-map-js": "^1.2.0" } }, "sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ=="],
+
+ "markdown-extensions": ["markdown-extensions@2.0.0", "", {}, "sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q=="],
+
+ "markdown-table": ["markdown-table@3.0.4", "", {}, "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw=="],
+
+ "math-intrinsics": ["math-intrinsics@1.1.0", "", {}, "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g=="],
+
+ "mdast-util-definitions": ["mdast-util-definitions@6.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", "unist-util-visit": "^5.0.0" } }, "sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ=="],
+
+ "mdast-util-find-and-replace": ["mdast-util-find-and-replace@3.0.2", "", { "dependencies": { "@types/mdast": "^4.0.0", "escape-string-regexp": "^5.0.0", "unist-util-is": "^6.0.0", "unist-util-visit-parents": "^6.0.0" } }, "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg=="],
+
+ "mdast-util-from-markdown": ["mdast-util-from-markdown@2.0.2", "", { "dependencies": { "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", "decode-named-character-reference": "^1.0.0", "devlop": "^1.0.0", "mdast-util-to-string": "^4.0.0", "micromark": "^4.0.0", "micromark-util-decode-numeric-character-reference": "^2.0.0", "micromark-util-decode-string": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0", "unist-util-stringify-position": "^4.0.0" } }, "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA=="],
+
+ "mdast-util-gfm": ["mdast-util-gfm@3.1.0", "", { "dependencies": { "mdast-util-from-markdown": "^2.0.0", "mdast-util-gfm-autolink-literal": "^2.0.0", "mdast-util-gfm-footnote": "^2.0.0", "mdast-util-gfm-strikethrough": "^2.0.0", "mdast-util-gfm-table": "^2.0.0", "mdast-util-gfm-task-list-item": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ=="],
+
+ "mdast-util-gfm-autolink-literal": ["mdast-util-gfm-autolink-literal@2.0.1", "", { "dependencies": { "@types/mdast": "^4.0.0", "ccount": "^2.0.0", "devlop": "^1.0.0", "mdast-util-find-and-replace": "^3.0.0", "micromark-util-character": "^2.0.0" } }, "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ=="],
+
+ "mdast-util-gfm-footnote": ["mdast-util-gfm-footnote@2.1.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "devlop": "^1.1.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0" } }, "sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ=="],
+
+ "mdast-util-gfm-strikethrough": ["mdast-util-gfm-strikethrough@2.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg=="],
+
+ "mdast-util-gfm-table": ["mdast-util-gfm-table@2.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "devlop": "^1.0.0", "markdown-table": "^3.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg=="],
+
+ "mdast-util-gfm-task-list-item": ["mdast-util-gfm-task-list-item@2.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "devlop": "^1.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ=="],
+
+ "mdast-util-mdx": ["mdast-util-mdx@3.0.0", "", { "dependencies": { "mdast-util-from-markdown": "^2.0.0", "mdast-util-mdx-expression": "^2.0.0", "mdast-util-mdx-jsx": "^3.0.0", "mdast-util-mdxjs-esm": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w=="],
+
+ "mdast-util-mdx-expression": ["mdast-util-mdx-expression@2.0.1", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "devlop": "^1.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ=="],
+
+ "mdast-util-mdx-jsx": ["mdast-util-mdx-jsx@3.2.0", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", "ccount": "^2.0.0", "devlop": "^1.1.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0", "parse-entities": "^4.0.0", "stringify-entities": "^4.0.0", "unist-util-stringify-position": "^4.0.0", "vfile-message": "^4.0.0" } }, "sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q=="],
+
+ "mdast-util-mdxjs-esm": ["mdast-util-mdxjs-esm@2.0.1", "", { "dependencies": { "@types/estree-jsx": "^1.0.0", "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "devlop": "^1.0.0", "mdast-util-from-markdown": "^2.0.0", "mdast-util-to-markdown": "^2.0.0" } }, "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg=="],
+
+ "mdast-util-phrasing": ["mdast-util-phrasing@4.1.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "unist-util-is": "^6.0.0" } }, "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w=="],
+
+ "mdast-util-to-hast": ["mdast-util-to-hast@13.2.0", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "@ungap/structured-clone": "^1.0.0", "devlop": "^1.0.0", "micromark-util-sanitize-uri": "^2.0.0", "trim-lines": "^3.0.0", "unist-util-position": "^5.0.0", "unist-util-visit": "^5.0.0", "vfile": "^6.0.0" } }, "sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA=="],
+
+ "mdast-util-to-markdown": ["mdast-util-to-markdown@2.1.2", "", { "dependencies": { "@types/mdast": "^4.0.0", "@types/unist": "^3.0.0", "longest-streak": "^3.0.0", "mdast-util-phrasing": "^4.0.0", "mdast-util-to-string": "^4.0.0", "micromark-util-classify-character": "^2.0.0", "micromark-util-decode-string": "^2.0.0", "unist-util-visit": "^5.0.0", "zwitch": "^2.0.0" } }, "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA=="],
+
+ "mdast-util-to-string": ["mdast-util-to-string@4.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0" } }, "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg=="],
+
+ "mdn-data": ["mdn-data@2.0.30", "", {}, "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA=="],
+
+ "merge-anything": ["merge-anything@5.1.7", "", { "dependencies": { "is-what": "^4.1.8" } }, "sha512-eRtbOb1N5iyH0tkQDAoQ4Ipsp/5qSR79Dzrz8hEPxRX10RWWR/iQXdoKmBSRCThY1Fh5EhISDtpSc93fpxUniQ=="],
+
+ "micromark": ["micromark@4.0.2", "", { "dependencies": { "@types/debug": "^4.0.0", "debug": "^4.0.0", "decode-named-character-reference": "^1.0.0", "devlop": "^1.0.0", "micromark-core-commonmark": "^2.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-chunked": "^2.0.0", "micromark-util-combine-extensions": "^2.0.0", "micromark-util-decode-numeric-character-reference": "^2.0.0", "micromark-util-encode": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0", "micromark-util-resolve-all": "^2.0.0", "micromark-util-sanitize-uri": "^2.0.0", "micromark-util-subtokenize": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA=="],
+
+ "micromark-core-commonmark": ["micromark-core-commonmark@2.0.3", "", { "dependencies": { "decode-named-character-reference": "^1.0.0", "devlop": "^1.0.0", "micromark-factory-destination": "^2.0.0", "micromark-factory-label": "^2.0.0", "micromark-factory-space": "^2.0.0", "micromark-factory-title": "^2.0.0", "micromark-factory-whitespace": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-chunked": "^2.0.0", "micromark-util-classify-character": "^2.0.0", "micromark-util-html-tag-name": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0", "micromark-util-resolve-all": "^2.0.0", "micromark-util-subtokenize": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg=="],
+
+ "micromark-extension-gfm": ["micromark-extension-gfm@3.0.0", "", { "dependencies": { "micromark-extension-gfm-autolink-literal": "^2.0.0", "micromark-extension-gfm-footnote": "^2.0.0", "micromark-extension-gfm-strikethrough": "^2.0.0", "micromark-extension-gfm-table": "^2.0.0", "micromark-extension-gfm-tagfilter": "^2.0.0", "micromark-extension-gfm-task-list-item": "^2.0.0", "micromark-util-combine-extensions": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w=="],
+
+ "micromark-extension-gfm-autolink-literal": ["micromark-extension-gfm-autolink-literal@2.1.0", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-sanitize-uri": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw=="],
+
+ "micromark-extension-gfm-footnote": ["micromark-extension-gfm-footnote@2.1.0", "", { "dependencies": { "devlop": "^1.0.0", "micromark-core-commonmark": "^2.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-normalize-identifier": "^2.0.0", "micromark-util-sanitize-uri": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw=="],
+
+ "micromark-extension-gfm-strikethrough": ["micromark-extension-gfm-strikethrough@2.1.0", "", { "dependencies": { "devlop": "^1.0.0", "micromark-util-chunked": "^2.0.0", "micromark-util-classify-character": "^2.0.0", "micromark-util-resolve-all": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw=="],
+
+ "micromark-extension-gfm-table": ["micromark-extension-gfm-table@2.1.1", "", { "dependencies": { "devlop": "^1.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg=="],
+
+ "micromark-extension-gfm-tagfilter": ["micromark-extension-gfm-tagfilter@2.0.0", "", { "dependencies": { "micromark-util-types": "^2.0.0" } }, "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg=="],
+
+ "micromark-extension-gfm-task-list-item": ["micromark-extension-gfm-task-list-item@2.1.0", "", { "dependencies": { "devlop": "^1.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw=="],
+
+ "micromark-extension-mdx-expression": ["micromark-extension-mdx-expression@3.0.1", "", { "dependencies": { "@types/estree": "^1.0.0", "devlop": "^1.0.0", "micromark-factory-mdx-expression": "^2.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-events-to-acorn": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q=="],
+
+ "micromark-extension-mdx-jsx": ["micromark-extension-mdx-jsx@3.0.2", "", { "dependencies": { "@types/estree": "^1.0.0", "devlop": "^1.0.0", "estree-util-is-identifier-name": "^3.0.0", "micromark-factory-mdx-expression": "^2.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-events-to-acorn": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0", "vfile-message": "^4.0.0" } }, "sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ=="],
+
+ "micromark-extension-mdx-md": ["micromark-extension-mdx-md@2.0.0", "", { "dependencies": { "micromark-util-types": "^2.0.0" } }, "sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ=="],
+
+ "micromark-extension-mdxjs": ["micromark-extension-mdxjs@3.0.0", "", { "dependencies": { "acorn": "^8.0.0", "acorn-jsx": "^5.0.0", "micromark-extension-mdx-expression": "^3.0.0", "micromark-extension-mdx-jsx": "^3.0.0", "micromark-extension-mdx-md": "^2.0.0", "micromark-extension-mdxjs-esm": "^3.0.0", "micromark-util-combine-extensions": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ=="],
+
+ "micromark-extension-mdxjs-esm": ["micromark-extension-mdxjs-esm@3.0.0", "", { "dependencies": { "@types/estree": "^1.0.0", "devlop": "^1.0.0", "micromark-core-commonmark": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-events-to-acorn": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0", "unist-util-position-from-estree": "^2.0.0", "vfile-message": "^4.0.0" } }, "sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A=="],
+
+ "micromark-factory-destination": ["micromark-factory-destination@2.0.1", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA=="],
+
+ "micromark-factory-label": ["micromark-factory-label@2.0.1", "", { "dependencies": { "devlop": "^1.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg=="],
+
+ "micromark-factory-mdx-expression": ["micromark-factory-mdx-expression@2.0.3", "", { "dependencies": { "@types/estree": "^1.0.0", "devlop": "^1.0.0", "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-events-to-acorn": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0", "unist-util-position-from-estree": "^2.0.0", "vfile-message": "^4.0.0" } }, "sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ=="],
+
+ "micromark-factory-space": ["micromark-factory-space@2.0.1", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg=="],
+
+ "micromark-factory-title": ["micromark-factory-title@2.0.1", "", { "dependencies": { "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw=="],
+
+ "micromark-factory-whitespace": ["micromark-factory-whitespace@2.0.1", "", { "dependencies": { "micromark-factory-space": "^2.0.0", "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ=="],
+
+ "micromark-util-character": ["micromark-util-character@2.1.1", "", { "dependencies": { "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q=="],
+
+ "micromark-util-chunked": ["micromark-util-chunked@2.0.1", "", { "dependencies": { "micromark-util-symbol": "^2.0.0" } }, "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA=="],
+
+ "micromark-util-classify-character": ["micromark-util-classify-character@2.0.1", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q=="],
+
+ "micromark-util-combine-extensions": ["micromark-util-combine-extensions@2.0.1", "", { "dependencies": { "micromark-util-chunked": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg=="],
+
+ "micromark-util-decode-numeric-character-reference": ["micromark-util-decode-numeric-character-reference@2.0.2", "", { "dependencies": { "micromark-util-symbol": "^2.0.0" } }, "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw=="],
+
+ "micromark-util-decode-string": ["micromark-util-decode-string@2.0.1", "", { "dependencies": { "decode-named-character-reference": "^1.0.0", "micromark-util-character": "^2.0.0", "micromark-util-decode-numeric-character-reference": "^2.0.0", "micromark-util-symbol": "^2.0.0" } }, "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ=="],
+
+ "micromark-util-encode": ["micromark-util-encode@2.0.1", "", {}, "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw=="],
+
+ "micromark-util-events-to-acorn": ["micromark-util-events-to-acorn@2.0.3", "", { "dependencies": { "@types/estree": "^1.0.0", "@types/unist": "^3.0.0", "devlop": "^1.0.0", "estree-util-visit": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0", "vfile-message": "^4.0.0" } }, "sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg=="],
+
+ "micromark-util-html-tag-name": ["micromark-util-html-tag-name@2.0.1", "", {}, "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA=="],
+
+ "micromark-util-normalize-identifier": ["micromark-util-normalize-identifier@2.0.1", "", { "dependencies": { "micromark-util-symbol": "^2.0.0" } }, "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q=="],
+
+ "micromark-util-resolve-all": ["micromark-util-resolve-all@2.0.1", "", { "dependencies": { "micromark-util-types": "^2.0.0" } }, "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg=="],
+
+ "micromark-util-sanitize-uri": ["micromark-util-sanitize-uri@2.0.1", "", { "dependencies": { "micromark-util-character": "^2.0.0", "micromark-util-encode": "^2.0.0", "micromark-util-symbol": "^2.0.0" } }, "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ=="],
+
+ "micromark-util-subtokenize": ["micromark-util-subtokenize@2.1.0", "", { "dependencies": { "devlop": "^1.0.0", "micromark-util-chunked": "^2.0.0", "micromark-util-symbol": "^2.0.0", "micromark-util-types": "^2.0.0" } }, "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA=="],
+
+ "micromark-util-symbol": ["micromark-util-symbol@2.0.1", "", {}, "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q=="],
+
+ "micromark-util-types": ["micromark-util-types@2.0.2", "", {}, "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA=="],
+
+ "mime-db": ["mime-db@1.52.0", "", {}, "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="],
+
+ "mime-types": ["mime-types@2.1.35", "", { "dependencies": { "mime-db": "1.52.0" } }, "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw=="],
+
+ "minipass": ["minipass@4.2.8", "", {}, "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ=="],
+
+ "minizlib": ["minizlib@2.1.2", "", { "dependencies": { "minipass": "^3.0.0", "yallist": "^4.0.0" } }, "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg=="],
+
+ "mkdirp": ["mkdirp@1.0.4", "", { "bin": { "mkdirp": "bin/cmd.js" } }, "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw=="],
+
+ "mlly": ["mlly@1.7.4", "", { "dependencies": { "acorn": "^8.14.0", "pathe": "^2.0.1", "pkg-types": "^1.3.0", "ufo": "^1.5.4" } }, "sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw=="],
+
+ "mrmime": ["mrmime@2.0.1", "", {}, "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ=="],
+
+ "ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="],
+
+ "nanoid": ["nanoid@3.3.11", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="],
+
+ "neotraverse": ["neotraverse@0.6.18", "", {}, "sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA=="],
+
+ "nlcst-to-string": ["nlcst-to-string@4.0.0", "", { "dependencies": { "@types/nlcst": "^2.0.0" } }, "sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA=="],
+
+ "node-fetch-native": ["node-fetch-native@1.6.6", "", {}, "sha512-8Mc2HhqPdlIfedsuZoc3yioPuzp6b+L5jRCRY1QzuWZh2EGJVQrGppC6V6cF0bLdbW0+O2YpqCA25aF/1lvipQ=="],
+
+ "node-mock-http": ["node-mock-http@1.0.0", "", {}, "sha512-0uGYQ1WQL1M5kKvGRXWQ3uZCHtLTO8hln3oBjIusM75WoesZ909uQJs/Hb946i2SS+Gsrhkaa6iAO17jRIv6DQ=="],
+
+ "node-releases": ["node-releases@2.0.19", "", {}, "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw=="],
+
+ "normalize-path": ["normalize-path@3.0.0", "", {}, "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="],
+
+ "nth-check": ["nth-check@2.1.1", "", { "dependencies": { "boolbase": "^1.0.0" } }, "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w=="],
+
+ "ofetch": ["ofetch@1.4.1", "", { "dependencies": { "destr": "^2.0.3", "node-fetch-native": "^1.6.4", "ufo": "^1.5.4" } }, "sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw=="],
+
+ "once": ["once@1.4.0", "", { "dependencies": { "wrappy": "1" } }, "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w=="],
+
+ "oniguruma-parser": ["oniguruma-parser@0.5.4", "", {}, "sha512-yNxcQ8sKvURiTwP0mV6bLQCYE7NKfKRRWunhbZnXgxSmB1OXa1lHrN3o4DZd+0Si0kU5blidK7BcROO8qv5TZA=="],
+
+ "oniguruma-to-es": ["oniguruma-to-es@4.1.0", "", { "dependencies": { "emoji-regex-xs": "^1.0.0", "oniguruma-parser": "^0.5.4", "regex": "^6.0.1", "regex-recursion": "^6.0.2" } }, "sha512-SNwG909cSLo4vPyyPbU/VJkEc9WOXqu2ycBlfd1UCXLqk1IijcQktSBb2yRQ2UFPsDhpkaf+C1dtT3PkLK/yWA=="],
+
+ "p-limit": ["p-limit@6.2.0", "", { "dependencies": { "yocto-queue": "^1.1.1" } }, "sha512-kuUqqHNUqoIWp/c467RI4X6mmyuojY5jGutNU0wVTmEOOfcuwLqyMVoAi9MKi2Ak+5i9+nhmrK4ufZE8069kHA=="],
+
+ "p-queue": ["p-queue@8.1.0", "", { "dependencies": { "eventemitter3": "^5.0.1", "p-timeout": "^6.1.2" } }, "sha512-mxLDbbGIBEXTJL0zEx8JIylaj3xQ7Z/7eEVjcF9fJX4DBiH9oqe+oahYnlKKxm0Ci9TlWTyhSHgygxMxjIB2jw=="],
+
+ "p-timeout": ["p-timeout@6.1.4", "", {}, "sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg=="],
+
+ "package-manager-detector": ["package-manager-detector@1.1.0", "", {}, "sha512-Y8f9qUlBzW8qauJjd/eu6jlpJZsuPJm2ZAV0cDVd420o4EdpH5RPdoCv+60/TdJflGatr4sDfpAL6ArWZbM5tA=="],
+
+ "pagefind": ["pagefind@1.3.0", "", { "optionalDependencies": { "@pagefind/darwin-arm64": "1.3.0", "@pagefind/darwin-x64": "1.3.0", "@pagefind/linux-arm64": "1.3.0", "@pagefind/linux-x64": "1.3.0", "@pagefind/windows-x64": "1.3.0" }, "bin": { "pagefind": "lib/runner/bin.cjs" } }, "sha512-8KPLGT5g9s+olKMRTU9LFekLizkVIu9tes90O1/aigJ0T5LmyPqTzGJrETnSw3meSYg58YH7JTzhTTW/3z6VAw=="],
+
+ "parse-entities": ["parse-entities@4.0.2", "", { "dependencies": { "@types/unist": "^2.0.0", "character-entities-legacy": "^3.0.0", "character-reference-invalid": "^2.0.0", "decode-named-character-reference": "^1.0.0", "is-alphanumerical": "^2.0.0", "is-decimal": "^2.0.0", "is-hexadecimal": "^2.0.0" } }, "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw=="],
+
+ "parse-latin": ["parse-latin@7.0.0", "", { "dependencies": { "@types/nlcst": "^2.0.0", "@types/unist": "^3.0.0", "nlcst-to-string": "^4.0.0", "unist-util-modify-children": "^4.0.0", "unist-util-visit-children": "^3.0.0", "vfile": "^6.0.0" } }, "sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ=="],
+
+ "parse5": ["parse5@7.2.1", "", { "dependencies": { "entities": "^4.5.0" } }, "sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ=="],
+
+ "parse5-htmlparser2-tree-adapter": ["parse5-htmlparser2-tree-adapter@7.1.0", "", { "dependencies": { "domhandler": "^5.0.3", "parse5": "^7.0.0" } }, "sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g=="],
+
+ "parse5-parser-stream": ["parse5-parser-stream@7.1.2", "", { "dependencies": { "parse5": "^7.0.0" } }, "sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow=="],
+
+ "pathe": ["pathe@1.1.2", "", {}, "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ=="],
+
+ "pend": ["pend@1.2.0", "", {}, "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg=="],
+
+ "picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="],
+
+ "picomatch": ["picomatch@4.0.2", "", {}, "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg=="],
+
+ "pkg-types": ["pkg-types@1.3.1", "", { "dependencies": { "confbox": "^0.1.8", "mlly": "^1.7.4", "pathe": "^2.0.1" } }, "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ=="],
+
+ "postcss": ["postcss@8.5.3", "", { "dependencies": { "nanoid": "^3.3.8", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A=="],
+
+ "prettier": ["prettier@3.5.3", "", { "bin": { "prettier": "bin/prettier.cjs" } }, "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw=="],
+
+ "prettier-plugin-astro": ["prettier-plugin-astro@0.14.1", "", { "dependencies": { "@astrojs/compiler": "^2.9.1", "prettier": "^3.0.0", "sass-formatter": "^0.7.6" } }, "sha512-RiBETaaP9veVstE4vUwSIcdATj6dKmXljouXc/DDNwBSPTp8FRkLGDSGFClKsAFeeg+13SB0Z1JZvbD76bigJw=="],
+
+ "prismjs": ["prismjs@1.30.0", "", {}, "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw=="],
+
+ "prompts": ["prompts@2.4.2", "", { "dependencies": { "kleur": "^3.0.3", "sisteransi": "^1.0.5" } }, "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q=="],
+
+ "property-information": ["property-information@7.0.0", "", {}, "sha512-7D/qOz/+Y4X/rzSB6jKxKUsQnphO046ei8qxG59mtM3RG3DHgTK81HrxrmoDVINJb8NKT5ZsRbwHvQ6B68Iyhg=="],
+
+ "proxy-from-env": ["proxy-from-env@1.1.0", "", {}, "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="],
+
+ "pump": ["pump@3.0.2", "", { "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw=="],
+
+ "quansync": ["quansync@0.2.10", "", {}, "sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A=="],
+
+ "radix3": ["radix3@1.1.2", "", {}, "sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA=="],
+
+ "readdirp": ["readdirp@4.1.2", "", {}, "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg=="],
+
+ "recma-build-jsx": ["recma-build-jsx@1.0.0", "", { "dependencies": { "@types/estree": "^1.0.0", "estree-util-build-jsx": "^3.0.0", "vfile": "^6.0.0" } }, "sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew=="],
+
+ "recma-jsx": ["recma-jsx@1.0.0", "", { "dependencies": { "acorn-jsx": "^5.0.0", "estree-util-to-js": "^2.0.0", "recma-parse": "^1.0.0", "recma-stringify": "^1.0.0", "unified": "^11.0.0" } }, "sha512-5vwkv65qWwYxg+Atz95acp8DMu1JDSqdGkA2Of1j6rCreyFUE/gp15fC8MnGEuG1W68UKjM6x6+YTWIh7hZM/Q=="],
+
+ "recma-parse": ["recma-parse@1.0.0", "", { "dependencies": { "@types/estree": "^1.0.0", "esast-util-from-js": "^2.0.0", "unified": "^11.0.0", "vfile": "^6.0.0" } }, "sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ=="],
+
+ "recma-stringify": ["recma-stringify@1.0.0", "", { "dependencies": { "@types/estree": "^1.0.0", "estree-util-to-js": "^2.0.0", "unified": "^11.0.0", "vfile": "^6.0.0" } }, "sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g=="],
+
+ "regex": ["regex@6.0.1", "", { "dependencies": { "regex-utilities": "^2.3.0" } }, "sha512-uorlqlzAKjKQZ5P+kTJr3eeJGSVroLKoHmquUj4zHWuR+hEyNqlXsSKlYYF5F4NI6nl7tWCs0apKJ0lmfsXAPA=="],
+
+ "regex-recursion": ["regex-recursion@6.0.2", "", { "dependencies": { "regex-utilities": "^2.3.0" } }, "sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg=="],
+
+ "regex-utilities": ["regex-utilities@2.3.0", "", {}, "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng=="],
+
+ "rehype": ["rehype@13.0.2", "", { "dependencies": { "@types/hast": "^3.0.0", "rehype-parse": "^9.0.0", "rehype-stringify": "^10.0.0", "unified": "^11.0.0" } }, "sha512-j31mdaRFrwFRUIlxGeuPXXKWQxet52RBQRvCmzl5eCefn/KGbomK5GMHNMsOJf55fgo3qw5tST5neDuarDYR2A=="],
+
+ "rehype-parse": ["rehype-parse@9.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "hast-util-from-html": "^2.0.0", "unified": "^11.0.0" } }, "sha512-ksCzCD0Fgfh7trPDxr2rSylbwq9iYDkSn8TCDmEJ49ljEUBxDVCzCHv7QNzZOfODanX4+bWQ4WZqLCRWYLfhag=="],
+
+ "rehype-raw": ["rehype-raw@7.0.0", "", { "dependencies": { "@types/hast": "^3.0.0", "hast-util-raw": "^9.0.0", "vfile": "^6.0.0" } }, "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww=="],
+
+ "rehype-recma": ["rehype-recma@1.0.0", "", { "dependencies": { "@types/estree": "^1.0.0", "@types/hast": "^3.0.0", "hast-util-to-estree": "^3.0.0" } }, "sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw=="],
+
+ "rehype-stringify": ["rehype-stringify@10.0.1", "", { "dependencies": { "@types/hast": "^3.0.0", "hast-util-to-html": "^9.0.0", "unified": "^11.0.0" } }, "sha512-k9ecfXHmIPuFVI61B9DeLPN0qFHfawM6RsuX48hoqlaKSF61RskNjSm1lI8PhBEM0MRdLxVVm4WmTqJQccH9mA=="],
+
+ "remark-gfm": ["remark-gfm@4.0.1", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-gfm": "^3.0.0", "micromark-extension-gfm": "^3.0.0", "remark-parse": "^11.0.0", "remark-stringify": "^11.0.0", "unified": "^11.0.0" } }, "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg=="],
+
+ "remark-mdx": ["remark-mdx@3.1.0", "", { "dependencies": { "mdast-util-mdx": "^3.0.0", "micromark-extension-mdxjs": "^3.0.0" } }, "sha512-Ngl/H3YXyBV9RcRNdlYsZujAmhsxwzxpDzpDEhFBVAGthS4GDgnctpDjgFl/ULx5UEDzqtW1cyBSNKqYYrqLBA=="],
+
+ "remark-parse": ["remark-parse@11.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-from-markdown": "^2.0.0", "micromark-util-types": "^2.0.0", "unified": "^11.0.0" } }, "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA=="],
+
+ "remark-rehype": ["remark-rehype@11.1.1", "", { "dependencies": { "@types/hast": "^3.0.0", "@types/mdast": "^4.0.0", "mdast-util-to-hast": "^13.0.0", "unified": "^11.0.0", "vfile": "^6.0.0" } }, "sha512-g/osARvjkBXb6Wo0XvAeXQohVta8i84ACbenPpoSsxTOQH/Ae0/RGP4WZgnMH5pMLpsj4FG7OHmcIcXxpza8eQ=="],
+
+ "remark-smartypants": ["remark-smartypants@3.0.2", "", { "dependencies": { "retext": "^9.0.0", "retext-smartypants": "^6.0.0", "unified": "^11.0.4", "unist-util-visit": "^5.0.0" } }, "sha512-ILTWeOriIluwEvPjv67v7Blgrcx+LZOkAUVtKI3putuhlZm84FnqDORNXPPm+HY3NdZOMhyDwZ1E+eZB/Df5dA=="],
+
+ "remark-stringify": ["remark-stringify@11.0.0", "", { "dependencies": { "@types/mdast": "^4.0.0", "mdast-util-to-markdown": "^2.0.0", "unified": "^11.0.0" } }, "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw=="],
+
+ "retext": ["retext@9.0.0", "", { "dependencies": { "@types/nlcst": "^2.0.0", "retext-latin": "^4.0.0", "retext-stringify": "^4.0.0", "unified": "^11.0.0" } }, "sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA=="],
+
+ "retext-latin": ["retext-latin@4.0.0", "", { "dependencies": { "@types/nlcst": "^2.0.0", "parse-latin": "^7.0.0", "unified": "^11.0.0" } }, "sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA=="],
+
+ "retext-smartypants": ["retext-smartypants@6.2.0", "", { "dependencies": { "@types/nlcst": "^2.0.0", "nlcst-to-string": "^4.0.0", "unist-util-visit": "^5.0.0" } }, "sha512-kk0jOU7+zGv//kfjXEBjdIryL1Acl4i9XNkHxtM7Tm5lFiCog576fjNC9hjoR7LTKQ0DsPWy09JummSsH1uqfQ=="],
+
+ "retext-stringify": ["retext-stringify@4.0.0", "", { "dependencies": { "@types/nlcst": "^2.0.0", "nlcst-to-string": "^4.0.0", "unified": "^11.0.0" } }, "sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA=="],
+
+ "rollup": ["rollup@4.38.0", "", { "dependencies": { "@types/estree": "1.0.7" }, "optionalDependencies": { "@rollup/rollup-android-arm-eabi": "4.38.0", "@rollup/rollup-android-arm64": "4.38.0", "@rollup/rollup-darwin-arm64": "4.38.0", "@rollup/rollup-darwin-x64": "4.38.0", "@rollup/rollup-freebsd-arm64": "4.38.0", "@rollup/rollup-freebsd-x64": "4.38.0", "@rollup/rollup-linux-arm-gnueabihf": "4.38.0", "@rollup/rollup-linux-arm-musleabihf": "4.38.0", "@rollup/rollup-linux-arm64-gnu": "4.38.0", "@rollup/rollup-linux-arm64-musl": "4.38.0", "@rollup/rollup-linux-loongarch64-gnu": "4.38.0", "@rollup/rollup-linux-powerpc64le-gnu": "4.38.0", "@rollup/rollup-linux-riscv64-gnu": "4.38.0", "@rollup/rollup-linux-riscv64-musl": "4.38.0", "@rollup/rollup-linux-s390x-gnu": "4.38.0", "@rollup/rollup-linux-x64-gnu": "4.38.0", "@rollup/rollup-linux-x64-musl": "4.38.0", "@rollup/rollup-win32-arm64-msvc": "4.38.0", "@rollup/rollup-win32-ia32-msvc": "4.38.0", "@rollup/rollup-win32-x64-msvc": "4.38.0", "fsevents": "~2.3.2" }, "bin": { "rollup": "dist/bin/rollup" } }, "sha512-5SsIRtJy9bf1ErAOiFMFzl64Ex9X5V7bnJ+WlFMb+zmP459OSWCEG7b0ERZ+PEU7xPt4OG3RHbrp1LJlXxYTrw=="],
+
+ "s.color": ["s.color@0.0.15", "", {}, "sha512-AUNrbEUHeKY8XsYr/DYpl+qk5+aM+DChopnWOPEzn8YKzOhv4l2zH6LzZms3tOZP3wwdOyc0RmTciyi46HLIuA=="],
+
+ "safer-buffer": ["safer-buffer@2.1.2", "", {}, "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="],
+
+ "sass-formatter": ["sass-formatter@0.7.9", "", { "dependencies": { "suf-log": "^2.5.3" } }, "sha512-CWZ8XiSim+fJVG0cFLStwDvft1VI7uvXdCNJYXhDvowiv+DsbD1nXLiQ4zrE5UBvj5DWZJ93cwN0NX5PMsr1Pw=="],
+
+ "semver": ["semver@7.7.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA=="],
+
+ "seroval": ["seroval@1.2.1", "", {}, "sha512-yBxFFs3zmkvKNmR0pFSU//rIsYjuX418TnlDmc2weaq5XFDqDIV/NOMPBoLrbxjLH42p4UzRuXHryXh9dYcKcw=="],
+
+ "seroval-plugins": ["seroval-plugins@1.2.1", "", { "peerDependencies": { "seroval": "^1.0" } }, "sha512-H5vs53+39+x4Udwp4J5rNZfgFuA+Lt+uU+09w1gYBVWomtAl98B+E9w7yC05Xc81/HgLvJdlyqJbU0fJCKCmdw=="],
+
+ "sharp": ["sharp@0.33.5", "", { "dependencies": { "color": "^4.2.3", "detect-libc": "^2.0.3", "semver": "^7.6.3" }, "optionalDependencies": { "@img/sharp-darwin-arm64": "0.33.5", "@img/sharp-darwin-x64": "0.33.5", "@img/sharp-libvips-darwin-arm64": "1.0.4", "@img/sharp-libvips-darwin-x64": "1.0.4", "@img/sharp-libvips-linux-arm": "1.0.5", "@img/sharp-libvips-linux-arm64": "1.0.4", "@img/sharp-libvips-linux-s390x": "1.0.4", "@img/sharp-libvips-linux-x64": "1.0.4", "@img/sharp-libvips-linuxmusl-arm64": "1.0.4", "@img/sharp-libvips-linuxmusl-x64": "1.0.4", "@img/sharp-linux-arm": "0.33.5", "@img/sharp-linux-arm64": "0.33.5", "@img/sharp-linux-s390x": "0.33.5", "@img/sharp-linux-x64": "0.33.5", "@img/sharp-linuxmusl-arm64": "0.33.5", "@img/sharp-linuxmusl-x64": "0.33.5", "@img/sharp-wasm32": "0.33.5", "@img/sharp-win32-ia32": "0.33.5", "@img/sharp-win32-x64": "0.33.5" } }, "sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw=="],
+
+ "shiki": ["shiki@3.2.1", "", { "dependencies": { "@shikijs/core": "3.2.1", "@shikijs/engine-javascript": "3.2.1", "@shikijs/engine-oniguruma": "3.2.1", "@shikijs/langs": "3.2.1", "@shikijs/themes": "3.2.1", "@shikijs/types": "3.2.1", "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" } }, "sha512-VML/2o1/KGYkEf/stJJ+s9Ypn7jUKQPomGLGYso4JJFMFxVDyPNsjsI3MB3KLjlMOeH44gyaPdXC6rik2WXvUQ=="],
+
+ "simple-swizzle": ["simple-swizzle@0.2.2", "", { "dependencies": { "is-arrayish": "^0.3.1" } }, "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg=="],
+
+ "sirv": ["sirv@3.0.1", "", { "dependencies": { "@polka/url": "^1.0.0-next.24", "mrmime": "^2.0.0", "totalist": "^3.0.0" } }, "sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A=="],
+
+ "sisteransi": ["sisteransi@1.0.5", "", {}, "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg=="],
+
+ "smol-toml": ["smol-toml@1.3.1", "", {}, "sha512-tEYNll18pPKHroYSmLLrksq233j021G0giwW7P3D24jC54pQ5W5BXMsQ/Mvw1OJCmEYDgY+lrzT+3nNUtoNfXQ=="],
+
+ "solid-js": ["solid-js@1.9.5", "", { "dependencies": { "csstype": "^3.1.0", "seroval": "^1.1.0", "seroval-plugins": "^1.1.0" } }, "sha512-ogI3DaFcyn6UhYhrgcyRAMbu/buBJitYQASZz5WzfQVPP10RD2AbCoRZ517psnezrasyCbWzIxZ6kVqet768xw=="],
+
+ "solid-refresh": ["solid-refresh@0.6.3", "", { "dependencies": { "@babel/generator": "^7.23.6", "@babel/helper-module-imports": "^7.22.15", "@babel/types": "^7.23.6" }, "peerDependencies": { "solid-js": "^1.3" } }, "sha512-F3aPsX6hVw9ttm5LYlth8Q15x6MlI/J3Dn+o3EQyRTtTxidepSTwAYdozt01/YA+7ObcciagGEyXIopGZzQtbA=="],
+
+ "source-map": ["source-map@0.7.4", "", {}, "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA=="],
+
+ "source-map-js": ["source-map-js@1.2.1", "", {}, "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="],
+
+ "space-separated-tokens": ["space-separated-tokens@2.0.2", "", {}, "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q=="],
+
+ "string-width": ["string-width@7.2.0", "", { "dependencies": { "emoji-regex": "^10.3.0", "get-east-asian-width": "^1.0.0", "strip-ansi": "^7.1.0" } }, "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ=="],
+
+ "stringify-entities": ["stringify-entities@4.0.4", "", { "dependencies": { "character-entities-html4": "^2.0.0", "character-entities-legacy": "^3.0.0" } }, "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg=="],
+
+ "strip-ansi": ["strip-ansi@7.1.0", "", { "dependencies": { "ansi-regex": "^6.0.1" } }, "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ=="],
+
+ "style-to-js": ["style-to-js@1.1.16", "", { "dependencies": { "style-to-object": "1.0.8" } }, "sha512-/Q6ld50hKYPH3d/r6nr117TZkHR0w0kGGIVfpG9N6D8NymRPM9RqCUv4pRpJ62E5DqOYx2AFpbZMyCPnjQCnOw=="],
+
+ "style-to-object": ["style-to-object@1.0.8", "", { "dependencies": { "inline-style-parser": "0.2.4" } }, "sha512-xT47I/Eo0rwJmaXC4oilDGDWLohVhR6o/xAQcPQN8q6QBuZVL8qMYL85kLmST5cPjAorwvqIA4qXTRQoYHaL6g=="],
+
+ "suf-log": ["suf-log@2.5.3", "", { "dependencies": { "s.color": "0.0.15" } }, "sha512-KvC8OPjzdNOe+xQ4XWJV2whQA0aM1kGVczMQ8+dStAO6KfEB140JEVQ9dE76ONZ0/Ylf67ni4tILPJB41U0eow=="],
+
+ "svgo": ["svgo@3.3.2", "", { "dependencies": { "@trysound/sax": "0.2.0", "commander": "^7.2.0", "css-select": "^5.1.0", "css-tree": "^2.3.1", "css-what": "^6.1.0", "csso": "^5.0.5", "picocolors": "^1.0.0" }, "bin": "./bin/svgo" }, "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw=="],
+
+ "tar": ["tar@6.2.1", "", { "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", "minipass": "^5.0.0", "minizlib": "^2.1.1", "mkdirp": "^1.0.3", "yallist": "^4.0.0" } }, "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A=="],
+
+ "tinyexec": ["tinyexec@0.3.2", "", {}, "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA=="],
+
+ "tinyglobby": ["tinyglobby@0.2.12", "", { "dependencies": { "fdir": "^6.4.3", "picomatch": "^4.0.2" } }, "sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww=="],
+
+ "totalist": ["totalist@3.0.1", "", {}, "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ=="],
+
+ "trim-lines": ["trim-lines@3.0.1", "", {}, "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg=="],
+
+ "trough": ["trough@2.2.0", "", {}, "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw=="],
+
+ "tsconfck": ["tsconfck@3.1.5", "", { "peerDependencies": { "typescript": "^5.0.0" }, "optionalPeers": ["typescript"], "bin": { "tsconfck": "bin/tsconfck.js" } }, "sha512-CLDfGgUp7XPswWnezWwsCRxNmgQjhYq3VXHM0/XIRxhVrKw0M1if9agzryh1QS3nxjCROvV+xWxoJO1YctzzWg=="],
+
+ "tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="],
+
+ "type-fest": ["type-fest@4.38.0", "", {}, "sha512-2dBz5D5ycHIoliLYLi0Q2V7KRaDlH0uWIvmk7TYlAg5slqwiPv1ezJdZm1QEM0xgk29oYWMCbIG7E6gHpvChlg=="],
+
+ "typescript": ["typescript@5.8.2", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ=="],
+
+ "ufo": ["ufo@1.5.4", "", {}, "sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ=="],
+
+ "ultrahtml": ["ultrahtml@1.5.3", "", {}, "sha512-GykOvZwgDWZlTQMtp5jrD4BVL+gNn2NVlVafjcFUJ7taY20tqYdwdoWBFy6GBJsNTZe1GkGPkSl5knQAjtgceg=="],
+
+ "uncrypto": ["uncrypto@0.1.3", "", {}, "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q=="],
+
+ "undici": ["undici@6.21.2", "", {}, "sha512-uROZWze0R0itiAKVPsYhFov9LxrPMHLMEQFszeI2gCN6bnIIZ8twzBCJcN2LJrBBLfrP0t1FW0g+JmKVl8Vk1g=="],
+
+ "undici-types": ["undici-types@6.20.0", "", {}, "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg=="],
+
+ "unified": ["unified@11.0.5", "", { "dependencies": { "@types/unist": "^3.0.0", "bail": "^2.0.0", "devlop": "^1.0.0", "extend": "^3.0.0", "is-plain-obj": "^4.0.0", "trough": "^2.0.0", "vfile": "^6.0.0" } }, "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA=="],
+
+ "unist-util-find-after": ["unist-util-find-after@5.0.0", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0" } }, "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ=="],
+
+ "unist-util-is": ["unist-util-is@6.0.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw=="],
+
+ "unist-util-modify-children": ["unist-util-modify-children@4.0.0", "", { "dependencies": { "@types/unist": "^3.0.0", "array-iterate": "^2.0.0" } }, "sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw=="],
+
+ "unist-util-position": ["unist-util-position@5.0.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA=="],
+
+ "unist-util-position-from-estree": ["unist-util-position-from-estree@2.0.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ=="],
+
+ "unist-util-remove-position": ["unist-util-remove-position@5.0.0", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-visit": "^5.0.0" } }, "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q=="],
+
+ "unist-util-stringify-position": ["unist-util-stringify-position@4.0.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ=="],
+
+ "unist-util-visit": ["unist-util-visit@5.0.0", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0", "unist-util-visit-parents": "^6.0.0" } }, "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg=="],
+
+ "unist-util-visit-children": ["unist-util-visit-children@3.0.0", "", { "dependencies": { "@types/unist": "^3.0.0" } }, "sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA=="],
+
+ "unist-util-visit-parents": ["unist-util-visit-parents@6.0.1", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-is": "^6.0.0" } }, "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw=="],
+
+ "unstorage": ["unstorage@1.15.0", "", { "dependencies": { "anymatch": "^3.1.3", "chokidar": "^4.0.3", "destr": "^2.0.3", "h3": "^1.15.0", "lru-cache": "^10.4.3", "node-fetch-native": "^1.6.6", "ofetch": "^1.4.1", "ufo": "^1.5.4" }, "peerDependencies": { "@azure/app-configuration": "^1.8.0", "@azure/cosmos": "^4.2.0", "@azure/data-tables": "^13.3.0", "@azure/identity": "^4.6.0", "@azure/keyvault-secrets": "^4.9.0", "@azure/storage-blob": "^12.26.0", "@capacitor/preferences": "^6.0.3", "@deno/kv": ">=0.9.0", "@netlify/blobs": "^6.5.0 || ^7.0.0 || ^8.1.0", "@planetscale/database": "^1.19.0", "@upstash/redis": "^1.34.3", "@vercel/blob": ">=0.27.1", "@vercel/kv": "^1.0.1", "aws4fetch": "^1.0.20", "db0": ">=0.2.1", "idb-keyval": "^6.2.1", "ioredis": "^5.4.2", "uploadthing": "^7.4.4" }, "optionalPeers": ["@azure/app-configuration", "@azure/cosmos", "@azure/data-tables", "@azure/identity", "@azure/keyvault-secrets", "@azure/storage-blob", "@capacitor/preferences", "@deno/kv", "@netlify/blobs", "@planetscale/database", "@upstash/redis", "@vercel/blob", "@vercel/kv", "aws4fetch", "db0", "idb-keyval", "ioredis", "uploadthing"] }, "sha512-m40eHdGY/gA6xAPqo8eaxqXgBuzQTlAKfmB1iF7oCKXE1HfwHwzDJBywK+qQGn52dta+bPlZluPF7++yR3p/bg=="],
+
+ "update-browserslist-db": ["update-browserslist-db@1.1.3", "", { "dependencies": { "escalade": "^3.2.0", "picocolors": "^1.1.1" }, "peerDependencies": { "browserslist": ">= 4.21.0" }, "bin": { "update-browserslist-db": "cli.js" } }, "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw=="],
+
+ "validate-html-nesting": ["validate-html-nesting@1.2.2", "", {}, "sha512-hGdgQozCsQJMyfK5urgFcWEqsSSrK63Awe0t/IMR0bZ0QMtnuaiHzThW81guu3qx9abLi99NEuiaN6P9gVYsNg=="],
+
+ "vfile": ["vfile@6.0.3", "", { "dependencies": { "@types/unist": "^3.0.0", "vfile-message": "^4.0.0" } }, "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q=="],
+
+ "vfile-location": ["vfile-location@5.0.3", "", { "dependencies": { "@types/unist": "^3.0.0", "vfile": "^6.0.0" } }, "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg=="],
+
+ "vfile-message": ["vfile-message@4.0.2", "", { "dependencies": { "@types/unist": "^3.0.0", "unist-util-stringify-position": "^4.0.0" } }, "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw=="],
+
+ "vite": ["vite@6.2.3", "", { "dependencies": { "esbuild": "^0.25.0", "postcss": "^8.5.3", "rollup": "^4.30.1" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", "jiti": ">=1.21.0", "less": "*", "lightningcss": "^1.21.0", "sass": "*", "sass-embedded": "*", "stylus": "*", "sugarss": "*", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-IzwM54g4y9JA/xAeBPNaDXiBF8Jsgl3VBQ2YQ/wOY6fyW3xMdSoltIV3Bo59DErdqdE6RxUfv8W69DvUorE4Eg=="],
+
+ "vite-plugin-solid": ["vite-plugin-solid@2.11.6", "", { "dependencies": { "@babel/core": "^7.23.3", "@types/babel__core": "^7.20.4", "babel-preset-solid": "^1.8.4", "merge-anything": "^5.1.7", "solid-refresh": "^0.6.3", "vitefu": "^1.0.4" }, "peerDependencies": { "@testing-library/jest-dom": "^5.16.6 || ^5.17.0 || ^6.*", "solid-js": "^1.7.2", "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0" }, "optionalPeers": ["@testing-library/jest-dom"] }, "sha512-Sl5CTqJTGyEeOsmdH6BOgalIZlwH3t4/y0RQuFLMGnvWMBvxb4+lq7x3BSiAw6etf0QexfNJW7HSOO/Qf7pigg=="],
+
+ "vitefu": ["vitefu@1.0.6", "", { "peerDependencies": { "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0" }, "optionalPeers": ["vite"] }, "sha512-+Rex1GlappUyNN6UfwbVZne/9cYC4+R2XDk9xkNXBKMw6HQagdX9PgZ8V2v1WUSK1wfBLp7qbI1+XSNIlB1xmA=="],
+
+ "web-namespaces": ["web-namespaces@2.0.1", "", {}, "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ=="],
+
+ "whatwg-encoding": ["whatwg-encoding@3.1.1", "", { "dependencies": { "iconv-lite": "0.6.3" } }, "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ=="],
+
+ "whatwg-mimetype": ["whatwg-mimetype@4.0.0", "", {}, "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg=="],
+
+ "which-pm-runs": ["which-pm-runs@1.1.0", "", {}, "sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA=="],
+
+ "widest-line": ["widest-line@5.0.0", "", { "dependencies": { "string-width": "^7.0.0" } }, "sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA=="],
+
+ "wrap-ansi": ["wrap-ansi@9.0.0", "", { "dependencies": { "ansi-styles": "^6.2.1", "string-width": "^7.0.0", "strip-ansi": "^7.1.0" } }, "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q=="],
+
+ "wrappy": ["wrappy@1.0.2", "", {}, "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="],
+
+ "xast": ["xast@0.1.208", "", {}, "sha512-/lmoDtEyBQ/2M2xACc4dzJuwCgTIH1aAEv0A9i9X9f+WJb7fmz6OnLFrPePJXnZ0NDK/bfB21J2ZTPu05/3jWg=="],
+
+ "xast-util-to-xml": ["xast-util-to-xml@4.0.0", "", { "dependencies": { "@types/xast": "^2.0.0", "ccount": "^2.0.0", "stringify-entities": "^4.0.0" } }, "sha512-r1euIWS5yZJUNpfN+ReE4m7Vld2iytaOPJtuXVuRQacRZwqRN1MAb+dv0aGLrdXOZrpGLyvUFf1Upyrb3R5qBg=="],
+
+ "xastscript": ["xastscript@4.0.0", "", { "dependencies": { "@types/xast": "^2.0.0" } }, "sha512-r7a0kObEyivkML0dLrp/nOH5l51y9v5DL1MT/Xc6qUgGGNP1mZZUmT6NXtWAmx2FLfjonop++PtpVMwp1Hw/Gw=="],
+
+ "xxhash-wasm": ["xxhash-wasm@1.1.0", "", {}, "sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA=="],
+
+ "yallist": ["yallist@4.0.0", "", {}, "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="],
+
+ "yargs-parser": ["yargs-parser@21.1.1", "", {}, "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="],
+
+ "yauzl": ["yauzl@2.10.0", "", { "dependencies": { "buffer-crc32": "~0.2.3", "fd-slicer": "~1.1.0" } }, "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g=="],
+
+ "yocto-queue": ["yocto-queue@1.2.1", "", {}, "sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg=="],
+
+ "yocto-spinner": ["yocto-spinner@0.2.1", "", { "dependencies": { "yoctocolors": "^2.1.1" } }, "sha512-lHHxjh0bXaLgdJy3cNnVb/F9myx3CkhrvSOEVTkaUgNMXnYFa2xYPVhtGnqhh3jErY2gParBOHallCbc7NrlZQ=="],
+
+ "yoctocolors": ["yoctocolors@2.1.1", "", {}, "sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ=="],
+
+ "zod": ["zod@3.24.2", "", {}, "sha512-lY7CDW43ECgW9u1TcT3IoXHflywfVqDYze4waEz812jR/bZ8FHDsl7pFQoSZTz5N+2NqRXs8GBwnAwo3ZNxqhQ=="],
+
+ "zod-to-json-schema": ["zod-to-json-schema@3.24.5", "", { "peerDependencies": { "zod": "^3.24.1" } }, "sha512-/AuWwMP+YqiPbsJx5D6TfgRTc4kTLjsh5SOcd4bLsfUg2RcEXrFMJl1DGgdHy2aCfsIA/cr/1JM0xcB2GZji8g=="],
+
+ "zod-to-ts": ["zod-to-ts@1.2.0", "", { "peerDependencies": { "typescript": "^4.9.4 || ^5.0.2", "zod": "^3" } }, "sha512-x30XE43V+InwGpvTySRNz9kB7qFU8DlyEy7BsSTCHPH1R0QasMmHWZDCzYm6bVXtj/9NNJAZF3jW8rzFvH5OFA=="],
+
+ "zwitch": ["zwitch@2.0.4", "", {}, "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A=="],
+
+ "@antfu/install-pkg/package-manager-detector": ["package-manager-detector@0.2.11", "", { "dependencies": { "quansync": "^0.2.7" } }, "sha512-BEnLolu+yuz22S56CU1SUKq3XC3PkwD5wv4ikR4MfGvnRVcmzXR9DwSlW2fEamyTPyXHomBJRzgapeuBvRNzJQ=="],
+
+ "@babel/core/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="],
+
+ "@babel/helper-compilation-targets/lru-cache": ["lru-cache@5.1.1", "", { "dependencies": { "yallist": "^3.0.2" } }, "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w=="],
+
+ "@babel/helper-compilation-targets/semver": ["semver@6.3.1", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="],
+
+ "@babel/traverse/globals": ["globals@11.12.0", "", {}, "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA=="],
+
+ "@iconify/utils/local-pkg": ["local-pkg@1.1.1", "", { "dependencies": { "mlly": "^1.7.4", "pkg-types": "^2.0.1", "quansync": "^0.2.8" } }, "sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg=="],
+
+ "@rollup/pluginutils/estree-walker": ["estree-walker@2.0.2", "", {}, "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="],
+
+ "ansi-align/string-width": ["string-width@4.2.3", "", { "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", "strip-ansi": "^6.0.1" } }, "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g=="],
+
+ "anymatch/picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="],
+
+ "babel-plugin-jsx-dom-expressions/@babel/helper-module-imports": ["@babel/helper-module-imports@7.18.6", "", { "dependencies": { "@babel/types": "^7.18.6" } }, "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA=="],
+
+ "csso/css-tree": ["css-tree@2.2.1", "", { "dependencies": { "mdn-data": "2.0.28", "source-map-js": "^1.0.1" } }, "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA=="],
+
+ "fs-minipass/minipass": ["minipass@3.3.6", "", { "dependencies": { "yallist": "^4.0.0" } }, "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw=="],
+
+ "hast-util-to-parse5/property-information": ["property-information@6.5.0", "", {}, "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig=="],
+
+ "minizlib/minipass": ["minipass@3.3.6", "", { "dependencies": { "yallist": "^4.0.0" } }, "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw=="],
+
+ "mlly/pathe": ["pathe@2.0.3", "", {}, "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="],
+
+ "parse-entities/@types/unist": ["@types/unist@2.0.11", "", {}, "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA=="],
+
+ "pkg-types/pathe": ["pathe@2.0.3", "", {}, "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="],
+
+ "prompts/kleur": ["kleur@3.0.3", "", {}, "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w=="],
+
+ "tar/minipass": ["minipass@5.0.0", "", {}, "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ=="],
+
+ "@babel/helper-compilation-targets/lru-cache/yallist": ["yallist@3.1.1", "", {}, "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="],
+
+ "@iconify/utils/local-pkg/pkg-types": ["pkg-types@2.1.0", "", { "dependencies": { "confbox": "^0.2.1", "exsolve": "^1.0.1", "pathe": "^2.0.3" } }, "sha512-wmJwA+8ihJixSoHKxZJRBQG1oY8Yr9pGLzRmSsNms0iNWyHHAlZCa7mmKiFR10YPZuz/2k169JiS/inOjBCZ2A=="],
+
+ "ansi-align/string-width/emoji-regex": ["emoji-regex@8.0.0", "", {}, "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="],
+
+ "ansi-align/string-width/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="],
+
+ "csso/css-tree/mdn-data": ["mdn-data@2.0.28", "", {}, "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g=="],
+
+ "@iconify/utils/local-pkg/pkg-types/confbox": ["confbox@0.2.1", "", {}, "sha512-hkT3yDPFbs95mNCy1+7qNKC6Pro+/ibzYxtM2iqEigpf0sVw+bg4Zh9/snjsBcf990vfIsg5+1U7VyiyBb3etg=="],
+
+ "@iconify/utils/local-pkg/pkg-types/pathe": ["pathe@2.0.3", "", {}, "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="],
+
+ "ansi-align/string-width/strip-ansi/ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="],
+ }
+}
diff --git a/package.json b/package.json
index e41d39b..ad0495e 100644
--- a/package.json
+++ b/package.json
@@ -1,35 +1,36 @@
{
- "name": "hexo-site",
- "version": "0.0.0",
+ "name": "new-blog",
+ "type": "module",
"private": true,
"scripts": {
- "build": "hexo generate",
- "clean": "hexo clean",
- "serve": "hexo server --drafts",
- "serve:preview": "hexo server",
- "postinstall": "cd themes/hexo-theme-buck && pnpm install && pnpm build",
- "new": "hexo new"
- },
- "hexo": {
- "version": "7.3.0"
- },
- "dependencies": {
- "axios": "^1.7.7",
- "hexo": "^7.3.0",
- "hexo-feed": "^1.1.2",
- "hexo-generator-archive": "^2.0.0",
- "hexo-generator-category": "^2.0.0",
- "hexo-generator-index": "^3.0.0",
- "hexo-generator-tag": "^2.0.0",
- "hexo-renderer-ejs": "^2.0.0",
- "hexo-renderer-marked": "^6.3.0",
- "hexo-renderer-stylus": "^3.0.1",
- "hexo-server": "^2.0.0",
- "hexo-tag-steamgame": "^1.0.0",
- "rate-limiter-flexible": "^2.4.2"
+ "dev": "bunx --bun astro dev",
+ "dist": "bunx --bun astro build",
+ "preview": "bunx --bun astro preview"
},
"devDependencies": {
- "wrangler": "^3.79.0"
+ "@types/bun": "latest",
+ "hast": "^1.0.0",
+ "prettier": "^3.5.3",
+ "prettier-plugin-astro": "^0.14.1",
+ "unist-util-visit": "^5.0.0"
},
- "packageManager": "pnpm@9.12.0+sha512.4abf725084d7bcbafbd728bfc7bee61f2f791f977fd87542b3579dcb23504d170d46337945e4c66485cd12d588a0c0e570ed9c477e7ccdd8507cf05f3f92eaca"
+ "peerDependencies": {
+ "typescript": "^5"
+ },
+ "dependencies": {
+ "@astrojs/mdx": "^4.2.2",
+ "@astrojs/solid-js": "^5.0.6",
+ "@fontsource-variable/roboto": "^5.2.5",
+ "@formatjs/intl-localematcher": "^0.6.1",
+ "@iconify-json/mdi": "^1.2.3",
+ "astro": "^5.5.5",
+ "astro-icon": "^1.1.5",
+ "astro-pagefind": "^1.8.3",
+ "date-fns": "^4.1.0",
+ "solid-js": "^1.9.5",
+ "xast": "^0.1.208",
+ "xast-util-to-xml": "^4.0.0",
+ "xastscript": "^4.0.0"
+ },
+ "packageManager": "bun@1.2.9"
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
deleted file mode 100644
index 5de792d..0000000
--- a/pnpm-lock.yaml
+++ /dev/null
@@ -1,2485 +0,0 @@
-lockfileVersion: '9.0'
-
-settings:
- autoInstallPeers: true
- excludeLinksFromLockfile: false
-
-importers:
-
- .:
- dependencies:
- axios:
- specifier: ^1.7.7
- version: 1.7.7
- hexo:
- specifier: ^7.3.0
- version: 7.3.0(chokidar@3.6.0)
- hexo-feed:
- specifier: ^1.1.2
- version: 1.1.2(chalk@4.1.2)(hexo@7.3.0(chokidar@3.6.0))
- hexo-generator-archive:
- specifier: ^2.0.0
- version: 2.0.0
- hexo-generator-category:
- specifier: ^2.0.0
- version: 2.0.0
- hexo-generator-index:
- specifier: ^3.0.0
- version: 3.0.0
- hexo-generator-tag:
- specifier: ^2.0.0
- version: 2.0.0
- hexo-renderer-ejs:
- specifier: ^2.0.0
- version: 2.0.0
- hexo-renderer-marked:
- specifier: ^6.3.0
- version: 6.3.0
- hexo-renderer-stylus:
- specifier: ^3.0.1
- version: 3.0.1
- hexo-server:
- specifier: ^2.0.0
- version: 2.0.0
- hexo-tag-steamgame:
- specifier: ^1.0.0
- version: 1.0.0
- rate-limiter-flexible:
- specifier: ^2.4.2
- version: 2.4.2
- devDependencies:
- wrangler:
- specifier: ^3.79.0
- version: 3.79.0
-
-packages:
-
- '@adobe/css-tools@4.3.3':
- resolution: {integrity: sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ==}
-
- '@cloudflare/kv-asset-handler@0.3.4':
- resolution: {integrity: sha512-YLPHc8yASwjNkmcDMQMY35yiWjoKAKnhUbPRszBRS0YgH+IXtsMp61j+yTcnCE3oO2DgP0U3iejLC8FTtKDC8Q==}
- engines: {node: '>=16.13'}
-
- '@cloudflare/workerd-darwin-64@1.20240925.0':
- resolution: {integrity: sha512-KdLnSXuzB65CbqZPm+qYzk+zkQ1tUNPaaRGYVd/jPYAxwwtfTUQdQ+ahDPwVVs2tmQELKy7ZjQjf2apqSWUfjw==}
- engines: {node: '>=16'}
- cpu: [x64]
- os: [darwin]
-
- '@cloudflare/workerd-darwin-arm64@1.20240925.0':
- resolution: {integrity: sha512-MiQ6uUmCXjsXgWNV+Ock2tp2/tYqNJGzjuaH6jFioeRF+//mz7Tv7J7EczOL4zq+TH8QFOh0/PUsLyazIWVGng==}
- engines: {node: '>=16'}
- cpu: [arm64]
- os: [darwin]
-
- '@cloudflare/workerd-linux-64@1.20240925.0':
- resolution: {integrity: sha512-Rjix8jsJMfsInmq3Hm3fmiRQ+rwzuWRPV1pg/OWhMSfNP7Qp2RCU+RGkhgeR9Z5eNAje0Sn2BMrFq4RvF9/yRA==}
- engines: {node: '>=16'}
- cpu: [x64]
- os: [linux]
-
- '@cloudflare/workerd-linux-arm64@1.20240925.0':
- resolution: {integrity: sha512-VYIPeMHQRtbwQoIjUwS/zULlywPxyDvo46XkTpIW5MScEChfqHvAYviQ7TzYGx6Q+gmZmN+DUB2KOMx+MEpCxA==}
- engines: {node: '>=16'}
- cpu: [arm64]
- os: [linux]
-
- '@cloudflare/workerd-windows-64@1.20240925.0':
- resolution: {integrity: sha512-C8peGvaU5R51bIySi1VbyfRgwNSSRknqoFSnSbSBI3uTN3THTB3UnmRKy7GXJDmyjgXuT9Pcs1IgaWNubLtNtw==}
- engines: {node: '>=16'}
- cpu: [x64]
- os: [win32]
-
- '@cloudflare/workers-shared@0.5.4':
- resolution: {integrity: sha512-PNL/0TjKRdUHa1kwgVdqUNJVZ9ez4kacsi8omz+gv859EvJmsVuGiMAClY2YfJnC9LVKhKCcjqmFgKNXG9/IXA==}
- engines: {node: '>=16.7.0'}
-
- '@cspotcode/source-map-support@0.8.1':
- resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==}
- engines: {node: '>=12'}
-
- '@esbuild-plugins/node-globals-polyfill@0.2.3':
- resolution: {integrity: sha512-r3MIryXDeXDOZh7ih1l/yE9ZLORCd5e8vWg02azWRGj5SPTuoh69A2AIyn0Z31V/kHBfZ4HgWJ+OK3GTTwLmnw==}
- peerDependencies:
- esbuild: '*'
-
- '@esbuild-plugins/node-modules-polyfill@0.2.2':
- resolution: {integrity: sha512-LXV7QsWJxRuMYvKbiznh+U1ilIop3g2TeKRzUxOG5X3YITc8JyyTa90BmLwqqv0YnX4v32CSlG+vsziZp9dMvA==}
- peerDependencies:
- esbuild: '*'
-
- '@esbuild/android-arm64@0.17.19':
- resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [android]
-
- '@esbuild/android-arm@0.17.19':
- resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [android]
-
- '@esbuild/android-x64@0.17.19':
- resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [android]
-
- '@esbuild/darwin-arm64@0.17.19':
- resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [darwin]
-
- '@esbuild/darwin-x64@0.17.19':
- resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [darwin]
-
- '@esbuild/freebsd-arm64@0.17.19':
- resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [freebsd]
-
- '@esbuild/freebsd-x64@0.17.19':
- resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [freebsd]
-
- '@esbuild/linux-arm64@0.17.19':
- resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [linux]
-
- '@esbuild/linux-arm@0.17.19':
- resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [linux]
-
- '@esbuild/linux-ia32@0.17.19':
- resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [linux]
-
- '@esbuild/linux-loong64@0.17.19':
- resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==}
- engines: {node: '>=12'}
- cpu: [loong64]
- os: [linux]
-
- '@esbuild/linux-mips64el@0.17.19':
- resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==}
- engines: {node: '>=12'}
- cpu: [mips64el]
- os: [linux]
-
- '@esbuild/linux-ppc64@0.17.19':
- resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==}
- engines: {node: '>=12'}
- cpu: [ppc64]
- os: [linux]
-
- '@esbuild/linux-riscv64@0.17.19':
- resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==}
- engines: {node: '>=12'}
- cpu: [riscv64]
- os: [linux]
-
- '@esbuild/linux-s390x@0.17.19':
- resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==}
- engines: {node: '>=12'}
- cpu: [s390x]
- os: [linux]
-
- '@esbuild/linux-x64@0.17.19':
- resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [linux]
-
- '@esbuild/netbsd-x64@0.17.19':
- resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [netbsd]
-
- '@esbuild/openbsd-x64@0.17.19':
- resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [openbsd]
-
- '@esbuild/sunos-x64@0.17.19':
- resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [sunos]
-
- '@esbuild/win32-arm64@0.17.19':
- resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [win32]
-
- '@esbuild/win32-ia32@0.17.19':
- resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [win32]
-
- '@esbuild/win32-x64@0.17.19':
- resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [win32]
-
- '@fastify/busboy@2.1.1':
- resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==}
- engines: {node: '>=14'}
-
- '@jridgewell/resolve-uri@3.1.2':
- resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
- engines: {node: '>=6.0.0'}
-
- '@jridgewell/sourcemap-codec@1.5.0':
- resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
-
- '@jridgewell/trace-mapping@0.3.9':
- resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==}
-
- '@tootallnate/once@2.0.0':
- resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==}
- engines: {node: '>= 10'}
-
- '@types/node-forge@1.3.11':
- resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==}
-
- '@types/node@22.7.4':
- resolution: {integrity: sha512-y+NPi1rFzDs1NdQHHToqeiX2TIS79SWEAw9GYhkkx8bD0ChpfqC+n2j5OXOCpzfojBEBt6DnEnnG9MY0zk1XLg==}
-
- a-sync-waterfall@1.0.1:
- resolution: {integrity: sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA==}
-
- abab@2.0.6:
- resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==}
- deprecated: Use your platform's native atob() and btoa() methods instead
-
- abbrev@2.0.0:
- resolution: {integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==}
- engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
-
- accepts@1.3.8:
- resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==}
- engines: {node: '>= 0.6'}
-
- acorn-globals@7.0.1:
- resolution: {integrity: sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==}
-
- acorn-walk@8.3.4:
- resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==}
- engines: {node: '>=0.4.0'}
-
- acorn@8.12.1:
- resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==}
- engines: {node: '>=0.4.0'}
- hasBin: true
-
- agent-base@6.0.2:
- resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==}
- engines: {node: '>= 6.0.0'}
-
- ansi-regex@5.0.1:
- resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
- engines: {node: '>=8'}
-
- ansi-styles@4.3.0:
- resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
- engines: {node: '>=8'}
-
- anymatch@3.1.3:
- resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
- engines: {node: '>= 8'}
-
- archy@1.0.0:
- resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==}
-
- argparse@2.0.1:
- resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
-
- as-table@1.0.55:
- resolution: {integrity: sha512-xvsWESUJn0JN421Xb9MQw6AsMHRCUknCe0Wjlxvjud80mU4E6hQf1A6NzQKcYNmYw62MfzEtXc+badstZP3JpQ==}
-
- asap@2.0.6:
- resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==}
-
- async@3.2.6:
- resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==}
-
- asynckit@0.4.0:
- resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
-
- axios@1.7.7:
- resolution: {integrity: sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==}
-
- balanced-match@1.0.2:
- resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
-
- basic-auth@2.0.1:
- resolution: {integrity: sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==}
- engines: {node: '>= 0.8'}
-
- binary-extensions@2.3.0:
- resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
- engines: {node: '>=8'}
-
- blake3-wasm@2.1.5:
- resolution: {integrity: sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==}
-
- bluebird@3.7.2:
- resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==}
-
- brace-expansion@1.1.11:
- resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
-
- brace-expansion@2.0.1:
- resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
-
- braces@3.0.3:
- resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
- engines: {node: '>=8'}
-
- bytes@3.0.0:
- resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==}
- engines: {node: '>= 0.8'}
-
- camel-case@4.1.2:
- resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==}
-
- capnp-ts@0.7.0:
- resolution: {integrity: sha512-XKxXAC3HVPv7r674zP0VC3RTXz+/JKhfyw94ljvF80yynK6VkTnqE3jMuN8b3dUVmmc43TjyxjW4KTsmB3c86g==}
-
- chalk@4.1.2:
- resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
- engines: {node: '>=10'}
-
- chokidar@3.6.0:
- resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
- engines: {node: '>= 8.10.0'}
-
- color-convert@2.0.1:
- resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
- engines: {node: '>=7.0.0'}
-
- color-name@1.1.4:
- resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
-
- combined-stream@1.0.8:
- resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
- engines: {node: '>= 0.8'}
-
- command-exists@1.2.9:
- resolution: {integrity: sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==}
-
- commander@5.1.0:
- resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==}
- engines: {node: '>= 6'}
-
- compressible@2.0.18:
- resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==}
- engines: {node: '>= 0.6'}
-
- compression@1.7.4:
- resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==}
- engines: {node: '>= 0.8.0'}
-
- concat-map@0.0.1:
- resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
-
- connect@3.7.0:
- resolution: {integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==}
- engines: {node: '>= 0.10.0'}
-
- cookie@0.5.0:
- resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==}
- engines: {node: '>= 0.6'}
-
- cross-spawn@7.0.3:
- resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
- engines: {node: '>= 8'}
-
- cssom@0.3.8:
- resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==}
-
- cssom@0.5.0:
- resolution: {integrity: sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==}
-
- cssstyle@2.3.0:
- resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==}
- engines: {node: '>=8'}
-
- cuid@2.1.8:
- resolution: {integrity: sha512-xiEMER6E7TlTPnDxrM4eRiC6TRgjNX9xzEZ5U/Se2YJKr7Mq4pJn/2XEHjl3STcSh96GmkHPcBXLES8M29wyyg==}
- deprecated: Cuid and other k-sortable and non-cryptographic ids (Ulid, ObjectId, KSUID, all UUIDs) are all insecure. Use @paralleldrive/cuid2 instead.
-
- data-uri-to-buffer@2.0.2:
- resolution: {integrity: sha512-ND9qDTLc6diwj+Xe5cdAgVTbLVdXbtxTJRXRhli8Mowuaan+0EJOtdqJ0QCHNSSPyoXGx9HX2/VMnKeC34AChA==}
-
- data-urls@3.0.2:
- resolution: {integrity: sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==}
- engines: {node: '>=12'}
-
- debug@2.6.9:
- resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
-
- debug@4.3.7:
- resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==}
- engines: {node: '>=6.0'}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
-
- decimal.js@10.4.3:
- resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==}
-
- deepmerge@4.3.1:
- resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
- engines: {node: '>=0.10.0'}
-
- defu@6.1.4:
- resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==}
-
- delayed-stream@1.0.0:
- resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
- engines: {node: '>=0.4.0'}
-
- depd@2.0.0:
- resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
- engines: {node: '>= 0.8'}
-
- destroy@1.2.0:
- resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
- engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
-
- dom-serializer@2.0.0:
- resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==}
-
- domelementtype@2.3.0:
- resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
-
- domexception@4.0.0:
- resolution: {integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==}
- engines: {node: '>=12'}
- deprecated: Use your platform's native DOMException instead
-
- domhandler@5.0.3:
- resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==}
- engines: {node: '>= 4'}
-
- dompurify@3.1.7:
- resolution: {integrity: sha512-VaTstWtsneJY8xzy7DekmYWEOZcmzIe3Qb3zPd4STve1OBTa+e+WmS1ITQec1fZYXI3HCsOZZiSMpG6oxoWMWQ==}
-
- domutils@3.1.0:
- resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==}
-
- ee-first@1.1.1:
- resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
-
- ejs@3.1.10:
- resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==}
- engines: {node: '>=0.10.0'}
- hasBin: true
-
- encodeurl@1.0.2:
- resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==}
- engines: {node: '>= 0.8'}
-
- encodeurl@2.0.0:
- resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==}
- engines: {node: '>= 0.8'}
-
- entities@4.5.0:
- resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
- engines: {node: '>=0.12'}
-
- esbuild@0.17.19:
- resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==}
- engines: {node: '>=12'}
- hasBin: true
-
- escape-html@1.0.3:
- resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
-
- escape-string-regexp@4.0.0:
- resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
- engines: {node: '>=10'}
-
- escodegen@2.1.0:
- resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==}
- engines: {node: '>=6.0'}
- hasBin: true
-
- esprima@4.0.1:
- resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
- engines: {node: '>=4'}
- hasBin: true
-
- estraverse@5.3.0:
- resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
- engines: {node: '>=4.0'}
-
- estree-walker@0.6.1:
- resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==}
-
- esutils@2.0.3:
- resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
- engines: {node: '>=0.10.0'}
-
- etag@1.8.1:
- resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
- engines: {node: '>= 0.6'}
-
- exit-hook@2.2.1:
- resolution: {integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==}
- engines: {node: '>=6'}
-
- fast-equals@3.0.3:
- resolution: {integrity: sha512-NCe8qxnZFARSHGztGMZOO/PC1qa5MIFB5Hp66WdzbCRAz8U8US3bx1UTgLS49efBQPcUtO9gf5oVEY8o7y/7Kg==}
-
- filelist@1.0.4:
- resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==}
-
- fill-range@7.1.1:
- resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
- engines: {node: '>=8'}
-
- finalhandler@1.1.2:
- resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==}
- engines: {node: '>= 0.8'}
-
- follow-redirects@1.15.9:
- resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==}
- engines: {node: '>=4.0'}
- peerDependencies:
- debug: '*'
- peerDependenciesMeta:
- debug:
- optional: true
-
- form-data@4.0.0:
- resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==}
- engines: {node: '>= 6'}
-
- fresh@0.5.2:
- resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==}
- engines: {node: '>= 0.6'}
-
- fs.realpath@1.0.0:
- resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
-
- fsevents@2.3.3:
- resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
- engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
- os: [darwin]
-
- function-bind@1.1.2:
- resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
-
- get-source@2.0.12:
- resolution: {integrity: sha512-X5+4+iD+HoSeEED+uwrQ07BOQr0kEDFMVqqpBuI+RaZBpBpHCuXxo70bjar6f0b0u/DQJsJ7ssurpP0V60Az+w==}
-
- glob-parent@5.1.2:
- resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
- engines: {node: '>= 6'}
-
- glob-to-regexp@0.4.1:
- resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==}
-
- glob@7.2.3:
- resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
- deprecated: Glob versions prior to v9 are no longer supported
-
- graceful-fs@4.2.11:
- resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
-
- has-flag@4.0.0:
- resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
- engines: {node: '>=8'}
-
- hasown@2.0.2:
- resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
- engines: {node: '>= 0.4'}
-
- hexo-cli@4.3.2:
- resolution: {integrity: sha512-druJeBgLpG9ncDS5AhBHdAXk0G4CFj8Qes09pApyZ6bR+nJW1JYiDMuilhudaKDdq+1l49jWXVTidkcb7p0Jbw==}
- engines: {node: '>=14'}
- hasBin: true
-
- hexo-feed@1.1.2:
- resolution: {integrity: sha512-7uK+9r3btleHpVbuuP0I13ETSRiVsBtQghPNyyBl9HJ8D23jXcWq5lLe4KUlhOql35mlIYErNv1iZIbJMNilEQ==}
- peerDependencies:
- chalk: ^4.1.0
- hexo: ^4.2.0 || ^5.2.0 || ^6.1.0 || ^7.0.0
-
- hexo-front-matter@4.2.1:
- resolution: {integrity: sha512-sJJI0GNmejYiwBvgnGRKn5V3sbODB4dNPr8jyw2Qp0PRHr4Uuyv8iyxw6WfK3+T7yvzYvJOh+tZ7jnwr2BYARA==}
- engines: {node: '>=14'}
-
- hexo-fs@4.1.3:
- resolution: {integrity: sha512-Q92zQ5PlVDouvSWFLXQoFSTLIUIODikUJs2BfAXQglyOEjN1dOQn1Z5Nimk/7GHof17R5h/uObCQLnZAjzI2tg==}
- engines: {node: '>=14'}
-
- hexo-generator-archive@2.0.0:
- resolution: {integrity: sha512-KikJk7dGFbtNHOgqtLFGf5T/S8n1paGp+Gy0KfVDz+HKYhGbXOouyiZkmc3O9KrYt6ja14rmkMhq7KKGtvfehw==}
- engines: {node: '>=14'}
-
- hexo-generator-category@2.0.0:
- resolution: {integrity: sha512-9OduRBf3WeRDa4BR0kAfRjOVHur7v3fm0NKAwbjUiqULigAdNZVZPO3cHKW2MlBbl/lI5PuWdhQ9zZ99CCCAgQ==}
- engines: {node: '>=14'}
-
- hexo-generator-index@3.0.0:
- resolution: {integrity: sha512-83AuNN4cWdLVi//3ugR8E3kR6rrOwhXZt+hOCm1IjtIGj353/GlrtpMHpqZHU5kqipzj4miy9dweVdukXglVWw==}
- engines: {node: '>=14'}
-
- hexo-generator-tag@2.0.0:
- resolution: {integrity: sha512-1px/hF3veEohWDN8jjzchQhaiz+uOStUvvMaBJC9vWOlALh30UFcapL8IrvAwwJZjFRVA+WqGgDRqoQ8+yaaFw==}
- engines: {node: '>=14'}
-
- hexo-i18n@2.0.0:
- resolution: {integrity: sha512-dkUXecEtChaQMdTHN4WR13c8GwKqjbSOZPJS9qDqV6Ebnb77Wa/nQzWFckhP0dCps3a9lUQBd8hYGOMbOosiQQ==}
- engines: {node: '>=14'}
-
- hexo-log@4.1.0:
- resolution: {integrity: sha512-i2Sgxk8Cgx5viSjq5qW5N/rBFfwoCKQcH8qnnW1fawCapcdEAhIsq+Y3vbrs9bssyDlyU6Vqm4oQmosREaNI7Q==}
- engines: {node: '>=14'}
-
- hexo-pagination@3.0.0:
- resolution: {integrity: sha512-8oo1iozloZo7TojPVYg4IxL3SJKCBdSJ908fTlIxIK7TWJIKdYnQlW31+12DBJ0NhVZA/lZisPObGF08wT8fKw==}
- engines: {node: '>=14'}
-
- hexo-renderer-ejs@2.0.0:
- resolution: {integrity: sha512-qCjE1IdwgDgv65qyb0KMVCwCdSVAkH0vwAe9XihjvaKWkmb9dtt8DgErOdqCXn0HReSyWiEVP2BrLRj3gyHwOQ==}
- engines: {node: '>=12'}
-
- hexo-renderer-marked@6.3.0:
- resolution: {integrity: sha512-V/ATcJ+tZHkTJSbScPzzHKmrwVMohU8i9MfuX9jp07Un/NpPtaTP821unP3JPu+O1nNLWMi+3xRbFRdm+8vajw==}
- engines: {node: '>=14'}
-
- hexo-renderer-stylus@3.0.1:
- resolution: {integrity: sha512-cFm8ZwShBBeFcQwOXc8EK7lIZnSYVD6OJykdL4GBw99hxc4eD5Hlsi32nRzE8sgKv00jhX1s9Da3GVVFMPAVQg==}
- engines: {node: '>=14'}
-
- hexo-server@2.0.0:
- resolution: {integrity: sha512-GnxCU0hjepjmqMENcKOKxpzOajb9YrjQczWsZPXU25l5Ze+M9KJLSVljIRFR+ikDRIPDtXaUY2WgYrWPbNEGfg==}
- engines: {node: '>=10.13.0'}
-
- hexo-tag-steamgame@1.0.0:
- resolution: {integrity: sha512-xbfxgnnt200aKUOVTJcHjEyueIQ3PPrvUj/BrgzS3IV6Ab+n+Bpj//iH+iZ86M0oqncR0pB/fWo8JqEi06jhdg==}
-
- hexo-util@3.3.0:
- resolution: {integrity: sha512-YvGngXijE2muEh5L/VI4Fmjqb+/yAkmY+VuyhWVoRwQu1X7bmWodsfYRXX7CUYhi5LqsvH8FAe/yBW1+f6ZX4Q==}
- engines: {node: '>=14'}
-
- hexo@7.3.0:
- resolution: {integrity: sha512-dOe8mzBKrvjubW5oBmyhcnQDpC+M2xmAMLae5K+o+SkHxyvAhShkS2VQZoTsOLIJKY6xilv7dzCjCvE7ol/NHQ==}
- engines: {node: '>=14'}
- hasBin: true
-
- highlight.js@11.10.0:
- resolution: {integrity: sha512-SYVnVFswQER+zu1laSya563s+F8VDGt7o35d4utbamowvUNLLMovFqwCLSocpZTz3MgaSRA1IbqRWZv97dtErQ==}
- engines: {node: '>=12.0.0'}
-
- html-encoding-sniffer@3.0.0:
- resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==}
- engines: {node: '>=12'}
-
- htmlparser2@9.1.0:
- resolution: {integrity: sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==}
-
- http-errors@2.0.0:
- resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==}
- engines: {node: '>= 0.8'}
-
- http-proxy-agent@5.0.0:
- resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==}
- engines: {node: '>= 6'}
-
- https-proxy-agent@5.0.1:
- resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==}
- engines: {node: '>= 6'}
-
- iconv-lite@0.6.3:
- resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
- engines: {node: '>=0.10.0'}
-
- inflight@1.0.6:
- resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
- deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
-
- 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-core-module@2.15.1:
- resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==}
- engines: {node: '>= 0.4'}
-
- is-docker@2.2.1:
- resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
- engines: {node: '>=8'}
- hasBin: true
-
- 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-number@7.0.0:
- resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
- engines: {node: '>=0.12.0'}
-
- is-plain-object@5.0.0:
- resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==}
- engines: {node: '>=0.10.0'}
-
- is-potential-custom-element-name@1.0.1:
- resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==}
-
- is-wsl@2.2.0:
- resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
- engines: {node: '>=8'}
-
- isexe@2.0.0:
- resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
-
- jake@10.9.2:
- resolution: {integrity: sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==}
- engines: {node: '>=10'}
- hasBin: true
-
- js-yaml-js-types@1.0.1:
- resolution: {integrity: sha512-5tpfyORs8OQ43alNERbWfYRCtWgykvzYgY46fUhrQi2+kS7N0NuuFYLZ/IrfmVm5muLTndeMublgraXiFRjEPw==}
- peerDependencies:
- js-yaml: 4.x
-
- js-yaml@4.1.0:
- resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
- hasBin: true
-
- jsdom@20.0.3:
- resolution: {integrity: sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==}
- engines: {node: '>=14'}
- peerDependencies:
- canvas: ^2.5.0
- peerDependenciesMeta:
- canvas:
- optional: true
-
- jsonparse@1.3.1:
- resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==}
- engines: {'0': node >= 0.2.0}
-
- lower-case@2.0.2:
- resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==}
-
- magic-string@0.25.9:
- resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==}
-
- marked@4.3.0:
- resolution: {integrity: sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==}
- engines: {node: '>= 12'}
- hasBin: true
-
- micro-memoize@4.1.2:
- resolution: {integrity: sha512-+HzcV2H+rbSJzApgkj0NdTakkC+bnyeiUxgT6/m7mjcz1CmM22KYFKp+EVj1sWe4UYcnriJr5uqHQD/gMHLD+g==}
-
- micromatch@4.0.8:
- resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
- engines: {node: '>=8.6'}
-
- mime-db@1.52.0:
- resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
- engines: {node: '>= 0.6'}
-
- mime-db@1.53.0:
- resolution: {integrity: sha512-oHlN/w+3MQ3rba9rqFr6V/ypF10LSkdwUysQL7GkXoTgIWeV+tcXGA852TBxH+gsh8UWoyhR1hKcoMJTuWflpg==}
- engines: {node: '>= 0.6'}
-
- mime-types@2.1.35:
- resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
- engines: {node: '>= 0.6'}
-
- mime@1.6.0:
- resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==}
- engines: {node: '>=4'}
- hasBin: true
-
- mime@2.6.0:
- resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==}
- engines: {node: '>=4.0.0'}
- hasBin: true
-
- mime@3.0.0:
- resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==}
- engines: {node: '>=10.0.0'}
- hasBin: true
-
- min-indent@1.0.1:
- resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
- engines: {node: '>=4'}
-
- miniflare@3.20240925.0:
- resolution: {integrity: sha512-2LmQbKHf0n6ertUKhT+Iltixi53giqDH7P71+wCir3OnGyXIODqYwOECx1mSDNhYThpxM2dav8UdPn6SQiMoXw==}
- engines: {node: '>=16.13'}
- hasBin: true
-
- minimatch@3.1.2:
- resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
-
- minimatch@5.1.6:
- resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==}
- engines: {node: '>=10'}
-
- minimist@1.2.8:
- resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
-
- moize@6.1.6:
- resolution: {integrity: sha512-vSKdIUO61iCmTqhdoIDrqyrtp87nWZUmBPniNjO0fX49wEYmyDO4lvlnFXiGcaH1JLE/s/9HbiK4LSHsbiUY6Q==}
-
- moment-timezone@0.5.45:
- resolution: {integrity: sha512-HIWmqA86KcmCAhnMAN0wuDOARV/525R2+lOLotuGFzn4HO+FH+/645z2wx0Dt3iDv6/p61SIvKnDstISainhLQ==}
-
- moment@2.30.1:
- resolution: {integrity: sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==}
-
- morgan@1.10.0:
- resolution: {integrity: sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==}
- engines: {node: '>= 0.8.0'}
-
- ms@2.0.0:
- resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
-
- ms@2.1.3:
- resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
-
- mustache@4.2.0:
- resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==}
- hasBin: true
-
- nanoid@3.3.7:
- resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
- engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
- hasBin: true
-
- negotiator@0.6.3:
- resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
- engines: {node: '>= 0.6'}
-
- nib@1.2.0:
- resolution: {integrity: sha512-7HgrnMl/3yOmWykueO8/D0q+0iWwe7Z+CK2Eaq/xQV8w1hK80WN1oReRQkfkrztbAAnp/nTHkUSl5EcVkor6JQ==}
- peerDependencies:
- stylus: '*'
-
- no-case@3.0.4:
- resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==}
-
- node-forge@1.3.1:
- resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==}
- engines: {node: '>= 6.13.0'}
-
- normalize-path@3.0.0:
- resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
- engines: {node: '>=0.10.0'}
-
- nunjucks@3.2.4:
- resolution: {integrity: sha512-26XRV6BhkgK0VOxfbU5cQI+ICFUtMLixv1noZn1tGU38kQH5A5nmmbk/O45xdyBhD1esk47nKrY0mvQpZIhRjQ==}
- engines: {node: '>= 6.9.0'}
- hasBin: true
- peerDependencies:
- chokidar: ^3.3.0
- peerDependenciesMeta:
- chokidar:
- optional: true
-
- nwsapi@2.2.13:
- resolution: {integrity: sha512-cTGB9ptp9dY9A5VbMSe7fQBcl/tt22Vcqdq8+eN93rblOuE0aCFu4aZ2vMwct/2t+lFnosm8RkQW1I0Omb1UtQ==}
-
- ohash@1.1.4:
- resolution: {integrity: sha512-FlDryZAahJmEF3VR3w1KogSEdWX3WhA5GPakFx4J81kEAiHyLMpdLLElS8n8dfNadMgAne/MywcvmogzscVt4g==}
-
- on-finished@2.3.0:
- resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==}
- engines: {node: '>= 0.8'}
-
- on-finished@2.4.1:
- resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==}
- engines: {node: '>= 0.8'}
-
- on-headers@1.0.2:
- resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==}
- engines: {node: '>= 0.8'}
-
- once@1.4.0:
- resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
-
- open@7.4.2:
- resolution: {integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==}
- engines: {node: '>=8'}
-
- parse5@7.1.2:
- resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==}
-
- parseurl@1.3.3:
- resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
- engines: {node: '>= 0.8'}
-
- pascal-case@3.1.2:
- resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==}
-
- path-is-absolute@1.0.1:
- resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
- engines: {node: '>=0.10.0'}
-
- path-key@3.1.1:
- resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
- engines: {node: '>=8'}
-
- path-parse@1.0.7:
- resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
-
- path-to-regexp@6.3.0:
- resolution: {integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==}
-
- pathe@1.1.2:
- resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==}
-
- picocolors@1.1.0:
- resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==}
-
- picomatch@2.3.1:
- resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
- engines: {node: '>=8.6'}
-
- pretty-hrtime@1.0.3:
- resolution: {integrity: sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==}
- engines: {node: '>= 0.8'}
-
- printable-characters@1.0.42:
- resolution: {integrity: sha512-dKp+C4iXWK4vVYZmYSd0KBH5F/h1HoZRsbJ82AVKRO3PEo8L4lBS/vLwhVtpwwuYcoIsVY+1JYKR268yn480uQ==}
-
- prismjs@1.29.0:
- resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==}
- engines: {node: '>=6'}
-
- proxy-from-env@1.1.0:
- resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
-
- psl@1.9.0:
- resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==}
-
- punycode@2.3.1:
- resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
- engines: {node: '>=6'}
-
- querystringify@2.2.0:
- resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==}
-
- range-parser@1.2.1:
- resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
- engines: {node: '>= 0.6'}
-
- rate-limiter-flexible@2.4.2:
- resolution: {integrity: sha512-rMATGGOdO1suFyf/mI5LYhts71g1sbdhmd6YvdiXO2gJnd42Tt6QS4JUKJKSWVVkMtBacm6l40FR7Trjo6Iruw==}
-
- 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'}
-
- requires-port@1.0.0:
- resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==}
-
- resolve.exports@2.0.2:
- resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==}
- engines: {node: '>=10'}
-
- resolve@1.22.8:
- resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
- hasBin: true
-
- rfdc@1.4.1:
- resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==}
-
- rollup-plugin-inject@3.0.2:
- resolution: {integrity: sha512-ptg9PQwzs3orn4jkgXJ74bfs5vYz1NCZlSQMBUA0wKcGp5i5pA1AO3fOUEte8enhGUC+iapTCzEWw2jEFFUO/w==}
- deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-inject.
-
- rollup-plugin-node-polyfills@0.2.1:
- resolution: {integrity: sha512-4kCrKPTJ6sK4/gLL/U5QzVT8cxJcofO0OU74tnB19F40cmuAKSzH5/siithxlofFEjwvw1YAhPmbvGNA6jEroA==}
-
- rollup-pluginutils@2.8.2:
- resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==}
-
- safe-buffer@5.1.2:
- resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
-
- safe-buffer@5.2.1:
- resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
-
- safer-buffer@2.1.2:
- resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
-
- sax@1.3.0:
- resolution: {integrity: sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==}
-
- saxes@6.0.0:
- resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==}
- engines: {node: '>=v12.22.7'}
-
- selfsigned@2.4.1:
- resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==}
- engines: {node: '>=10'}
-
- send@0.19.0:
- resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==}
- engines: {node: '>= 0.8.0'}
-
- serve-static@1.16.2:
- resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==}
- engines: {node: '>= 0.8.0'}
-
- setprototypeof@1.2.0:
- resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
-
- 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'}
-
- source-map@0.6.1:
- resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
- engines: {node: '>=0.10.0'}
-
- source-map@0.7.4:
- resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==}
- engines: {node: '>= 8'}
-
- sourcemap-codec@1.4.8:
- resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
- deprecated: Please use @jridgewell/sourcemap-codec instead
-
- sprintf-js@1.1.3:
- resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==}
-
- stacktracey@2.1.8:
- resolution: {integrity: sha512-Kpij9riA+UNg7TnphqjH7/CzctQ/owJGNbFkfEeve4Z4uxT5+JapVLFXcsurIfN34gnTWZNJ/f7NMG0E8JDzTw==}
-
- statuses@1.5.0:
- resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==}
- engines: {node: '>= 0.6'}
-
- statuses@2.0.1:
- resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
- engines: {node: '>= 0.8'}
-
- stoppable@1.1.0:
- resolution: {integrity: sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==}
- engines: {node: '>=4', npm: '>=6'}
-
- string_decoder@1.3.0:
- resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
-
- strip-ansi@6.0.1:
- resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
- engines: {node: '>=8'}
-
- strip-indent@3.0.0:
- resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
- engines: {node: '>=8'}
-
- stylus@0.62.0:
- resolution: {integrity: sha512-v3YCf31atbwJQIMtPNX8hcQ+okD4NQaTuKGUWfII8eaqn+3otrbttGL1zSMZAAtiPsBztQnujVBugg/cXFUpyg==}
- hasBin: true
-
- supports-color@7.2.0:
- resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
- engines: {node: '>=8'}
-
- supports-preserve-symlinks-flag@1.0.0:
- resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
- engines: {node: '>= 0.4'}
-
- symbol-tree@3.2.4:
- resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==}
-
- text-table@0.2.0:
- resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
-
- through2@4.0.2:
- resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==}
-
- tildify@2.0.0:
- resolution: {integrity: sha512-Cc+OraorugtXNfs50hU9KS369rFXCfgGLpfCfvlc+Ud5u6VWmUQsOAa9HbTvheQdYnrdJqqv1e5oIqXppMYnSw==}
- engines: {node: '>=8'}
-
- titlecase@1.1.3:
- resolution: {integrity: sha512-pQX4oiemzjBEELPqgK4WE+q0yhAqjp/yzusGtlSJsOuiDys0RQxggepYmo0BuegIDppYS3b3cpdegRwkpyN3hw==}
- hasBin: true
-
- to-regex-range@5.0.1:
- resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
- engines: {node: '>=8.0'}
-
- toidentifier@1.0.1:
- resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
- engines: {node: '>=0.6'}
-
- tough-cookie@4.1.4:
- resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==}
- engines: {node: '>=6'}
-
- tr46@3.0.0:
- resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==}
- engines: {node: '>=12'}
-
- tslib@2.7.0:
- resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==}
-
- ufo@1.5.4:
- resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==}
-
- undici-types@6.19.8:
- resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==}
-
- undici@5.28.4:
- resolution: {integrity: sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==}
- engines: {node: '>=14.0'}
-
- unenv-nightly@2.0.0-20240919-125358-9a64854:
- resolution: {integrity: sha512-XjsgUTrTHR7iw+k/SRTNjh6EQgwpC9voygnoCJo5kh4hKqsSDHUW84MhL9EsHTNfLctvVBHaSw8e2k3R2fKXsQ==}
-
- universalify@0.2.0:
- resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==}
- engines: {node: '>= 4.0.0'}
-
- unpipe@1.0.0:
- resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==}
- engines: {node: '>= 0.8'}
-
- url-parse@1.5.10:
- resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==}
-
- util-deprecate@1.0.2:
- resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
-
- utils-merge@1.0.1:
- resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==}
- engines: {node: '>= 0.4.0'}
-
- vary@1.1.2:
- resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
- engines: {node: '>= 0.8'}
-
- w3c-xmlserializer@4.0.0:
- resolution: {integrity: sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==}
- engines: {node: '>=14'}
-
- warehouse@5.0.1:
- resolution: {integrity: sha512-5BQEQP56bPY+cqocTho4syazuGgSoyKd0y3PsS2j8tGN10HH+CEfJSIY+KUw9D0k4jaVEFMXLz0KqCiUzTYb8A==}
- engines: {node: '>=14'}
-
- webidl-conversions@7.0.0:
- resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==}
- engines: {node: '>=12'}
-
- whatwg-encoding@2.0.0:
- resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==}
- engines: {node: '>=12'}
-
- whatwg-mimetype@3.0.0:
- resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==}
- engines: {node: '>=12'}
-
- whatwg-url@11.0.0:
- resolution: {integrity: sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==}
- engines: {node: '>=12'}
-
- which@2.0.2:
- resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
- engines: {node: '>= 8'}
- hasBin: true
-
- workerd@1.20240925.0:
- resolution: {integrity: sha512-/Jj6+yLwfieZGEt3Kx4+5MoufuC3g/8iFaIh4MPBNGJOGYmdSKXvgCqz09m2+tVCYnysRfbq2zcbVxJRBfOCqQ==}
- engines: {node: '>=16'}
- hasBin: true
-
- wrangler@3.79.0:
- resolution: {integrity: sha512-29wzQWc5qNKtD3bSyAEX11j/U5IIk8xy2/ZJ4wljJlS5ppff8qGqI+LtlLmqjqTSeQqFLb87xRkms0YFUgNLXg==}
- engines: {node: '>=16.17.0'}
- hasBin: true
- peerDependencies:
- '@cloudflare/workers-types': ^4.20240925.0
- peerDependenciesMeta:
- '@cloudflare/workers-types':
- optional: true
-
- wrappy@1.0.2:
- resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
-
- ws@8.18.0:
- resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==}
- engines: {node: '>=10.0.0'}
- peerDependencies:
- bufferutil: ^4.0.1
- utf-8-validate: '>=5.0.2'
- peerDependenciesMeta:
- bufferutil:
- optional: true
- utf-8-validate:
- optional: true
-
- xml-name-validator@4.0.0:
- resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==}
- engines: {node: '>=12'}
-
- xmlchars@2.2.0:
- resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==}
-
- xxhash-wasm@1.0.2:
- resolution: {integrity: sha512-ibF0Or+FivM9lNrg+HGJfVX8WJqgo+kCLDc4vx6xMeTce7Aj+DLttKbxxRR/gNLSAelRc1omAPlJ77N/Jem07A==}
-
- youch@3.3.3:
- resolution: {integrity: sha512-qSFXUk3UZBLfggAW3dJKg0BMblG5biqSF8M34E06o5CSsZtH92u9Hqmj2RzGiHDi64fhe83+4tENFP2DB6t6ZA==}
-
- zod@3.23.8:
- resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==}
-
-snapshots:
-
- '@adobe/css-tools@4.3.3': {}
-
- '@cloudflare/kv-asset-handler@0.3.4':
- dependencies:
- mime: 3.0.0
-
- '@cloudflare/workerd-darwin-64@1.20240925.0':
- optional: true
-
- '@cloudflare/workerd-darwin-arm64@1.20240925.0':
- optional: true
-
- '@cloudflare/workerd-linux-64@1.20240925.0':
- optional: true
-
- '@cloudflare/workerd-linux-arm64@1.20240925.0':
- optional: true
-
- '@cloudflare/workerd-windows-64@1.20240925.0':
- optional: true
-
- '@cloudflare/workers-shared@0.5.4':
- dependencies:
- mime: 3.0.0
- zod: 3.23.8
-
- '@cspotcode/source-map-support@0.8.1':
- dependencies:
- '@jridgewell/trace-mapping': 0.3.9
-
- '@esbuild-plugins/node-globals-polyfill@0.2.3(esbuild@0.17.19)':
- dependencies:
- esbuild: 0.17.19
-
- '@esbuild-plugins/node-modules-polyfill@0.2.2(esbuild@0.17.19)':
- dependencies:
- esbuild: 0.17.19
- escape-string-regexp: 4.0.0
- rollup-plugin-node-polyfills: 0.2.1
-
- '@esbuild/android-arm64@0.17.19':
- optional: true
-
- '@esbuild/android-arm@0.17.19':
- optional: true
-
- '@esbuild/android-x64@0.17.19':
- optional: true
-
- '@esbuild/darwin-arm64@0.17.19':
- optional: true
-
- '@esbuild/darwin-x64@0.17.19':
- optional: true
-
- '@esbuild/freebsd-arm64@0.17.19':
- optional: true
-
- '@esbuild/freebsd-x64@0.17.19':
- optional: true
-
- '@esbuild/linux-arm64@0.17.19':
- optional: true
-
- '@esbuild/linux-arm@0.17.19':
- optional: true
-
- '@esbuild/linux-ia32@0.17.19':
- optional: true
-
- '@esbuild/linux-loong64@0.17.19':
- optional: true
-
- '@esbuild/linux-mips64el@0.17.19':
- optional: true
-
- '@esbuild/linux-ppc64@0.17.19':
- optional: true
-
- '@esbuild/linux-riscv64@0.17.19':
- optional: true
-
- '@esbuild/linux-s390x@0.17.19':
- optional: true
-
- '@esbuild/linux-x64@0.17.19':
- optional: true
-
- '@esbuild/netbsd-x64@0.17.19':
- optional: true
-
- '@esbuild/openbsd-x64@0.17.19':
- optional: true
-
- '@esbuild/sunos-x64@0.17.19':
- optional: true
-
- '@esbuild/win32-arm64@0.17.19':
- optional: true
-
- '@esbuild/win32-ia32@0.17.19':
- optional: true
-
- '@esbuild/win32-x64@0.17.19':
- optional: true
-
- '@fastify/busboy@2.1.1': {}
-
- '@jridgewell/resolve-uri@3.1.2': {}
-
- '@jridgewell/sourcemap-codec@1.5.0': {}
-
- '@jridgewell/trace-mapping@0.3.9':
- dependencies:
- '@jridgewell/resolve-uri': 3.1.2
- '@jridgewell/sourcemap-codec': 1.5.0
-
- '@tootallnate/once@2.0.0': {}
-
- '@types/node-forge@1.3.11':
- dependencies:
- '@types/node': 22.7.4
-
- '@types/node@22.7.4':
- dependencies:
- undici-types: 6.19.8
-
- a-sync-waterfall@1.0.1: {}
-
- abab@2.0.6: {}
-
- abbrev@2.0.0: {}
-
- accepts@1.3.8:
- dependencies:
- mime-types: 2.1.35
- negotiator: 0.6.3
-
- acorn-globals@7.0.1:
- dependencies:
- acorn: 8.12.1
- acorn-walk: 8.3.4
-
- acorn-walk@8.3.4:
- dependencies:
- acorn: 8.12.1
-
- acorn@8.12.1: {}
-
- agent-base@6.0.2:
- dependencies:
- debug: 4.3.7
- transitivePeerDependencies:
- - supports-color
-
- ansi-regex@5.0.1: {}
-
- ansi-styles@4.3.0:
- dependencies:
- color-convert: 2.0.1
-
- anymatch@3.1.3:
- dependencies:
- normalize-path: 3.0.0
- picomatch: 2.3.1
-
- archy@1.0.0: {}
-
- argparse@2.0.1: {}
-
- as-table@1.0.55:
- dependencies:
- printable-characters: 1.0.42
-
- asap@2.0.6: {}
-
- async@3.2.6: {}
-
- asynckit@0.4.0: {}
-
- axios@1.7.7:
- dependencies:
- follow-redirects: 1.15.9
- form-data: 4.0.0
- proxy-from-env: 1.1.0
- transitivePeerDependencies:
- - debug
-
- balanced-match@1.0.2: {}
-
- basic-auth@2.0.1:
- dependencies:
- safe-buffer: 5.1.2
-
- binary-extensions@2.3.0: {}
-
- blake3-wasm@2.1.5: {}
-
- bluebird@3.7.2: {}
-
- brace-expansion@1.1.11:
- dependencies:
- balanced-match: 1.0.2
- concat-map: 0.0.1
-
- brace-expansion@2.0.1:
- dependencies:
- balanced-match: 1.0.2
-
- braces@3.0.3:
- dependencies:
- fill-range: 7.1.1
-
- bytes@3.0.0: {}
-
- camel-case@4.1.2:
- dependencies:
- pascal-case: 3.1.2
- tslib: 2.7.0
-
- capnp-ts@0.7.0:
- dependencies:
- debug: 4.3.7
- tslib: 2.7.0
- transitivePeerDependencies:
- - supports-color
-
- chalk@4.1.2:
- dependencies:
- ansi-styles: 4.3.0
- supports-color: 7.2.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
-
- color-convert@2.0.1:
- dependencies:
- color-name: 1.1.4
-
- color-name@1.1.4: {}
-
- combined-stream@1.0.8:
- dependencies:
- delayed-stream: 1.0.0
-
- command-exists@1.2.9: {}
-
- commander@5.1.0: {}
-
- compressible@2.0.18:
- dependencies:
- mime-db: 1.53.0
-
- compression@1.7.4:
- dependencies:
- accepts: 1.3.8
- bytes: 3.0.0
- compressible: 2.0.18
- debug: 2.6.9
- on-headers: 1.0.2
- safe-buffer: 5.1.2
- vary: 1.1.2
- transitivePeerDependencies:
- - supports-color
-
- concat-map@0.0.1: {}
-
- connect@3.7.0:
- dependencies:
- debug: 2.6.9
- finalhandler: 1.1.2
- parseurl: 1.3.3
- utils-merge: 1.0.1
- transitivePeerDependencies:
- - supports-color
-
- cookie@0.5.0: {}
-
- cross-spawn@7.0.3:
- dependencies:
- path-key: 3.1.1
- shebang-command: 2.0.0
- which: 2.0.2
-
- cssom@0.3.8: {}
-
- cssom@0.5.0: {}
-
- cssstyle@2.3.0:
- dependencies:
- cssom: 0.3.8
-
- cuid@2.1.8: {}
-
- data-uri-to-buffer@2.0.2: {}
-
- data-urls@3.0.2:
- dependencies:
- abab: 2.0.6
- whatwg-mimetype: 3.0.0
- whatwg-url: 11.0.0
-
- debug@2.6.9:
- dependencies:
- ms: 2.0.0
-
- debug@4.3.7:
- dependencies:
- ms: 2.1.3
-
- decimal.js@10.4.3: {}
-
- deepmerge@4.3.1: {}
-
- defu@6.1.4: {}
-
- delayed-stream@1.0.0: {}
-
- depd@2.0.0: {}
-
- destroy@1.2.0: {}
-
- dom-serializer@2.0.0:
- dependencies:
- domelementtype: 2.3.0
- domhandler: 5.0.3
- entities: 4.5.0
-
- domelementtype@2.3.0: {}
-
- domexception@4.0.0:
- dependencies:
- webidl-conversions: 7.0.0
-
- domhandler@5.0.3:
- dependencies:
- domelementtype: 2.3.0
-
- dompurify@3.1.7: {}
-
- domutils@3.1.0:
- dependencies:
- dom-serializer: 2.0.0
- domelementtype: 2.3.0
- domhandler: 5.0.3
-
- ee-first@1.1.1: {}
-
- ejs@3.1.10:
- dependencies:
- jake: 10.9.2
-
- encodeurl@1.0.2: {}
-
- encodeurl@2.0.0: {}
-
- entities@4.5.0: {}
-
- esbuild@0.17.19:
- optionalDependencies:
- '@esbuild/android-arm': 0.17.19
- '@esbuild/android-arm64': 0.17.19
- '@esbuild/android-x64': 0.17.19
- '@esbuild/darwin-arm64': 0.17.19
- '@esbuild/darwin-x64': 0.17.19
- '@esbuild/freebsd-arm64': 0.17.19
- '@esbuild/freebsd-x64': 0.17.19
- '@esbuild/linux-arm': 0.17.19
- '@esbuild/linux-arm64': 0.17.19
- '@esbuild/linux-ia32': 0.17.19
- '@esbuild/linux-loong64': 0.17.19
- '@esbuild/linux-mips64el': 0.17.19
- '@esbuild/linux-ppc64': 0.17.19
- '@esbuild/linux-riscv64': 0.17.19
- '@esbuild/linux-s390x': 0.17.19
- '@esbuild/linux-x64': 0.17.19
- '@esbuild/netbsd-x64': 0.17.19
- '@esbuild/openbsd-x64': 0.17.19
- '@esbuild/sunos-x64': 0.17.19
- '@esbuild/win32-arm64': 0.17.19
- '@esbuild/win32-ia32': 0.17.19
- '@esbuild/win32-x64': 0.17.19
-
- escape-html@1.0.3: {}
-
- escape-string-regexp@4.0.0: {}
-
- escodegen@2.1.0:
- dependencies:
- esprima: 4.0.1
- estraverse: 5.3.0
- esutils: 2.0.3
- optionalDependencies:
- source-map: 0.6.1
-
- esprima@4.0.1: {}
-
- estraverse@5.3.0: {}
-
- estree-walker@0.6.1: {}
-
- esutils@2.0.3: {}
-
- etag@1.8.1: {}
-
- exit-hook@2.2.1: {}
-
- fast-equals@3.0.3: {}
-
- filelist@1.0.4:
- dependencies:
- minimatch: 5.1.6
-
- fill-range@7.1.1:
- dependencies:
- to-regex-range: 5.0.1
-
- finalhandler@1.1.2:
- dependencies:
- debug: 2.6.9
- encodeurl: 1.0.2
- escape-html: 1.0.3
- on-finished: 2.3.0
- parseurl: 1.3.3
- statuses: 1.5.0
- unpipe: 1.0.0
- transitivePeerDependencies:
- - supports-color
-
- follow-redirects@1.15.9: {}
-
- form-data@4.0.0:
- dependencies:
- asynckit: 0.4.0
- combined-stream: 1.0.8
- mime-types: 2.1.35
-
- fresh@0.5.2: {}
-
- fs.realpath@1.0.0: {}
-
- fsevents@2.3.3:
- optional: true
-
- function-bind@1.1.2: {}
-
- get-source@2.0.12:
- dependencies:
- data-uri-to-buffer: 2.0.2
- source-map: 0.6.1
-
- glob-parent@5.1.2:
- dependencies:
- is-glob: 4.0.3
-
- glob-to-regexp@0.4.1: {}
-
- glob@7.2.3:
- dependencies:
- fs.realpath: 1.0.0
- inflight: 1.0.6
- inherits: 2.0.4
- minimatch: 3.1.2
- once: 1.4.0
- path-is-absolute: 1.0.1
-
- graceful-fs@4.2.11: {}
-
- has-flag@4.0.0: {}
-
- hasown@2.0.2:
- dependencies:
- function-bind: 1.1.2
-
- hexo-cli@4.3.2:
- dependencies:
- abbrev: 2.0.0
- bluebird: 3.7.2
- command-exists: 1.2.9
- hexo-fs: 4.1.3
- hexo-log: 4.1.0
- hexo-util: 3.3.0
- minimist: 1.2.8
- picocolors: 1.1.0
- resolve: 1.22.8
- tildify: 2.0.0
-
- hexo-feed@1.1.2(chalk@4.1.2)(hexo@7.3.0(chokidar@3.6.0)):
- dependencies:
- chalk: 4.1.2
- hexo: 7.3.0(chokidar@3.6.0)
-
- hexo-front-matter@4.2.1:
- dependencies:
- js-yaml: 4.1.0
-
- hexo-fs@4.1.3:
- dependencies:
- bluebird: 3.7.2
- chokidar: 3.6.0
- graceful-fs: 4.2.11
- hexo-util: 3.3.0
-
- hexo-generator-archive@2.0.0:
- dependencies:
- hexo-pagination: 3.0.0
-
- hexo-generator-category@2.0.0:
- dependencies:
- hexo-pagination: 3.0.0
-
- hexo-generator-index@3.0.0:
- dependencies:
- hexo-pagination: 3.0.0
-
- hexo-generator-tag@2.0.0:
- dependencies:
- hexo-pagination: 3.0.0
-
- hexo-i18n@2.0.0:
- dependencies:
- sprintf-js: 1.1.3
-
- hexo-log@4.1.0:
- dependencies:
- picocolors: 1.1.0
-
- hexo-pagination@3.0.0: {}
-
- hexo-renderer-ejs@2.0.0:
- dependencies:
- ejs: 3.1.10
-
- hexo-renderer-marked@6.3.0:
- dependencies:
- dompurify: 3.1.7
- hexo-util: 3.3.0
- jsdom: 20.0.3
- marked: 4.3.0
- transitivePeerDependencies:
- - bufferutil
- - canvas
- - supports-color
- - utf-8-validate
-
- hexo-renderer-stylus@3.0.1:
- dependencies:
- nib: 1.2.0(stylus@0.62.0)
- stylus: 0.62.0
- transitivePeerDependencies:
- - supports-color
-
- hexo-server@2.0.0:
- dependencies:
- bluebird: 3.7.2
- chalk: 4.1.2
- compression: 1.7.4
- connect: 3.7.0
- mime: 2.6.0
- morgan: 1.10.0
- open: 7.4.2
- serve-static: 1.16.2
- transitivePeerDependencies:
- - supports-color
-
- hexo-tag-steamgame@1.0.0: {}
-
- hexo-util@3.3.0:
- dependencies:
- camel-case: 4.1.2
- cross-spawn: 7.0.3
- deepmerge: 4.3.1
- highlight.js: 11.10.0
- htmlparser2: 9.1.0
- prismjs: 1.29.0
- strip-indent: 3.0.0
-
- hexo@7.3.0(chokidar@3.6.0):
- dependencies:
- abbrev: 2.0.0
- archy: 1.0.0
- bluebird: 3.7.2
- hexo-cli: 4.3.2
- hexo-front-matter: 4.2.1
- hexo-fs: 4.1.3
- hexo-i18n: 2.0.0
- hexo-log: 4.1.0
- hexo-util: 3.3.0
- js-yaml: 4.1.0
- js-yaml-js-types: 1.0.1(js-yaml@4.1.0)
- micromatch: 4.0.8
- moize: 6.1.6
- moment: 2.30.1
- moment-timezone: 0.5.45
- nunjucks: 3.2.4(chokidar@3.6.0)
- picocolors: 1.1.0
- pretty-hrtime: 1.0.3
- resolve: 1.22.8
- strip-ansi: 6.0.1
- text-table: 0.2.0
- tildify: 2.0.0
- titlecase: 1.1.3
- warehouse: 5.0.1
- transitivePeerDependencies:
- - chokidar
-
- highlight.js@11.10.0: {}
-
- html-encoding-sniffer@3.0.0:
- dependencies:
- whatwg-encoding: 2.0.0
-
- htmlparser2@9.1.0:
- dependencies:
- domelementtype: 2.3.0
- domhandler: 5.0.3
- domutils: 3.1.0
- entities: 4.5.0
-
- http-errors@2.0.0:
- dependencies:
- depd: 2.0.0
- inherits: 2.0.4
- setprototypeof: 1.2.0
- statuses: 2.0.1
- toidentifier: 1.0.1
-
- http-proxy-agent@5.0.0:
- dependencies:
- '@tootallnate/once': 2.0.0
- agent-base: 6.0.2
- debug: 4.3.7
- transitivePeerDependencies:
- - supports-color
-
- https-proxy-agent@5.0.1:
- dependencies:
- agent-base: 6.0.2
- debug: 4.3.7
- transitivePeerDependencies:
- - supports-color
-
- iconv-lite@0.6.3:
- dependencies:
- safer-buffer: 2.1.2
-
- inflight@1.0.6:
- dependencies:
- once: 1.4.0
- wrappy: 1.0.2
-
- inherits@2.0.4: {}
-
- is-binary-path@2.1.0:
- dependencies:
- binary-extensions: 2.3.0
-
- is-core-module@2.15.1:
- dependencies:
- hasown: 2.0.2
-
- is-docker@2.2.1: {}
-
- is-extglob@2.1.1: {}
-
- is-glob@4.0.3:
- dependencies:
- is-extglob: 2.1.1
-
- is-number@7.0.0: {}
-
- is-plain-object@5.0.0: {}
-
- is-potential-custom-element-name@1.0.1: {}
-
- is-wsl@2.2.0:
- dependencies:
- is-docker: 2.2.1
-
- isexe@2.0.0: {}
-
- jake@10.9.2:
- dependencies:
- async: 3.2.6
- chalk: 4.1.2
- filelist: 1.0.4
- minimatch: 3.1.2
-
- js-yaml-js-types@1.0.1(js-yaml@4.1.0):
- dependencies:
- esprima: 4.0.1
- js-yaml: 4.1.0
-
- js-yaml@4.1.0:
- dependencies:
- argparse: 2.0.1
-
- jsdom@20.0.3:
- dependencies:
- abab: 2.0.6
- acorn: 8.12.1
- acorn-globals: 7.0.1
- cssom: 0.5.0
- cssstyle: 2.3.0
- data-urls: 3.0.2
- decimal.js: 10.4.3
- domexception: 4.0.0
- escodegen: 2.1.0
- form-data: 4.0.0
- html-encoding-sniffer: 3.0.0
- http-proxy-agent: 5.0.0
- https-proxy-agent: 5.0.1
- is-potential-custom-element-name: 1.0.1
- nwsapi: 2.2.13
- parse5: 7.1.2
- saxes: 6.0.0
- symbol-tree: 3.2.4
- tough-cookie: 4.1.4
- w3c-xmlserializer: 4.0.0
- webidl-conversions: 7.0.0
- whatwg-encoding: 2.0.0
- whatwg-mimetype: 3.0.0
- whatwg-url: 11.0.0
- ws: 8.18.0
- xml-name-validator: 4.0.0
- transitivePeerDependencies:
- - bufferutil
- - supports-color
- - utf-8-validate
-
- jsonparse@1.3.1: {}
-
- lower-case@2.0.2:
- dependencies:
- tslib: 2.7.0
-
- magic-string@0.25.9:
- dependencies:
- sourcemap-codec: 1.4.8
-
- marked@4.3.0: {}
-
- micro-memoize@4.1.2: {}
-
- micromatch@4.0.8:
- dependencies:
- braces: 3.0.3
- picomatch: 2.3.1
-
- mime-db@1.52.0: {}
-
- mime-db@1.53.0: {}
-
- mime-types@2.1.35:
- dependencies:
- mime-db: 1.52.0
-
- mime@1.6.0: {}
-
- mime@2.6.0: {}
-
- mime@3.0.0: {}
-
- min-indent@1.0.1: {}
-
- miniflare@3.20240925.0:
- dependencies:
- '@cspotcode/source-map-support': 0.8.1
- acorn: 8.12.1
- acorn-walk: 8.3.4
- capnp-ts: 0.7.0
- exit-hook: 2.2.1
- glob-to-regexp: 0.4.1
- stoppable: 1.1.0
- undici: 5.28.4
- workerd: 1.20240925.0
- ws: 8.18.0
- youch: 3.3.3
- zod: 3.23.8
- transitivePeerDependencies:
- - bufferutil
- - supports-color
- - utf-8-validate
-
- minimatch@3.1.2:
- dependencies:
- brace-expansion: 1.1.11
-
- minimatch@5.1.6:
- dependencies:
- brace-expansion: 2.0.1
-
- minimist@1.2.8: {}
-
- moize@6.1.6:
- dependencies:
- fast-equals: 3.0.3
- micro-memoize: 4.1.2
-
- moment-timezone@0.5.45:
- dependencies:
- moment: 2.30.1
-
- moment@2.30.1: {}
-
- morgan@1.10.0:
- dependencies:
- basic-auth: 2.0.1
- debug: 2.6.9
- depd: 2.0.0
- on-finished: 2.3.0
- on-headers: 1.0.2
- transitivePeerDependencies:
- - supports-color
-
- ms@2.0.0: {}
-
- ms@2.1.3: {}
-
- mustache@4.2.0: {}
-
- nanoid@3.3.7: {}
-
- negotiator@0.6.3: {}
-
- nib@1.2.0(stylus@0.62.0):
- dependencies:
- stylus: 0.62.0
-
- no-case@3.0.4:
- dependencies:
- lower-case: 2.0.2
- tslib: 2.7.0
-
- node-forge@1.3.1: {}
-
- normalize-path@3.0.0: {}
-
- nunjucks@3.2.4(chokidar@3.6.0):
- dependencies:
- a-sync-waterfall: 1.0.1
- asap: 2.0.6
- commander: 5.1.0
- optionalDependencies:
- chokidar: 3.6.0
-
- nwsapi@2.2.13: {}
-
- ohash@1.1.4: {}
-
- on-finished@2.3.0:
- dependencies:
- ee-first: 1.1.1
-
- on-finished@2.4.1:
- dependencies:
- ee-first: 1.1.1
-
- on-headers@1.0.2: {}
-
- once@1.4.0:
- dependencies:
- wrappy: 1.0.2
-
- open@7.4.2:
- dependencies:
- is-docker: 2.2.1
- is-wsl: 2.2.0
-
- parse5@7.1.2:
- dependencies:
- entities: 4.5.0
-
- parseurl@1.3.3: {}
-
- pascal-case@3.1.2:
- dependencies:
- no-case: 3.0.4
- tslib: 2.7.0
-
- path-is-absolute@1.0.1: {}
-
- path-key@3.1.1: {}
-
- path-parse@1.0.7: {}
-
- path-to-regexp@6.3.0: {}
-
- pathe@1.1.2: {}
-
- picocolors@1.1.0: {}
-
- picomatch@2.3.1: {}
-
- pretty-hrtime@1.0.3: {}
-
- printable-characters@1.0.42: {}
-
- prismjs@1.29.0: {}
-
- proxy-from-env@1.1.0: {}
-
- psl@1.9.0: {}
-
- punycode@2.3.1: {}
-
- querystringify@2.2.0: {}
-
- range-parser@1.2.1: {}
-
- rate-limiter-flexible@2.4.2: {}
-
- 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
-
- requires-port@1.0.0: {}
-
- resolve.exports@2.0.2: {}
-
- resolve@1.22.8:
- dependencies:
- is-core-module: 2.15.1
- path-parse: 1.0.7
- supports-preserve-symlinks-flag: 1.0.0
-
- rfdc@1.4.1: {}
-
- rollup-plugin-inject@3.0.2:
- dependencies:
- estree-walker: 0.6.1
- magic-string: 0.25.9
- rollup-pluginutils: 2.8.2
-
- rollup-plugin-node-polyfills@0.2.1:
- dependencies:
- rollup-plugin-inject: 3.0.2
-
- rollup-pluginutils@2.8.2:
- dependencies:
- estree-walker: 0.6.1
-
- safe-buffer@5.1.2: {}
-
- safe-buffer@5.2.1: {}
-
- safer-buffer@2.1.2: {}
-
- sax@1.3.0: {}
-
- saxes@6.0.0:
- dependencies:
- xmlchars: 2.2.0
-
- selfsigned@2.4.1:
- dependencies:
- '@types/node-forge': 1.3.11
- node-forge: 1.3.1
-
- send@0.19.0:
- dependencies:
- debug: 2.6.9
- depd: 2.0.0
- destroy: 1.2.0
- encodeurl: 1.0.2
- escape-html: 1.0.3
- etag: 1.8.1
- fresh: 0.5.2
- http-errors: 2.0.0
- mime: 1.6.0
- ms: 2.1.3
- on-finished: 2.4.1
- range-parser: 1.2.1
- statuses: 2.0.1
- transitivePeerDependencies:
- - supports-color
-
- serve-static@1.16.2:
- dependencies:
- encodeurl: 2.0.0
- escape-html: 1.0.3
- parseurl: 1.3.3
- send: 0.19.0
- transitivePeerDependencies:
- - supports-color
-
- setprototypeof@1.2.0: {}
-
- shebang-command@2.0.0:
- dependencies:
- shebang-regex: 3.0.0
-
- shebang-regex@3.0.0: {}
-
- source-map@0.6.1: {}
-
- source-map@0.7.4: {}
-
- sourcemap-codec@1.4.8: {}
-
- sprintf-js@1.1.3: {}
-
- stacktracey@2.1.8:
- dependencies:
- as-table: 1.0.55
- get-source: 2.0.12
-
- statuses@1.5.0: {}
-
- statuses@2.0.1: {}
-
- stoppable@1.1.0: {}
-
- string_decoder@1.3.0:
- dependencies:
- safe-buffer: 5.2.1
-
- strip-ansi@6.0.1:
- dependencies:
- ansi-regex: 5.0.1
-
- strip-indent@3.0.0:
- dependencies:
- min-indent: 1.0.1
-
- stylus@0.62.0:
- dependencies:
- '@adobe/css-tools': 4.3.3
- debug: 4.3.7
- glob: 7.2.3
- sax: 1.3.0
- source-map: 0.7.4
- transitivePeerDependencies:
- - supports-color
-
- supports-color@7.2.0:
- dependencies:
- has-flag: 4.0.0
-
- supports-preserve-symlinks-flag@1.0.0: {}
-
- symbol-tree@3.2.4: {}
-
- text-table@0.2.0: {}
-
- through2@4.0.2:
- dependencies:
- readable-stream: 3.6.2
-
- tildify@2.0.0: {}
-
- titlecase@1.1.3: {}
-
- to-regex-range@5.0.1:
- dependencies:
- is-number: 7.0.0
-
- toidentifier@1.0.1: {}
-
- tough-cookie@4.1.4:
- dependencies:
- psl: 1.9.0
- punycode: 2.3.1
- universalify: 0.2.0
- url-parse: 1.5.10
-
- tr46@3.0.0:
- dependencies:
- punycode: 2.3.1
-
- tslib@2.7.0: {}
-
- ufo@1.5.4: {}
-
- undici-types@6.19.8: {}
-
- undici@5.28.4:
- dependencies:
- '@fastify/busboy': 2.1.1
-
- unenv-nightly@2.0.0-20240919-125358-9a64854:
- dependencies:
- defu: 6.1.4
- ohash: 1.1.4
- pathe: 1.1.2
- ufo: 1.5.4
-
- universalify@0.2.0: {}
-
- unpipe@1.0.0: {}
-
- url-parse@1.5.10:
- dependencies:
- querystringify: 2.2.0
- requires-port: 1.0.0
-
- util-deprecate@1.0.2: {}
-
- utils-merge@1.0.1: {}
-
- vary@1.1.2: {}
-
- w3c-xmlserializer@4.0.0:
- dependencies:
- xml-name-validator: 4.0.0
-
- warehouse@5.0.1:
- dependencies:
- bluebird: 3.7.2
- cuid: 2.1.8
- graceful-fs: 4.2.11
- hexo-log: 4.1.0
- is-plain-object: 5.0.0
- jsonparse: 1.3.1
- rfdc: 1.4.1
- through2: 4.0.2
-
- webidl-conversions@7.0.0: {}
-
- whatwg-encoding@2.0.0:
- dependencies:
- iconv-lite: 0.6.3
-
- whatwg-mimetype@3.0.0: {}
-
- whatwg-url@11.0.0:
- dependencies:
- tr46: 3.0.0
- webidl-conversions: 7.0.0
-
- which@2.0.2:
- dependencies:
- isexe: 2.0.0
-
- workerd@1.20240925.0:
- optionalDependencies:
- '@cloudflare/workerd-darwin-64': 1.20240925.0
- '@cloudflare/workerd-darwin-arm64': 1.20240925.0
- '@cloudflare/workerd-linux-64': 1.20240925.0
- '@cloudflare/workerd-linux-arm64': 1.20240925.0
- '@cloudflare/workerd-windows-64': 1.20240925.0
-
- wrangler@3.79.0:
- dependencies:
- '@cloudflare/kv-asset-handler': 0.3.4
- '@cloudflare/workers-shared': 0.5.4
- '@esbuild-plugins/node-globals-polyfill': 0.2.3(esbuild@0.17.19)
- '@esbuild-plugins/node-modules-polyfill': 0.2.2(esbuild@0.17.19)
- blake3-wasm: 2.1.5
- chokidar: 3.6.0
- esbuild: 0.17.19
- miniflare: 3.20240925.0
- nanoid: 3.3.7
- path-to-regexp: 6.3.0
- resolve: 1.22.8
- resolve.exports: 2.0.2
- selfsigned: 2.4.1
- source-map: 0.6.1
- unenv: unenv-nightly@2.0.0-20240919-125358-9a64854
- workerd: 1.20240925.0
- xxhash-wasm: 1.0.2
- optionalDependencies:
- fsevents: 2.3.3
- transitivePeerDependencies:
- - bufferutil
- - supports-color
- - utf-8-validate
-
- wrappy@1.0.2: {}
-
- ws@8.18.0: {}
-
- xml-name-validator@4.0.0: {}
-
- xmlchars@2.2.0: {}
-
- xxhash-wasm@1.0.2: {}
-
- youch@3.3.3:
- dependencies:
- cookie: 0.5.0
- mustache: 4.2.0
- stacktracey: 2.1.8
-
- zod@3.23.8: {}
diff --git a/public/robots.txt b/public/robots.txt
new file mode 100644
index 0000000..9dd81c6
--- /dev/null
+++ b/public/robots.txt
@@ -0,0 +1,4 @@
+# Example: Allow all bots to scan and index your site.
+# Full syntax: https://developers.google.com/search/docs/advanced/robots/create-robots-txt
+User-agent: *
+Allow: /
\ No newline at end of file
diff --git a/scaffolds/draft.md b/scaffolds/draft.md
deleted file mode 100644
index 498e95b..0000000
--- a/scaffolds/draft.md
+++ /dev/null
@@ -1,4 +0,0 @@
----
-title: {{ title }}
-tags:
----
diff --git a/scaffolds/page.md b/scaffolds/page.md
deleted file mode 100644
index f01ba3c..0000000
--- a/scaffolds/page.md
+++ /dev/null
@@ -1,4 +0,0 @@
----
-title: {{ title }}
-date: {{ date }}
----
diff --git a/scaffolds/post.md b/scaffolds/post.md
deleted file mode 100644
index 1f9b9a4..0000000
--- a/scaffolds/post.md
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title: {{ title }}
-date: {{ date }}
-tags:
----
diff --git a/scripts/cf_analytics.js b/scripts/cf_analytics.js
deleted file mode 100644
index fbf7cd1..0000000
--- a/scripts/cf_analytics.js
+++ /dev/null
@@ -1,4 +0,0 @@
-
-hexo.extend.injector.register('body_end', () => {
- return ``;
-});
diff --git a/scripts/wikipedia.js b/scripts/wikipedia.js
deleted file mode 100644
index af06413..0000000
--- a/scripts/wikipedia.js
+++ /dev/null
@@ -1,124 +0,0 @@
-// Requires axios and rate-limiter-flexible
-var axios = require("axios");
-var RateLimiterMemory = require("rate-limiter-flexible").RateLimiterMemory;
-
-function buildArgsHash(args) {
- let argsHash = {};
- args.forEach(arg => {
- const params = arg.split(':');
- argsHash[params[0]] = params.slice(1).join(':');
- });
-
- return argsHash;
-}
-
-let gRateLimiter = new RateLimiterMemory({
- points: 200,
- duration: 1,
-}); // Per wikipedia's recommendation, 200 reqs per second
-
-async function requestWikipediaRequest(baseUrl) {
- while (true) {
- try {
- await gRateLimiter.consume(baseUrl, 1);
- break;
- } catch (limited) {
- if (limited instanceof Error) {
- throw limited;
- } else {
- await new Promise(resolve => {
- setTimeout(resolve, limited.msBeforeNext);
- });
- }
- }
- }
-}
-
-async function requestWikipediaDone(baseUrl) {
- await gRateLimiter.reward(baseUrl, 1);
-}
-
-async function generatePrefetchedWikipediaTagHtml(args, content) {
- const argsHash = buildArgsHash(args);
- const title = argsHash['title'];
- const escapedTitle = encodeURIComponent(title);
-
- const lang = argsHash['lang'] !== undefined ? argsHash['lang'] : 'en';
- const baseUrl = `https://${lang}.wikipedia.org`;
-
- const url = `${baseUrl}/api/rest_v1/page/summary/${escapedTitle}`;
- await requestWikipediaRequest(baseUrl);
- let response = await axios.get(url, {
- headers: {
- 'accept': 'application/json; charset=utf-8; profile="https://www.mediawiki.org/wiki/Specs/Summary/1.4.2"',
- 'api-user-agent': `Hexo Wikipedia Tag (Prefetch, from ${hexo.config.url})`,
- },
- responseType: 'json',
- timeout: 3000,
- params: {
- redirect: false,
- },
- transitional: {
- silentJSONParsing: false,
- },
- }).catch(reason => {
- hexo.log.warn(`fetch failed for "${url}": ${reason}`);
- return Promise.reject(reason);
- });
- await requestWikipediaDone(baseUrl);
- let extractedText = response.data.extract;
- let contentText = extractedText;
- if (argsHash['wikiButton'] === 'true') {
- contentText += `
Wikipedia:${title}
`;
- }
- return `${contentText} `
-}
-
-function generateWikipediaTagHtml(args, content) {
- const argsHash = buildArgsHash(args);
- const title = argsHash['title'];
- const escapedTitle = encodeURIComponent(title);
-
- const lang = argsHash['lang'] !== undefined ? argsHash['lang'] : 'en';
- const baseUrl = `https://${lang}.wikipedia.org`;
-
- const url = `${baseUrl}/api/rest_v1/page/summary/${escapedTitle}?redirect=false`;
-
- const tagId = "wikipedia-"+Math.round(Math.random() * 100000);
- const embeddedScript = `
- window.addEventListener('load', function() {
- var element = document.getElementById('${tagId}');
- var req = new XMLHttpRequest();
- req.addEventListener("load", function() {
- var result = this.response;
- const extract = result.extract;
- element.prepend(extract);
- });
- req.addEventListener("error", function() {
- element.prepend('Failed to fetch wikipedia data for "${title}".');
- });
- req.open('GET', '${url}');
- req.responseType = 'json';
- req.setRequestHeader('accept', 'application/json; charset=utf-8; profile="https://www.mediawiki.org/wiki/Specs/Summary/1.4.2"');
- req.setRequestHeader('api-user-agent', 'Hexo Wikipedia Tag (from ${hexo.config.url})');
- req.send();
- });
- `;
- let contentText = ``;
- if (argsHash['wikiButton'] === 'true') {
- contentText += `Wikipedia:${title}
`;
- } else {
- contentText += `Wikipedia:${title}
`;
- }
-
- return `${contentText} `;
-}
-
-function wikipediaTag(args, content) {
- // We use the client-fetching method as fallback
- return generatePrefetchedWikipediaTagHtml(args, content).catch(reason => {
- return generateWikipediaTagHtml(args, content);
- });
-}
-
-hexo.extend.tag.register('wikipedia', wikipediaTag, {async: true});
diff --git a/source/_data/theme.yaml b/source/_data/theme.yaml
deleted file mode 100644
index 7893dd2..0000000
--- a/source/_data/theme.yaml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-site_nav_links:
- 所有文章: /
- 归档: /archives
-
-site_links:
- - name: "thislight@mastodon.social"
- href: "https://mastodon.social/@thislight"
- rel: "me"
- class: "mastodon"
- - name: "Subscribe (Atom)"
- href: "/atom.xml"
diff --git a/source/img/makru-tutor/2/screenshot-download-makru-langc-source.png b/source/img/makru-tutor/2/screenshot-download-makru-langc-source.png
deleted file mode 100644
index 93de6b0..0000000
--- a/source/img/makru-tutor/2/screenshot-download-makru-langc-source.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:c0225e48c2ee3d3fb4e56d39cf479929a5347db31a5835a66c2265227d5a50c4
-size 195560
diff --git a/source/robots.txt b/source/robots.txt
deleted file mode 100644
index e69de29..0000000
diff --git a/src/assets/jsonfeed.png b/src/assets/jsonfeed.png
new file mode 100644
index 0000000..4c54476
--- /dev/null
+++ b/src/assets/jsonfeed.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:7d7e2a76afa2cf812aae1a3bd2b95391698a836ce02a9ff0ba2d0e97005d7a40
+size 4068
diff --git a/src/assets/mastodon-purple.svg b/src/assets/mastodon-purple.svg
new file mode 100644
index 0000000..0f8baeb
--- /dev/null
+++ b/src/assets/mastodon-purple.svg
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/authors/rubicon.mdx b/src/authors/rubicon.mdx
new file mode 100644
index 0000000..69babcb
--- /dev/null
+++ b/src/authors/rubicon.mdx
@@ -0,0 +1,16 @@
+---
+name: "Rubicon"
+bio: "Software engineer, focus on user experience and distributed apps."
+email: l1589002388@gmail.com
+default: true
+
+links:
+ - name: "@thislight@mastodon.social"
+ href: "https://mastodon.social/@thislight"
+ class: "mastodon"
+ rel: "me"
+
+translate:
+ zh:
+ bio: "软件工程师,关注用户体验和分布式应用。"
+---
diff --git a/src/components/AuthorCard.astro b/src/components/AuthorCard.astro
new file mode 100644
index 0000000..d8cb858
--- /dev/null
+++ b/src/components/AuthorCard.astro
@@ -0,0 +1,131 @@
+---
+import { Image } from "astro:assets";
+import Card from "~/material/Card.astro";
+
+interface Props {
+ name: string;
+ bio?: string;
+ email?: string;
+ links?: {
+ name: string;
+ href: string;
+ rel?: "me";
+ class?: "mastodon";
+ }[];
+}
+
+const { name, bio, email, links = [] } = Astro.props;
+
+function gravatar(email: string) {
+ const requestedEmail = email.trim().toLowerCase();
+ const encoder = new TextEncoder();
+ const bytes = encoder.encode(requestedEmail);
+ const hash = new Bun.SHA256().update(bytes).digest("hex");
+ return `https://gravatar.com/avatar/${hash}`;
+}
+
+const gravatarUrl = email ? gravatar(email) : undefined;
+---
+
+
+
+
+
+
+
diff --git a/src/components/Excerpt.astro b/src/components/Excerpt.astro
new file mode 100644
index 0000000..51634d9
--- /dev/null
+++ b/src/components/Excerpt.astro
@@ -0,0 +1,75 @@
+---
+import "~/material/content.css";
+import { type CollectionEntry } from "astro:content";
+import { postParamlink } from "../utils/posts";
+import { experimental_AstroContainer as AstroContainer } from "astro/container";
+import { render } from "astro:content";
+import { getContainerRenderer as mdxContRenderer } from "@astrojs/mdx";
+import { getContainerRenderer as solidContRenderer } from "@astrojs/solid-js";
+import { loadRenderers } from "astro:container";
+
+interface Props {
+ post: CollectionEntry<"posts">;
+}
+
+const { post } = Astro.props;
+
+function extractExcerpt(body: string) {
+ const idx = //.exec(body)?.index;
+ if (idx !== undefined) {
+ return body.slice(0, idx);
+ }
+}
+
+const BASE_URL = new URL(postParamlink(post), "http://example.local");
+
+const rewriter = new HTMLRewriter().on("a[href]", {
+ element(element) {
+ const href = element.getAttribute("href");
+ if (!href) return;
+ try {
+ new URL(href);
+ return; // This is already a complete url, skips
+ } catch {}
+
+ const link = new URL(href, BASE_URL);
+ const parts = [link.pathname];
+ if (link.search) {
+ parts.push("?", link.search);
+ }
+ if (link.hash) {
+ parts.push(link.hash);
+ }
+
+ element.setAttribute("href", parts.join(""));
+ },
+});
+
+const renderers = await loadRenderers([mdxContRenderer(), solidContRenderer()]);
+
+const container = await AstroContainer.create({
+ renderers,
+});
+
+const { Content } = await render(post);
+
+const html = await container.renderToString(Content);
+
+const excerpt = rewriter.transform(extractExcerpt(html) || "");
+---
+
+
+
+
diff --git a/src/components/Figure.astro b/src/components/Figure.astro
new file mode 100644
index 0000000..67c84e3
--- /dev/null
+++ b/src/components/Figure.astro
@@ -0,0 +1,22 @@
+---
+import type { HTMLAttributes } from 'astro/types'
+
+interface Props extends HTMLAttributes<"figure">{}
+
+const props = Astro.props
+---
+
+
+
+
+
+
diff --git a/src/components/More.astro b/src/components/More.astro
new file mode 100644
index 0000000..3c7f4b4
--- /dev/null
+++ b/src/components/More.astro
@@ -0,0 +1,4 @@
+---
+---
+
+
diff --git a/src/components/Pager.astro b/src/components/Pager.astro
new file mode 100644
index 0000000..464505a
--- /dev/null
+++ b/src/components/Pager.astro
@@ -0,0 +1,80 @@
+---
+import type { Page } from "astro";
+import { Icon } from "astro-icon/components";
+
+interface Props extends Pick {
+ urlForPage(n: number): string;
+}
+
+const page = Astro.props;
+
+const pageCount = Math.floor(page.total / page.size);
+
+function* pageNumbers() {
+ for (let i = 0; i <= pageCount; i++) {
+ yield i + 1;
+ }
+}
+---
+
+
+
+
diff --git a/src/components/PostList.astro b/src/components/PostList.astro
new file mode 100644
index 0000000..1a76bce
--- /dev/null
+++ b/src/components/PostList.astro
@@ -0,0 +1,119 @@
+---
+import type { CollectionEntry } from "astro:content";
+import { format as formatDate } from "date-fns";
+import TimeDistanceToNow from "./TimeDistanceToNow/index.astro";
+import Excerpt from "./Excerpt.astro";
+import { postParamlink } from "../utils/posts";
+
+interface Props {
+ posts: CollectionEntry<"posts">[];
+}
+
+const { posts } = Astro.props;
+---
+
+
+ {
+ posts.map((post) => {
+ const meta = post.data;
+ return (
+
+
+
+ {meta.title ? meta.title : post.id}
+
+
+ {formatDate(meta.date, "yyyy/MM/dd")}
+
+
+
+
+ );
+ })
+ }
+
+
+
diff --git a/src/components/SteamGame.astro b/src/components/SteamGame.astro
new file mode 100644
index 0000000..93f0de4
--- /dev/null
+++ b/src/components/SteamGame.astro
@@ -0,0 +1,22 @@
+---
+interface Props {
+ id: string;
+ postscript?: string
+}
+
+const { id, postscript } = Astro.props;
+
+const link = new URL(`https://store.steampowered.com/widget/${id}/`)
+
+if (postscript) {
+ link.searchParams.set("t", postscript)
+}
+
+---
+
+
diff --git a/src/components/TagListCard.astro b/src/components/TagListCard.astro
new file mode 100644
index 0000000..7e6ecdc
--- /dev/null
+++ b/src/components/TagListCard.astro
@@ -0,0 +1,70 @@
+---
+import Card from "~/material/Card.astro";
+
+interface Props {
+ title: string;
+ tags: string[];
+ hotTags: string[];
+}
+
+const { title, tags, hotTags } = Astro.props;
+---
+
+
+
+
+ {
+ tags.values().map((name) => {
+ const isHot = hotTags.includes(name);
+ return (
+
+
+ {name}
+
+
+ );
+ })
+ }
+
+
+
+
diff --git a/src/components/TimeDistanceToNow/TimeDistanceToNow.tsx b/src/components/TimeDistanceToNow/TimeDistanceToNow.tsx
new file mode 100644
index 0000000..5f3e6d8
--- /dev/null
+++ b/src/components/TimeDistanceToNow/TimeDistanceToNow.tsx
@@ -0,0 +1,61 @@
+import {
+ intlFormatDistance,
+ isSameDay,
+ isSameHour,
+ isSameMinute,
+ parseISO,
+} from "date-fns";
+import {
+ children,
+ createMemo,
+ Show,
+ splitProps,
+ type JSX,
+ type ParentComponent,
+} from "solid-js";
+import useCurrentDate, { DateRefreshPercision } from "../../utils/useCurrentDate";
+
+
+const TimeDistanceToNow: ParentComponent = (
+ oprops,
+) => {
+ const [props, rest] = splitProps(oprops, ["datetime", "children"]);
+ const child = children(() => props.children);
+
+ const datetime = createMemo(() =>
+ props.datetime ? parseISO(props.datetime) : undefined,
+ );
+
+ const now = useCurrentDate(() => {
+ // This only get executed once at the start.
+ // (No tracking to another reactive primitive)
+ // That's usually good enough for a blog site.
+ const d = datetime();
+ const now0 = new Date();
+ if (!d || !isSameDay(d, now0)) return DateRefreshPercision.days;
+ if (isSameMinute(d, now0)) return DateRefreshPercision.seconds;
+ if (isSameHour(d, now0)) return DateRefreshPercision.minutes;
+ return DateRefreshPercision.hours;
+ });
+
+ const distanceText = createMemo(() => {
+ return intlFormatDistance(props.datetime!, now(), {});
+ });
+
+ return (
+
+ {child()}
+
+ }
+ >
+
+ {distanceText()}
+
+
+ );
+};
+
+export default TimeDistanceToNow;
diff --git a/src/components/TimeDistanceToNow/index.astro b/src/components/TimeDistanceToNow/index.astro
new file mode 100644
index 0000000..630ee14
--- /dev/null
+++ b/src/components/TimeDistanceToNow/index.astro
@@ -0,0 +1,35 @@
+---
+import type { HTMLAttributes } from "astro/types";
+import { isSameDay } from "date-fns";
+import TimeDistanceToNow from "./TimeDistanceToNow";
+
+interface Props extends Pick, "datetime"> {}
+
+const { datetime, ...rest } = Astro.props;
+
+const now = new Date();
+---
+
+{
+ datetime && isSameDay(datetime, now) ? (
+
+
+
+ ) : (
+
+
+
+ )
+}
+
+
diff --git a/src/components/Wikipedia.astro b/src/components/Wikipedia.astro
new file mode 100644
index 0000000..7c36a0c
--- /dev/null
+++ b/src/components/Wikipedia.astro
@@ -0,0 +1,102 @@
+---
+interface Props {
+ page: string;
+ lang?: string;
+}
+
+const { page, lang = "en" } = Astro.props;
+
+const escapedTitle = encodeURIComponent(page);
+
+const baseUrl = `https://${lang}.wikipedia.org`;
+
+const url = `${baseUrl}/api/rest_v1/page/summary/${escapedTitle}?redirect=false`;
+
+let extreacted:
+ | {
+ title: string;
+ summary: string;
+ }
+ | undefined;
+
+try {
+ const abort = new AbortController();
+ setTimeout(abort.abort.bind(abort), 2000);
+ const response = await fetch(url, {
+ headers: {
+ accept:
+ 'application/json; charset=utf-8; profile="https://www.mediawiki.org/wiki/Specs/Summary/1.4.2"',
+ "user-agent": `Rubicon's Rubicon (on Server, https://rubicon.lightstands.xyz/external-resource-usage/)`,
+ },
+ signal: abort.signal,
+ });
+ const data = (await response.json()) as {
+ extract: string;
+ titles: { normalized: string };
+ };
+ extreacted = { title: data.titles.normalized, summary: data.extract };
+} catch (reason) {
+ console.warn("fetch wikipedia failed", url, reason);
+}
+---
+
+
+ {extreacted?.summary || ""}
+
+
+ Wikipedia:{page}
+
+
+
+
+
+
diff --git a/src/components/YouTube.astro b/src/components/YouTube.astro
new file mode 100644
index 0000000..25fa4e4
--- /dev/null
+++ b/src/components/YouTube.astro
@@ -0,0 +1,35 @@
+---
+interface Props {
+ src: string | URL;
+}
+
+const { src: nfilltered } = Astro.props;
+
+const url = new URL(nfilltered);
+if (url.hostname === "www.youtube.com") {
+ url.hostname = "www.youtube-nocookie.com";
+}
+---
+
+
+
+
+
+
diff --git a/src/content.config.ts b/src/content.config.ts
new file mode 100644
index 0000000..0e304ea
--- /dev/null
+++ b/src/content.config.ts
@@ -0,0 +1,36 @@
+import { defineCollection, z } from "astro:content";
+import { glob } from "astro/loaders";
+
+const posts = defineCollection({
+ loader: glob({ pattern: ["[^_]*.md", "[^_]*/index.mdx"], base: "./src/posts/" }),
+ schema: z.object({
+ title: z.string(),
+ date: z.coerce.date().default(new Date()),
+ updated: z.optional(z.coerce.date()),
+ tags: z.optional(z.nullable(z.array(z.string()))),
+
+ visibility: z.optional(z.union([z.literal("draft"), z.literal("hidden"), z.literal("visible")]))
+ }),
+});
+
+const authorLink = z.object({
+ name: z.string(),
+ href: z.string(),
+ class: z.optional(z.literal("mastodon")),
+ rel: z.optional(z.literal("me")),
+});
+
+const authorPlain = z.object({
+ name: z.string(),
+ bio: z.optional(z.string()),
+ email: z.optional(z.string()),
+ default: z.optional(z.boolean()),
+ links: z.optional(z.array(authorLink)),
+});
+
+const authors = defineCollection({
+ loader: glob({ pattern: ["[^_]*.mdx"], base: "./src/authors/" }),
+ schema: authorPlain,
+});
+
+export const collections = { posts, authors };
diff --git a/src/layouts/Foundation.astro b/src/layouts/Foundation.astro
new file mode 100644
index 0000000..b91ebf5
--- /dev/null
+++ b/src/layouts/Foundation.astro
@@ -0,0 +1,25 @@
+---
+import "~/material/material.css";
+import "./Foundation.css";
+import { ClientRouter } from "astro:transitions";
+
+interface Props {
+ title?: string;
+ lang?: string
+}
+
+const { title, lang = "zh" } = Astro.props;
+---
+
+
+
+
+
+ {title ?? "Page"}
+
+
+
+
+
+
+
diff --git a/src/layouts/Foundation.css b/src/layouts/Foundation.css
new file mode 100644
index 0000000..defddc2
--- /dev/null
+++ b/src/layouts/Foundation.css
@@ -0,0 +1,11 @@
+@media (prefers-color-scheme: dark) {
+ .astro-code,
+ .astro-code span {
+ color: var(--shiki-dark) !important;
+ background-color: var(--shiki-dark-bg) !important;
+ /* Optional, if you also want font styles */
+ font-style: var(--shiki-dark-font-style) !important;
+ font-weight: var(--shiki-dark-font-weight) !important;
+ text-decoration: var(--shiki-dark-text-decoration) !important;
+ }
+}
diff --git a/src/layouts/IndexLayout.astro b/src/layouts/IndexLayout.astro
new file mode 100644
index 0000000..fad2aa0
--- /dev/null
+++ b/src/layouts/IndexLayout.astro
@@ -0,0 +1,39 @@
+---
+import Regular from "./Regular.astro";
+
+interface Props {
+ title: string;
+}
+
+const { title } = Astro.props;
+---
+
+
+
+
+
+
+
+
+
diff --git a/src/layouts/Regular.astro b/src/layouts/Regular.astro
new file mode 100644
index 0000000..86b86eb
--- /dev/null
+++ b/src/layouts/Regular.astro
@@ -0,0 +1,20 @@
+---
+import Foundation from "./Foundation.astro";
+import Nav from "../material/Nav.astro";
+
+interface Props {
+ title: string
+ lang?: string
+}
+
+const {title, lang} = Astro.props
+---
+
+
+
+
+ 所有文章
+ 归档
+
+
+
diff --git a/src/material/Card.astro b/src/material/Card.astro
new file mode 100644
index 0000000..e27d64b
--- /dev/null
+++ b/src/material/Card.astro
@@ -0,0 +1,32 @@
+---
+import type { HTMLAttributes } from "astro/types";
+
+interface Props extends HTMLAttributes<"div"> {}
+
+const { "class:list": classList, ...rest } = Astro.props;
+
+const newClassList = Array.isArray(classList)
+ ? ["card", ...classList]
+ : ["card", classList];
+---
+
+
+
+
+
+
diff --git a/src/material/Nav.astro b/src/material/Nav.astro
new file mode 100644
index 0000000..d380c15
--- /dev/null
+++ b/src/material/Nav.astro
@@ -0,0 +1,20 @@
+---
+import "./Nav.css";
+
+interface Props {
+ title: string;
+}
+
+const { title } = Astro.props;
+---
+
+
+
+
+
{title}
+
+
+
+
+
+
diff --git a/src/material/Nav.css b/src/material/Nav.css
new file mode 100644
index 0000000..e80cbc8
--- /dev/null
+++ b/src/material/Nav.css
@@ -0,0 +1,95 @@
+.nav-wrapper {
+ background-color: var(--p-primary);
+ box-shadow: var(--box-shadow-4);
+}
+
+nav.site {
+ --nav-site-height: 4rem;
+
+ display: flex;
+ flex-wrap: wrap-reverse;
+ justify-content: space-between;
+ white-space: nowrap;
+
+ min-height: var(--nav-site-height);
+ color: var(--palette-white);
+ padding-inline: 60px;
+
+ >* {
+ display: flex;
+ align-items: center;
+ max-width: 100%;
+
+ &:last-child {
+ justify-content: flex-end;
+
+ >a:last-child {
+ margin-right: -8px;
+ }
+ }
+
+ &:first-child {
+ justify-content: flex-start;
+ }
+ }
+
+ @media (max-width: 720px) {
+ & {
+ padding-inline: 16px;
+ }
+ }
+}
+
+nav.site a {
+ font: var(--typ-button);
+ display: inline-block;
+ line-height: var(--nav-site-height);
+ padding: 0 16px;
+ transition: background-color .2s ease-in-out;
+ background-color: transparent;
+ color: var(--palette-white);
+
+ &:hover {
+ color: inherit;
+ background-color: rgba(0, 0, 0, 0.1);
+ }
+}
+
+nav.site .textinput-lg {
+ background-color: rgba(255, 255, 255, 0.25);
+ border: none;
+ outline: none;
+ border-radius: 2px;
+ font-size: 1rem;
+ line-height: 2rem;
+ vertical-align: middle;
+ flex-grow: 1;
+ transition: background-color .2s ease-in-out, width .2s ease-in-out, box-shadow .2s ease-in-out;
+ padding-inline: 1rem;
+
+ &::placeholder {
+ color: white;
+ }
+
+ &:focus {
+ background-color: white;
+ box-shadow: var(--box-shadow-9);
+
+ &::placeholder {
+ color: transparent;
+ text-align: center;
+ }
+ }
+}
+
+@media (max-width: 600px) {
+ nav.site .textinput-lg {
+ width: 100%;
+ }
+}
+
+nav.site :where(h1, h2, h3, h4, h5, h6) {
+ text-overflow: ellipsis;
+ overflow: hidden;
+ line-height: var(--nav-site-height);
+}
diff --git a/src/material/content.css b/src/material/content.css
new file mode 100644
index 0000000..d2a8503
--- /dev/null
+++ b/src/material/content.css
@@ -0,0 +1,225 @@
+.content {
+ line-height: 1.5;
+
+ > p {
+ padding: 16px;
+
+ > img {
+ width: 100%;
+ object-fit: contain;
+ object-position: 50% 50%;
+ min-height: 44px;
+ max-height: 40vh;
+ }
+
+ > a > img {
+ max-width: 100%;
+ object-fit: contain;
+ }
+ }
+
+ > p:not(:is(:has(> img), :has(> a > img))), > ol {
+ max-width: 100ch;
+ margin-inline: auto;
+ }
+
+ > :where(h1, h2, h3, h4, h5, h6) {
+ margin-inline: 16px;
+ hyphens: auto;
+ text-wrap: wrap;
+ text-wrap: pretty;
+ }
+
+ > #more {
+ display: block;
+ width: 100%;
+ border-top: 1px solid var(--palette-grey-200);
+ }
+
+ > :where(ul, ol) {
+ background-color: var(--palette-white);
+ line-height: 1.5;
+
+ > li {
+ border-top: 1px solid transparent;
+ border-bottom: 1px solid transparent;
+ transition: border-color 220ms ease-in-out;
+
+ &:hover {
+ border-top-color: var(--palette-grey-200);
+ border-bottom-color: var(--palette-grey-400);
+
+ & + li {
+ border-bottom-color: var(--palette-grey-200);
+ }
+ }
+ }
+ }
+
+ hr {
+ border: none;
+ border-top: 1px solid var(--palette-grey-300);
+ margin-inline: 16px;
+ }
+
+ > :where(h2, h3, h4, h5, h6) {
+ margin-top: 16px;
+ margin-bottom: 8px;
+ }
+}
+
+.table-responsive {
+ max-width: 100%;
+ overflow-y: auto;
+}
+
+:where(.content > table, .content > .table-responsive > table) {
+ background-color: var(--table-background-color);
+ width: 100%;
+ white-space: nowrap;
+ border: 1px solid var(--palette-grey-300);
+ border-collapse: collapse;
+
+ > :where(thead, tbody) > tr {
+ & > :first-child {
+ padding-inline-start: 16px;
+ }
+
+ & > :last-child {
+ padding-inline-end: 16px;
+ }
+ }
+
+ > thead {
+ color: var(--table-header-color);
+
+ > tr {
+ border-bottom: 1px solid var(--palette-grey-300);
+ > th {
+ padding-block: 15px;
+ text-align: start;
+
+ &:hover,
+ &.table-column-hover {
+ color: var(--table-content-color);
+ }
+
+ &[align="center"] {
+ text-align: center;
+ }
+
+ &[align="right"] {
+ text-align: end;
+ }
+ }
+ }
+ }
+
+ > tbody {
+ color: var(--table-content-color);
+
+ > tr {
+ > td {
+ padding-block: 15px;
+ text-align: start;
+
+ &[align="center"] {
+ text-align: center;
+ }
+
+ &[align="right"] {
+ text-align: end;
+ }
+ }
+
+ &:first-child {
+ border-top: 1px solid transparent;
+ }
+
+ & + & {
+ border-top: 1px solid var(--palette-grey-300);
+ }
+
+ &:hover {
+ background-color: var(--palette-grey-200);
+ }
+ }
+ }
+}
+
+.content pre {
+ border-radius: 2px;
+ margin-inline: 8px;
+
+ &.astro-code {
+ padding: 1ch 8px;
+ outline: 1px solid var(--palette-grey-300);
+ transition: box-shadow 220ms ease-in-out;
+ line-height: 1.25;
+ min-height: 44px;
+ font-family: "Fira Code", "Roboto Mono", "Noto Sans Mono", monospace;
+
+ &:hover {
+ box-shadow: var(--box-shadow-4);
+ }
+
+ .gutter {
+ border-inline-end: 1px solid var(--palette-grey-200);
+ margin-inline-end: 8px;
+
+ > pre {
+ > .line {
+ display: block;
+ width: 100%;
+ text-align: end;
+ }
+
+ > br {
+ display: none;
+ }
+ }
+ }
+
+ > code {
+ .line {
+ border-bottom: 1px solid transparent;
+
+ &:hover {
+ border-bottom: 1px solid var(--palette-grey-500);
+ }
+ }
+ }
+ }
+}
+
+.content kbd {
+ padding: 6px;
+ margin-inline: 2px;
+ background-color: var(--palette-black);
+ color: var(--palette-white);
+ border-radius: 4px;
+}
+
+.content dl {
+ > dt {
+ font: var(--typ-body2);
+ margin-left: 16px;
+ }
+
+ > dd {
+ margin-left: 32px;
+ }
+}
+
+.content blockquote {
+ background-color: white;
+ padding-left: 12px;
+ margin-block: 16px;
+ border: 1px solid var(--palette-grey-200);
+ border-left: 4px solid var(--p-secondary);
+
+ &:hover,
+ &:focus {
+ outline: 1px solid var(--palette-grey-400);
+ }
+}
diff --git a/src/material/material.css b/src/material/material.css
new file mode 100644
index 0000000..580b6b7
--- /dev/null
+++ b/src/material/material.css
@@ -0,0 +1,154 @@
+@import "./palette.css";
+@import "@fontsource-variable/roboto";
+
+* {
+ margin: 0;
+ box-sizing: border-box;
+}
+
+:root {
+ font-family: var(--font-family-sans);
+ font-variant-numeric: tabular-nums;
+ font-variant-ligatures: contextual;
+}
+
+:root {
+ --font-family-sans: 'Roboto Variable', Roboto, "Noto Sans", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
+ --p-primary: var(--palette-blue-500);
+ --p-primary-fg: var(--palette-blue-500-fg);
+ --p-secondary: var(--palette-pink-500);
+ --p-secondary-fg: var(--palette-pink-500-fg);
+
+ --typ-r-display4: lighter 7rem / 7rem var(--font-family-sans);
+ --typ-r-display3: normal 3.5rem / 3.5rem var(--font-family-sans);
+ --typ-r-display2: normal 2.8125rem / 2.8125rem var(--font-family-sans);
+ --typ-r-display1: normal 2.125rem / 2.125rem var(--font-family-sans);
+ --typ-r-headline: bold 1.5rem / 1.5rem var(--font-family-sans);
+ --typ-r-title: bold 1.25rem / 1.25rem var(--font-family-sans);
+ --typ-r-subheading: normal 1rem / 1rem var(--font-family-sans);
+ --typ-r-body2: bold 0.875rem / 0.875rem var(--font-family-sans);
+ --typ-r-body1: normal 0.875rem / 0.875rem var(--font-family-sans);
+ --typ-r-caption: normal 0.75rem / 0.75rem var(--font-family-sans);
+ --typ-r-button: bold 0.875rem / 0.875rem var(--font-family-sans);
+
+ --typ-d-display4: var(--typ-r-display4);
+ --typ-d-display3: var(--typ-r-display3);
+ --typ-d-display2: var(--typ-r-display2);
+ --typ-d-display1: var(--typ-r-display1);
+ --typ-d-headline: var(--typ-r-headline);
+ --typ-d-title: bold 1.3125rem / 1.3125rem var(--font-family-sans);
+ --typ-d-subheading: normal 1.0625rem / 1.0625rem var(--font-family-sans);
+ --typ-d-body2: bold 0.9375rem / 0.9375rem var(--font-family-sans);
+ --typ-d-body1: normal 0.9375rem / 0.9375rem var(--font-family-sans);
+ --typ-d-caption: normal 0.8125rem / 0.8125rem var(--font-family-sans);
+ --typ-d-button: bold 0.9375rem / 0.9375rem var(--font-family-sans);
+
+ & {
+ --typ-display4: var(--typ-r-display4);
+ --typ-display3: var(--typ-r-display3);
+ --typ-display2: var(--typ-r-display2);
+ --typ-display1: var(--typ-r-display1);
+ --typ-headline: var(--typ-r-display1);
+ --typ-title: var(--typ-r-title);
+ --typ-subheading: var(--typ-r-subheading);
+ --typ-body2: var(--typ-r-body2);
+ --typ-body1: var(--typ-r-body1);
+ --typ-caption: var(--typ-r-caption);
+ --typ-button: var(--typ-r-button);
+ }
+
+ --elevation-0: 0px;
+ --elevation-1: 1px;
+ --elevation-2: 2px;
+ --elevation-3: 3px;
+ --elevation-4: 4px;
+ --elevation-5: 6px;
+ --elevation-6: 8px;
+ --elevation-7: 9px;
+ --elevation-8: 12px;
+ --elevation-9: 16px;
+ --elevation-10: 24px;
+
+ --box-shadow-2: 0 var(--elevation-2) var(--elevation-2) rgba(0, 0, 0, 0.15);
+ --box-shadow-4: 0 var(--elevation-4) var(--elevation-4) rgba(0, 0, 0, 0.15);
+ --box-shadow-6: 0 var(--elevation-6) var(--elevation-6) rgba(0, 0, 0, 0.15);
+ --box-shadow-9: 0 var(--elevation-9) var(--elevation-9) rgba(0, 0, 0, 0.15);
+
+ --link-bg: var(--palette-blue-50);
+ --link-color: var(--palette-blue-50-fg);
+ --link-bg-hover: var(--palette-blue-100);
+ --link-color-hover: var(--palette-blue-100-fg);
+}
+
+[lang~="zh"],
+[lang~="ja"],
+[lang~="kr"] {
+ --typ-title: var(--typ-d-headline);
+ --typ-subheading: var(--typ-d-subheading);
+ --typ-body2: var(--typ-d-body2);
+ --typ-body1: var(--typ-d-body1);
+ --typ-caption: var(--typ-d-caption);
+ --typ-button: var(--typ-d-button);
+}
+
+table {
+ --table-header-color: rgba(0, 0, 0, 0.54);
+ --table-content-color: rgba(0, 0, 0, 0.87);
+ --table-background-color: white;
+}
+
+:root {
+ font: var(--typ-body1);
+}
+
+h1 {
+ font: var(--typ-display4);
+}
+
+h2 {
+ font: var(--typ-display3);
+}
+
+h3 {
+ font: var(--typ-display2);
+}
+
+h4 {
+ font: var(--typ-display1);
+}
+
+h5 {
+ font: var(--typ-headline);
+}
+
+h6 {
+ font: var(--typ-title);
+}
+
+body {
+ background-color: white;
+}
+
+:where(a):not([href^="#"]) {
+ display: inline-block;
+ color: var(--link-color);
+ text-decoration: none;
+ background-color: var(--link-bg);
+ border-radius: 4px;
+ padding: 4px 8px;
+ transition: background-color .2s ease-in-out, color .2s ease-in-out;
+ min-width: 44px;
+
+ &:hover {
+ background-color: var(--link-bg-hover);
+ color: var(--link-color-hover);
+ }
+
+ &[target="_blank"]::after {
+ content: url('data:image/svg+xml,open-in-new ');
+ display: inline-block;
+ width: 1rem;
+ height: 1rem;
+ }
+
+}
diff --git a/src/material/palette.css b/src/material/palette.css
new file mode 100644
index 0000000..417ac77
--- /dev/null
+++ b/src/material/palette.css
@@ -0,0 +1,51 @@
+:root {
+ --palette-black: #000000;
+ --palette-white: #ffffff;
+
+ --palette-blue-50: #e3f2fd;
+ --palette-blue-50-fg: var(--palette-black);
+ --palette-blue-100: #bbdefb;
+ --palette-blue-100-fg: var(--palette-black);
+ --palette-blue-200: #90caf9;
+ --palette-blue-200-fg: var(--palette-black);
+ --palette-blue-400: #42a5f5;
+ --palette-blue-400-fg: var(--palette-black);
+ --palette-blue-500: #2196f3;
+ --palette-blue-500-fg: var(--palette-black);
+ --palette-blue-600: #1e88e5;
+ --palette-blue-600-fg: var(--palette-white);
+ --palette-blue-700: #1976d2;
+ --palette-blue-700-fg: var(--palette-white);
+ --palette-blue-800: #1565c0;
+ --palette-blue-800-fg: var(--palette-white);
+ --palette-blue-900: #0d47a1;
+ --palette-blue-900-fg: var(--palette-white);
+ --palette-blue-a100: #82b1ff;
+ --palette-blue-a100-fg: var(--palette-black);
+ --palette-blue-a200: #448aff;
+ --palette-blue-a200-fg: var(--palette-white);
+ --palette-blue-a400: #2979ff;
+ --palette-blue-a400-fg: var(--palette-white);
+ --palette-blue-a700: #2962ff;
+ --palette-blue-a700-fg: var(--palette-white);
+
+ --palette-grey-50: #fafafa;
+ --palette-grey-50-fg: var(--palette-black);
+ --palette-grey-100: #f5f5f5;
+ --palette-grey-100-fg: var(--palette-black);
+ --palette-grey-200: #eeeeee;
+ --palette-grey-200-fg: var(--palette-black);
+ --palette-grey-300: #e0e0e0;
+ --palette-grey-300-fg: var(--palette-black);
+ --palette-grey-400: #bdbdbd;
+ --palette-grey-400-fg: var(--palette-black);
+ --palette-grey-500: #9e9e9e;
+ --palette-grey-500-fg: var(--palette-black);
+ --palette-grey-600: #757575;
+ --palette-grey-600-fg: white;
+ --palette-grey-700: #616161;
+ --palette-grey-700-fg: white;
+
+ --palette-pink-500: #e91e63;
+ --palette-pink-500-fg: var(--palette-white);
+}
diff --git a/src/pages/[year].astro b/src/pages/[year].astro
new file mode 100644
index 0000000..30943b8
--- /dev/null
+++ b/src/pages/[year].astro
@@ -0,0 +1,20 @@
+---
+import type { GetStaticPaths } from "astro";
+import { getCollection } from "astro:content";
+import { shouldBeVisible } from "~/utils/posts";
+
+export const getStaticPaths = (async () => {
+ const posts = (await getCollection("posts")).filter(shouldBeVisible);
+ const years = new Set(
+ posts.map((x) => x.data.date.getUTCFullYear().toString())
+ );
+ return years
+ .values()
+ .map((y) => ({ params: { year: y }, props: { year: y } }))
+ .toArray();
+}) satisfies GetStaticPaths;
+
+const { year } = Astro.props;
+
+return Astro.rewrite(`/${year}/page/1`);
+---
diff --git a/src/pages/[year]/[month]/[date]/[postid].astro b/src/pages/[year]/[month]/[date]/[postid].astro
new file mode 100644
index 0000000..bccdee7
--- /dev/null
+++ b/src/pages/[year]/[month]/[date]/[postid].astro
@@ -0,0 +1,109 @@
+---
+import "~/material/content.css";
+import type { GetStaticPaths } from "astro";
+import { render } from "astro:content";
+import { getCollection } from "astro:content";
+import { format } from "date-fns";
+import TimeDistanceToNow from "~/components/TimeDistanceToNow/index.astro";
+import Regular from "~/layouts/Regular.astro";
+import { getPostParam } from "~/utils/posts";
+
+export const getStaticPaths = (async () => {
+ const posts = await getCollection("posts");
+
+ return posts.map((x) => ({
+ params: getPostParam(x),
+ props: {
+ post: x,
+ },
+ }));
+}) satisfies GetStaticPaths;
+
+const { post } = Astro.props;
+
+const { Content } = await render(post);
+---
+
+
+
+
+
+ {post.data.title}
+
+
+ {format(post.data.date, "yyyy/MM/dd")}
+ 创建
+
+ {
+ post.data.updated && (
+
+
+ {format(post.data.updated, "yyyy/MM/dd")}
+
+ 更新
+
+ )
+ }
+ {post.data.visibility === "draft" && This is a draft }
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/[year]/page/[page].astro b/src/pages/[year]/page/[page].astro
new file mode 100644
index 0000000..49ab8c8
--- /dev/null
+++ b/src/pages/[year]/page/[page].astro
@@ -0,0 +1,68 @@
+---
+import type { GetStaticPaths } from "astro";
+import type { CollectionEntry } from "astro:content";
+import { getCollection } from "astro:content";
+import AuthorCard from "~/components/AuthorCard.astro";
+import Pager from "~/components/Pager.astro";
+import PostList from "~/components/PostList.astro";
+import TagListCard from "~/components/TagListCard.astro";
+import IndexLayout from "~/layouts/IndexLayout.astro";
+import { getAllTags, getHotTags, shouldBeVisible } from "~/utils/posts";
+
+export const getStaticPaths = (async ({ paginate }) => {
+ const posts = (await getCollection("posts"))
+ .filter(shouldBeVisible)
+ .sort((a, b) => b.data.date.getTime() - a.data.date.getTime());
+ const groupByYear = new Map[]>();
+
+ for (const post of posts) {
+ const year = post.data.date.getUTCFullYear().toString();
+
+ const collection = groupByYear.get(year);
+ if (collection) {
+ collection.push(post);
+ } else {
+ groupByYear.set(year, [post]);
+ }
+ }
+
+ return groupByYear
+ .entries()
+ .flatMap(([year, postsOfYear]) => {
+ return paginate(postsOfYear, {
+ params: {
+ year,
+ },
+ props: {
+ year,
+ },
+ });
+ })
+ .toArray();
+}) satisfies GetStaticPaths;
+
+const { year, page } = Astro.props;
+
+const authors = (await getCollection("authors")).filter((a) => a.data.default);
+
+const posts = (await getCollection("posts")).filter(
+ (p) => p.data.date.getUTCFullYear().toString() === year
+);
+const tags = getAllTags(posts);
+const hotTags = getHotTags(posts, tags);
+---
+
+
+
+
+
+
+
+ {authors.map((item) =>
)}
+
+
+
diff --git a/src/pages/_headers.ts b/src/pages/_headers.ts
new file mode 100644
index 0000000..5ef7d9f
--- /dev/null
+++ b/src/pages/_headers.ts
@@ -0,0 +1,58 @@
+import type { APIRoute } from "astro";
+import { getCollection } from "astro:content";
+import { postParamlink } from "~/utils/posts";
+
+export const GET: APIRoute = async () => {
+ const headers = new Map();
+
+ headers.set(
+ "/*",
+ new Headers({
+ "Cache-Control": "public, max-age=1440, must-revalidate",
+ }),
+ );
+
+ headers.set(
+ "/_astro/*",
+ new Headers({
+ "Cache-Control": "public, max-age=31536000, immutable",
+ }),
+ );
+
+ const posts = await getCollection("posts");
+
+ for (const post of posts) {
+ const etagContent = JSON.stringify({
+ id: post.id,
+ body: post.body,
+ data: post.data,
+ });
+ const etag = `"${new Bun.SHA256().update(etagContent).digest("hex")}"`;
+
+ const matcher = postParamlink(post);
+ headers.set(
+ matcher,
+ new Headers({
+ ETag: etag,
+ }),
+ );
+
+ headers.set(
+ `${matcher}index.html`,
+ new Headers({
+ ETag: etag,
+ }),
+ );
+ }
+
+ const lines = [] as string[];
+
+ for (const [k, entries] of headers) {
+ lines.push(k);
+ for (const [name, value] of entries) {
+ lines.push(` ${name}: ${value}`);
+ }
+ }
+
+ return new Response(lines.join("\n"));
+};
diff --git a/src/pages/archives.astro b/src/pages/archives.astro
new file mode 100644
index 0000000..ecf3f50
--- /dev/null
+++ b/src/pages/archives.astro
@@ -0,0 +1,82 @@
+---
+import { getCollection } from "astro:content";
+import Regular from "~/layouts/Regular.astro";
+import { shouldBeVisible } from "~/utils/posts";
+
+const posts = (await getCollection("posts")).filter(shouldBeVisible);
+
+const postCountByYear = new Map();
+
+for (const post of posts) {
+ const year = post.data.date.getUTCFullYear().toString();
+
+ const ocount = postCountByYear.get(year) ?? 0;
+
+ postCountByYear.set(year, ocount + 1);
+}
+
+const counts = postCountByYear
+ .entries()
+ .toArray()
+ .sort(([y0], [y1]) => Number(y1) - Number(y0));
+---
+
+
+
+
+ {
+ counts.map(([year, count]) => {
+ return (
+
+
+ {year}
+
+ {count}
+
+ );
+ })
+ }
+
+
+
+
+
diff --git a/src/pages/atom.xml.ts b/src/pages/atom.xml.ts
new file mode 100644
index 0000000..f4f7423
--- /dev/null
+++ b/src/pages/atom.xml.ts
@@ -0,0 +1,99 @@
+import type { APIRoute } from "astro";
+import { experimental_AstroContainer as AstroContainer } from "astro/container";
+import { loadRenderers } from "astro:container";
+import { getContainerRenderer as solidContainerRenderer } from "@astrojs/solid-js";
+import { getContainerRenderer as mdxContainerRenderer } from "@astrojs/mdx";
+import { getCollection, render } from "astro:content";
+import { x } from "xastscript";
+import { postParamlink, shouldBeVisible } from "~/utils/posts";
+import { toXml } from "xast-util-to-xml";
+
+export const GET: APIRoute = async () => {
+ const renderers = await loadRenderers([
+ solidContainerRenderer(),
+ mdxContainerRenderer(),
+ ]);
+ const cont = await AstroContainer.create({
+ renderers: renderers,
+ });
+ const posts = (await getCollection("posts"))
+ .filter(shouldBeVisible)
+ .sort((a, b) => b.data.date.getTime() - a.data.date.getTime())
+ .slice(0, 10);
+ const authors = await getCollection("authors");
+
+ const tr = x(
+ "feed",
+ { xmlns: "http://www.w3.org/2005/Atom" },
+ x("title", { type: "text" }, "Rubicon's Rubicon"),
+ x("id", {}, "https://rubicon.lightstands.xyz/"),
+ x(
+ "updated",
+ {},
+ posts.length > 0
+ ? posts[0].data.date.toISOString()
+ : new Date().toISOString(),
+ ),
+ x("link", {
+ rel: "alternate",
+ type: "text/html",
+ hreflang: "zh",
+ href: "https://rubicon.lightstands.xyz",
+ }),
+ x("link", {
+ rel: "alternate",
+ type: "application/feed+json",
+ hreflang: "zh",
+ href: "https://rubicon.lightstands.xyz/feed.json",
+ }),
+ x("link", {
+ rel: "self",
+ type: "application/atom+xml",
+ href: "https://rubicon.lightstands.xyz/atom.xml",
+ }),
+ ...(await Promise.all(
+ posts.map(async (item) => {
+ const href = new URL(
+ postParamlink(item),
+ "https://rubicon.lightstands.xyz",
+ ).toString();
+ const { Content } = await render(item);
+ return x(
+ "entry",
+ {},
+ x("title", {}, item.data.title),
+ x("id", {}, href),
+ x("published", {}, item.data.date.toISOString()),
+ x(
+ "updated",
+ {},
+ item.data.updated
+ ? item.data.updated.toISOString()
+ : item.data.date.toISOString(),
+ ),
+ x("link", {
+ rel: "alternate",
+ type: "application/xhtml+html",
+ href,
+ }),
+ ...authors.map((author) => {
+ return x(
+ "author",
+ {},
+ x("name", {}, author.data.name),
+ (author.data.links?.length ?? 0 > 0)
+ ? x("uri", {}, author.data.links![0].href)
+ : undefined,
+ );
+ }),
+ x(
+ "content",
+ { type: "text/html", "xml:base": href },
+ await cont.renderToString(Content),
+ ),
+ );
+ }),
+ )),
+ );
+ return new Response(toXml(tr, { allowDangerousXml: true }));
+};
diff --git a/src/pages/external-resource-usage.astro b/src/pages/external-resource-usage.astro
new file mode 100644
index 0000000..97ca420
--- /dev/null
+++ b/src/pages/external-resource-usage.astro
@@ -0,0 +1,146 @@
+---
+import "~/material/content.css";
+import { getCollection } from "astro:content";
+import AuthorCard from "~/components/AuthorCard.astro";
+import Wikipedia from "~/components/Wikipedia.astro";
+import Regular from "~/layouts/Regular.astro";
+
+const defaultAuthors = (await getCollection("authors")).filter(
+ (x) => x.data.default
+);
+---
+
+
+
+
+ Contract Infomation
+
+
+
+ Please tell me if you found unaccpectable traffic coming from this
+ website.
+
+
+ Please check if the traffic actually coming from this site
+ rubicon.lightstands.xyz . The source code of this site is open source - anyone can use it
+ and its user agent string to create abuse traffic.
+
+
+
+
+ {defaultAuthors.map((author) =>
)}
+
+
+
+
+
+ Fetching from Wikipedia
+
+
+
+
+
+
+
+ This website uses Wikipedia's content to explain terms and ideas to
+ the visitors, mostly in the form of blockquote, which automatically
+ fetched by the software depending on the argument provided by the
+ author.
+
+
+
+ To achive the best user experience, for every such blockquote, this
+ software does 1 fetch as they appear in the post. Possibly additional 1
+ fetch for every shown of the blockquote. Each fetch is assocatiated 1 to
+ 3 requests to variaous Wikipedia instance.
+
+
+
+ The first required fetch is the baking fetch, which appears on the
+ machine building the software. This software, is being built at once for
+ every published website change, bakes the requested content in the page.
+
+
+
+ In the building process, every requested
+ blockquote will trigger 1 or 2 requests to various instance of Wikipedia.
+ Due to technology limit, there is not implemented limitation for the advised
+ 200reqs/min. I think that's acceptable because the building is rare, usually
+ less than 10 times each months, and in one-at-a-time basis, and each building
+ unlikely create requests more than 5000 . As the written of this page, 2024/04/06,
+ there just are less than 20 requests.
+
+
+
+ In this matter, the user agent string includes the text "on Server",
+ indicates this fetch happens on server.
+
+
+
+ Worth noting that one post may be rendered multiple times, so the
+ blockquotes technically may appear multiple times. This software
+ provides a whole site JSON feed and a recent Atom feed in addition to
+ the normal HTML pages. So each blockquote might be fetch 2 - 3 times for
+ the baking.
+
+
+
+ The requests happen on client when
+ the user agent string includes "on Client". They appear when the client-side
+ script trys to enhance the experience by swap the content with the user accepted
+ languages. The page content can remain untouched if this enhancement process
+ failed.
+
+
+
+ Just like the baked fetch, those enhancement fetch is without
+ implemented limitation for the advised 200reqs/min. We think that's
+ highly unlikely to have 100 blockquotes from Wikipedia in a post.
+
+
+
+
+
+
diff --git a/src/pages/feed.json.ts b/src/pages/feed.json.ts
new file mode 100644
index 0000000..1e05504
--- /dev/null
+++ b/src/pages/feed.json.ts
@@ -0,0 +1,5 @@
+import type { APIRoute } from "astro";
+
+export const GET: APIRoute = ({rewrite}) => {
+ return rewrite("/feeds/1.json")
+}
diff --git a/src/pages/feeds/[page].json.ts b/src/pages/feeds/[page].json.ts
new file mode 100644
index 0000000..2932981
--- /dev/null
+++ b/src/pages/feeds/[page].json.ts
@@ -0,0 +1,58 @@
+import type { APIRoute, GetStaticPaths, Page } from "astro";
+import { getCollection, render, type CollectionEntry } from "astro:content";
+import { experimental_AstroContainer as AstroContainer } from "astro/container";
+import { loadRenderers } from "astro:container";
+import { getContainerRenderer as solidContainerRenderer } from "@astrojs/solid-js";
+import { getContainerRenderer as mdxContainerRenderer } from "@astrojs/mdx";
+import { postParamlink, shouldBeVisible } from "~/utils/posts";
+
+export const getStaticPaths = (async ({ paginate }) => {
+ const posts = (await getCollection("posts")).filter(shouldBeVisible).sort(
+ (a, b) => b.data.date.getTime() - a.data.date.getTime(),
+ );
+
+ return paginate(posts, {pageSize: 5});
+}) satisfies GetStaticPaths;
+
+export const GET: APIRoute<{ page: Page> }> = async ({
+ props: { page },
+}) => {
+ const renderers = await loadRenderers([
+ solidContainerRenderer(),
+ mdxContainerRenderer(),
+ ]);
+ const cont = await AstroContainer.create({
+ renderers: renderers,
+ });
+ const authors = await getCollection("authors");
+
+ const hasNextPage = page.currentPage < page.start + 1;
+
+ return new Response(
+ JSON.stringify({
+ version: "https://jsonfeed.org/version/1.1",
+ title: "Rubicon's Rubicon",
+ home_page_url: "https://rubicon.lightstands.xyz/",
+ feed_url: "https://rubicon.lightstands.xyz/feed.json",
+ next_url: hasNextPage
+ ? `https://rubicon.lightstands.xyz/feeds/${page.currentPage + 1}.json`
+ : undefined,
+ authors: authors.map((item) => {
+ return {
+ name: item.data.name,
+ url: item.data.links?.[0].href,
+ };
+ }),
+ items: await Promise.all(
+ page.data.map(async (item) => {
+ const { Content } = await render(item);
+ return {
+ id: item.id,
+ context_html: await cont.renderToString(Content),
+ url: new URL(postParamlink(item), "https://rubicon.lightstands.xyz").toString(),
+ };
+ }),
+ ),
+ }, undefined, 2),
+ );
+};
diff --git a/src/pages/index.astro b/src/pages/index.astro
new file mode 100644
index 0000000..0861c22
--- /dev/null
+++ b/src/pages/index.astro
@@ -0,0 +1,3 @@
+---
+return Astro.rewrite("/page/1")
+---
diff --git a/src/pages/page/[page].astro b/src/pages/page/[page].astro
new file mode 100644
index 0000000..c9e7623
--- /dev/null
+++ b/src/pages/page/[page].astro
@@ -0,0 +1,73 @@
+---
+import type { GetStaticPathsOptions } from "astro";
+import { Image } from "astro:assets";
+import { getCollection } from "astro:content";
+import AuthorCard from "~/components/AuthorCard.astro";
+import Pager from "~/components/Pager.astro";
+import PostList from "~/components/PostList.astro";
+import TagListCard from "~/components/TagListCard.astro";
+import IndexLayout from "~/layouts/IndexLayout.astro";
+import { getAllTags, getHotTags, shouldBeVisible } from "~/utils/posts";
+import JSONFeedIcon from "~/assets/jsonfeed.png"
+import { Icon } from "astro-icon/components";
+
+export async function getStaticPaths({ paginate }: GetStaticPathsOptions) {
+ const posts = (await getCollection("posts")).filter(shouldBeVisible).sort((a, b) => {
+ return b.data.date.getTime() - a.data.date.getTime();
+ });
+ return paginate(posts, {});
+}
+
+const { page } = Astro.props;
+
+const posts = await getCollection("posts");
+const tags = getAllTags(posts);
+const hotTags = getHotTags(posts, tags);
+
+const defaultAuthors = (await getCollection("authors")).filter(
+ (x) => x.data.default
+)!;
+---
+
+
+
+
+
+
+
+
+ {defaultAuthors.map((item) =>
)}
+
+
+
+
diff --git a/src/pages/tags/[name].astro b/src/pages/tags/[name].astro
new file mode 100644
index 0000000..615edd8
--- /dev/null
+++ b/src/pages/tags/[name].astro
@@ -0,0 +1,18 @@
+---
+import type { GetStaticPaths } from "astro";
+import { getCollection } from "astro:content";
+import { getAllTags } from "~/utils/posts";
+
+export const getStaticPaths = (async () => {
+ const posts = await getCollection("posts");
+ const tags = getAllTags(posts);
+ return tags.map((t) => ({
+ params: { name: t },
+ props: { name: t },
+ }));
+}) satisfies GetStaticPaths;
+
+const { name } = Astro.props;
+
+return Astro.rewrite(`/tags/${name}/1`);
+---
diff --git a/src/pages/tags/[name]/[page].astro b/src/pages/tags/[name]/[page].astro
new file mode 100644
index 0000000..bf8ebd1
--- /dev/null
+++ b/src/pages/tags/[name]/[page].astro
@@ -0,0 +1,49 @@
+---
+import type { GetStaticPaths } from "astro";
+import { getCollection } from "astro:content";
+import AuthorCard from "~/components/AuthorCard.astro";
+import Pager from "~/components/Pager.astro";
+import PostList from "~/components/PostList.astro";
+import TagListCard from "~/components/TagListCard.astro";
+import IndexLayout from "~/layouts/IndexLayout.astro";
+import { getAllTags, getHotTags, shouldBeVisible } from "~/utils/posts";
+
+export const getStaticPaths = (async ({ paginate }) => {
+ const posts = (await getCollection("posts")).filter(shouldBeVisible);
+ const tags = getAllTags(posts);
+ const postsByTag = tags.map((t) => {
+ return posts.filter((p) => p.data.tags?.includes(t));
+ });
+ return tags.flatMap((name, idx) => {
+ return paginate(postsByTag[idx], {
+ params: { name },
+ props: { name },
+ });
+ });
+}) satisfies GetStaticPaths;
+
+const { page, name } = Astro.props;
+
+const posts = (await getCollection("posts")).filter(shouldBeVisible);
+const tags = getAllTags(posts);
+const hotTags = getHotTags(posts, tags);
+
+const defaultAuthors = (await getCollection("authors")).filter(
+ (x) => x.data.default
+)!;
+---
+
+
+
+
+
+
+
+ {defaultAuthors.map((item) =>
)}
+
+
+
diff --git a/source/_posts/Blog-2021-Final-Update.md b/src/posts/Blog-2021-Final-Update/index.mdx
similarity index 88%
rename from source/_posts/Blog-2021-Final-Update.md
rename to src/posts/Blog-2021-Final-Update/index.mdx
index 1beee1f..b08d9b3 100644
--- a/source/_posts/Blog-2021-Final-Update.md
+++ b/src/posts/Blog-2021-Final-Update/index.mdx
@@ -3,37 +3,43 @@ title: 博客2021年最终功能更新
date: 2021-12-30 21:26:06
tags:
- Hexo
- - logbook
- - 博客功能更新
+ - 博客软件更新
---
我对博客功能的要求是拒绝花里胡哨,一切为阅读服务。现在是2021年年底,正好我要为我对年终总结的一些设想给博客更新一些功能:快速引用素材、Steam游戏卡片、引用Wikipedia条目。
-
+import More from "~/components/More.astro";
+
+
## 快速引用素材
之前我引用图片一直都是用图片的完整路径,实在是非常麻烦,所以我一直期待能找到一个简单的方法引用素材。原先的考虑是用[hexo-asset](https://github.com/cnzsb/hexo-asset),但是在一番简单搜索后发现hexo-render-marked在3.1.0+已经携带了类似功能了:https://hexo.io/docs/asset-folders.html#Embedding-an-image-using-markdown 。直接在_config.yml里打开就行。
-````
+````yaml
post_asset_folder: true
marked:
prependRoot: true
postAsset: true
````
-
+
+
## Steam游戏卡片
-{% steamgame 22380 %}
+import SteamGame from "~/components/SteamGame.astro";
-{% steamgame 412020 "《地铁:离乡》确实是非常不错的半开放世界线性流程FPS。" %}
+
+
+
搜刮到[hexo-tag-steamgames](https://github.com/HCLonely/hexo-tag-steamgame)可以实现这个。
## 引用Wikipedia条目
-{% wikipedia title:Wikipedia lang:zh wikiButton:true %}
+import Wikipedia from "~/components/Wikipedia.astro";
+
+
原来我是想用[hexo-tag-wikipedia](https://github.com/tuanna-hsp/hexo-tag-wikipedia)。但是:
@@ -42,7 +48,7 @@ marked:
最后我改了一下把它改成用XMLHTTPRequest从[Wikipedia的Restful API](https://en.wikipedia.org/api/rest_v1/#/)拉取数据。脚本很简单:
-````
+````js
function buildArgsHash(args) {
let argsHash = {};
diff --git a/source/_posts/Blog-2021-Final-Update/mastodon_Elephant_Friend_Curious.png b/src/posts/Blog-2021-Final-Update/mastodon_Elephant_Friend_Curious.png
similarity index 100%
rename from source/_posts/Blog-2021-Final-Update/mastodon_Elephant_Friend_Curious.png
rename to src/posts/Blog-2021-Final-Update/mastodon_Elephant_Friend_Curious.png
diff --git a/src/posts/Lookup-Table-Fast-or-Slow/index.mdx b/src/posts/Lookup-Table-Fast-or-Slow/index.mdx
new file mode 100644
index 0000000..4a8a135
--- /dev/null
+++ b/src/posts/Lookup-Table-Fast-or-Slow/index.mdx
@@ -0,0 +1,135 @@
+---
+title: '查找表:更快还是更慢?'
+visibility: "draft"
+tags:
+ - 性能优化
+---
+
+查找表相信是各位的老相识了,它经常作为“性能优化”出现在各种算法中,比如数据编码转换。相对于`if (x) return a else return b`这种条件跳转,查找表可以节省大量代码,还可以大量分支的情况下省下很多运行时操作。
+
+```python
+ALPHAS = "abcdefghijklmnopqrstuvwxyz"
+
+def ord2alpha(order_n: int):
+ "将字母的顺序编号转换成相应字母"
+ return ALPHAS[order_n]
+```
+
+但是——操作少,真的就快吗?
+
+import More from "~/components/More.astro";
+
+
+
+## 查找表,还是不查找表,这是一个问题
+
+回到故事的开始——[zigpak](https://github.com/thislight/zigpak),一个Messagepack的Zig实现。为了让它在[我移植的schemaless-benchmark跑分](https://github.com/thislight/schemaless-benchmarks)中得到更好的表现,我尝试寻找代码热点去优化。
+
+其中一个热点`HeaderType.from`,包含有一个巨大的switch。
+
+```zig
+const HeaderType = struct {
+ // ...
+ pub fn from(value: u8) ?HeaderType {
+ // ...
+ return switch (value) {
+ @intFromEnum(ContainerType.fixed_int_positive)...MAX_FIXED_INT_POS => .{
+ .fixint = @intCast(value & ~ContainerType.MASK_FIXED_INT_POSITIVE),
+ },
+ @intFromEnum(ContainerType.fixed_int_negative)...MAX_FIXED_INT_NEG => .{
+ .fixint = -@as(i8, @intCast(value & ~ContainerType.MASK_FIXED_INT_NEGATIVE)),
+ },
+ @intFromEnum(ContainerType.fixed_str)...MAX_FIXED_STR => .{
+ .fixstr = value & ~ContainerType.MASK_FIXED_STR,
+ },
+ @intFromEnum(ContainerType.fixed_array)...MAX_FIXED_ARRAY => .{
+ .fixarray = value & ~ContainerType.MASK_FIXED_ARRAY,
+ },
+ @intFromEnum(ContainerType.fixed_map)...MAX_FIXED_MAP => .{
+ .fixmap = value & ~ContainerType.MASK_FIXED_MAP,
+ },
+ @intFromEnum(ContainerType.nil) => .nil,
+ // ...其它十个分支
+ else => null,
+ };
+ }
+ // ...
+}
+```
+
+| 小型数据增量解析跑分 | 开销(越低越好) | 代码大小(字节) |
+| ------ | --- | --- |
+| 基线 | 1x | 0 |
+| mpack | 3.63x ± 5.14x | 5816 |
+| Zigpak(无查找表)| 5.67x ± 8.01x | 8224 |
+| Zigpak(有查找表)| 6.81x ± 9.63x | 8464 |
+
+这一块代码编译后基本都是条件跳转,于是我为这一块加入了可配置的查找表选项,想看看使用查找表能不能获得更好的性能。结果非常惨烈:使用查找表反而更慢!
+
+| 事件类型(sample count) | 无查找表 | 有查找表 |
+| --- | --- | --- |
+| CYCLE_NOT_IN_HALT | 28246 | 28671 |
+
+对两个不同的跑分进行profiling。对比两个跑分的CYCLE_NOT_IN_HALT(非HALT状态的时钟周期),我们会发现使用查找表的跑分使用了更多的时钟周期。
+由于不同跑分的执行时间大致相似,这确实帮我们确认了这件非常反直觉的事情:使用查找表应该减少操作,但是实际CPU并没有使用更少的时间执行程序。
+
+## 指令如何执行
+
+基本上,现代微处理器中的每条指令都可以通过四个步骤实现:Fetch(获取)、Decode(解码)、Execute(执行)、Writeback(回写)。
+
+举个例子,`je 0x00000001`代表如果equal flag已设置,跳转到地址`1`继续执行。以一种简单的方法实现就是:
+
+1. Fetch:获取得到指令je 0x00000001
+2. Decode: 操作“je”,参数“0x00000001”
+3. Execute: 根据equal flag和PC(Program counter,代表当前执行代码的地址),新PC应该是当前值,还是0x00000001?
+4. Writeback:将新的PC值写回
+
+```text
+Fetch -> Decode -> Compute -> Writeback -> Decode -> Fetch -> ...
+```
+
+处理器就是这样在电路上执行这四个步骤来完成你的工作,每个步骤需要1个时钟周期,所以这样执行一条指令需要4个时钟周期(CPI = 4)。CPI就是Cycle per Instruction,每指令时钟周期,代表每条指令执行所需的时钟周期。CPI为4说明一条指令需要4个时钟周期,假设处理器时钟频率是4GHz,那么这个处理器每秒钟只能处理1G条指令。
+
+不过,还可以更快:这四个步骤使用的都是电路的不同部分,按照流水线一样安排执行的话,就可以充分利用电路的不同部分。当第一条指令执行Writeback的时候,第二条在Compute,第三条在Decode,第四条在Fetch……以此类推。有时甚至可以跳过一部分步骤,这种设计就被叫做“流水线(pipelining)”。这样设计的话,每个时钟周期可以处理1条指令,CPI = 1。这四倍的提升甚至不需要更快的时钟频率。
+
+现代处理器更进一步,基本都是“超流水线-超标量(superpipelining-superscalar)处理器”,听着就很“超级”。
+
+超流水线技术很简单:把原来一个步骤的电路拆成几个步骤,从原本的4级流水线拆成4+n级流水线。因为时钟周期只能按照速度最慢的那个步骤来设定,所以拆分步骤可以增加时钟频率。但是,执行一条指令就需要更多时钟周期;并且,更快的时钟周期可能需要更多电力。这中间就需要寻找一个平衡点。目前来说,现代处理器一般使用10-20级的流水线。
+
+超标量比较复杂,不过它跟流水线一样,都是想更充分地利用电路,只是超标量想充分利用的是Execute步骤中的电路。Execute步骤中会有多个不同的电路单元用来执行不同的操作,所以它们之间可以不冲突地执行不同的操作。
+超标量设计是:
+
+1. Fetch能够同时获取多条指令;
+2. Decode能够同时解码多条指令;从而:
+3. 同时在Execute步骤中执行不同的指令。
+
+import Figure from "~/components/Figure.astro";
+
+
+
+
+
+超标量设计示意图(Jason Robert Carey Patterson, 2016)
+
+
+
+超标量设计能同时执行指令的数量经常被称作“宽度”,而流水线的级数经常被称作“深度”。
+
+## 分支预测
+
+| 事件类型(sample count) | 无查找表 | 有查找表 |
+| --- | --- | --- |
+| RETRIED_BR_INST_MISP | 379 | 2267 |
+
+## 快是内存的谎言
+
+| 事件类型(sample count) | 无查找表 | 有查找表 |
+| --- | --- | --- |
+| L2_CACHE_ACCESS_FROM_L1_DC_MISS | 19 | 21 |
+
+## 失落的银弹
+
+## 参考资料
+
+- Jason Robert Carey Patterson. (2016). *Modern Microporcessor - A 90-Minute Guide*.
+https://www.lighterra.com/papers/modernmicroprocessors/
diff --git a/src/posts/Lookup-Table-Fast-or-Slow/superscalarmicroarch2.svg b/src/posts/Lookup-Table-Fast-or-Slow/superscalarmicroarch2.svg
new file mode 100644
index 0000000..ab81d35
--- /dev/null
+++ b/src/posts/Lookup-Table-Fast-or-Slow/superscalarmicroarch2.svg
@@ -0,0 +1,645 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/source/_posts/New-Theme-for-Blog-at-the-start-of-2024.md b/src/posts/New-Theme-for-Blog-at-the-start-of-2024.md
similarity index 94%
rename from source/_posts/New-Theme-for-Blog-at-the-start-of-2024.md
rename to src/posts/New-Theme-for-Blog-at-the-start-of-2024.md
index 65066e5..52fd556 100644
--- a/source/_posts/New-Theme-for-Blog-at-the-start-of-2024.md
+++ b/src/posts/New-Theme-for-Blog-at-the-start-of-2024.md
@@ -1,7 +1,7 @@
---
title: 新年新主题!博客新主题Buck介绍
tags:
- - 博客功能更新
+ - 博客软件更新
- Hexo
date: 2024-01-11 19:36:34
---
@@ -19,7 +19,7 @@ date: 2024-01-11 19:36:34
颜色也是一种对比。博客原本就有一个粉色的强调色,但是非常非常少用,因为我也不知道怎么放。这次我想到了一个好主意:将有超过一篇文章使用的标签用强调色标出。现在主页终于不再是蓝色、白色和黑色了。当然,主题色也做了一些调整:蓝色变深了,提高了与白色的对比度。
-
+
除此之外,当你将鼠标放到各种物件上时,都会有新的强调样式。在Buck中,我非常重视即时反馈,几乎每个物件都有自己的强调样式,包括代码块、块引用,甚至列表和表格。在文章中,各种物件的样式不再使用浏览器样式,而是使用接近Material Design的样式,看起来更漂亮了。
@@ -40,7 +40,7 @@ date: 2024-01-11 19:36:34
Buck的JS、CSS以及其它资源现在使用esbuild打包。得益于打包工具的魔法,我能够轻易为Buck的网页进行“渐进式增强”。简单来说,“渐进式增强”就是在条件允许的时候提供相应的功能,在条件不允许的时候也有一个备用方案,而不是简单地告诉用户页面无法使用。
-
+
当你在表格的某一列的一个单元格停留时,相应列的标题就会亮起,这个效果使用了JavaScript来实现。所以当你关闭JavaScript的时候,这个效果就会消失,但是页面仍然能够观看。
@@ -50,7 +50,7 @@ Buck的JS、CSS以及其它资源现在使用esbuild打包。得益于打包工
相比CMD,Buck一定程度上优化了可及性。我有相当一部分精力放在了“减少触摸的二义性”上。
-
+
在原先的CMD中,文章列表中的一个项目是一个纸片,点击这个纸片就会进入文章页面。这听起来是很棒的主意。但是,如果用户注意到这个纸片中内容梗概也包含可操作内容的话,就会产生二义性,用户难以预测触摸的结果。因为使用手指触发触摸屏会在屏幕上产生一个椭圆形的触摸区域:
diff --git a/source/_posts/New-Theme-for-Blog-at-the-start-of-2024/post-item-showcase.png b/src/posts/New-Theme-for-Blog-at-the-start-of-2024/post-item-showcase.png
similarity index 100%
rename from source/_posts/New-Theme-for-Blog-at-the-start-of-2024/post-item-showcase.png
rename to src/posts/New-Theme-for-Blog-at-the-start-of-2024/post-item-showcase.png
diff --git a/source/_posts/New-Theme-for-Blog-at-the-start-of-2024/table-enhanced-react-showcase.png b/src/posts/New-Theme-for-Blog-at-the-start-of-2024/table-enhanced-react-showcase.png
similarity index 100%
rename from source/_posts/New-Theme-for-Blog-at-the-start-of-2024/table-enhanced-react-showcase.png
rename to src/posts/New-Theme-for-Blog-at-the-start-of-2024/table-enhanced-react-showcase.png
diff --git a/source/_posts/New-Theme-for-Blog-at-the-start-of-2024/tags-new-ui.png b/src/posts/New-Theme-for-Blog-at-the-start-of-2024/tags-new-ui.png
similarity index 100%
rename from source/_posts/New-Theme-for-Blog-at-the-start-of-2024/tags-new-ui.png
rename to src/posts/New-Theme-for-Blog-at-the-start-of-2024/tags-new-ui.png
diff --git a/source/_posts/Recent-changes-in-my-blog-arch.md b/src/posts/Recent-changes-in-my-blog-arch.md
similarity index 99%
rename from source/_posts/Recent-changes-in-my-blog-arch.md
rename to src/posts/Recent-changes-in-my-blog-arch.md
index 07d075b..7f626e7 100644
--- a/source/_posts/Recent-changes-in-my-blog-arch.md
+++ b/src/posts/Recent-changes-in-my-blog-arch.md
@@ -1,7 +1,7 @@
---
title: 博客最近的架构改动
tags:
- - 博客功能更新
+ - 博客软件更新
date: 2024-06-07 23:52:10
---
diff --git a/source/_posts/Signals-on-Flutter.md b/src/posts/Signals-on-Flutter.md
similarity index 99%
rename from source/_posts/Signals-on-Flutter.md
rename to src/posts/Signals-on-Flutter.md
index fdde44a..777fdfc 100644
--- a/source/_posts/Signals-on-Flutter.md
+++ b/src/posts/Signals-on-Flutter.md
@@ -4,7 +4,7 @@ date: 2023-12-09 20:38:24
tags:
- Flutter
- Dart
- - 前端开发
+ - Web
---
最近看到很多在Flutter上实现Signals范式的项目,其实我自己也试了一下。感想是:Dart缺少太多语法特性了……真正的Signals范式需要很多胶水代码,在JS上这些胶水代码都是用代码生成器生成的,但是Dart和Flutter让这个生成器不是那么的好写,或者没法方便的用自带的特性做类似的功能。
diff --git a/source/_posts/The-Last-Minutes.md b/src/posts/The-Last-Minutes.md
similarity index 100%
rename from source/_posts/The-Last-Minutes.md
rename to src/posts/The-Last-Minutes.md
diff --git a/source/_posts/The-objective-truth-of-the-humanities-and-social-sciences.md b/src/posts/The-objective-truth-of-the-humanities-and-social-sciences.md
similarity index 100%
rename from source/_posts/The-objective-truth-of-the-humanities-and-social-sciences.md
rename to src/posts/The-objective-truth-of-the-humanities-and-social-sciences.md
diff --git a/source/_posts/TypeScript-and-Service-Worker.md b/src/posts/TypeScript-and-Service-Worker.md
similarity index 99%
rename from source/_posts/TypeScript-and-Service-Worker.md
rename to src/posts/TypeScript-and-Service-Worker.md
index 2674c54..b6290f0 100644
--- a/source/_posts/TypeScript-and-Service-Worker.md
+++ b/src/posts/TypeScript-and-Service-Worker.md
@@ -2,6 +2,7 @@
title: TypeScript和Service Worker
tags:
- Web
+ - TypeScript
date: 2024-10-16 22:58:32
---
diff --git a/src/posts/Write-at-2025-Only-Challenge-No-Chance/index.mdx b/src/posts/Write-at-2025-Only-Challenge-No-Chance/index.mdx
new file mode 100644
index 0000000..00f3f41
--- /dev/null
+++ b/src/posts/Write-at-2025-Only-Challenge-No-Chance/index.mdx
@@ -0,0 +1,5 @@
+---
+title: '写于2025开年:只有挑战,没有机会'
+visibility: "draft"
+tags:
+---
diff --git a/src/posts/fallout-new-vegas/Ranger_at_New_Vegas_entrance.webp b/src/posts/fallout-new-vegas/Ranger_at_New_Vegas_entrance.webp
new file mode 100644
index 0000000..8dfde59
Binary files /dev/null and b/src/posts/fallout-new-vegas/Ranger_at_New_Vegas_entrance.webp differ
diff --git a/src/posts/fallout-new-vegas/index.mdx b/src/posts/fallout-new-vegas/index.mdx
new file mode 100644
index 0000000..a7f5290
--- /dev/null
+++ b/src/posts/fallout-new-vegas/index.mdx
@@ -0,0 +1,30 @@
+---
+title: 《辐射:新维加斯》:愿你狂野的灵魂,在宁静的沙漠中安息
+visibility: "draft"
+tags:
+ - 游戏
+---
+
+
+
+一款像是来自未来的游戏。或许老旧的引擎、漫天的bug会让你感到有些出戏,但这仅仅是因为这游戏有那么多让人着迷的回忆。Enjoy your stay!
+
+import More from "~/components/More.astro";
+
+
+
+## 开放世界和游戏流程:什么才是“开放世界”?
+越来越多的3A游戏为我们带来了“开放世界体验”,但是不同的游戏的地图设计思路并不完全相同。育碧可以说是近几年生产开放世界游戏最多的游戏制作商,但尽管育碧提供的内容越来越多,很多玩家总是对育碧的开放世界公式颇有微词。2021年的3A大赢家《光环:无限》成功地把光环
+
+
+《光环:无限》开放世界地图的一部分
+
+
+
+## 开放故事:主角的故事不一定只有一个
+
+## “后果”:鲜活世界的“一体两面”
+
+## 尾巴:沉浸感……?
+
+## 附言:一定要打Mod!
diff --git a/src/posts/fallout-new-vegas/zeta-halo.jpg b/src/posts/fallout-new-vegas/zeta-halo.jpg
new file mode 100644
index 0000000..f99fe9f
--- /dev/null
+++ b/src/posts/fallout-new-vegas/zeta-halo.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:4bb7f98b9eff3432645ad0bb872b2319aca6f6af43d7bf0cb935a4c9a89abb45
+size 246577
diff --git a/source/_posts/fukushima-nuclear-qa.md b/src/posts/fukushima-nuclear-qa.md
similarity index 100%
rename from source/_posts/fukushima-nuclear-qa.md
rename to src/posts/fukushima-nuclear-qa.md
diff --git a/source/_posts/hello-world.md b/src/posts/hello-world.md
similarity index 100%
rename from source/_posts/hello-world.md
rename to src/posts/hello-world.md
diff --git a/source/_posts/hexo-topic-feeds.md b/src/posts/hexo-topic-feeds/index.mdx
similarity index 89%
rename from source/_posts/hexo-topic-feeds.md
rename to src/posts/hexo-topic-feeds/index.mdx
index 7aeb951..4c5a7ef 100644
--- a/source/_posts/hexo-topic-feeds.md
+++ b/src/posts/hexo-topic-feeds/index.mdx
@@ -4,18 +4,20 @@ date: 2021-10-13 18:36:53
tags:
- Hexo
- RSS
- - 博客功能更新
+ - 博客软件更新
---
> RSS(英文全称:RDF Site Summary 或 Really Simple Syndication[2]),中文译作簡易資訊聚合[3],也称聚合内容[4],是一種消息來源格式規範,用以聚合多個網站更新的內容並自動通知網站訂閱者。使用 RSS 後,網站訂閱者便無需再手動查看網站是否有新的內容,同時 RSS 可將多個網站更新的內容進行整合,以摘要的形式呈現,有助於訂閱者快速獲取重要信息,並選擇性地點閱查看。 ———— [RSS - Wikipedia](https://zh.wikipedia.org/wiki/RSS)
之前花了两天时间完成了这个功能,后来心血来潮在网站上看看时发现有bug。修好bug之后我觉得还是水一篇文章吧,否则博客开了一年都没什么内容。这篇文章主要就是介绍RSS订阅功能以及实现时的一些技术细节,如果想要扒我(包含这个功能)的主题或者借以参考的话,我过一段时间会把这个主题整理开源出来。
-
+import More from "~/components/More.astro"
+
+
Rubicon's Rubicon同时支持全站订阅和按标签或目录订阅。全站订阅就在每个页面最下方的“Links”里面。
-{% img /img/hexo-topic-feeds/site-feeds.png "Feed (Atom) 和 Feed (RSS)" %}
+
目前为止,对于Rubicon's Rubicon来说RSS和Atom订阅没有差别。
@@ -23,7 +25,7 @@ Rubicon's Rubicon同时支持全站订阅和按标签或目录订阅。全站订
通过菜单栏里的"Archives"或右边的"Tags"进入任意标签或目录的页面,在标题下面就有“FEED (Atom)”和“FEED (RSS)”。
-{% img /img/hexo-topic-feeds/topic-feeds.png "标题“诗集”下面有“FEED (Atom)”和“FEED (RSS)”" %}
+
## 技术细节
diff --git a/source/img/hexo-topic-feeds/site-feeds.png b/src/posts/hexo-topic-feeds/site-feeds.png
similarity index 100%
rename from source/img/hexo-topic-feeds/site-feeds.png
rename to src/posts/hexo-topic-feeds/site-feeds.png
diff --git a/source/img/hexo-topic-feeds/topic-feeds.png b/src/posts/hexo-topic-feeds/topic-feeds.png
similarity index 100%
rename from source/img/hexo-topic-feeds/topic-feeds.png
rename to src/posts/hexo-topic-feeds/topic-feeds.png
diff --git a/source/_posts/http101.md b/src/posts/http101.md
similarity index 99%
rename from source/_posts/http101.md
rename to src/posts/http101.md
index b593f5c..58ff0a2 100644
--- a/source/_posts/http101.md
+++ b/src/posts/http101.md
@@ -3,6 +3,7 @@ title: 超文本传输协议(HTTP)快速入门
tags:
- 网络协议
- HTTP
+ - Web
date: 2024-10-04 14:00:00
---
@@ -542,17 +543,17 @@ def main():
先打开一个新标签页。你有两种方法打开开发者工具:一种是在浏览器菜单里点击“更多工具”, 点击“Web开发者工具”。
-
+
另一种打开方法是按键盘上的F12。
打开后,你就会看到开发者工具,选择“网络(Network)”页面。
-
+
接下来,在地址栏中输入我们服务器的地址`http://localhost:8989`、确认访问,就可以在这个页面下看到浏览器产生的请求。点击单个项目可以展开详细信息。
-
+
## GET和POST
diff --git a/source/_posts/http101/devtools-in-menu.png b/src/posts/http101/devtools-in-menu.png
similarity index 100%
rename from source/_posts/http101/devtools-in-menu.png
rename to src/posts/http101/devtools-in-menu.png
diff --git a/source/_posts/http101/devtools-inspect-request.png b/src/posts/http101/devtools-inspect-request.png
similarity index 100%
rename from source/_posts/http101/devtools-inspect-request.png
rename to src/posts/http101/devtools-inspect-request.png
diff --git a/source/_posts/http101/devtools.png b/src/posts/http101/devtools.png
similarity index 100%
rename from source/_posts/http101/devtools.png
rename to src/posts/http101/devtools.png
diff --git a/source/_posts/lepoem.md b/src/posts/lepoem.md
similarity index 100%
rename from source/_posts/lepoem.md
rename to src/posts/lepoem.md
diff --git a/source/_posts/makru-tutor-1.md b/src/posts/makru-tutor-1.md
similarity index 98%
rename from source/_posts/makru-tutor-1.md
rename to src/posts/makru-tutor-1.md
index d7f1fba..f7a84bd 100644
--- a/source/_posts/makru-tutor-1.md
+++ b/src/posts/makru-tutor-1.md
@@ -2,11 +2,10 @@
title: 使用Makru和makru_langc管理现代C项目编译:引入&目录
date: 2020-12-26 21:21:13
updated: 2021-1-5 10:35
+visibility: "hidden"
tags:
- Makru
- C
- - 系列文章
-categories: 代码农场
---
[Makru](https://gitlab.com/jinwa/makru)是一个用Python编写的全新编译工具。它的目的不是提供更多的编译逻辑,而是提供一个统一的平台方便开发和引入新的编译逻辑。Makru和目前主流的make-like编译系统最大的不同点再于:它没有使用类似宏语法之类的东西为配置文件提供超高的灵活性,而是直接选择了很多现代包管理工具正在使用的结构化数据配置文件(Makru使用的是yaml)。[makru_langc](https://gitlab.com/jinwa/makru_langc)就是在它之上构建的C语言项目编译插件。
diff --git a/source/_posts/makru-tutor-2.md b/src/posts/makru-tutor-2.md
similarity index 99%
rename from source/_posts/makru-tutor-2.md
rename to src/posts/makru-tutor-2.md
index 63f2f33..50b1690 100644
--- a/source/_posts/makru-tutor-2.md
+++ b/src/posts/makru-tutor-2.md
@@ -2,10 +2,10 @@
title: 使用Makru和makru_langc管理现代C项目编译: 配置Makru和makru_langc
date: 2021-01-04 18:49:20
updated: 2021-01-18 16:37:00
+visibility: "hidden"
tags:
- Makru
- C
-categories: 代码农场
---
在这一篇文章中,我会介绍makru_langc的安装。和普通的编译工具不同,makru_langc是作为Makru的一个插件安装的,而Makru的插件只能安装到项目上随项目源代码附带。这会带来一些不方便,但是能够保证每一个项目都能选择最适合的插件和插件版本而无需担心兼容成本。其实类似的方法在make和cmake的项目中也能经常看见,很多项目都会带有一些脚本或者预定义宏来帮助编译,只是Makru将它变成强制行为了。
diff --git a/source/_posts/measure-peer-reachability.md b/src/posts/measure-peer-reachability/index.mdx
similarity index 89%
rename from source/_posts/measure-peer-reachability.md
rename to src/posts/measure-peer-reachability/index.mdx
index ab22142..1e0c5ed 100644
--- a/source/_posts/measure-peer-reachability.md
+++ b/src/posts/measure-peer-reachability/index.mdx
@@ -1,22 +1,27 @@
---
title: 在Rope中测量"可达"
date: 2021-11-3 UTC+8
-tags: ['Kache Development', 'Kache', '网络']
+tags: ['Kache', '网络协议']
---
+import More from "~/components/More.astro"
-观测你的猫的生死可不是件易事。当太阳明晃晃地照在可爱的Mudy身上时,它身上蓬松的毛反射了光线。光线经过许多介质进入你的眼中。哪怕不研究我们的身体如何处理这些莫名奇妙的光线,光从皮毛到你眼前的过程也需要时间。只不过这个时间太短:当你(在真空中)距离Mudy 299792458米时,这个时间是1秒。换句话说,当你在南极时,你看到北极的Mudy至少是0.05秒前的Mudy;当你在中国时,你看到北美的Mudy至少是0.1秒前的Mudy。
+观测你的猫的生死可不是件易事。
-{% img /img/measure-peer-reachability/you-mudy-sun.png %}
+
+
+当太阳明晃晃地照在可爱的Mudy身上时,它身上蓬松的毛反射了光线。光线经过许多介质进入你的眼中。哪怕不研究我们的身体如何处理这些莫名奇妙的光线,光从皮毛到你眼前的过程也需要时间。只不过这个时间太短:当你(在真空中)距离Mudy 299792458米时,这个时间是1秒。换句话说,当你在南极时,你看到北极的Mudy至少是0.05秒前的Mudy;当你在中国时,你看到北美的Mudy至少是0.1秒前的Mudy。
+
+
Rope是为分布式应用框架Kache设计的抽象网络层。作为一个分布式应用框架,网络是最必要也是最麻烦的事情。在分布式网络里,知道一个Peer是否活着和能否连接上是重中之重。但是,在网络上观测一个Peer就如观测北极的Mudy或数千光年外的恒星一样麻烦。因为:1)你的朋友总是很麻烦,哪怕他们本意并不是想给你捣乱;2)你没办法不花时间就知道他们的情况,哪怕你和他们的延时只有1ms,你知道的也只是他们1ms前的情况,更别说我们不可能持续去监控他们的状况。
在描述一个Peer是否“可达”时,我们会变得混乱:我们事实上有无限多种方法“达”一个Peer。就像我们可以不用“看”就可以“听”到Mudy还活着。
-{% img /img/measure-peer-reachability/you-mudy-sound.png %}
+
尽管我们有很多方法跟一个Peer交换信息,但却不是所有方法在所有时刻都有效。所以在描述一个Peer是否“可达”时,我们还需要描述其中一个方法是否“可达”目的地。
-{% img /img/measure-peer-reachability/multiple-transports-to-peer.png %}
+
Rope使用PhysicalAddress和Peer分别描述路径和Peer的“可达”性。对于Peer而言,我们只需要知道它是否“活着”,即我们能否在网络上找到它。但对于PhysicalAddress而言,除了我们能否找到它,我们还需要知道我们是否能通过这条路径连接到Peer。
diff --git a/source/img/measure-peer-reachability/multiple-transports-to-peer.png b/src/posts/measure-peer-reachability/multiple-transports-to-peer.png
similarity index 100%
rename from source/img/measure-peer-reachability/multiple-transports-to-peer.png
rename to src/posts/measure-peer-reachability/multiple-transports-to-peer.png
diff --git a/source/img/measure-peer-reachability/you-mudy-sound.png b/src/posts/measure-peer-reachability/you-mudy-sound.png
similarity index 100%
rename from source/img/measure-peer-reachability/you-mudy-sound.png
rename to src/posts/measure-peer-reachability/you-mudy-sound.png
diff --git a/source/img/measure-peer-reachability/you-mudy-sun.png b/src/posts/measure-peer-reachability/you-mudy-sun.png
similarity index 100%
rename from source/img/measure-peer-reachability/you-mudy-sun.png
rename to src/posts/measure-peer-reachability/you-mudy-sun.png
diff --git a/src/posts/moved-to-astro-based/index.mdx b/src/posts/moved-to-astro-based/index.mdx
new file mode 100644
index 0000000..a5e1a90
--- /dev/null
+++ b/src/posts/moved-to-astro-based/index.mdx
@@ -0,0 +1,20 @@
+---
+title: "本站已移植到Astro!"
+visibility: "draft"
+tags:
+ - 博客软件更新
+---
+
+import More from "~/components/More.astro"
+
+号外号外,最新一期的《博客软件更新》!小透明博主Rubicon在20篇博文内给博客软件更新5次的传奇故事!
+
+
+
+- 移植hexo-theme-buck
+- 全新的热门标签算法
+- JSON Feed支持
+- 增强的Wikipedia引用
+ - 重新构想的API
+ - 自动更换语言
+- 若干修正
diff --git a/src/posts/mtproto/http2intro.svg b/src/posts/mtproto/http2intro.svg
new file mode 100644
index 0000000..14e6cb0
--- /dev/null
+++ b/src/posts/mtproto/http2intro.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/posts/mtproto/index.mdx b/src/posts/mtproto/index.mdx
new file mode 100644
index 0000000..138f4dc
--- /dev/null
+++ b/src/posts/mtproto/index.mdx
@@ -0,0 +1,66 @@
+---
+title: MTProto 2.0 简单解析
+visibility: "draft"
+tags:
+ - 网络
+---
+
+> 本文又名《Telegram凭什么那么快?》
+
+我大概2014、2015年的时候开始使用Telegram,而后有一段时间在老家生活。那时候乡村网络还没有现在发达,有些地方仍然只有2G上网。最高速度160Kbps的网络,QQ和微信都在艰难地喊着“连接中”“正在刷新”,Telegram已经可以让我正常地闲聊甚至收发图片了。这大概是我第一次感受到先进网络协议的好处。
+
+Telegram的技术栈一直都是IM中最让人津津乐道的一个。从2013年到2022年,最佳实践级别的技术架构一直保持着其承诺:
+
+
+import More from "~/components/More.astro";
+
+
+
+Telegram应用2013年发布,同时期Google Chromium开发团队也公开了Quick UDP Internet Connection(QUIC)。QUIC和MTProto虽然最终区别很大,但回过头看,会发现它们的设计殊途同归。这大概是因为它们都希望解决来自“移动互联网”的困扰。
+
+本文并不关注MTProto、QUIC的安全性,只试图让读者理解它们“这样设计以怎样的形式达成了目的”。
+
+## “移动互联网”的困扰
+
+HTTP/1.1来自1999年(RFC2616),它没有预见或解决现代互联网的一些情况。问题非常基本,甚至可以说简单:网页越来越大、请求越来越频繁。当年64Kbps时代根本不存在这些问题。自从Gmail带火AJAX之后,这种情况甚至从页面加载延伸到了浏览时。后来,连应用使用的API都用HTTP;现在,有些微服务甚至数据库的API都用HTTP。在移动互联网时代,事情变得更复杂:
+
+- 高延迟。我在网上找到了别人分享的一些数据,仅作参考:
+ - 4G端到端时延25ms以上、5G端到端时延3ms左右。(Kavi zhang, 2021)
+ - LTE理论时延上行12.5ms、下行7.5ms。(walking_visitor, 2020)
+- 重连更多。相比有线网络的使用场景,移动场景切换网络会更频繁,比如说手机从WiFi切换到蜂窝网络。
+
+理论时延12.5ms+7.5ms=20ms初看并不多。我们使用一个HTTP/1.1连接时,首先要完成TCP握手,TCP标准三次握手(即1-RTT)包含了三段时延,也就是说TCP握手的理论时延要`20ms * 3 = 60ms`。
+
+可是这还没完。为了保证数据安全和完整,我们要使用HTTP over TLS(HTTPS)。如果使用TLS 1.2标准完整握手,在一个HTTPS的场景中会导致`20ms * 2 + 20ms * 4 = 120ms`的创建延迟(这里TCP三次握手的第二次握手,Client收到Server的SYN—ACK之后,可以在下一个ACK后面立即发送TLS的ClientHello来开始TLS握手)。哪怕不需要谈判算法,最快也要`20ms * 2 + 20ms * 2 = 80ms`。
+
+这已经是难以接受的延迟了。如果考虑到客户端和服务器的传输延时和服务器的处理时间,第一次请求180ms是毫不过分的推测。因为类似的问题,HTTP/1.1早就支持连接复用。在那个时代,浏览器会尽可能保留多个连接,在不同请求之间复用,以求降低响应耗时。
+
+> 我仍然建议你给你的网站部署HTTPS。 这里的简单解释并非当下实际情况:过去几年我们在性能上进展颇丰,TLS 1.3也包含了许多提升性能和安全性的特性。https://istlsfastyet.com
+
+随着请求的增多,HTTP/1.1式的连接复用越来越不好用:客户端需要等待服务器响应当前请求之后才能继续下一个请求。客户端等待服务器响应期间,这个TCP连接就只能不被使用,这是一个空白期。空白期意味着还有优化空间。
+
+{/* */}
+
+Google在2009年发布了SPDY,这个协议后来成为了HTTP/2的基础。HTTP/2的最大改变有两个:一是针对HTTP/1.1的文本头引入了特别的二进制编码进行压缩,从[web.dev的Introduction to HTTP/2](https://web.dev/performance-http2/)借张图:
+
+对常用头应用二进制编码可以显著减小所需带宽:当你使用某些头和特定值时,浏览器可以使用其压缩格式。
+
+二是HTTP/2的传输部分是一个二进制基于帧的协议,支持多路复用。这意味着浏览器可以利用之前提到的空白期,因为现在同一个TCP连接上可以支持多路会话同时等待请求。
+
+Chromium团队在实验室里模拟了家庭网络环境,以当时主要25个网站实验SPDY,页面加载速度(PLT)提升了55%。([Chromium博客: A 2x Faster Web](https://blog.chromium.org/2009/11/2x-faster-web.html))
+
+2013年左右,Telegram(以及MTProto)和QUIC发布。
+
+## 降低握手延迟
+
+{/* */}
+
+## 封包形式的状态交换
+
+## 引用资源
+Kavi Zhang. (2021, 一月 6). 5G vs 4G 端到端时延. 知乎专栏. https://zhuanlan.zhihu.com/p/342322575
+walking_visitor. (2020, 一月 14). 4G LTE网络空口时延_walking_visitor的博客-CSDN博客_空口时延. https://blog.csdn.net/walking_visitor/article/details/103969042
+Roy T. Fielding, James Gettys, Jeffrey C. Mogul, Henrik Frystyk Nielsen, Larry Masinter Xerox, Paul J. Leach, & Tim Berners-Lee. (1999). Hypertext Transfer Protocol—HTTP/1.1. 取读于 2022年9月15日, 从 https://www.w3.org/Protocols/rfc2616/rfc2616.html
diff --git a/src/posts/mtproto/telegram-promise-fast.png b/src/posts/mtproto/telegram-promise-fast.png
new file mode 100644
index 0000000..4c7cb92
--- /dev/null
+++ b/src/posts/mtproto/telegram-promise-fast.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:23d0e1c53f6af207834d41ff5b0e66f895036594604afc4c30bbd71369674675
+size 87947
diff --git a/source/_posts/poem-2019.md b/src/posts/poem-2019.md
similarity index 100%
rename from source/_posts/poem-2019.md
rename to src/posts/poem-2019.md
diff --git a/source/_posts/poem-2020-2021.md b/src/posts/poem-2020-2021.md
similarity index 100%
rename from source/_posts/poem-2020-2021.md
rename to src/posts/poem-2020-2021.md
diff --git a/source/_posts/set-up-sudo-with-howdy-on-fedora-34-for-faical-authenticating.md b/src/posts/set-up-sudo-with-howdy-on-fedora-34-for-faical-authenticating/index.mdx
similarity index 92%
rename from source/_posts/set-up-sudo-with-howdy-on-fedora-34-for-faical-authenticating.md
rename to src/posts/set-up-sudo-with-howdy-on-fedora-34-for-faical-authenticating/index.mdx
index 21c3377..7054260 100644
--- a/source/_posts/set-up-sudo-with-howdy-on-fedora-34-for-faical-authenticating.md
+++ b/src/posts/set-up-sudo-with-howdy-on-fedora-34-for-faical-authenticating/index.mdx
@@ -2,9 +2,7 @@
title: 在Fedora 34上通过Howdy为sudo增加人脸识别认证
date: 2021-07-10 22:34:29
tags:
- - Linux记
- - 生命很短
- - logbook
+ - Linux
---
今天晚上折腾了一个小时,终于把 Howdy 折腾出来了,写篇博文作笔记以备查。
@@ -14,7 +12,9 @@ tags:
这篇博文主要内容是给 sudo 弄 Howdy:sudo 老是让人输密码着实令人烦躁,但是我又不想取消所有认证,正好 Howdy 的需求很低(只需要一个摄像头)。
-
+import More from "~/components/More.astro"
+
+
我机器上使用的发行版是 Fedora 34,64 位。
@@ -46,17 +46,18 @@ AttributeError: 'VideoCapture' object has no attribute 'internal'
运行 `sudo howdy config` 来打开配置,默认情况下会使用 GNU nano 作为编辑器。找到 `device_path = ` 这一行,我们要设置的就是这个值。但是怎么知道是哪个路径呢?我用的是VLC里面的"Open Capture Device...":将"Capture mode"设为"Video camera",在"Video device name"的下拉菜单里面的选项选择一个,点"Play"。一个一个地尝试不同的选项,哪个有画面就是哪个路径。在我的机器上,这个路径是 `/dev/video0` ,最后就是 `device_path = /dev/video0` 。
-{% img /img/set-up-sudo-with-howdy-on-fedora-34-for-faical-authenticating/vlc-open-capture-device.png "图片里的最后一个选项:Open Capture Device...,点击之后会打开一个窗口"%}
+
-配置好之后运行 `sudo howdy add`增 加面孔,这下能够顺利增加了!增加完面孔可以用 `sudo howdy test` 打开测试窗口进行测试。
+配置好之后运行 `sudo howdy add`增加面孔,这下能够顺利增加了!增加完面孔可以用 `sudo howdy test` 打开测试窗口进行测试。
## 配置PAM
PAM ,或者叫 Pluggable Authentication Module ,是一个中心化的身份验证服务。[这里有一篇对PAM的介绍](https://www.redhat.com/sysadmin/pluggable-authentication-modules-pam)。
-
参考 [Arch Wiki上的Howdy词条](https://wiki.archlinux.org/title/Howdy),要配置 sudo 的验证时行为,只需要修改 `/etc/pam.d/sudo` ,在原先的第二行前面再加一行:
+
````
auth sufficient pam_python.so /lib64/security/howdy/pam.py
````
+
这里用`/lib64`替换了 Arch Wiki 词条上的`/lib`,是因为提供给 Fedora 的这个包把这些文件安装到`/lib64`而不是`/lib`,这个地方各个发行版可能都有不同的规则。
PAM 的配置在修改后会自动应用。现在我们可以试试使用`sudo -i`看看有没有调用人脸识别:
diff --git a/source/img/set-up-sudo-with-howdy-on-fedora-34-for-faical-authenticating/vlc-open-capture-device.png b/src/posts/set-up-sudo-with-howdy-on-fedora-34-for-faical-authenticating/vlc-open-capture-device.png
similarity index 100%
rename from source/img/set-up-sudo-with-howdy-on-fedora-34-for-faical-authenticating/vlc-open-capture-device.png
rename to src/posts/set-up-sudo-with-howdy-on-fedora-34-for-faical-authenticating/vlc-open-capture-device.png
diff --git a/source/_posts/the-first-year-of-lightstands.md b/src/posts/the-first-year-of-lightstands.md
similarity index 100%
rename from source/_posts/the-first-year-of-lightstands.md
rename to src/posts/the-first-year-of-lightstands.md
diff --git a/source/_posts/threads-and-processes.md b/src/posts/threads-and-processes/index.mdx
similarity index 96%
rename from source/_posts/threads-and-processes.md
rename to src/posts/threads-and-processes/index.mdx
index 0a73b9e..5764368 100644
--- a/source/_posts/threads-and-processes.md
+++ b/src/posts/threads-and-processes/index.mdx
@@ -2,7 +2,8 @@
title: 进程、线程、协程
date: 2022-03-31 08:07:45
tags:
- - 高性能I/O
+ - 操作系统
+ - 性能优化
---
@@ -23,7 +24,9 @@ Stack 示意图
这是一个Thread(线程)。本文主要是为了说明人们是怎么把这么简单的东西玩出各种花样的,完完全全是一篇走马观花的介绍。本文会解释关于线程的一些概念,并展示一些新的有意思的东西。
-
+import More from "~/components/More.astro"
+
+
## 系统线程和用户空间线程
@@ -45,11 +48,13 @@ Thread0 -> [排程] -> Thread1
首先,创建系统线程的栈空间在实际使用前并不占用内存空间。这是因为Linux默认启用过度提交(Overcommit),在虚拟内存中申请的内存并不会在实际内存中预留。你可以创建上千个2MB栈的线程,但是每个线程实际只占用8KB。
-系统线程切换速度慢的问题并不在于我们通常认为的上下文切换,它虽然仍然消耗时间但没有我们想像的慢(在Google工程师的测试中切换来回只要<50ns)。消耗时间更多的是排程算法,排程算法是计算密集的工作,占用的时间比上下文切换多。
+系统线程切换速度慢的问题并不在于我们通常认为的上下文切换,它虽然仍然消耗时间但没有我们想像的慢(在Google工程师的测试中切换来回只要\<50ns)。消耗时间更多的是排程算法,排程算法是计算密集的工作,占用的时间比上下文切换多。
解决方法是使用计算简单甚至不需要计算的算法,这类算法经常是非公平算法。Google的工程师设计了一组叫做SwitchTo的系统调用,可以让应用告诉系统接下来切换到指定线程。这组系统调用将线程之间上下文切换的性能提升了三十倍。(尚未合并到上游)
-
+import YouTube from "~/components/YouTube.astro"
+
+
[User threads...with Threads slides 下载](./user_threading.pdf)
@@ -244,7 +249,9 @@ Thread2: [I/O请求] --------阻塞------------------
因为现在你的线程可以并行运行了,你还可以考虑更多地使用基于消息传递的并发模型,比如说Actor模型:
-{% wikipedia title:Actor_model wikiButton:true %}
+import Wikipedia from "~/components/Wikipedia.astro"
+
+
## 扩展阅读
- [Simple, Fast, and Practical Non-Blocking and Blocking Concurrent Queue Algorithms. Michael & Scott (1996)](https://www.cs.rochester.edu/~scott/papers/1996_PODC_queues.pdf)
diff --git a/source/_posts/threads-and-processes/user_threading.pdf b/src/posts/threads-and-processes/user_threading.pdf
similarity index 100%
rename from source/_posts/threads-and-processes/user_threading.pdf
rename to src/posts/threads-and-processes/user_threading.pdf
diff --git a/source/_posts/yearly-report-2021.md b/src/posts/yearly-report-2021.md
similarity index 99%
rename from source/_posts/yearly-report-2021.md
rename to src/posts/yearly-report-2021.md
index 119e15f..12d9c5a 100644
--- a/source/_posts/yearly-report-2021.md
+++ b/src/posts/yearly-report-2021.md
@@ -115,7 +115,7 @@ Rope在Wireguard之上运行Rope Protocol而不是Internet Protocol,RP是一
## 新项目:Mooncake
-
+
Go通过值类型和Escape Analysis显著降低了标记-清除系GC算法对高并发I/O的影响。Mooncake最初的主旨就是为Lisp引入值类型和Escape Analysis,降低GC对I/O的影响。个人认为CLOS这种在Lisp的括号里面实现起来太憋屈,所以我觉得Mooncake的类型系统类似Haskell和Rust会更好。
diff --git a/source/_posts/yearly-report-2021/mooncake_logo.png b/src/posts/yearly-report-2021/mooncake_logo.png
similarity index 100%
rename from source/_posts/yearly-report-2021/mooncake_logo.png
rename to src/posts/yearly-report-2021/mooncake_logo.png
diff --git a/src/support/rehype-buck-tables.ts b/src/support/rehype-buck-tables.ts
new file mode 100644
index 0000000..95d4a8c
--- /dev/null
+++ b/src/support/rehype-buck-tables.ts
@@ -0,0 +1,22 @@
+import type { Element, Root } from "hast";
+import { visit } from "unist-util-visit";
+
+export default function rehypeBuckTable() {
+ return function (tree: Root) {
+ visit(tree, "element", function (node, index, parent) {
+ if (node.tagName === "table") {
+ const newNode = {
+ type: "element",
+ tagName: "div",
+ properties: {
+ class: "table-responsive",
+ "data-buck-baked": "true",
+ },
+ children: [node],
+ } satisfies Element;
+
+ parent!.children[index!] = newNode;
+ }
+ });
+ };
+}
diff --git a/src/utils/dom.ts b/src/utils/dom.ts
new file mode 100644
index 0000000..fc57ee0
--- /dev/null
+++ b/src/utils/dom.ts
@@ -0,0 +1,12 @@
+export function wrapElementsInClass(
+ elements: Iterable,
+ classes: string[],
+) {
+ for (const e of elements) {
+ const wrapper = document.createElement("div");
+ wrapper.dataset.buckBaked = "false";
+ wrapper.classList.add(...classes);
+ e.replaceWith(wrapper);
+ wrapper.appendChild(e);
+ }
+}
diff --git a/src/utils/posts.ts b/src/utils/posts.ts
new file mode 100644
index 0000000..7fcf42a
--- /dev/null
+++ b/src/utils/posts.ts
@@ -0,0 +1,79 @@
+import type { CollectionEntry } from "astro:content";
+
+function toPadLeft(n: number) {
+ if (n < 10) {
+ return `0${n}`;
+ } else {
+ return n.toString();
+ }
+}
+
+export function getPostParam(post: CollectionEntry<"posts">) {
+ const meta = post.data;
+ return {
+ year: meta.date.getUTCFullYear(),
+ month: toPadLeft(meta.date.getUTCMonth() + 1),
+ date: toPadLeft(meta.date.getUTCDate() + 1),
+ postid: post.id,
+ };
+}
+
+export function postParamlink(post: CollectionEntry<"posts">) {
+ const meta = post.data;
+ return `/${meta.date.getUTCFullYear()}/${toPadLeft(meta.date.getUTCMonth() + 1)}/${toPadLeft(meta.date.getUTCDate() + 1)}/${post.id}/`;
+}
+
+export function getAllTags(posts: CollectionEntry<"posts">[]) {
+ const tags = new Set(posts.filter(shouldBeVisible).flatMap((post) => post.data.tags || []));
+
+ return tags.values().toArray().sort();
+}
+
+function p50Of(histogram: number[]) {
+ if (histogram.length === 0) {
+ return undefined;
+ } else if (histogram.length === 1) {
+ return histogram[0];
+ }
+ const idx = histogram.length / 2;
+ if (Math.trunc(idx) !== idx) {
+ const leftIdx = Math.trunc(idx);
+ const rightIdx = Math.ceil(idx);
+
+ return (histogram[leftIdx] + histogram[rightIdx]) / 2;
+ } else {
+ return histogram[idx];
+ }
+}
+
+export function getHotTags(posts: CollectionEntry<"posts">[], tags: string[]) {
+ const freqs = new Map(tags.map((x) => [x, 0]));
+
+ for (const post of posts) {
+ for (const tag of post.data.tags || []) {
+ const count = freqs.get(tag)!;
+ freqs.set(tag, count + 1);
+ }
+ }
+
+ const histogram = freqs.values().toArray().sort();
+ const p50 = p50Of(histogram);
+
+ if (p50 === undefined) {
+ return [];
+ }
+
+ const results = [] as string[];
+
+ for (const [tag, freq] of freqs.entries()) {
+ if (freq > p50) {
+ results.push(tag);
+ }
+ }
+
+ return results;
+}
+
+export function shouldBeVisible(post: CollectionEntry<"posts">) {
+ return !post.data.visibility || post.data.visibility === "visible"
+}
diff --git a/src/utils/table.ts b/src/utils/table.ts
new file mode 100644
index 0000000..f0b3690
--- /dev/null
+++ b/src/utils/table.ts
@@ -0,0 +1,51 @@
+import { createRenderEffect, onCleanup } from "solid-js";
+
+function findCorrespondingTableHeadOfCell(
+ target: HTMLTableCellElement,
+): HTMLTableCellElement | null {
+ const parentElement = target.parentElement as HTMLTableRowElement;
+ const collection = parentElement.cells;
+ for (let i = 0; i < collection.length; i++) {
+ if (collection.item(i) === target) {
+ const tbody = parentElement.parentElement!;
+ const table = tbody.parentElement!;
+ const allHeads = table.querySelectorAll("thead > tr > th");
+ return allHeads.item(i) as HTMLTableCellElement;
+ }
+ }
+ return null;
+}
+
+const TABLE_COLUMN_HOVER_CLASSNAME = "table-column-hover";
+
+export function renderAdvancedTablesOn(elements: Iterable) {
+ for (const e of elements) {
+ if (!(e instanceof HTMLTableElement)) {
+ console.warn(e, "is unable to be rendered as advanced table");
+ continue;
+ }
+
+ const onMouseEnter = (ev: MouseEvent) => {
+ const head = findCorrespondingTableHeadOfCell(
+ ev.target as HTMLTableCellElement,
+ )!;
+ if (!head.classList.contains(TABLE_COLUMN_HOVER_CLASSNAME)) {
+ head.classList.add(TABLE_COLUMN_HOVER_CLASSNAME);
+ }
+ };
+
+ const onMouseLeave = (ev: MouseEvent) => {
+ const head = findCorrespondingTableHeadOfCell(
+ ev.target as HTMLTableCellElement,
+ )!;
+ if (head.classList.contains(TABLE_COLUMN_HOVER_CLASSNAME)) {
+ head.classList.remove(TABLE_COLUMN_HOVER_CLASSNAME);
+ }
+ };
+
+ for (const td of e.querySelectorAll("td")) {
+ td.addEventListener("mouseenter", onMouseEnter);
+ td.addEventListener("mouseleave", onMouseLeave);
+ }
+ }
+}
diff --git a/src/utils/useCurrentDate.ts b/src/utils/useCurrentDate.ts
new file mode 100644
index 0000000..1427f56
--- /dev/null
+++ b/src/utils/useCurrentDate.ts
@@ -0,0 +1,67 @@
+import { differenceInMilliseconds } from "date-fns";
+import { createRenderEffect, createSignal, onCleanup, untrack } from "solid-js";
+import { isServer } from "solid-js/web";
+
+export enum DateRefreshPercision {
+ seconds = 0,
+ minutes = 1,
+ hours,
+ days,
+}
+
+function useCurrentDate(
+ percision:
+ | (() => DateRefreshPercision)
+ | DateRefreshPercision = DateRefreshPercision.minutes,
+) {
+ const [current, setCurrent] = createSignal(new Date());
+
+ const updateInterval = () => {
+ switch (typeof percision === "function" ? percision() : percision) {
+ case DateRefreshPercision.seconds:
+ return 1000;
+ case DateRefreshPercision.minutes:
+ return 15 * 1000;
+ case DateRefreshPercision.hours:
+ return 60 * 1000;
+ case DateRefreshPercision.days:
+ return 60 * 60 * 1000;
+ }
+ };
+
+ let id: undefined | number;
+
+ const update = () => setCurrent(new Date());
+
+ createRenderEffect(() => {
+ if (typeof id !== "undefined") {
+ window.clearInterval(id);
+ id = undefined;
+ }
+
+ const interval = updateInterval();
+
+ const now = new Date();
+ if (differenceInMilliseconds(now, untrack(current)) <= interval) {
+ update();
+ }
+
+ id = window.setInterval(update, interval);
+ });
+
+ onCleanup(() => {
+ if (typeof id !== "undefined") {
+ window.clearInterval(id);
+ id = undefined;
+ }
+ });
+
+ return current;
+}
+
+function useCurrentDateServer() {
+ const now = new Date();
+ return () => now;
+}
+
+export default isServer ? useCurrentDateServer : useCurrentDate;
diff --git a/src/utils/wikipedia.ts b/src/utils/wikipedia.ts
new file mode 100644
index 0000000..13ffd81
--- /dev/null
+++ b/src/utils/wikipedia.ts
@@ -0,0 +1,82 @@
+import { match } from "@formatjs/intl-localematcher";
+
+async function selectWikipediaInstance(
+ instance: string,
+ escapedTitle: string,
+ langs: readonly string[],
+ userAgent: string,
+) {
+ const url = `https://${instance}.wikipedia.org/w/rest.php/v1/page/${escapedTitle}/links/language`;
+
+ const response = await fetch(url, {
+ headers: {
+ "api-user-agent": userAgent,
+ },
+ });
+
+ if (!(response.ok && response.status === 200)) {
+ throw new TypeError("resource not found");
+ }
+
+ const languages = (await response.json()) as {
+ code: string;
+ key: string;
+ }[];
+
+ const code = match(
+ langs,
+ languages.map((x) => x.code),
+ instance,
+ );
+
+ return languages.find((x) => x.code === code)!;
+}
+
+export async function fetchWikipediaSummary(
+ instance: string,
+ title: string,
+ opts: {
+ langs?: readonly string[];
+ userAgent: string;
+ },
+) {
+ const escapedTitle = encodeURIComponent(title);
+
+ const { key, code } = opts.langs
+ ? await selectWikipediaInstance(
+ instance,
+ escapedTitle,
+ opts.langs,
+ opts.userAgent,
+ )
+ : {
+ key: title,
+ code: instance,
+ };
+
+ const baseUrl = `https://${code}.wikipedia.org`;
+
+ const summaryUrl = new URL(
+ `${baseUrl}/api/rest_v1/page/summary/${key}?redirect=false`,
+ );
+
+ const response = await fetch(summaryUrl, {
+ headers: {
+ accept:
+ 'application/json; charset=utf-8; profile="https://www.mediawiki.org/wiki/Specs/Summary/1.4.2"',
+ "api-user-agent": `Rubicon's Rubicon (on Server, https://rubicon.lightstands.xyz/external-resource-usage/)`,
+ },
+ });
+ const data = (await response.json()) as {
+ extract: string;
+ titles: { normalized: string };
+ lang: string;
+ content_urls: {
+ desktop: {
+ page: string;
+ };
+ };
+ };
+
+ return data;
+}
diff --git a/themes/.gitkeep b/themes/.gitkeep
deleted file mode 100644
index e69de29..0000000
diff --git a/themes/cmd/.editorconfig b/themes/cmd/.editorconfig
deleted file mode 100644
index beffa30..0000000
--- a/themes/cmd/.editorconfig
+++ /dev/null
@@ -1,11 +0,0 @@
-root = true
-
-[*]
-indent_style = space
-indent_size = 2
-charset = utf-8
-trim_trailing_whitespace = true
-insert_final_newline = true
-
-[*.md]
-trim_trailing_whitespace = false
diff --git a/themes/cmd/_config.yml b/themes/cmd/_config.yml
deleted file mode 100644
index c2e4842..0000000
--- a/themes/cmd/_config.yml
+++ /dev/null
@@ -1,33 +0,0 @@
-
-# main menu navigation
-menu:
- Home: /
- About: /about
- Contact: /contact
- Archives: /archives
-
-# stylesheets loaded in the
-stylesheets:
-- /css/cmd.css
-- /css/materialdesignicons.min.css
-- /css/entry.css
-- /css/xcode.css
-
-# scripts loaded in the end of the body
-scripts:
-- /js/cmd.js
-- /materialize/js/materialize.js
-
-copyright_addtional: "Most original contents are public under CC BY-NC-ND 4.0 or GNU Affero General Public License version 3."
-
-copyright_year_string: "2020-2021"
-
-theme_self_claim: true
-
-about_this_blog: This blog is created with Classical Material Desgin, which try to keep the original taste of Material Design for hexo.
-
-my_mastodon: https://mastodon.example.com/@example
-
-footer_links:
- Link 1: "https://example.org"
- Link 2: "https://example.com"
diff --git a/themes/cmd/layout/archive.njk b/themes/cmd/layout/archive.njk
deleted file mode 100644
index 6500cce..0000000
--- a/themes/cmd/layout/archive.njk
+++ /dev/null
@@ -1,73 +0,0 @@
-{% extends 'includes/layout.njk' %}
-
-{% block body %}
- {% set categoriesList = list_categories({ show_count: false }) %}
- {% set tagsList = list_tags({ show_count: false }) %}
- {% set archivesList = list_archives({ show_count: false }) %}
-
- {% if not is_year() %}
-
-
Archives
- {% if theme.atom %}
-
- The feed is available via
- atom .
-
-
- {% endif %}
-
- {% if config.atom %}
-
- The feed is available via
- atom .
-
-
- {% endif %}
-
-
- Categories
- {% if categoriesList %}
- {{ categoriesList | safe}}
- {% else %}
- None.
- {% endif %}
-
-
-
-
- Tags
- {% if tagsList %}
- {{ tagsList | safe }}
- {% else %}
- None.
- {% endif %}
-
-
-
-
- Archives
- {% if archivesList %}
- {{ archivesList | safe }}
- {% else %}
- None.
- {% endif %}
-
-
- {% else %}
- {{ page.month + '/' + page.year }}
- {% for postItem in page.posts.toArray() %}
-
- {% endfor %}
-
- {{ paginator() }}
-
- {% endif %}
-
-{% endblock %}
diff --git a/themes/cmd/layout/category.njk b/themes/cmd/layout/category.njk
deleted file mode 100644
index 010c1a2..0000000
--- a/themes/cmd/layout/category.njk
+++ /dev/null
@@ -1,13 +0,0 @@
-{% extends 'includes/layout.njk' %}
-
-{% import "includes/paginator.njk" as P with context%}
-{% import "includes/postlist.njk" as PostList with context %}
-
-{% block body %}
- Category::{{page.category}}
- {{ PostList.PostList(page.posts.toArray()) }}
-
-
- {{ P.Paginiation() }}
-
-{% endblock %}
diff --git a/themes/cmd/layout/includes/cards.njk b/themes/cmd/layout/includes/cards.njk
deleted file mode 100644
index de3913d..0000000
--- a/themes/cmd/layout/includes/cards.njk
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-{% macro Me(name, email, description) %}
-
-
-
-
-
-
- {% if name %}
-
-
{{ name }}
-
- {% endif %}
-
-
- {% if description %}
- {{ description }}{% else %}Nothing to say.{% endif %}
-
-
-
-
-
-{% endmacro %}
diff --git a/themes/cmd/layout/includes/layout.njk b/themes/cmd/layout/includes/layout.njk
deleted file mode 100644
index 9fe5e8a..0000000
--- a/themes/cmd/layout/includes/layout.njk
+++ /dev/null
@@ -1,118 +0,0 @@
-{% set pageTitle = page.title or config.subtitle or '' %}
-
-{% if is_archive() %}
- {% set pageTitle = 'Archives' %}
-{% elif is_tag() %}
- {% set pageTitle = 'Tag: ' + page.tag %}
-{% elif is_category() %}
- {% set pageTitle = 'Category: ' + page.category %}
-{% endif %}
-
-{% if is_month() %}
- {% set pageTitle = pageTitle + ': ' + page.month + '/' + page.year %}
-{% elif is_year() %}
- {% set pageTitle = pageTitle + ': ' + page.year %}
-{% endif %}
-
-{% if pageTitle == '' %}
- {% set pageTitle = config.title %}
-{% endif %}
-
-{% set theme_data = site.data.theme %}
-
-
-
-
-
- {{ pageTitle }}
-
- {% if theme.stylesheets !== undefined and theme.stylesheets.length > 0 %}
- {# stylesheet list from _config.yml #}
- {% for url in theme.stylesheets %}
-
-
- {% endfor %}
- {% endif %}
-
- {% block add_head %}{% endblock %}
-
-
-
-
- {% for key, path in theme_data.menu %}
-
- {{ key }}
-
- {% endfor %}
-
-
-
-
-
-
-
- {% for key, path in site.data.theme.menu %}
-
- {{ key }}
-
- {% endfor %}
-
-
-
-
-
- {% block body %}{% endblock %}
-
-
-
- {% if theme.scripts !== undefined and theme.scripts.length > 0 %}
- {# scripts list from config.yml #}
- {% for url in theme.scripts %}
-
- {% endfor %}
- {% endif %}
- {% block add_scripts %}{% endblock %}
-
-
diff --git a/themes/cmd/layout/includes/paginator.njk b/themes/cmd/layout/includes/paginator.njk
deleted file mode 100644
index 10c39e2..0000000
--- a/themes/cmd/layout/includes/paginator.njk
+++ /dev/null
@@ -1,23 +0,0 @@
-{% macro Paginiation() %}
-
-{% endmacro %}
diff --git a/themes/cmd/layout/includes/postlist.njk b/themes/cmd/layout/includes/postlist.njk
deleted file mode 100644
index 5eb27d8..0000000
--- a/themes/cmd/layout/includes/postlist.njk
+++ /dev/null
@@ -1,43 +0,0 @@
-
-{%from 'includes/tags.njk' import PostTags with context%}
-
-{% macro PostList(posts) %}
-
- {% for post in posts %}
-
-
- {% if post.photos and post.photos.length > 0 %}
-
-
-
-
{{ post.title }}
-
-
- {% if (post.tags.length > 0) or post.excerpt != "" %}
-
- {{ PostTags(post) }}
- {% if post.excerpt != "" %}
-
{{ post.excerpt }}
- {% endif %}
-
- {% endif %}
- {% else %}
-
- {% endif %}
-
-
- {% endfor %}
-
-{% endmacro %}
diff --git a/themes/cmd/layout/includes/recent-posts.njk b/themes/cmd/layout/includes/recent-posts.njk
deleted file mode 100644
index a7d0fe9..0000000
--- a/themes/cmd/layout/includes/recent-posts.njk
+++ /dev/null
@@ -1,14 +0,0 @@
-
-{% if page.posts.length > 0 %}
-
-
All Posts
- {% for postItem in page.posts.toArray() %}
-
-
{{ postItem.title }}
-
- {{ date(postItem.date) }}
-
-
- {% endfor %}
-
-{% endif %}
diff --git a/themes/cmd/layout/includes/tags.njk b/themes/cmd/layout/includes/tags.njk
deleted file mode 100644
index 52f85c2..0000000
--- a/themes/cmd/layout/includes/tags.njk
+++ /dev/null
@@ -1,9 +0,0 @@
-{% macro PostTags(post) %}
-
-{% endmacro %}
diff --git a/themes/cmd/layout/index.njk b/themes/cmd/layout/index.njk
deleted file mode 100644
index 2c12853..0000000
--- a/themes/cmd/layout/index.njk
+++ /dev/null
@@ -1,50 +0,0 @@
-{% extends 'includes/layout.njk' %}
-{% from "includes/postlist.njk" import PostList with context %}
-{% import "includes/cards.njk" as cards with context %}
-
-{% macro HomePaginiation() %}
-
-{% endmacro %}
-
-{% macro TagPanel(tags) %}
-
-{% endmacro %}
-
-{% block body %}
-
-
- {% if page.current == 1 %}
- {{ cards.Me(config.author, config.email, config.description) }}
- {% endif %}
- {% if page.posts.length > 0 %}
- {{ PostList(page.posts.toArray()) }}
- {% else %}
-
No Posts Here...
- {% endif %}
-
- {{ HomePaginiation() }}
-
-
-
- {{ TagPanel(site.tags.data) }}
-
-
-{% endblock %}
-{% block add_head %}
-
-{% endblock %}
diff --git a/themes/cmd/layout/page.njk b/themes/cmd/layout/page.njk
deleted file mode 100644
index 23d502f..0000000
--- a/themes/cmd/layout/page.njk
+++ /dev/null
@@ -1,40 +0,0 @@
-{% extends 'includes/layout.njk' %}
-
-{% from 'includes/tags.njk' import PostTags with context%}
-
-{% macro Gallery(photos) %}
-
-
- {% set i = 0 %}
- {% for p in photos %}
- {% set i = i + 1 %}
-
- {% endfor %}
-
-
-{% endmacro %}
-
-{% block body %}
-
-
-
-
{{ page.title }}
-
-
{{config.author}}
-
{{date(page.date, 'YYYY/M/D')}}
-
- {{ PostTags(page) }}
- {% if page.photos && page.photos.length > 0%}
- {{Gallery(page.photos)}}
- {% endif %}
-
- {% autoescape false %}{{ page.content }}{% endautoescape %}
-
-
-
-
-
-
- {{ paginator() }}
-
-{% endblock %}
diff --git a/themes/cmd/layout/post.njk b/themes/cmd/layout/post.njk
deleted file mode 100644
index d649c14..0000000
--- a/themes/cmd/layout/post.njk
+++ /dev/null
@@ -1,40 +0,0 @@
-{% extends 'includes/layout.njk' %}
-
-{% from 'includes/tags.njk' import PostTags with context%}
-
-{% macro Gallery(photos) %}
-
-
- {% set i = 0 %}
- {% for p in photos %}
- {% set i = i + 1 %}
-
- {% endfor %}
-
-
-{% endmacro %}
-
-{% block body %}
-
-
-
-
{{ page.title }}
-
-
{{config.author}}
-
{{date(page.date, 'YYYY/M/D')}}
-
- {{ PostTags(page) }}
- {% if page.photos and page.photos.length > 0 %}
- {{Gallery(page.photos)}}
- {% endif %}
-
- {{ page.content | safe }}
-
-
-
-
-
-
- {{ paginator() }}
-
-{% endblock %}
diff --git a/themes/cmd/layout/tag.njk b/themes/cmd/layout/tag.njk
deleted file mode 100644
index 70f58ef..0000000
--- a/themes/cmd/layout/tag.njk
+++ /dev/null
@@ -1,21 +0,0 @@
-{% extends 'includes/layout.njk' %}
-
-{% import "includes/paginator.njk" as P with context%}
-{% import "includes/postlist.njk" as PostList with context%}
-
-{% set theme_data = site.data.theme %}
-
-{% block body %}
- ::{{page.tag}}
- {{ PostList.PostList(page.posts.toArray()) }}
-
-
- {{ P.Paginiation() }}
-
-{% endblock %}
-
-{%block add_head%}
-{% if theme_data.topic_rss.tag %}
-
-{%endif%}
-{%endblock%}
diff --git a/themes/cmd/source/css/cmd.styl b/themes/cmd/source/css/cmd.styl
deleted file mode 100644
index 6067e53..0000000
--- a/themes/cmd/source/css/cmd.styl
+++ /dev/null
@@ -1,41 +0,0 @@
-
-body
- display: flex
- min-height: 100vh
- flex-direction: column
-
-main
- flex: 1 0 auto
-
-.collection-item .no-padding
- padding: 0
-
-.card-small-margin
- margin: 0.1rem 0 0 0 !important
-
-@media (max-width: 450px)
- .xscontainer
- width: 100% !important
-
-@media (min-width: 992px)
- .card .card-content
- padding: 12px
-
-.collapsible .small-padding
- padding: 1rem !important
- padding-bottom: 0 !important
-
-@media (max-width: 600px)
- .collapsible .small-padding
- padding: 4px !important
- padding-bottom: 0 !important
-
-.entry ul li
- list-style-type: square !important
-
-/* Override code block */
-figure.highlight > table > tbody > tr > td
- padding: 0
-
-figure.highlight table tbody tr:last-child td
- padding-bottom: 0
diff --git a/themes/cmd/source/css/entry.styl b/themes/cmd/source/css/entry.styl
deleted file mode 100644
index 11f41b7..0000000
--- a/themes/cmd/source/css/entry.styl
+++ /dev/null
@@ -1,579 +0,0 @@
-body {
- padding: 0;
- margin: 0
-}
-
-.entry {
- margin-top: 0;
- margin-bottom: 0;
- margin-left: 0;
- margin-left: auto;
- margin-right: auto;
- max-width: 640px;
- padding: 0;
- line-height: 2;
- color: #424b50;
- word-wrap: break-word;
- font-size: 16px;
- font-family: "Helvetica Neue", Arial, "Hiragino Sans GB", "Hiragino Sans GB W3", "Microsoft YaHei", "Wenquanyi Micro Hei", sans-serif;
- -webkit-font-smoothing: antialiased;
- -webkit-text-size-adjust: 100%;
- -ms-text-size-adjust: 100%;
- counter-reset: entry825h2 entry825h3 entry825h4 entry825h5 entry825h6
-}
-
-.entry div,
-.entry p,
-.entry blockquote,
-.entry pre,
-.entry ul,
-.entry ol,
-.entry table,
-.entry figure,
-.entry section,
-.entry article,
-.entry header,
-.entry footer {
- margin: 0;
- padding: 0;
- margin-top: 16px;
- margin-bottom: 16px
-}
-
-.entry div:first-child,
-.entry p:first-child,
-.entry blockquote:first-child,
-.entry pre:first-child,
-.entry ul:first-child,
-.entry ol:first-child,
-.entry table:first-child,
-.entry figure:first-child,
-.entry section:first-child,
-.entry article:first-child,
-.entry header:first-child,
-.entry footer:first-child {
- margin-top: 0
-}
-
-.entry div:last-child,
-.entry p:last-child,
-.entry blockquote:last-child,
-.entry pre:last-child,
-.entry ul:last-child,
-.entry ol:last-child,
-.entry table:last-child,
-.entry figure:last-child,
-.entry section:last-child,
-.entry article:last-child,
-.entry header:last-child,
-.entry footer:last-child {
- margin-bottom: 0
-}
-
-.entry ul div,
-.entry ol div,
-.entry ul p,
-.entry ol p,
-.entry ul blockquote,
-.entry ol blockquote,
-.entry ul pre,
-.entry ol pre,
-.entry ul ul,
-.entry ol ul,
-.entry ul ol,
-.entry ol ol,
-.entry ul table,
-.entry ol table,
-.entry ul figure,
-.entry ol figure,
-.entry ul iframe,
-.entry ol iframe,
-.entry ul section,
-.entry ol section,
-.entry ul article,
-.entry ol article,
-.entry ul header,
-.entry ol header,
-.entry ul footer,
-.entry ol footer {
- margin-top: 0;
- margin-bottom: 0
-}
-
-.entry>iframe {
- display: block;
- margin-top: 16px;
- margin-bottom: 16px
-}
-
-.entry>img,
-.entry>video {
- margin-top: 16px;
- margin-bottom: 16px;
- display: block;
-}
-
-.entry h1,
-.entry h2,
-.entry h3,
-.entry h4,
-.entry h5,
-.entry h6 {
- margin-top: 0;
- margin-bottom: 0;
- padding: 0
-}
-
-.entry h1:first-child,
-.entry h2:first-child,
-.entry h3:first-child,
-.entry h4:first-child,
-.entry h5:first-child,
-.entry h6:first-child {
- margin-top: 0
-}
-
-.entry>h3,
-.entry>h4,
-.entry>h5,
-.entry>h6 {
- margin-top: 32px
-}
-
-.entry>h1,
-.entry>h2 {
- margin-top: 64px
-}
-
-.entry h1+*,
-.entry h2+*,
-.entry h3+*,
-.entry h4+*,
-.entry h5+*,
-.entry h6+* {
- margin-top: 0
-}
-
-.entry h1,
-.entry h2,
-.entry h3,
-.entry h4,
-.entry h5,
-.entry h6 {
- font-weight: inherit;
- color: #424b50;
- background-color: transparent
-}
-
-.entry h1 a,
-.entry h2 a,
-.entry h3 a,
-.entry h4 a,
-.entry h5 a,
-.entry h6 a {
- color: #424b50
-}
-
-.entry h1 a,
-.entry h2 a,
-.entry h3 a,
-.entry h4 a,
-.entry h5 a,
-.entry h6 a,
-.entry h1 em,
-.entry h2 em,
-.entry h3 em,
-.entry h4 em,
-.entry h5 em,
-.entry h6 em,
-.entry h1 u,
-.entry h2 u,
-.entry h3 u,
-.entry h4 u,
-.entry h5 u,
-.entry h6 u,
-.entry h1 abbr[title],
-.entry h2 abbr[title],
-.entry h3 abbr[title],
-.entry h4 abbr[title],
-.entry h5 abbr[title],
-.entry h6 abbr[title] {
- border-bottom-color: #424b50
-}
-
-.entry h1 {
- font-size: 28px;
- line-height: 48px;
- text-align: center
-}
-
-.entry h2 {
- font-size: 21px;
- line-height: 32px;
- text-align: left
-}
-
-.entry h3 {
- font-size: 18px;
- line-height: 32px;
- text-align: left
-}
-
-.entry h4,
-.entry h5,
-.entry h6 {
- line-height: 32px;
- font-size: 16px;
- text-align: left
-}
-
-.entry blockquote {
- position: relative;
- padding: 0 0 0 11px;
- margin: 16px 0;
- font-family: Georgia, 'Times New Roman', STKaiti, BiauKai, KaiTi, 'DFKai-SB', 'KaiTi_GB2312', serif;
- border-left: 5px solid #c3cace
-}
-
-.entry li blockquote {
- margin-left: -21px
-}
-
-.entry pre {
- padding: 15px 16px;
- line-height: 16px;
- font-size: 14px;
- white-space: pre;
- word-wrap: normal;
- overflow: auto;
- font-family: consolas, monaco, monospace;
- border: 1px solid #e1e1e8;
- border-right: none;
- border-left: none;
- background-color: #f7f7f9
-}
-
-.entry ul,
-.entry ol {
- padding-left: 32px
-}
-
-.entry ul li,
-.entry ol li {
- margin: 0;
- padding: 0;
- list-style-position: outside
-}
-
-.entry ul li {
- list-style-type: square
-}
-
-.entry ul li ul li {
- list-style-type: disc
-}
-
-.entry ul li ul li ul li {
- list-style-type: circle
-}
-
-.entry ol li {
- list-style-type: decimal
-}
-
-.entry ol li ol li {
- list-style-type: upper-roman
-}
-
-.entry ol li ol li ol li {
- list-style-type: lower-roman
-}
-
-.entry li>ul,
-.entry li>ol {
- padding-left: 32px
-}
-
-.entry hr {
- position: relative;
- padding-top: 32px;
- margin-top: -2px;
- margin-bottom: 64px;
- height: 0;
- background: none;
- border: none;
- border-bottom: 2px dashed #888
-}
-
-.entry hr:before,
-.entry hr:after {
- content: '';
- position: absolute;
- bottom: -2px;
- width: 30%;
- height: 2px;
- pointer-events: none
-}
-
-.entry hr:before {
- left: 0;
- background-image: -webkit-linear-gradient(right, rgba(255, 255, 255, 0) 0, white 80%, white 100%);
- background-image: -moz-linear-gradient(right, rgba(255, 255, 255, 0) 0, white 80%, white 100%);
- background-image: -ms-linear-gradient(right, rgba(255, 255, 255, 0) 0, white 80%, white 100%);
- background-image: -o-linear-gradient(right, rgba(255, 255, 255, 0) 0, white 80%, white 100%);
- background-image: linear-gradient(right, rgba(255, 255, 255, 0) 0, white 80%, white 100%)
-}
-
-.entry hr:after {
- right: 0;
- background-image: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0, white 80%, white 100%);
- background-image: -moz-linear-gradient(left, rgba(255, 255, 255, 0) 0, white 80%, white 100%);
- background-image: -ms-linear-gradient(left, rgba(255, 255, 255, 0) 0, white 80%, white 100%);
- background-image: -o-linear-gradient(left, rgba(255, 255, 255, 0) 0, white 80%, white 100%);
- background-image: linear-gradient(left, rgba(255, 255, 255, 0) 0, white 80%, white 100%)
-}
-
-.entry table {
- display: table;
- padding: 0;
- margin-left: auto;
- margin-right: auto;
- min-width: 336px;
- border-collapse: collapse;
- border-spacing: 0;
- -webkit-border-radius: .5em;
- -moz-border-radius: .5em;
- -ms-border-radius: .5em;
- -o-border-radius: .5em;
- border-radius: .5em
-}
-
-.entry table caption {
- padding: 0
-}
-
-.entry table thead th {
- text-align: left
-}
-
-.entry table tbody {
- margin: 0 16px
-}
-
-.entry table tbody tr:nth-child(odd) td,
-.entry table tbody tr:nth-child(odd) th {
- background-color: #f9f9f9
-}
-
-.entry table tbody tr:last-child td,
-.entry table tbody tr:last-child th {
- padding-bottom: 6px
-}
-
-.entry table td,
-.entry table th {
- padding: 8px 16px 7px;
- border: 1px solid #ddd
-}
-
-.entry iframe {
- vertical-align: text-bottom
-}
-
-.entry a {
- padding-bottom: .025em;
- color: #069;
- text-decoration: none;
- border-bottom-color: #08c
-}
-
-.entry a:focus {
- outline: thin dotted
-}
-
-.entry a:visited {
- color: #551a8b;
- border-bottom-color: #551a8b
-}
-
-.entry a:hover {
- border-bottom-width: 1px;
- border-bottom-style: solid
-}
-
-.entry a:hover,
-.entry a:active {
- outline: 0
-}
-
-.entry b,
-.entry strong {
- font-weight: bold
-}
-
-.entry u {
- padding-bottom: .05em;
- font-style: inherit;
- font-weight: inherit;
- text-decoration: inherit;
- border-bottom: 1px solid #8b98a0
-}
-
-.entry u+u {
- margin-left: .125em
-}
-
-.entry em {
- font-style: inherit;
- font-weight: inherit;
- text-decoration: inherit;
- -webkit-text-emphasis: filled circle;
- -moz-text-emphasis: filled circle;
- -ms-text-emphasis: filled circle;
- text-emphasis: filled circle;
- -webkit-text-emphasis-position: under;
- -moz-text-emphasis-position: under;
- -ms-text-emphasis-position: under;
- text-emphasis-position: under
-}
-
-.entry code {
- font-family: monospace;
- font-size: inherit;
- color: #424b50;
- background-color: transparent
-}
-
-.entry pre code {
- padding: 0;
- margin: 0;
- font-family: consolas, monaco, monospace;
- font-size: 14px;
- color: #424b50;
- background: none;
- border: none
-}
-
-.entry img,
-.entry video {
- max-width: 100%;
- border: 0
-}
-
-.entry figure img {
- display: block;
- margin: 0 auto
-}
-
-.entry figure figcaption {
- display: block;
- text-align: center;
- font-style: italic
-}
-
-.entry cite {
- font-style: inherit
-}
-
-.entry cite:before,
-.entry cite:after {
- content: "\300a";
- line-height: inherit
-}
-
-.entry cite:after {
- content: "\300b"
-}
-
-.entry abbr[title] {
- padding-bottom: .05em;
- cursor: help;
- border-bottom: 1px dotted #424b50
-}
-
-.entry dfn {
- font-style: italic
-}
-
-.entry mark {
- background: yellow;
- color: #424b50
-}
-
-.entry q {
- quotes: "\201C""\201D""\2018""\2019"
-}
-
-.entry small {
- font-size: 80%
-}
-
-.entry sub,
-.entry sup {
- font-size: 75%;
- line-height: 0;
- position: relative;
- vertical-align: baseline
-}
-
-.entry sup {
- top: -0.5em
-}
-
-.entry sub {
- bottom: -0.25em
-}
-
-.entry #disqus_thread {
- margin-top: 32px
-}
-
-.entry h2:before,
-.entry h3:before,
-.entry h4:before,
-.entry h5:before,
-.entry h6:before {
- color: inherit
-}
-
-.entry h2 {
- counter-reset: entry825h3 entry825h4 entry825h5 entry825h6
-}
-
-.entry h2:before {
- content: counter(entry825h2) '\3000';
- content: counter(entry825h2, cjk-ideographic) '\3001';
- counter-increment: entry825h2
-}
-
-.entry h3 {
- counter-reset: entry825h4 entry825h5 entry825h6
-}
-
-.entry h3:before {
- content: counter(entry825h2) '.'counter(entry825h3) '\3000';
- counter-increment: entry825h3
-}
-
-.entry h4 {
- counter-reset: entry825h5 entry825h6
-}
-
-.entry h4:before {
- content: counter(entry825h2) '.'counter(entry825h3) '.'counter(entry825h4) '\3000';
- counter-increment: entry825h4
-}
-
-.entry h5 {
- counter-reset: entry825h6
-}
-
-.entry h5:before {
- content: counter(entry825h2) '.'counter(entry825h3) '.'counter(entry825h4) '.'counter(entry825h5) '\3000';
- counter-increment: entry825h5
-}
-
-.entry h6:before {
- content: counter(entry825h2) '.'counter(entry825h3) '.'counter(entry825h4) '.'counter(entry825h5) '.'counter(entry825h6) '\3000';
- counter-increment: entry825h6
-}
diff --git a/themes/cmd/source/css/index.styl b/themes/cmd/source/css/index.styl
deleted file mode 100644
index f9850b2..0000000
--- a/themes/cmd/source/css/index.styl
+++ /dev/null
@@ -1,2 +0,0 @@
-.post-item img
- max-height: 300px
diff --git a/themes/cmd/source/css/materialdesignicons.min.css b/themes/cmd/source/css/materialdesignicons.min.css
deleted file mode 100644
index aa1b100..0000000
--- a/themes/cmd/source/css/materialdesignicons.min.css
+++ /dev/null
@@ -1,3 +0,0 @@
-@font-face{font-family:"Material Design Icons";src:url("/fonts/materialdesignicons-webfont.eot?v=5.8.55");src:url("/fonts/materialdesignicons-webfont.eot?#iefix&v=5.8.55") format("embedded-opentype"),url("/fonts/materialdesignicons-webfont.woff2?v=5.8.55") format("woff2"),url("/fonts/materialdesignicons-webfont.woff?v=5.8.55") format("woff"),url("/fonts/materialdesignicons-webfont.ttf?v=5.8.55") format("truetype");font-weight:normal;font-style:normal; font-display: swap; }.mdi:before,.mdi-set{display:inline-block;font:normal normal normal 24px/1 "Material Design Icons";font-size:inherit;text-rendering:auto;line-height:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.mdi-ab-testing::before{content:"\F01C9"}.mdi-abjad-arabic::before{content:"\F1328"}.mdi-abjad-hebrew::before{content:"\F1329"}.mdi-abugida-devanagari::before{content:"\F132A"}.mdi-abugida-thai::before{content:"\F132B"}.mdi-access-point::before{content:"\F0003"}.mdi-access-point-check::before{content:"\F1538"}.mdi-access-point-minus::before{content:"\F1539"}.mdi-access-point-network::before{content:"\F0002"}.mdi-access-point-network-off::before{content:"\F0BE1"}.mdi-access-point-off::before{content:"\F1511"}.mdi-access-point-plus::before{content:"\F153A"}.mdi-access-point-remove::before{content:"\F153B"}.mdi-account::before{content:"\F0004"}.mdi-account-alert::before{content:"\F0005"}.mdi-account-alert-outline::before{content:"\F0B50"}.mdi-account-arrow-left::before{content:"\F0B51"}.mdi-account-arrow-left-outline::before{content:"\F0B52"}.mdi-account-arrow-right::before{content:"\F0B53"}.mdi-account-arrow-right-outline::before{content:"\F0B54"}.mdi-account-box::before{content:"\F0006"}.mdi-account-box-multiple::before{content:"\F0934"}.mdi-account-box-multiple-outline::before{content:"\F100A"}.mdi-account-box-outline::before{content:"\F0007"}.mdi-account-cancel::before{content:"\F12DF"}.mdi-account-cancel-outline::before{content:"\F12E0"}.mdi-account-cash::before{content:"\F1097"}.mdi-account-cash-outline::before{content:"\F1098"}.mdi-account-check::before{content:"\F0008"}.mdi-account-check-outline::before{content:"\F0BE2"}.mdi-account-child::before{content:"\F0A89"}.mdi-account-child-circle::before{content:"\F0A8A"}.mdi-account-child-outline::before{content:"\F10C8"}.mdi-account-circle::before{content:"\F0009"}.mdi-account-circle-outline::before{content:"\F0B55"}.mdi-account-clock::before{content:"\F0B56"}.mdi-account-clock-outline::before{content:"\F0B57"}.mdi-account-cog::before{content:"\F1370"}.mdi-account-cog-outline::before{content:"\F1371"}.mdi-account-convert::before{content:"\F000A"}.mdi-account-convert-outline::before{content:"\F1301"}.mdi-account-cowboy-hat::before{content:"\F0E9B"}.mdi-account-details::before{content:"\F0631"}.mdi-account-details-outline::before{content:"\F1372"}.mdi-account-edit::before{content:"\F06BC"}.mdi-account-edit-outline::before{content:"\F0FFB"}.mdi-account-group::before{content:"\F0849"}.mdi-account-group-outline::before{content:"\F0B58"}.mdi-account-hard-hat::before{content:"\F05B5"}.mdi-account-heart::before{content:"\F0899"}.mdi-account-heart-outline::before{content:"\F0BE3"}.mdi-account-key::before{content:"\F000B"}.mdi-account-key-outline::before{content:"\F0BE4"}.mdi-account-lock::before{content:"\F115E"}.mdi-account-lock-outline::before{content:"\F115F"}.mdi-account-minus::before{content:"\F000D"}.mdi-account-minus-outline::before{content:"\F0AEC"}.mdi-account-multiple::before{content:"\F000E"}.mdi-account-multiple-check::before{content:"\F08C5"}.mdi-account-multiple-check-outline::before{content:"\F11FE"}.mdi-account-multiple-minus::before{content:"\F05D3"}.mdi-account-multiple-minus-outline::before{content:"\F0BE5"}.mdi-account-multiple-outline::before{content:"\F000F"}.mdi-account-multiple-plus::before{content:"\F0010"}.mdi-account-multiple-plus-outline::before{content:"\F0800"}.mdi-account-multiple-remove::before{content:"\F120A"}.mdi-account-multiple-remove-outline::before{content:"\F120B"}.mdi-account-music::before{content:"\F0803"}.mdi-account-music-outline::before{content:"\F0CE9"}.mdi-account-network::before{content:"\F0011"}.mdi-account-network-outline::before{content:"\F0BE6"}.mdi-account-off::before{content:"\F0012"}.mdi-account-off-outline::before{content:"\F0BE7"}.mdi-account-outline::before{content:"\F0013"}.mdi-account-plus::before{content:"\F0014"}.mdi-account-plus-outline::before{content:"\F0801"}.mdi-account-question::before{content:"\F0B59"}.mdi-account-question-outline::before{content:"\F0B5A"}.mdi-account-reactivate::before{content:"\F152B"}.mdi-account-reactivate-outline::before{content:"\F152C"}.mdi-account-remove::before{content:"\F0015"}.mdi-account-remove-outline::before{content:"\F0AED"}.mdi-account-search::before{content:"\F0016"}.mdi-account-search-outline::before{content:"\F0935"}.mdi-account-settings::before{content:"\F0630"}.mdi-account-settings-outline::before{content:"\F10C9"}.mdi-account-star::before{content:"\F0017"}.mdi-account-star-outline::before{content:"\F0BE8"}.mdi-account-supervisor::before{content:"\F0A8B"}.mdi-account-supervisor-circle::before{content:"\F0A8C"}.mdi-account-supervisor-circle-outline::before{content:"\F14EC"}.mdi-account-supervisor-outline::before{content:"\F112D"}.mdi-account-switch::before{content:"\F0019"}.mdi-account-switch-outline::before{content:"\F04CB"}.mdi-account-tie::before{content:"\F0CE3"}.mdi-account-tie-outline::before{content:"\F10CA"}.mdi-account-tie-voice::before{content:"\F1308"}.mdi-account-tie-voice-off::before{content:"\F130A"}.mdi-account-tie-voice-off-outline::before{content:"\F130B"}.mdi-account-tie-voice-outline::before{content:"\F1309"}.mdi-account-voice::before{content:"\F05CB"}.mdi-adjust::before{content:"\F001A"}.mdi-adobe::before{content:"\F0936"}.mdi-adobe-acrobat::before{content:"\F0F9D"}.mdi-air-conditioner::before{content:"\F001B"}.mdi-air-filter::before{content:"\F0D43"}.mdi-air-horn::before{content:"\F0DAC"}.mdi-air-humidifier::before{content:"\F1099"}.mdi-air-humidifier-off::before{content:"\F1466"}.mdi-air-purifier::before{content:"\F0D44"}.mdi-airbag::before{content:"\F0BE9"}.mdi-airballoon::before{content:"\F001C"}.mdi-airballoon-outline::before{content:"\F100B"}.mdi-airplane::before{content:"\F001D"}.mdi-airplane-landing::before{content:"\F05D4"}.mdi-airplane-off::before{content:"\F001E"}.mdi-airplane-takeoff::before{content:"\F05D5"}.mdi-airport::before{content:"\F084B"}.mdi-alarm::before{content:"\F0020"}.mdi-alarm-bell::before{content:"\F078E"}.mdi-alarm-check::before{content:"\F0021"}.mdi-alarm-light::before{content:"\F078F"}.mdi-alarm-light-outline::before{content:"\F0BEA"}.mdi-alarm-multiple::before{content:"\F0022"}.mdi-alarm-note::before{content:"\F0E71"}.mdi-alarm-note-off::before{content:"\F0E72"}.mdi-alarm-off::before{content:"\F0023"}.mdi-alarm-panel::before{content:"\F15C4"}.mdi-alarm-panel-outline::before{content:"\F15C5"}.mdi-alarm-plus::before{content:"\F0024"}.mdi-alarm-snooze::before{content:"\F068E"}.mdi-album::before{content:"\F0025"}.mdi-alert::before{content:"\F0026"}.mdi-alert-box::before{content:"\F0027"}.mdi-alert-box-outline::before{content:"\F0CE4"}.mdi-alert-circle::before{content:"\F0028"}.mdi-alert-circle-check::before{content:"\F11ED"}.mdi-alert-circle-check-outline::before{content:"\F11EE"}.mdi-alert-circle-outline::before{content:"\F05D6"}.mdi-alert-decagram::before{content:"\F06BD"}.mdi-alert-decagram-outline::before{content:"\F0CE5"}.mdi-alert-minus::before{content:"\F14BB"}.mdi-alert-minus-outline::before{content:"\F14BE"}.mdi-alert-octagon::before{content:"\F0029"}.mdi-alert-octagon-outline::before{content:"\F0CE6"}.mdi-alert-octagram::before{content:"\F0767"}.mdi-alert-octagram-outline::before{content:"\F0CE7"}.mdi-alert-outline::before{content:"\F002A"}.mdi-alert-plus::before{content:"\F14BA"}.mdi-alert-plus-outline::before{content:"\F14BD"}.mdi-alert-remove::before{content:"\F14BC"}.mdi-alert-remove-outline::before{content:"\F14BF"}.mdi-alert-rhombus::before{content:"\F11CE"}.mdi-alert-rhombus-outline::before{content:"\F11CF"}.mdi-alien::before{content:"\F089A"}.mdi-alien-outline::before{content:"\F10CB"}.mdi-align-horizontal-center::before{content:"\F11C3"}.mdi-align-horizontal-left::before{content:"\F11C2"}.mdi-align-horizontal-right::before{content:"\F11C4"}.mdi-align-vertical-bottom::before{content:"\F11C5"}.mdi-align-vertical-center::before{content:"\F11C6"}.mdi-align-vertical-top::before{content:"\F11C7"}.mdi-all-inclusive::before{content:"\F06BE"}.mdi-allergy::before{content:"\F1258"}.mdi-alpha::before{content:"\F002B"}.mdi-alpha-a::before{content:"\F0AEE"}.mdi-alpha-a-box::before{content:"\F0B08"}.mdi-alpha-a-box-outline::before{content:"\F0BEB"}.mdi-alpha-a-circle::before{content:"\F0BEC"}.mdi-alpha-a-circle-outline::before{content:"\F0BED"}.mdi-alpha-b::before{content:"\F0AEF"}.mdi-alpha-b-box::before{content:"\F0B09"}.mdi-alpha-b-box-outline::before{content:"\F0BEE"}.mdi-alpha-b-circle::before{content:"\F0BEF"}.mdi-alpha-b-circle-outline::before{content:"\F0BF0"}.mdi-alpha-c::before{content:"\F0AF0"}.mdi-alpha-c-box::before{content:"\F0B0A"}.mdi-alpha-c-box-outline::before{content:"\F0BF1"}.mdi-alpha-c-circle::before{content:"\F0BF2"}.mdi-alpha-c-circle-outline::before{content:"\F0BF3"}.mdi-alpha-d::before{content:"\F0AF1"}.mdi-alpha-d-box::before{content:"\F0B0B"}.mdi-alpha-d-box-outline::before{content:"\F0BF4"}.mdi-alpha-d-circle::before{content:"\F0BF5"}.mdi-alpha-d-circle-outline::before{content:"\F0BF6"}.mdi-alpha-e::before{content:"\F0AF2"}.mdi-alpha-e-box::before{content:"\F0B0C"}.mdi-alpha-e-box-outline::before{content:"\F0BF7"}.mdi-alpha-e-circle::before{content:"\F0BF8"}.mdi-alpha-e-circle-outline::before{content:"\F0BF9"}.mdi-alpha-f::before{content:"\F0AF3"}.mdi-alpha-f-box::before{content:"\F0B0D"}.mdi-alpha-f-box-outline::before{content:"\F0BFA"}.mdi-alpha-f-circle::before{content:"\F0BFB"}.mdi-alpha-f-circle-outline::before{content:"\F0BFC"}.mdi-alpha-g::before{content:"\F0AF4"}.mdi-alpha-g-box::before{content:"\F0B0E"}.mdi-alpha-g-box-outline::before{content:"\F0BFD"}.mdi-alpha-g-circle::before{content:"\F0BFE"}.mdi-alpha-g-circle-outline::before{content:"\F0BFF"}.mdi-alpha-h::before{content:"\F0AF5"}.mdi-alpha-h-box::before{content:"\F0B0F"}.mdi-alpha-h-box-outline::before{content:"\F0C00"}.mdi-alpha-h-circle::before{content:"\F0C01"}.mdi-alpha-h-circle-outline::before{content:"\F0C02"}.mdi-alpha-i::before{content:"\F0AF6"}.mdi-alpha-i-box::before{content:"\F0B10"}.mdi-alpha-i-box-outline::before{content:"\F0C03"}.mdi-alpha-i-circle::before{content:"\F0C04"}.mdi-alpha-i-circle-outline::before{content:"\F0C05"}.mdi-alpha-j::before{content:"\F0AF7"}.mdi-alpha-j-box::before{content:"\F0B11"}.mdi-alpha-j-box-outline::before{content:"\F0C06"}.mdi-alpha-j-circle::before{content:"\F0C07"}.mdi-alpha-j-circle-outline::before{content:"\F0C08"}.mdi-alpha-k::before{content:"\F0AF8"}.mdi-alpha-k-box::before{content:"\F0B12"}.mdi-alpha-k-box-outline::before{content:"\F0C09"}.mdi-alpha-k-circle::before{content:"\F0C0A"}.mdi-alpha-k-circle-outline::before{content:"\F0C0B"}.mdi-alpha-l::before{content:"\F0AF9"}.mdi-alpha-l-box::before{content:"\F0B13"}.mdi-alpha-l-box-outline::before{content:"\F0C0C"}.mdi-alpha-l-circle::before{content:"\F0C0D"}.mdi-alpha-l-circle-outline::before{content:"\F0C0E"}.mdi-alpha-m::before{content:"\F0AFA"}.mdi-alpha-m-box::before{content:"\F0B14"}.mdi-alpha-m-box-outline::before{content:"\F0C0F"}.mdi-alpha-m-circle::before{content:"\F0C10"}.mdi-alpha-m-circle-outline::before{content:"\F0C11"}.mdi-alpha-n::before{content:"\F0AFB"}.mdi-alpha-n-box::before{content:"\F0B15"}.mdi-alpha-n-box-outline::before{content:"\F0C12"}.mdi-alpha-n-circle::before{content:"\F0C13"}.mdi-alpha-n-circle-outline::before{content:"\F0C14"}.mdi-alpha-o::before{content:"\F0AFC"}.mdi-alpha-o-box::before{content:"\F0B16"}.mdi-alpha-o-box-outline::before{content:"\F0C15"}.mdi-alpha-o-circle::before{content:"\F0C16"}.mdi-alpha-o-circle-outline::before{content:"\F0C17"}.mdi-alpha-p::before{content:"\F0AFD"}.mdi-alpha-p-box::before{content:"\F0B17"}.mdi-alpha-p-box-outline::before{content:"\F0C18"}.mdi-alpha-p-circle::before{content:"\F0C19"}.mdi-alpha-p-circle-outline::before{content:"\F0C1A"}.mdi-alpha-q::before{content:"\F0AFE"}.mdi-alpha-q-box::before{content:"\F0B18"}.mdi-alpha-q-box-outline::before{content:"\F0C1B"}.mdi-alpha-q-circle::before{content:"\F0C1C"}.mdi-alpha-q-circle-outline::before{content:"\F0C1D"}.mdi-alpha-r::before{content:"\F0AFF"}.mdi-alpha-r-box::before{content:"\F0B19"}.mdi-alpha-r-box-outline::before{content:"\F0C1E"}.mdi-alpha-r-circle::before{content:"\F0C1F"}.mdi-alpha-r-circle-outline::before{content:"\F0C20"}.mdi-alpha-s::before{content:"\F0B00"}.mdi-alpha-s-box::before{content:"\F0B1A"}.mdi-alpha-s-box-outline::before{content:"\F0C21"}.mdi-alpha-s-circle::before{content:"\F0C22"}.mdi-alpha-s-circle-outline::before{content:"\F0C23"}.mdi-alpha-t::before{content:"\F0B01"}.mdi-alpha-t-box::before{content:"\F0B1B"}.mdi-alpha-t-box-outline::before{content:"\F0C24"}.mdi-alpha-t-circle::before{content:"\F0C25"}.mdi-alpha-t-circle-outline::before{content:"\F0C26"}.mdi-alpha-u::before{content:"\F0B02"}.mdi-alpha-u-box::before{content:"\F0B1C"}.mdi-alpha-u-box-outline::before{content:"\F0C27"}.mdi-alpha-u-circle::before{content:"\F0C28"}.mdi-alpha-u-circle-outline::before{content:"\F0C29"}.mdi-alpha-v::before{content:"\F0B03"}.mdi-alpha-v-box::before{content:"\F0B1D"}.mdi-alpha-v-box-outline::before{content:"\F0C2A"}.mdi-alpha-v-circle::before{content:"\F0C2B"}.mdi-alpha-v-circle-outline::before{content:"\F0C2C"}.mdi-alpha-w::before{content:"\F0B04"}.mdi-alpha-w-box::before{content:"\F0B1E"}.mdi-alpha-w-box-outline::before{content:"\F0C2D"}.mdi-alpha-w-circle::before{content:"\F0C2E"}.mdi-alpha-w-circle-outline::before{content:"\F0C2F"}.mdi-alpha-x::before{content:"\F0B05"}.mdi-alpha-x-box::before{content:"\F0B1F"}.mdi-alpha-x-box-outline::before{content:"\F0C30"}.mdi-alpha-x-circle::before{content:"\F0C31"}.mdi-alpha-x-circle-outline::before{content:"\F0C32"}.mdi-alpha-y::before{content:"\F0B06"}.mdi-alpha-y-box::before{content:"\F0B20"}.mdi-alpha-y-box-outline::before{content:"\F0C33"}.mdi-alpha-y-circle::before{content:"\F0C34"}.mdi-alpha-y-circle-outline::before{content:"\F0C35"}.mdi-alpha-z::before{content:"\F0B07"}.mdi-alpha-z-box::before{content:"\F0B21"}.mdi-alpha-z-box-outline::before{content:"\F0C36"}.mdi-alpha-z-circle::before{content:"\F0C37"}.mdi-alpha-z-circle-outline::before{content:"\F0C38"}.mdi-alphabet-aurebesh::before{content:"\F132C"}.mdi-alphabet-cyrillic::before{content:"\F132D"}.mdi-alphabet-greek::before{content:"\F132E"}.mdi-alphabet-latin::before{content:"\F132F"}.mdi-alphabet-piqad::before{content:"\F1330"}.mdi-alphabet-tengwar::before{content:"\F1337"}.mdi-alphabetical::before{content:"\F002C"}.mdi-alphabetical-off::before{content:"\F100C"}.mdi-alphabetical-variant::before{content:"\F100D"}.mdi-alphabetical-variant-off::before{content:"\F100E"}.mdi-altimeter::before{content:"\F05D7"}.mdi-amazon::before{content:"\F002D"}.mdi-amazon-alexa::before{content:"\F08C6"}.mdi-ambulance::before{content:"\F002F"}.mdi-ammunition::before{content:"\F0CE8"}.mdi-ampersand::before{content:"\F0A8D"}.mdi-amplifier::before{content:"\F0030"}.mdi-amplifier-off::before{content:"\F11B5"}.mdi-anchor::before{content:"\F0031"}.mdi-android::before{content:"\F0032"}.mdi-android-auto::before{content:"\F0A8E"}.mdi-android-debug-bridge::before{content:"\F0033"}.mdi-android-messages::before{content:"\F0D45"}.mdi-android-studio::before{content:"\F0034"}.mdi-angle-acute::before{content:"\F0937"}.mdi-angle-obtuse::before{content:"\F0938"}.mdi-angle-right::before{content:"\F0939"}.mdi-angular::before{content:"\F06B2"}.mdi-angularjs::before{content:"\F06BF"}.mdi-animation::before{content:"\F05D8"}.mdi-animation-outline::before{content:"\F0A8F"}.mdi-animation-play::before{content:"\F093A"}.mdi-animation-play-outline::before{content:"\F0A90"}.mdi-ansible::before{content:"\F109A"}.mdi-antenna::before{content:"\F1119"}.mdi-anvil::before{content:"\F089B"}.mdi-apache-kafka::before{content:"\F100F"}.mdi-api::before{content:"\F109B"}.mdi-api-off::before{content:"\F1257"}.mdi-apple::before{content:"\F0035"}.mdi-apple-airplay::before{content:"\F001F"}.mdi-apple-finder::before{content:"\F0036"}.mdi-apple-icloud::before{content:"\F0038"}.mdi-apple-ios::before{content:"\F0037"}.mdi-apple-keyboard-caps::before{content:"\F0632"}.mdi-apple-keyboard-command::before{content:"\F0633"}.mdi-apple-keyboard-control::before{content:"\F0634"}.mdi-apple-keyboard-option::before{content:"\F0635"}.mdi-apple-keyboard-shift::before{content:"\F0636"}.mdi-apple-safari::before{content:"\F0039"}.mdi-application::before{content:"\F0614"}.mdi-application-cog::before{content:"\F1577"}.mdi-application-export::before{content:"\F0DAD"}.mdi-application-import::before{content:"\F0DAE"}.mdi-application-settings::before{content:"\F1555"}.mdi-approximately-equal::before{content:"\F0F9E"}.mdi-approximately-equal-box::before{content:"\F0F9F"}.mdi-apps::before{content:"\F003B"}.mdi-apps-box::before{content:"\F0D46"}.mdi-arch::before{content:"\F08C7"}.mdi-archive::before{content:"\F003C"}.mdi-archive-alert::before{content:"\F14FD"}.mdi-archive-alert-outline::before{content:"\F14FE"}.mdi-archive-arrow-down::before{content:"\F1259"}.mdi-archive-arrow-down-outline::before{content:"\F125A"}.mdi-archive-arrow-up::before{content:"\F125B"}.mdi-archive-arrow-up-outline::before{content:"\F125C"}.mdi-archive-outline::before{content:"\F120E"}.mdi-arm-flex::before{content:"\F0FD7"}.mdi-arm-flex-outline::before{content:"\F0FD6"}.mdi-arrange-bring-forward::before{content:"\F003D"}.mdi-arrange-bring-to-front::before{content:"\F003E"}.mdi-arrange-send-backward::before{content:"\F003F"}.mdi-arrange-send-to-back::before{content:"\F0040"}.mdi-arrow-all::before{content:"\F0041"}.mdi-arrow-bottom-left::before{content:"\F0042"}.mdi-arrow-bottom-left-bold-outline::before{content:"\F09B7"}.mdi-arrow-bottom-left-thick::before{content:"\F09B8"}.mdi-arrow-bottom-left-thin-circle-outline::before{content:"\F1596"}.mdi-arrow-bottom-right::before{content:"\F0043"}.mdi-arrow-bottom-right-bold-outline::before{content:"\F09B9"}.mdi-arrow-bottom-right-thick::before{content:"\F09BA"}.mdi-arrow-bottom-right-thin-circle-outline::before{content:"\F1595"}.mdi-arrow-collapse::before{content:"\F0615"}.mdi-arrow-collapse-all::before{content:"\F0044"}.mdi-arrow-collapse-down::before{content:"\F0792"}.mdi-arrow-collapse-horizontal::before{content:"\F084C"}.mdi-arrow-collapse-left::before{content:"\F0793"}.mdi-arrow-collapse-right::before{content:"\F0794"}.mdi-arrow-collapse-up::before{content:"\F0795"}.mdi-arrow-collapse-vertical::before{content:"\F084D"}.mdi-arrow-decision::before{content:"\F09BB"}.mdi-arrow-decision-auto::before{content:"\F09BC"}.mdi-arrow-decision-auto-outline::before{content:"\F09BD"}.mdi-arrow-decision-outline::before{content:"\F09BE"}.mdi-arrow-down::before{content:"\F0045"}.mdi-arrow-down-bold::before{content:"\F072E"}.mdi-arrow-down-bold-box::before{content:"\F072F"}.mdi-arrow-down-bold-box-outline::before{content:"\F0730"}.mdi-arrow-down-bold-circle::before{content:"\F0047"}.mdi-arrow-down-bold-circle-outline::before{content:"\F0048"}.mdi-arrow-down-bold-hexagon-outline::before{content:"\F0049"}.mdi-arrow-down-bold-outline::before{content:"\F09BF"}.mdi-arrow-down-box::before{content:"\F06C0"}.mdi-arrow-down-circle::before{content:"\F0CDB"}.mdi-arrow-down-circle-outline::before{content:"\F0CDC"}.mdi-arrow-down-drop-circle::before{content:"\F004A"}.mdi-arrow-down-drop-circle-outline::before{content:"\F004B"}.mdi-arrow-down-thick::before{content:"\F0046"}.mdi-arrow-down-thin-circle-outline::before{content:"\F1599"}.mdi-arrow-expand::before{content:"\F0616"}.mdi-arrow-expand-all::before{content:"\F004C"}.mdi-arrow-expand-down::before{content:"\F0796"}.mdi-arrow-expand-horizontal::before{content:"\F084E"}.mdi-arrow-expand-left::before{content:"\F0797"}.mdi-arrow-expand-right::before{content:"\F0798"}.mdi-arrow-expand-up::before{content:"\F0799"}.mdi-arrow-expand-vertical::before{content:"\F084F"}.mdi-arrow-horizontal-lock::before{content:"\F115B"}.mdi-arrow-left::before{content:"\F004D"}.mdi-arrow-left-bold::before{content:"\F0731"}.mdi-arrow-left-bold-box::before{content:"\F0732"}.mdi-arrow-left-bold-box-outline::before{content:"\F0733"}.mdi-arrow-left-bold-circle::before{content:"\F004F"}.mdi-arrow-left-bold-circle-outline::before{content:"\F0050"}.mdi-arrow-left-bold-hexagon-outline::before{content:"\F0051"}.mdi-arrow-left-bold-outline::before{content:"\F09C0"}.mdi-arrow-left-box::before{content:"\F06C1"}.mdi-arrow-left-circle::before{content:"\F0CDD"}.mdi-arrow-left-circle-outline::before{content:"\F0CDE"}.mdi-arrow-left-drop-circle::before{content:"\F0052"}.mdi-arrow-left-drop-circle-outline::before{content:"\F0053"}.mdi-arrow-left-right::before{content:"\F0E73"}.mdi-arrow-left-right-bold::before{content:"\F0E74"}.mdi-arrow-left-right-bold-outline::before{content:"\F09C1"}.mdi-arrow-left-thick::before{content:"\F004E"}.mdi-arrow-left-thin-circle-outline::before{content:"\F159A"}.mdi-arrow-right::before{content:"\F0054"}.mdi-arrow-right-bold::before{content:"\F0734"}.mdi-arrow-right-bold-box::before{content:"\F0735"}.mdi-arrow-right-bold-box-outline::before{content:"\F0736"}.mdi-arrow-right-bold-circle::before{content:"\F0056"}.mdi-arrow-right-bold-circle-outline::before{content:"\F0057"}.mdi-arrow-right-bold-hexagon-outline::before{content:"\F0058"}.mdi-arrow-right-bold-outline::before{content:"\F09C2"}.mdi-arrow-right-box::before{content:"\F06C2"}.mdi-arrow-right-circle::before{content:"\F0CDF"}.mdi-arrow-right-circle-outline::before{content:"\F0CE0"}.mdi-arrow-right-drop-circle::before{content:"\F0059"}.mdi-arrow-right-drop-circle-outline::before{content:"\F005A"}.mdi-arrow-right-thick::before{content:"\F0055"}.mdi-arrow-right-thin-circle-outline::before{content:"\F1598"}.mdi-arrow-split-horizontal::before{content:"\F093B"}.mdi-arrow-split-vertical::before{content:"\F093C"}.mdi-arrow-top-left::before{content:"\F005B"}.mdi-arrow-top-left-bold-outline::before{content:"\F09C3"}.mdi-arrow-top-left-bottom-right::before{content:"\F0E75"}.mdi-arrow-top-left-bottom-right-bold::before{content:"\F0E76"}.mdi-arrow-top-left-thick::before{content:"\F09C4"}.mdi-arrow-top-left-thin-circle-outline::before{content:"\F1593"}.mdi-arrow-top-right::before{content:"\F005C"}.mdi-arrow-top-right-bold-outline::before{content:"\F09C5"}.mdi-arrow-top-right-bottom-left::before{content:"\F0E77"}.mdi-arrow-top-right-bottom-left-bold::before{content:"\F0E78"}.mdi-arrow-top-right-thick::before{content:"\F09C6"}.mdi-arrow-top-right-thin-circle-outline::before{content:"\F1594"}.mdi-arrow-up::before{content:"\F005D"}.mdi-arrow-up-bold::before{content:"\F0737"}.mdi-arrow-up-bold-box::before{content:"\F0738"}.mdi-arrow-up-bold-box-outline::before{content:"\F0739"}.mdi-arrow-up-bold-circle::before{content:"\F005F"}.mdi-arrow-up-bold-circle-outline::before{content:"\F0060"}.mdi-arrow-up-bold-hexagon-outline::before{content:"\F0061"}.mdi-arrow-up-bold-outline::before{content:"\F09C7"}.mdi-arrow-up-box::before{content:"\F06C3"}.mdi-arrow-up-circle::before{content:"\F0CE1"}.mdi-arrow-up-circle-outline::before{content:"\F0CE2"}.mdi-arrow-up-down::before{content:"\F0E79"}.mdi-arrow-up-down-bold::before{content:"\F0E7A"}.mdi-arrow-up-down-bold-outline::before{content:"\F09C8"}.mdi-arrow-up-drop-circle::before{content:"\F0062"}.mdi-arrow-up-drop-circle-outline::before{content:"\F0063"}.mdi-arrow-up-thick::before{content:"\F005E"}.mdi-arrow-up-thin-circle-outline::before{content:"\F1597"}.mdi-arrow-vertical-lock::before{content:"\F115C"}.mdi-artstation::before{content:"\F0B5B"}.mdi-aspect-ratio::before{content:"\F0A24"}.mdi-assistant::before{content:"\F0064"}.mdi-asterisk::before{content:"\F06C4"}.mdi-at::before{content:"\F0065"}.mdi-atlassian::before{content:"\F0804"}.mdi-atm::before{content:"\F0D47"}.mdi-atom::before{content:"\F0768"}.mdi-atom-variant::before{content:"\F0E7B"}.mdi-attachment::before{content:"\F0066"}.mdi-audio-video::before{content:"\F093D"}.mdi-audio-video-off::before{content:"\F11B6"}.mdi-augmented-reality::before{content:"\F0850"}.mdi-auto-download::before{content:"\F137E"}.mdi-auto-fix::before{content:"\F0068"}.mdi-auto-upload::before{content:"\F0069"}.mdi-autorenew::before{content:"\F006A"}.mdi-av-timer::before{content:"\F006B"}.mdi-aws::before{content:"\F0E0F"}.mdi-axe::before{content:"\F08C8"}.mdi-axis::before{content:"\F0D48"}.mdi-axis-arrow::before{content:"\F0D49"}.mdi-axis-arrow-info::before{content:"\F140E"}.mdi-axis-arrow-lock::before{content:"\F0D4A"}.mdi-axis-lock::before{content:"\F0D4B"}.mdi-axis-x-arrow::before{content:"\F0D4C"}.mdi-axis-x-arrow-lock::before{content:"\F0D4D"}.mdi-axis-x-rotate-clockwise::before{content:"\F0D4E"}.mdi-axis-x-rotate-counterclockwise::before{content:"\F0D4F"}.mdi-axis-x-y-arrow-lock::before{content:"\F0D50"}.mdi-axis-y-arrow::before{content:"\F0D51"}.mdi-axis-y-arrow-lock::before{content:"\F0D52"}.mdi-axis-y-rotate-clockwise::before{content:"\F0D53"}.mdi-axis-y-rotate-counterclockwise::before{content:"\F0D54"}.mdi-axis-z-arrow::before{content:"\F0D55"}.mdi-axis-z-arrow-lock::before{content:"\F0D56"}.mdi-axis-z-rotate-clockwise::before{content:"\F0D57"}.mdi-axis-z-rotate-counterclockwise::before{content:"\F0D58"}.mdi-babel::before{content:"\F0A25"}.mdi-baby::before{content:"\F006C"}.mdi-baby-bottle::before{content:"\F0F39"}.mdi-baby-bottle-outline::before{content:"\F0F3A"}.mdi-baby-buggy::before{content:"\F13E0"}.mdi-baby-carriage::before{content:"\F068F"}.mdi-baby-carriage-off::before{content:"\F0FA0"}.mdi-baby-face::before{content:"\F0E7C"}.mdi-baby-face-outline::before{content:"\F0E7D"}.mdi-backburger::before{content:"\F006D"}.mdi-backspace::before{content:"\F006E"}.mdi-backspace-outline::before{content:"\F0B5C"}.mdi-backspace-reverse::before{content:"\F0E7E"}.mdi-backspace-reverse-outline::before{content:"\F0E7F"}.mdi-backup-restore::before{content:"\F006F"}.mdi-bacteria::before{content:"\F0ED5"}.mdi-bacteria-outline::before{content:"\F0ED6"}.mdi-badge-account::before{content:"\F0DA7"}.mdi-badge-account-alert::before{content:"\F0DA8"}.mdi-badge-account-alert-outline::before{content:"\F0DA9"}.mdi-badge-account-horizontal::before{content:"\F0E0D"}.mdi-badge-account-horizontal-outline::before{content:"\F0E0E"}.mdi-badge-account-outline::before{content:"\F0DAA"}.mdi-badminton::before{content:"\F0851"}.mdi-bag-carry-on::before{content:"\F0F3B"}.mdi-bag-carry-on-check::before{content:"\F0D65"}.mdi-bag-carry-on-off::before{content:"\F0F3C"}.mdi-bag-checked::before{content:"\F0F3D"}.mdi-bag-personal::before{content:"\F0E10"}.mdi-bag-personal-off::before{content:"\F0E11"}.mdi-bag-personal-off-outline::before{content:"\F0E12"}.mdi-bag-personal-outline::before{content:"\F0E13"}.mdi-bag-suitcase::before{content:"\F158B"}.mdi-bag-suitcase-off::before{content:"\F158D"}.mdi-bag-suitcase-off-outline::before{content:"\F158E"}.mdi-bag-suitcase-outline::before{content:"\F158C"}.mdi-baguette::before{content:"\F0F3E"}.mdi-balloon::before{content:"\F0A26"}.mdi-ballot::before{content:"\F09C9"}.mdi-ballot-outline::before{content:"\F09CA"}.mdi-ballot-recount::before{content:"\F0C39"}.mdi-ballot-recount-outline::before{content:"\F0C3A"}.mdi-bandage::before{content:"\F0DAF"}.mdi-bandcamp::before{content:"\F0675"}.mdi-bank::before{content:"\F0070"}.mdi-bank-check::before{content:"\F1655"}.mdi-bank-minus::before{content:"\F0DB0"}.mdi-bank-off::before{content:"\F1656"}.mdi-bank-off-outline::before{content:"\F1657"}.mdi-bank-outline::before{content:"\F0E80"}.mdi-bank-plus::before{content:"\F0DB1"}.mdi-bank-remove::before{content:"\F0DB2"}.mdi-bank-transfer::before{content:"\F0A27"}.mdi-bank-transfer-in::before{content:"\F0A28"}.mdi-bank-transfer-out::before{content:"\F0A29"}.mdi-barcode::before{content:"\F0071"}.mdi-barcode-off::before{content:"\F1236"}.mdi-barcode-scan::before{content:"\F0072"}.mdi-barley::before{content:"\F0073"}.mdi-barley-off::before{content:"\F0B5D"}.mdi-barn::before{content:"\F0B5E"}.mdi-barrel::before{content:"\F0074"}.mdi-baseball::before{content:"\F0852"}.mdi-baseball-bat::before{content:"\F0853"}.mdi-baseball-diamond::before{content:"\F15EC"}.mdi-baseball-diamond-outline::before{content:"\F15ED"}.mdi-bash::before{content:"\F1183"}.mdi-basket::before{content:"\F0076"}.mdi-basket-fill::before{content:"\F0077"}.mdi-basket-minus::before{content:"\F1523"}.mdi-basket-minus-outline::before{content:"\F1524"}.mdi-basket-off::before{content:"\F1525"}.mdi-basket-off-outline::before{content:"\F1526"}.mdi-basket-outline::before{content:"\F1181"}.mdi-basket-plus::before{content:"\F1527"}.mdi-basket-plus-outline::before{content:"\F1528"}.mdi-basket-remove::before{content:"\F1529"}.mdi-basket-remove-outline::before{content:"\F152A"}.mdi-basket-unfill::before{content:"\F0078"}.mdi-basketball::before{content:"\F0806"}.mdi-basketball-hoop::before{content:"\F0C3B"}.mdi-basketball-hoop-outline::before{content:"\F0C3C"}.mdi-bat::before{content:"\F0B5F"}.mdi-battery::before{content:"\F0079"}.mdi-battery-10::before{content:"\F007A"}.mdi-battery-10-bluetooth::before{content:"\F093E"}.mdi-battery-20::before{content:"\F007B"}.mdi-battery-20-bluetooth::before{content:"\F093F"}.mdi-battery-30::before{content:"\F007C"}.mdi-battery-30-bluetooth::before{content:"\F0940"}.mdi-battery-40::before{content:"\F007D"}.mdi-battery-40-bluetooth::before{content:"\F0941"}.mdi-battery-50::before{content:"\F007E"}.mdi-battery-50-bluetooth::before{content:"\F0942"}.mdi-battery-60::before{content:"\F007F"}.mdi-battery-60-bluetooth::before{content:"\F0943"}.mdi-battery-70::before{content:"\F0080"}.mdi-battery-70-bluetooth::before{content:"\F0944"}.mdi-battery-80::before{content:"\F0081"}.mdi-battery-80-bluetooth::before{content:"\F0945"}.mdi-battery-90::before{content:"\F0082"}.mdi-battery-90-bluetooth::before{content:"\F0946"}.mdi-battery-alert::before{content:"\F0083"}.mdi-battery-alert-bluetooth::before{content:"\F0947"}.mdi-battery-alert-variant::before{content:"\F10CC"}.mdi-battery-alert-variant-outline::before{content:"\F10CD"}.mdi-battery-bluetooth::before{content:"\F0948"}.mdi-battery-bluetooth-variant::before{content:"\F0949"}.mdi-battery-charging::before{content:"\F0084"}.mdi-battery-charging-10::before{content:"\F089C"}.mdi-battery-charging-100::before{content:"\F0085"}.mdi-battery-charging-20::before{content:"\F0086"}.mdi-battery-charging-30::before{content:"\F0087"}.mdi-battery-charging-40::before{content:"\F0088"}.mdi-battery-charging-50::before{content:"\F089D"}.mdi-battery-charging-60::before{content:"\F0089"}.mdi-battery-charging-70::before{content:"\F089E"}.mdi-battery-charging-80::before{content:"\F008A"}.mdi-battery-charging-90::before{content:"\F008B"}.mdi-battery-charging-high::before{content:"\F12A6"}.mdi-battery-charging-low::before{content:"\F12A4"}.mdi-battery-charging-medium::before{content:"\F12A5"}.mdi-battery-charging-outline::before{content:"\F089F"}.mdi-battery-charging-wireless::before{content:"\F0807"}.mdi-battery-charging-wireless-10::before{content:"\F0808"}.mdi-battery-charging-wireless-20::before{content:"\F0809"}.mdi-battery-charging-wireless-30::before{content:"\F080A"}.mdi-battery-charging-wireless-40::before{content:"\F080B"}.mdi-battery-charging-wireless-50::before{content:"\F080C"}.mdi-battery-charging-wireless-60::before{content:"\F080D"}.mdi-battery-charging-wireless-70::before{content:"\F080E"}.mdi-battery-charging-wireless-80::before{content:"\F080F"}.mdi-battery-charging-wireless-90::before{content:"\F0810"}.mdi-battery-charging-wireless-alert::before{content:"\F0811"}.mdi-battery-charging-wireless-outline::before{content:"\F0812"}.mdi-battery-heart::before{content:"\F120F"}.mdi-battery-heart-outline::before{content:"\F1210"}.mdi-battery-heart-variant::before{content:"\F1211"}.mdi-battery-high::before{content:"\F12A3"}.mdi-battery-low::before{content:"\F12A1"}.mdi-battery-medium::before{content:"\F12A2"}.mdi-battery-minus::before{content:"\F008C"}.mdi-battery-negative::before{content:"\F008D"}.mdi-battery-off::before{content:"\F125D"}.mdi-battery-off-outline::before{content:"\F125E"}.mdi-battery-outline::before{content:"\F008E"}.mdi-battery-plus::before{content:"\F008F"}.mdi-battery-positive::before{content:"\F0090"}.mdi-battery-unknown::before{content:"\F0091"}.mdi-battery-unknown-bluetooth::before{content:"\F094A"}.mdi-battlenet::before{content:"\F0B60"}.mdi-beach::before{content:"\F0092"}.mdi-beaker::before{content:"\F0CEA"}.mdi-beaker-alert::before{content:"\F1229"}.mdi-beaker-alert-outline::before{content:"\F122A"}.mdi-beaker-check::before{content:"\F122B"}.mdi-beaker-check-outline::before{content:"\F122C"}.mdi-beaker-minus::before{content:"\F122D"}.mdi-beaker-minus-outline::before{content:"\F122E"}.mdi-beaker-outline::before{content:"\F0690"}.mdi-beaker-plus::before{content:"\F122F"}.mdi-beaker-plus-outline::before{content:"\F1230"}.mdi-beaker-question::before{content:"\F1231"}.mdi-beaker-question-outline::before{content:"\F1232"}.mdi-beaker-remove::before{content:"\F1233"}.mdi-beaker-remove-outline::before{content:"\F1234"}.mdi-bed::before{content:"\F02E3"}.mdi-bed-double::before{content:"\F0FD4"}.mdi-bed-double-outline::before{content:"\F0FD3"}.mdi-bed-empty::before{content:"\F08A0"}.mdi-bed-king::before{content:"\F0FD2"}.mdi-bed-king-outline::before{content:"\F0FD1"}.mdi-bed-outline::before{content:"\F0099"}.mdi-bed-queen::before{content:"\F0FD0"}.mdi-bed-queen-outline::before{content:"\F0FDB"}.mdi-bed-single::before{content:"\F106D"}.mdi-bed-single-outline::before{content:"\F106E"}.mdi-bee::before{content:"\F0FA1"}.mdi-bee-flower::before{content:"\F0FA2"}.mdi-beehive-off-outline::before{content:"\F13ED"}.mdi-beehive-outline::before{content:"\F10CE"}.mdi-beekeeper::before{content:"\F14E2"}.mdi-beer::before{content:"\F0098"}.mdi-beer-outline::before{content:"\F130C"}.mdi-bell::before{content:"\F009A"}.mdi-bell-alert::before{content:"\F0D59"}.mdi-bell-alert-outline::before{content:"\F0E81"}.mdi-bell-cancel::before{content:"\F13E7"}.mdi-bell-cancel-outline::before{content:"\F13E8"}.mdi-bell-check::before{content:"\F11E5"}.mdi-bell-check-outline::before{content:"\F11E6"}.mdi-bell-circle::before{content:"\F0D5A"}.mdi-bell-circle-outline::before{content:"\F0D5B"}.mdi-bell-minus::before{content:"\F13E9"}.mdi-bell-minus-outline::before{content:"\F13EA"}.mdi-bell-off::before{content:"\F009B"}.mdi-bell-off-outline::before{content:"\F0A91"}.mdi-bell-outline::before{content:"\F009C"}.mdi-bell-plus::before{content:"\F009D"}.mdi-bell-plus-outline::before{content:"\F0A92"}.mdi-bell-remove::before{content:"\F13EB"}.mdi-bell-remove-outline::before{content:"\F13EC"}.mdi-bell-ring::before{content:"\F009E"}.mdi-bell-ring-outline::before{content:"\F009F"}.mdi-bell-sleep::before{content:"\F00A0"}.mdi-bell-sleep-outline::before{content:"\F0A93"}.mdi-beta::before{content:"\F00A1"}.mdi-betamax::before{content:"\F09CB"}.mdi-biathlon::before{content:"\F0E14"}.mdi-bicycle::before{content:"\F109C"}.mdi-bicycle-basket::before{content:"\F1235"}.mdi-bicycle-electric::before{content:"\F15B4"}.mdi-bicycle-penny-farthing::before{content:"\F15E9"}.mdi-bike::before{content:"\F00A3"}.mdi-bike-fast::before{content:"\F111F"}.mdi-billboard::before{content:"\F1010"}.mdi-billiards::before{content:"\F0B61"}.mdi-billiards-rack::before{content:"\F0B62"}.mdi-binoculars::before{content:"\F00A5"}.mdi-bio::before{content:"\F00A6"}.mdi-biohazard::before{content:"\F00A7"}.mdi-bird::before{content:"\F15C6"}.mdi-bitbucket::before{content:"\F00A8"}.mdi-bitcoin::before{content:"\F0813"}.mdi-black-mesa::before{content:"\F00A9"}.mdi-blender::before{content:"\F0CEB"}.mdi-blender-software::before{content:"\F00AB"}.mdi-blinds::before{content:"\F00AC"}.mdi-blinds-open::before{content:"\F1011"}.mdi-block-helper::before{content:"\F00AD"}.mdi-blogger::before{content:"\F00AE"}.mdi-blood-bag::before{content:"\F0CEC"}.mdi-bluetooth::before{content:"\F00AF"}.mdi-bluetooth-audio::before{content:"\F00B0"}.mdi-bluetooth-connect::before{content:"\F00B1"}.mdi-bluetooth-off::before{content:"\F00B2"}.mdi-bluetooth-settings::before{content:"\F00B3"}.mdi-bluetooth-transfer::before{content:"\F00B4"}.mdi-blur::before{content:"\F00B5"}.mdi-blur-linear::before{content:"\F00B6"}.mdi-blur-off::before{content:"\F00B7"}.mdi-blur-radial::before{content:"\F00B8"}.mdi-bolnisi-cross::before{content:"\F0CED"}.mdi-bolt::before{content:"\F0DB3"}.mdi-bomb::before{content:"\F0691"}.mdi-bomb-off::before{content:"\F06C5"}.mdi-bone::before{content:"\F00B9"}.mdi-book::before{content:"\F00BA"}.mdi-book-account::before{content:"\F13AD"}.mdi-book-account-outline::before{content:"\F13AE"}.mdi-book-alert::before{content:"\F167C"}.mdi-book-alert-outline::before{content:"\F167D"}.mdi-book-alphabet::before{content:"\F061D"}.mdi-book-arrow-down::before{content:"\F167E"}.mdi-book-arrow-down-outline::before{content:"\F167F"}.mdi-book-arrow-left::before{content:"\F1680"}.mdi-book-arrow-left-outline::before{content:"\F1681"}.mdi-book-arrow-right::before{content:"\F1682"}.mdi-book-arrow-right-outline::before{content:"\F1683"}.mdi-book-arrow-up::before{content:"\F1684"}.mdi-book-arrow-up-outline::before{content:"\F1685"}.mdi-book-cancel::before{content:"\F1686"}.mdi-book-cancel-outline::before{content:"\F1687"}.mdi-book-check::before{content:"\F14F3"}.mdi-book-check-outline::before{content:"\F14F4"}.mdi-book-clock::before{content:"\F1688"}.mdi-book-clock-outline::before{content:"\F1689"}.mdi-book-cog::before{content:"\F168A"}.mdi-book-cog-outline::before{content:"\F168B"}.mdi-book-cross::before{content:"\F00A2"}.mdi-book-edit::before{content:"\F168C"}.mdi-book-edit-outline::before{content:"\F168D"}.mdi-book-education::before{content:"\F16C9"}.mdi-book-education-outline::before{content:"\F16CA"}.mdi-book-information-variant::before{content:"\F106F"}.mdi-book-lock::before{content:"\F079A"}.mdi-book-lock-open::before{content:"\F079B"}.mdi-book-lock-open-outline::before{content:"\F168E"}.mdi-book-lock-outline::before{content:"\F168F"}.mdi-book-marker::before{content:"\F1690"}.mdi-book-marker-outline::before{content:"\F1691"}.mdi-book-minus::before{content:"\F05D9"}.mdi-book-minus-multiple::before{content:"\F0A94"}.mdi-book-minus-multiple-outline::before{content:"\F090B"}.mdi-book-minus-outline::before{content:"\F1692"}.mdi-book-multiple::before{content:"\F00BB"}.mdi-book-multiple-outline::before{content:"\F0436"}.mdi-book-music::before{content:"\F0067"}.mdi-book-music-outline::before{content:"\F1693"}.mdi-book-off::before{content:"\F1694"}.mdi-book-off-outline::before{content:"\F1695"}.mdi-book-open::before{content:"\F00BD"}.mdi-book-open-blank-variant::before{content:"\F00BE"}.mdi-book-open-outline::before{content:"\F0B63"}.mdi-book-open-page-variant::before{content:"\F05DA"}.mdi-book-open-page-variant-outline::before{content:"\F15D6"}.mdi-book-open-variant::before{content:"\F14F7"}.mdi-book-outline::before{content:"\F0B64"}.mdi-book-play::before{content:"\F0E82"}.mdi-book-play-outline::before{content:"\F0E83"}.mdi-book-plus::before{content:"\F05DB"}.mdi-book-plus-multiple::before{content:"\F0A95"}.mdi-book-plus-multiple-outline::before{content:"\F0ADE"}.mdi-book-plus-outline::before{content:"\F1696"}.mdi-book-refresh::before{content:"\F1697"}.mdi-book-refresh-outline::before{content:"\F1698"}.mdi-book-remove::before{content:"\F0A97"}.mdi-book-remove-multiple::before{content:"\F0A96"}.mdi-book-remove-multiple-outline::before{content:"\F04CA"}.mdi-book-remove-outline::before{content:"\F1699"}.mdi-book-search::before{content:"\F0E84"}.mdi-book-search-outline::before{content:"\F0E85"}.mdi-book-settings::before{content:"\F169A"}.mdi-book-settings-outline::before{content:"\F169B"}.mdi-book-sync::before{content:"\F169C"}.mdi-book-sync-outline::before{content:"\F16C8"}.mdi-book-variant::before{content:"\F00BF"}.mdi-book-variant-multiple::before{content:"\F00BC"}.mdi-bookmark::before{content:"\F00C0"}.mdi-bookmark-check::before{content:"\F00C1"}.mdi-bookmark-check-outline::before{content:"\F137B"}.mdi-bookmark-minus::before{content:"\F09CC"}.mdi-bookmark-minus-outline::before{content:"\F09CD"}.mdi-bookmark-multiple::before{content:"\F0E15"}.mdi-bookmark-multiple-outline::before{content:"\F0E16"}.mdi-bookmark-music::before{content:"\F00C2"}.mdi-bookmark-music-outline::before{content:"\F1379"}.mdi-bookmark-off::before{content:"\F09CE"}.mdi-bookmark-off-outline::before{content:"\F09CF"}.mdi-bookmark-outline::before{content:"\F00C3"}.mdi-bookmark-plus::before{content:"\F00C5"}.mdi-bookmark-plus-outline::before{content:"\F00C4"}.mdi-bookmark-remove::before{content:"\F00C6"}.mdi-bookmark-remove-outline::before{content:"\F137A"}.mdi-bookshelf::before{content:"\F125F"}.mdi-boom-gate::before{content:"\F0E86"}.mdi-boom-gate-alert::before{content:"\F0E87"}.mdi-boom-gate-alert-outline::before{content:"\F0E88"}.mdi-boom-gate-down::before{content:"\F0E89"}.mdi-boom-gate-down-outline::before{content:"\F0E8A"}.mdi-boom-gate-outline::before{content:"\F0E8B"}.mdi-boom-gate-up::before{content:"\F0E8C"}.mdi-boom-gate-up-outline::before{content:"\F0E8D"}.mdi-boombox::before{content:"\F05DC"}.mdi-boomerang::before{content:"\F10CF"}.mdi-bootstrap::before{content:"\F06C6"}.mdi-border-all::before{content:"\F00C7"}.mdi-border-all-variant::before{content:"\F08A1"}.mdi-border-bottom::before{content:"\F00C8"}.mdi-border-bottom-variant::before{content:"\F08A2"}.mdi-border-color::before{content:"\F00C9"}.mdi-border-horizontal::before{content:"\F00CA"}.mdi-border-inside::before{content:"\F00CB"}.mdi-border-left::before{content:"\F00CC"}.mdi-border-left-variant::before{content:"\F08A3"}.mdi-border-none::before{content:"\F00CD"}.mdi-border-none-variant::before{content:"\F08A4"}.mdi-border-outside::before{content:"\F00CE"}.mdi-border-right::before{content:"\F00CF"}.mdi-border-right-variant::before{content:"\F08A5"}.mdi-border-style::before{content:"\F00D0"}.mdi-border-top::before{content:"\F00D1"}.mdi-border-top-variant::before{content:"\F08A6"}.mdi-border-vertical::before{content:"\F00D2"}.mdi-bottle-soda::before{content:"\F1070"}.mdi-bottle-soda-classic::before{content:"\F1071"}.mdi-bottle-soda-classic-outline::before{content:"\F1363"}.mdi-bottle-soda-outline::before{content:"\F1072"}.mdi-bottle-tonic::before{content:"\F112E"}.mdi-bottle-tonic-outline::before{content:"\F112F"}.mdi-bottle-tonic-plus::before{content:"\F1130"}.mdi-bottle-tonic-plus-outline::before{content:"\F1131"}.mdi-bottle-tonic-skull::before{content:"\F1132"}.mdi-bottle-tonic-skull-outline::before{content:"\F1133"}.mdi-bottle-wine::before{content:"\F0854"}.mdi-bottle-wine-outline::before{content:"\F1310"}.mdi-bow-tie::before{content:"\F0678"}.mdi-bowl::before{content:"\F028E"}.mdi-bowl-mix::before{content:"\F0617"}.mdi-bowl-mix-outline::before{content:"\F02E4"}.mdi-bowl-outline::before{content:"\F02A9"}.mdi-bowling::before{content:"\F00D3"}.mdi-box::before{content:"\F00D4"}.mdi-box-cutter::before{content:"\F00D5"}.mdi-box-cutter-off::before{content:"\F0B4A"}.mdi-box-shadow::before{content:"\F0637"}.mdi-boxing-glove::before{content:"\F0B65"}.mdi-braille::before{content:"\F09D0"}.mdi-brain::before{content:"\F09D1"}.mdi-bread-slice::before{content:"\F0CEE"}.mdi-bread-slice-outline::before{content:"\F0CEF"}.mdi-bridge::before{content:"\F0618"}.mdi-briefcase::before{content:"\F00D6"}.mdi-briefcase-account::before{content:"\F0CF0"}.mdi-briefcase-account-outline::before{content:"\F0CF1"}.mdi-briefcase-check::before{content:"\F00D7"}.mdi-briefcase-check-outline::before{content:"\F131E"}.mdi-briefcase-clock::before{content:"\F10D0"}.mdi-briefcase-clock-outline::before{content:"\F10D1"}.mdi-briefcase-download::before{content:"\F00D8"}.mdi-briefcase-download-outline::before{content:"\F0C3D"}.mdi-briefcase-edit::before{content:"\F0A98"}.mdi-briefcase-edit-outline::before{content:"\F0C3E"}.mdi-briefcase-minus::before{content:"\F0A2A"}.mdi-briefcase-minus-outline::before{content:"\F0C3F"}.mdi-briefcase-off::before{content:"\F1658"}.mdi-briefcase-off-outline::before{content:"\F1659"}.mdi-briefcase-outline::before{content:"\F0814"}.mdi-briefcase-plus::before{content:"\F0A2B"}.mdi-briefcase-plus-outline::before{content:"\F0C40"}.mdi-briefcase-remove::before{content:"\F0A2C"}.mdi-briefcase-remove-outline::before{content:"\F0C41"}.mdi-briefcase-search::before{content:"\F0A2D"}.mdi-briefcase-search-outline::before{content:"\F0C42"}.mdi-briefcase-upload::before{content:"\F00D9"}.mdi-briefcase-upload-outline::before{content:"\F0C43"}.mdi-briefcase-variant::before{content:"\F1494"}.mdi-briefcase-variant-off::before{content:"\F165A"}.mdi-briefcase-variant-off-outline::before{content:"\F165B"}.mdi-briefcase-variant-outline::before{content:"\F1495"}.mdi-brightness-1::before{content:"\F00DA"}.mdi-brightness-2::before{content:"\F00DB"}.mdi-brightness-3::before{content:"\F00DC"}.mdi-brightness-4::before{content:"\F00DD"}.mdi-brightness-5::before{content:"\F00DE"}.mdi-brightness-6::before{content:"\F00DF"}.mdi-brightness-7::before{content:"\F00E0"}.mdi-brightness-auto::before{content:"\F00E1"}.mdi-brightness-percent::before{content:"\F0CF2"}.mdi-broom::before{content:"\F00E2"}.mdi-brush::before{content:"\F00E3"}.mdi-bucket::before{content:"\F1415"}.mdi-bucket-outline::before{content:"\F1416"}.mdi-buddhism::before{content:"\F094B"}.mdi-buffer::before{content:"\F0619"}.mdi-buffet::before{content:"\F0578"}.mdi-bug::before{content:"\F00E4"}.mdi-bug-check::before{content:"\F0A2E"}.mdi-bug-check-outline::before{content:"\F0A2F"}.mdi-bug-outline::before{content:"\F0A30"}.mdi-bugle::before{content:"\F0DB4"}.mdi-bulldozer::before{content:"\F0B22"}.mdi-bullet::before{content:"\F0CF3"}.mdi-bulletin-board::before{content:"\F00E5"}.mdi-bullhorn::before{content:"\F00E6"}.mdi-bullhorn-outline::before{content:"\F0B23"}.mdi-bullseye::before{content:"\F05DD"}.mdi-bullseye-arrow::before{content:"\F08C9"}.mdi-bulma::before{content:"\F12E7"}.mdi-bunk-bed::before{content:"\F1302"}.mdi-bunk-bed-outline::before{content:"\F0097"}.mdi-bus::before{content:"\F00E7"}.mdi-bus-alert::before{content:"\F0A99"}.mdi-bus-articulated-end::before{content:"\F079C"}.mdi-bus-articulated-front::before{content:"\F079D"}.mdi-bus-clock::before{content:"\F08CA"}.mdi-bus-double-decker::before{content:"\F079E"}.mdi-bus-marker::before{content:"\F1212"}.mdi-bus-multiple::before{content:"\F0F3F"}.mdi-bus-school::before{content:"\F079F"}.mdi-bus-side::before{content:"\F07A0"}.mdi-bus-stop::before{content:"\F1012"}.mdi-bus-stop-covered::before{content:"\F1013"}.mdi-bus-stop-uncovered::before{content:"\F1014"}.mdi-butterfly::before{content:"\F1589"}.mdi-butterfly-outline::before{content:"\F158A"}.mdi-cable-data::before{content:"\F1394"}.mdi-cached::before{content:"\F00E8"}.mdi-cactus::before{content:"\F0DB5"}.mdi-cake::before{content:"\F00E9"}.mdi-cake-layered::before{content:"\F00EA"}.mdi-cake-variant::before{content:"\F00EB"}.mdi-calculator::before{content:"\F00EC"}.mdi-calculator-variant::before{content:"\F0A9A"}.mdi-calculator-variant-outline::before{content:"\F15A6"}.mdi-calendar::before{content:"\F00ED"}.mdi-calendar-account::before{content:"\F0ED7"}.mdi-calendar-account-outline::before{content:"\F0ED8"}.mdi-calendar-alert::before{content:"\F0A31"}.mdi-calendar-arrow-left::before{content:"\F1134"}.mdi-calendar-arrow-right::before{content:"\F1135"}.mdi-calendar-blank::before{content:"\F00EE"}.mdi-calendar-blank-multiple::before{content:"\F1073"}.mdi-calendar-blank-outline::before{content:"\F0B66"}.mdi-calendar-check::before{content:"\F00EF"}.mdi-calendar-check-outline::before{content:"\F0C44"}.mdi-calendar-clock::before{content:"\F00F0"}.mdi-calendar-cursor::before{content:"\F157B"}.mdi-calendar-edit::before{content:"\F08A7"}.mdi-calendar-end::before{content:"\F166C"}.mdi-calendar-export::before{content:"\F0B24"}.mdi-calendar-heart::before{content:"\F09D2"}.mdi-calendar-import::before{content:"\F0B25"}.mdi-calendar-lock::before{content:"\F1641"}.mdi-calendar-lock-outline::before{content:"\F1642"}.mdi-calendar-minus::before{content:"\F0D5C"}.mdi-calendar-month::before{content:"\F0E17"}.mdi-calendar-month-outline::before{content:"\F0E18"}.mdi-calendar-multiple::before{content:"\F00F1"}.mdi-calendar-multiple-check::before{content:"\F00F2"}.mdi-calendar-multiselect::before{content:"\F0A32"}.mdi-calendar-outline::before{content:"\F0B67"}.mdi-calendar-plus::before{content:"\F00F3"}.mdi-calendar-question::before{content:"\F0692"}.mdi-calendar-range::before{content:"\F0679"}.mdi-calendar-range-outline::before{content:"\F0B68"}.mdi-calendar-refresh::before{content:"\F01E1"}.mdi-calendar-refresh-outline::before{content:"\F0203"}.mdi-calendar-remove::before{content:"\F00F4"}.mdi-calendar-remove-outline::before{content:"\F0C45"}.mdi-calendar-search::before{content:"\F094C"}.mdi-calendar-star::before{content:"\F09D3"}.mdi-calendar-start::before{content:"\F166D"}.mdi-calendar-sync::before{content:"\F0E8E"}.mdi-calendar-sync-outline::before{content:"\F0E8F"}.mdi-calendar-text::before{content:"\F00F5"}.mdi-calendar-text-outline::before{content:"\F0C46"}.mdi-calendar-today::before{content:"\F00F6"}.mdi-calendar-week::before{content:"\F0A33"}.mdi-calendar-week-begin::before{content:"\F0A34"}.mdi-calendar-weekend::before{content:"\F0ED9"}.mdi-calendar-weekend-outline::before{content:"\F0EDA"}.mdi-call-made::before{content:"\F00F7"}.mdi-call-merge::before{content:"\F00F8"}.mdi-call-missed::before{content:"\F00F9"}.mdi-call-received::before{content:"\F00FA"}.mdi-call-split::before{content:"\F00FB"}.mdi-camcorder::before{content:"\F00FC"}.mdi-camcorder-off::before{content:"\F00FF"}.mdi-camera::before{content:"\F0100"}.mdi-camera-account::before{content:"\F08CB"}.mdi-camera-burst::before{content:"\F0693"}.mdi-camera-control::before{content:"\F0B69"}.mdi-camera-enhance::before{content:"\F0101"}.mdi-camera-enhance-outline::before{content:"\F0B6A"}.mdi-camera-flip::before{content:"\F15D9"}.mdi-camera-flip-outline::before{content:"\F15DA"}.mdi-camera-front::before{content:"\F0102"}.mdi-camera-front-variant::before{content:"\F0103"}.mdi-camera-gopro::before{content:"\F07A1"}.mdi-camera-image::before{content:"\F08CC"}.mdi-camera-iris::before{content:"\F0104"}.mdi-camera-metering-center::before{content:"\F07A2"}.mdi-camera-metering-matrix::before{content:"\F07A3"}.mdi-camera-metering-partial::before{content:"\F07A4"}.mdi-camera-metering-spot::before{content:"\F07A5"}.mdi-camera-off::before{content:"\F05DF"}.mdi-camera-outline::before{content:"\F0D5D"}.mdi-camera-party-mode::before{content:"\F0105"}.mdi-camera-plus::before{content:"\F0EDB"}.mdi-camera-plus-outline::before{content:"\F0EDC"}.mdi-camera-rear::before{content:"\F0106"}.mdi-camera-rear-variant::before{content:"\F0107"}.mdi-camera-retake::before{content:"\F0E19"}.mdi-camera-retake-outline::before{content:"\F0E1A"}.mdi-camera-switch::before{content:"\F0108"}.mdi-camera-switch-outline::before{content:"\F084A"}.mdi-camera-timer::before{content:"\F0109"}.mdi-camera-wireless::before{content:"\F0DB6"}.mdi-camera-wireless-outline::before{content:"\F0DB7"}.mdi-campfire::before{content:"\F0EDD"}.mdi-cancel::before{content:"\F073A"}.mdi-candle::before{content:"\F05E2"}.mdi-candycane::before{content:"\F010A"}.mdi-cannabis::before{content:"\F07A6"}.mdi-cannabis-off::before{content:"\F166E"}.mdi-caps-lock::before{content:"\F0A9B"}.mdi-car::before{content:"\F010B"}.mdi-car-2-plus::before{content:"\F1015"}.mdi-car-3-plus::before{content:"\F1016"}.mdi-car-arrow-left::before{content:"\F13B2"}.mdi-car-arrow-right::before{content:"\F13B3"}.mdi-car-back::before{content:"\F0E1B"}.mdi-car-battery::before{content:"\F010C"}.mdi-car-brake-abs::before{content:"\F0C47"}.mdi-car-brake-alert::before{content:"\F0C48"}.mdi-car-brake-hold::before{content:"\F0D5E"}.mdi-car-brake-parking::before{content:"\F0D5F"}.mdi-car-brake-retarder::before{content:"\F1017"}.mdi-car-child-seat::before{content:"\F0FA3"}.mdi-car-clutch::before{content:"\F1018"}.mdi-car-cog::before{content:"\F13CC"}.mdi-car-connected::before{content:"\F010D"}.mdi-car-convertible::before{content:"\F07A7"}.mdi-car-coolant-level::before{content:"\F1019"}.mdi-car-cruise-control::before{content:"\F0D60"}.mdi-car-defrost-front::before{content:"\F0D61"}.mdi-car-defrost-rear::before{content:"\F0D62"}.mdi-car-door::before{content:"\F0B6B"}.mdi-car-door-lock::before{content:"\F109D"}.mdi-car-electric::before{content:"\F0B6C"}.mdi-car-electric-outline::before{content:"\F15B5"}.mdi-car-emergency::before{content:"\F160F"}.mdi-car-esp::before{content:"\F0C49"}.mdi-car-estate::before{content:"\F07A8"}.mdi-car-hatchback::before{content:"\F07A9"}.mdi-car-info::before{content:"\F11BE"}.mdi-car-key::before{content:"\F0B6D"}.mdi-car-lifted-pickup::before{content:"\F152D"}.mdi-car-light-dimmed::before{content:"\F0C4A"}.mdi-car-light-fog::before{content:"\F0C4B"}.mdi-car-light-high::before{content:"\F0C4C"}.mdi-car-limousine::before{content:"\F08CD"}.mdi-car-multiple::before{content:"\F0B6E"}.mdi-car-off::before{content:"\F0E1C"}.mdi-car-outline::before{content:"\F14ED"}.mdi-car-parking-lights::before{content:"\F0D63"}.mdi-car-pickup::before{content:"\F07AA"}.mdi-car-seat::before{content:"\F0FA4"}.mdi-car-seat-cooler::before{content:"\F0FA5"}.mdi-car-seat-heater::before{content:"\F0FA6"}.mdi-car-settings::before{content:"\F13CD"}.mdi-car-shift-pattern::before{content:"\F0F40"}.mdi-car-side::before{content:"\F07AB"}.mdi-car-sports::before{content:"\F07AC"}.mdi-car-tire-alert::before{content:"\F0C4D"}.mdi-car-traction-control::before{content:"\F0D64"}.mdi-car-turbocharger::before{content:"\F101A"}.mdi-car-wash::before{content:"\F010E"}.mdi-car-windshield::before{content:"\F101B"}.mdi-car-windshield-outline::before{content:"\F101C"}.mdi-carabiner::before{content:"\F14C0"}.mdi-caravan::before{content:"\F07AD"}.mdi-card::before{content:"\F0B6F"}.mdi-card-account-details::before{content:"\F05D2"}.mdi-card-account-details-outline::before{content:"\F0DAB"}.mdi-card-account-details-star::before{content:"\F02A3"}.mdi-card-account-details-star-outline::before{content:"\F06DB"}.mdi-card-account-mail::before{content:"\F018E"}.mdi-card-account-mail-outline::before{content:"\F0E98"}.mdi-card-account-phone::before{content:"\F0E99"}.mdi-card-account-phone-outline::before{content:"\F0E9A"}.mdi-card-bulleted::before{content:"\F0B70"}.mdi-card-bulleted-off::before{content:"\F0B71"}.mdi-card-bulleted-off-outline::before{content:"\F0B72"}.mdi-card-bulleted-outline::before{content:"\F0B73"}.mdi-card-bulleted-settings::before{content:"\F0B74"}.mdi-card-bulleted-settings-outline::before{content:"\F0B75"}.mdi-card-minus::before{content:"\F1600"}.mdi-card-minus-outline::before{content:"\F1601"}.mdi-card-off::before{content:"\F1602"}.mdi-card-off-outline::before{content:"\F1603"}.mdi-card-outline::before{content:"\F0B76"}.mdi-card-plus::before{content:"\F11FF"}.mdi-card-plus-outline::before{content:"\F1200"}.mdi-card-remove::before{content:"\F1604"}.mdi-card-remove-outline::before{content:"\F1605"}.mdi-card-search::before{content:"\F1074"}.mdi-card-search-outline::before{content:"\F1075"}.mdi-card-text::before{content:"\F0B77"}.mdi-card-text-outline::before{content:"\F0B78"}.mdi-cards::before{content:"\F0638"}.mdi-cards-club::before{content:"\F08CE"}.mdi-cards-diamond::before{content:"\F08CF"}.mdi-cards-diamond-outline::before{content:"\F101D"}.mdi-cards-heart::before{content:"\F08D0"}.mdi-cards-outline::before{content:"\F0639"}.mdi-cards-playing-outline::before{content:"\F063A"}.mdi-cards-spade::before{content:"\F08D1"}.mdi-cards-variant::before{content:"\F06C7"}.mdi-carrot::before{content:"\F010F"}.mdi-cart::before{content:"\F0110"}.mdi-cart-arrow-down::before{content:"\F0D66"}.mdi-cart-arrow-right::before{content:"\F0C4E"}.mdi-cart-arrow-up::before{content:"\F0D67"}.mdi-cart-check::before{content:"\F15EA"}.mdi-cart-minus::before{content:"\F0D68"}.mdi-cart-off::before{content:"\F066B"}.mdi-cart-outline::before{content:"\F0111"}.mdi-cart-plus::before{content:"\F0112"}.mdi-cart-remove::before{content:"\F0D69"}.mdi-cart-variant::before{content:"\F15EB"}.mdi-case-sensitive-alt::before{content:"\F0113"}.mdi-cash::before{content:"\F0114"}.mdi-cash-100::before{content:"\F0115"}.mdi-cash-check::before{content:"\F14EE"}.mdi-cash-lock::before{content:"\F14EA"}.mdi-cash-lock-open::before{content:"\F14EB"}.mdi-cash-marker::before{content:"\F0DB8"}.mdi-cash-minus::before{content:"\F1260"}.mdi-cash-multiple::before{content:"\F0116"}.mdi-cash-plus::before{content:"\F1261"}.mdi-cash-refund::before{content:"\F0A9C"}.mdi-cash-register::before{content:"\F0CF4"}.mdi-cash-remove::before{content:"\F1262"}.mdi-cash-usd::before{content:"\F1176"}.mdi-cash-usd-outline::before{content:"\F0117"}.mdi-cassette::before{content:"\F09D4"}.mdi-cast::before{content:"\F0118"}.mdi-cast-audio::before{content:"\F101E"}.mdi-cast-connected::before{content:"\F0119"}.mdi-cast-education::before{content:"\F0E1D"}.mdi-cast-off::before{content:"\F078A"}.mdi-castle::before{content:"\F011A"}.mdi-cat::before{content:"\F011B"}.mdi-cctv::before{content:"\F07AE"}.mdi-ceiling-light::before{content:"\F0769"}.mdi-cellphone::before{content:"\F011C"}.mdi-cellphone-android::before{content:"\F011D"}.mdi-cellphone-arrow-down::before{content:"\F09D5"}.mdi-cellphone-basic::before{content:"\F011E"}.mdi-cellphone-charging::before{content:"\F1397"}.mdi-cellphone-cog::before{content:"\F0951"}.mdi-cellphone-dock::before{content:"\F011F"}.mdi-cellphone-erase::before{content:"\F094D"}.mdi-cellphone-information::before{content:"\F0F41"}.mdi-cellphone-iphone::before{content:"\F0120"}.mdi-cellphone-key::before{content:"\F094E"}.mdi-cellphone-link::before{content:"\F0121"}.mdi-cellphone-link-off::before{content:"\F0122"}.mdi-cellphone-lock::before{content:"\F094F"}.mdi-cellphone-message::before{content:"\F08D3"}.mdi-cellphone-message-off::before{content:"\F10D2"}.mdi-cellphone-nfc::before{content:"\F0E90"}.mdi-cellphone-nfc-off::before{content:"\F12D8"}.mdi-cellphone-off::before{content:"\F0950"}.mdi-cellphone-play::before{content:"\F101F"}.mdi-cellphone-screenshot::before{content:"\F0A35"}.mdi-cellphone-settings::before{content:"\F0123"}.mdi-cellphone-sound::before{content:"\F0952"}.mdi-cellphone-text::before{content:"\F08D2"}.mdi-cellphone-wireless::before{content:"\F0815"}.mdi-celtic-cross::before{content:"\F0CF5"}.mdi-centos::before{content:"\F111A"}.mdi-certificate::before{content:"\F0124"}.mdi-certificate-outline::before{content:"\F1188"}.mdi-chair-rolling::before{content:"\F0F48"}.mdi-chair-school::before{content:"\F0125"}.mdi-charity::before{content:"\F0C4F"}.mdi-chart-arc::before{content:"\F0126"}.mdi-chart-areaspline::before{content:"\F0127"}.mdi-chart-areaspline-variant::before{content:"\F0E91"}.mdi-chart-bar::before{content:"\F0128"}.mdi-chart-bar-stacked::before{content:"\F076A"}.mdi-chart-bell-curve::before{content:"\F0C50"}.mdi-chart-bell-curve-cumulative::before{content:"\F0FA7"}.mdi-chart-box::before{content:"\F154D"}.mdi-chart-box-outline::before{content:"\F154E"}.mdi-chart-box-plus-outline::before{content:"\F154F"}.mdi-chart-bubble::before{content:"\F05E3"}.mdi-chart-donut::before{content:"\F07AF"}.mdi-chart-donut-variant::before{content:"\F07B0"}.mdi-chart-gantt::before{content:"\F066C"}.mdi-chart-histogram::before{content:"\F0129"}.mdi-chart-line::before{content:"\F012A"}.mdi-chart-line-stacked::before{content:"\F076B"}.mdi-chart-line-variant::before{content:"\F07B1"}.mdi-chart-multiline::before{content:"\F08D4"}.mdi-chart-multiple::before{content:"\F1213"}.mdi-chart-pie::before{content:"\F012B"}.mdi-chart-ppf::before{content:"\F1380"}.mdi-chart-sankey::before{content:"\F11DF"}.mdi-chart-sankey-variant::before{content:"\F11E0"}.mdi-chart-scatter-plot::before{content:"\F0E92"}.mdi-chart-scatter-plot-hexbin::before{content:"\F066D"}.mdi-chart-timeline::before{content:"\F066E"}.mdi-chart-timeline-variant::before{content:"\F0E93"}.mdi-chart-timeline-variant-shimmer::before{content:"\F15B6"}.mdi-chart-tree::before{content:"\F0E94"}.mdi-chat::before{content:"\F0B79"}.mdi-chat-alert::before{content:"\F0B7A"}.mdi-chat-alert-outline::before{content:"\F12C9"}.mdi-chat-minus::before{content:"\F1410"}.mdi-chat-minus-outline::before{content:"\F1413"}.mdi-chat-outline::before{content:"\F0EDE"}.mdi-chat-plus::before{content:"\F140F"}.mdi-chat-plus-outline::before{content:"\F1412"}.mdi-chat-processing::before{content:"\F0B7B"}.mdi-chat-processing-outline::before{content:"\F12CA"}.mdi-chat-remove::before{content:"\F1411"}.mdi-chat-remove-outline::before{content:"\F1414"}.mdi-chat-sleep::before{content:"\F12D1"}.mdi-chat-sleep-outline::before{content:"\F12D2"}.mdi-check::before{content:"\F012C"}.mdi-check-all::before{content:"\F012D"}.mdi-check-bold::before{content:"\F0E1E"}.mdi-check-box-multiple-outline::before{content:"\F0C51"}.mdi-check-box-outline::before{content:"\F0C52"}.mdi-check-circle::before{content:"\F05E0"}.mdi-check-circle-outline::before{content:"\F05E1"}.mdi-check-decagram::before{content:"\F0791"}.mdi-check-network::before{content:"\F0C53"}.mdi-check-network-outline::before{content:"\F0C54"}.mdi-check-outline::before{content:"\F0855"}.mdi-check-underline::before{content:"\F0E1F"}.mdi-check-underline-circle::before{content:"\F0E20"}.mdi-check-underline-circle-outline::before{content:"\F0E21"}.mdi-checkbook::before{content:"\F0A9D"}.mdi-checkbox-blank::before{content:"\F012E"}.mdi-checkbox-blank-circle::before{content:"\F012F"}.mdi-checkbox-blank-circle-outline::before{content:"\F0130"}.mdi-checkbox-blank-off::before{content:"\F12EC"}.mdi-checkbox-blank-off-outline::before{content:"\F12ED"}.mdi-checkbox-blank-outline::before{content:"\F0131"}.mdi-checkbox-intermediate::before{content:"\F0856"}.mdi-checkbox-marked::before{content:"\F0132"}.mdi-checkbox-marked-circle::before{content:"\F0133"}.mdi-checkbox-marked-circle-outline::before{content:"\F0134"}.mdi-checkbox-marked-outline::before{content:"\F0135"}.mdi-checkbox-multiple-blank::before{content:"\F0136"}.mdi-checkbox-multiple-blank-circle::before{content:"\F063B"}.mdi-checkbox-multiple-blank-circle-outline::before{content:"\F063C"}.mdi-checkbox-multiple-blank-outline::before{content:"\F0137"}.mdi-checkbox-multiple-marked::before{content:"\F0138"}.mdi-checkbox-multiple-marked-circle::before{content:"\F063D"}.mdi-checkbox-multiple-marked-circle-outline::before{content:"\F063E"}.mdi-checkbox-multiple-marked-outline::before{content:"\F0139"}.mdi-checkerboard::before{content:"\F013A"}.mdi-checkerboard-minus::before{content:"\F1202"}.mdi-checkerboard-plus::before{content:"\F1201"}.mdi-checkerboard-remove::before{content:"\F1203"}.mdi-cheese::before{content:"\F12B9"}.mdi-cheese-off::before{content:"\F13EE"}.mdi-chef-hat::before{content:"\F0B7C"}.mdi-chemical-weapon::before{content:"\F013B"}.mdi-chess-bishop::before{content:"\F085C"}.mdi-chess-king::before{content:"\F0857"}.mdi-chess-knight::before{content:"\F0858"}.mdi-chess-pawn::before{content:"\F0859"}.mdi-chess-queen::before{content:"\F085A"}.mdi-chess-rook::before{content:"\F085B"}.mdi-chevron-double-down::before{content:"\F013C"}.mdi-chevron-double-left::before{content:"\F013D"}.mdi-chevron-double-right::before{content:"\F013E"}.mdi-chevron-double-up::before{content:"\F013F"}.mdi-chevron-down::before{content:"\F0140"}.mdi-chevron-down-box::before{content:"\F09D6"}.mdi-chevron-down-box-outline::before{content:"\F09D7"}.mdi-chevron-down-circle::before{content:"\F0B26"}.mdi-chevron-down-circle-outline::before{content:"\F0B27"}.mdi-chevron-left::before{content:"\F0141"}.mdi-chevron-left-box::before{content:"\F09D8"}.mdi-chevron-left-box-outline::before{content:"\F09D9"}.mdi-chevron-left-circle::before{content:"\F0B28"}.mdi-chevron-left-circle-outline::before{content:"\F0B29"}.mdi-chevron-right::before{content:"\F0142"}.mdi-chevron-right-box::before{content:"\F09DA"}.mdi-chevron-right-box-outline::before{content:"\F09DB"}.mdi-chevron-right-circle::before{content:"\F0B2A"}.mdi-chevron-right-circle-outline::before{content:"\F0B2B"}.mdi-chevron-triple-down::before{content:"\F0DB9"}.mdi-chevron-triple-left::before{content:"\F0DBA"}.mdi-chevron-triple-right::before{content:"\F0DBB"}.mdi-chevron-triple-up::before{content:"\F0DBC"}.mdi-chevron-up::before{content:"\F0143"}.mdi-chevron-up-box::before{content:"\F09DC"}.mdi-chevron-up-box-outline::before{content:"\F09DD"}.mdi-chevron-up-circle::before{content:"\F0B2C"}.mdi-chevron-up-circle-outline::before{content:"\F0B2D"}.mdi-chili-hot::before{content:"\F07B2"}.mdi-chili-medium::before{content:"\F07B3"}.mdi-chili-mild::before{content:"\F07B4"}.mdi-chili-off::before{content:"\F1467"}.mdi-chip::before{content:"\F061A"}.mdi-christianity::before{content:"\F0953"}.mdi-christianity-outline::before{content:"\F0CF6"}.mdi-church::before{content:"\F0144"}.mdi-cigar::before{content:"\F1189"}.mdi-cigar-off::before{content:"\F141B"}.mdi-circle::before{content:"\F0765"}.mdi-circle-box::before{content:"\F15DC"}.mdi-circle-box-outline::before{content:"\F15DD"}.mdi-circle-double::before{content:"\F0E95"}.mdi-circle-edit-outline::before{content:"\F08D5"}.mdi-circle-expand::before{content:"\F0E96"}.mdi-circle-half::before{content:"\F1395"}.mdi-circle-half-full::before{content:"\F1396"}.mdi-circle-medium::before{content:"\F09DE"}.mdi-circle-multiple::before{content:"\F0B38"}.mdi-circle-multiple-outline::before{content:"\F0695"}.mdi-circle-off-outline::before{content:"\F10D3"}.mdi-circle-outline::before{content:"\F0766"}.mdi-circle-slice-1::before{content:"\F0A9E"}.mdi-circle-slice-2::before{content:"\F0A9F"}.mdi-circle-slice-3::before{content:"\F0AA0"}.mdi-circle-slice-4::before{content:"\F0AA1"}.mdi-circle-slice-5::before{content:"\F0AA2"}.mdi-circle-slice-6::before{content:"\F0AA3"}.mdi-circle-slice-7::before{content:"\F0AA4"}.mdi-circle-slice-8::before{content:"\F0AA5"}.mdi-circle-small::before{content:"\F09DF"}.mdi-circular-saw::before{content:"\F0E22"}.mdi-city::before{content:"\F0146"}.mdi-city-variant::before{content:"\F0A36"}.mdi-city-variant-outline::before{content:"\F0A37"}.mdi-clipboard::before{content:"\F0147"}.mdi-clipboard-account::before{content:"\F0148"}.mdi-clipboard-account-outline::before{content:"\F0C55"}.mdi-clipboard-alert::before{content:"\F0149"}.mdi-clipboard-alert-outline::before{content:"\F0CF7"}.mdi-clipboard-arrow-down::before{content:"\F014A"}.mdi-clipboard-arrow-down-outline::before{content:"\F0C56"}.mdi-clipboard-arrow-left::before{content:"\F014B"}.mdi-clipboard-arrow-left-outline::before{content:"\F0CF8"}.mdi-clipboard-arrow-right::before{content:"\F0CF9"}.mdi-clipboard-arrow-right-outline::before{content:"\F0CFA"}.mdi-clipboard-arrow-up::before{content:"\F0C57"}.mdi-clipboard-arrow-up-outline::before{content:"\F0C58"}.mdi-clipboard-check::before{content:"\F014E"}.mdi-clipboard-check-multiple::before{content:"\F1263"}.mdi-clipboard-check-multiple-outline::before{content:"\F1264"}.mdi-clipboard-check-outline::before{content:"\F08A8"}.mdi-clipboard-edit::before{content:"\F14E5"}.mdi-clipboard-edit-outline::before{content:"\F14E6"}.mdi-clipboard-file::before{content:"\F1265"}.mdi-clipboard-file-outline::before{content:"\F1266"}.mdi-clipboard-flow::before{content:"\F06C8"}.mdi-clipboard-flow-outline::before{content:"\F1117"}.mdi-clipboard-list::before{content:"\F10D4"}.mdi-clipboard-list-outline::before{content:"\F10D5"}.mdi-clipboard-minus::before{content:"\F1618"}.mdi-clipboard-minus-outline::before{content:"\F1619"}.mdi-clipboard-multiple::before{content:"\F1267"}.mdi-clipboard-multiple-outline::before{content:"\F1268"}.mdi-clipboard-off::before{content:"\F161A"}.mdi-clipboard-off-outline::before{content:"\F161B"}.mdi-clipboard-outline::before{content:"\F014C"}.mdi-clipboard-play::before{content:"\F0C59"}.mdi-clipboard-play-multiple::before{content:"\F1269"}.mdi-clipboard-play-multiple-outline::before{content:"\F126A"}.mdi-clipboard-play-outline::before{content:"\F0C5A"}.mdi-clipboard-plus::before{content:"\F0751"}.mdi-clipboard-plus-outline::before{content:"\F131F"}.mdi-clipboard-pulse::before{content:"\F085D"}.mdi-clipboard-pulse-outline::before{content:"\F085E"}.mdi-clipboard-remove::before{content:"\F161C"}.mdi-clipboard-remove-outline::before{content:"\F161D"}.mdi-clipboard-search::before{content:"\F161E"}.mdi-clipboard-search-outline::before{content:"\F161F"}.mdi-clipboard-text::before{content:"\F014D"}.mdi-clipboard-text-multiple::before{content:"\F126B"}.mdi-clipboard-text-multiple-outline::before{content:"\F126C"}.mdi-clipboard-text-off::before{content:"\F1620"}.mdi-clipboard-text-off-outline::before{content:"\F1621"}.mdi-clipboard-text-outline::before{content:"\F0A38"}.mdi-clipboard-text-play::before{content:"\F0C5B"}.mdi-clipboard-text-play-outline::before{content:"\F0C5C"}.mdi-clipboard-text-search::before{content:"\F1622"}.mdi-clipboard-text-search-outline::before{content:"\F1623"}.mdi-clippy::before{content:"\F014F"}.mdi-clock::before{content:"\F0954"}.mdi-clock-alert::before{content:"\F0955"}.mdi-clock-alert-outline::before{content:"\F05CE"}.mdi-clock-check::before{content:"\F0FA8"}.mdi-clock-check-outline::before{content:"\F0FA9"}.mdi-clock-digital::before{content:"\F0E97"}.mdi-clock-end::before{content:"\F0151"}.mdi-clock-fast::before{content:"\F0152"}.mdi-clock-in::before{content:"\F0153"}.mdi-clock-out::before{content:"\F0154"}.mdi-clock-outline::before{content:"\F0150"}.mdi-clock-start::before{content:"\F0155"}.mdi-clock-time-eight::before{content:"\F1446"}.mdi-clock-time-eight-outline::before{content:"\F1452"}.mdi-clock-time-eleven::before{content:"\F1449"}.mdi-clock-time-eleven-outline::before{content:"\F1455"}.mdi-clock-time-five::before{content:"\F1443"}.mdi-clock-time-five-outline::before{content:"\F144F"}.mdi-clock-time-four::before{content:"\F1442"}.mdi-clock-time-four-outline::before{content:"\F144E"}.mdi-clock-time-nine::before{content:"\F1447"}.mdi-clock-time-nine-outline::before{content:"\F1453"}.mdi-clock-time-one::before{content:"\F143F"}.mdi-clock-time-one-outline::before{content:"\F144B"}.mdi-clock-time-seven::before{content:"\F1445"}.mdi-clock-time-seven-outline::before{content:"\F1451"}.mdi-clock-time-six::before{content:"\F1444"}.mdi-clock-time-six-outline::before{content:"\F1450"}.mdi-clock-time-ten::before{content:"\F1448"}.mdi-clock-time-ten-outline::before{content:"\F1454"}.mdi-clock-time-three::before{content:"\F1441"}.mdi-clock-time-three-outline::before{content:"\F144D"}.mdi-clock-time-twelve::before{content:"\F144A"}.mdi-clock-time-twelve-outline::before{content:"\F1456"}.mdi-clock-time-two::before{content:"\F1440"}.mdi-clock-time-two-outline::before{content:"\F144C"}.mdi-close::before{content:"\F0156"}.mdi-close-box::before{content:"\F0157"}.mdi-close-box-multiple::before{content:"\F0C5D"}.mdi-close-box-multiple-outline::before{content:"\F0C5E"}.mdi-close-box-outline::before{content:"\F0158"}.mdi-close-circle::before{content:"\F0159"}.mdi-close-circle-multiple::before{content:"\F062A"}.mdi-close-circle-multiple-outline::before{content:"\F0883"}.mdi-close-circle-outline::before{content:"\F015A"}.mdi-close-network::before{content:"\F015B"}.mdi-close-network-outline::before{content:"\F0C5F"}.mdi-close-octagon::before{content:"\F015C"}.mdi-close-octagon-outline::before{content:"\F015D"}.mdi-close-outline::before{content:"\F06C9"}.mdi-close-thick::before{content:"\F1398"}.mdi-closed-caption::before{content:"\F015E"}.mdi-closed-caption-outline::before{content:"\F0DBD"}.mdi-cloud::before{content:"\F015F"}.mdi-cloud-alert::before{content:"\F09E0"}.mdi-cloud-braces::before{content:"\F07B5"}.mdi-cloud-check::before{content:"\F0160"}.mdi-cloud-check-outline::before{content:"\F12CC"}.mdi-cloud-circle::before{content:"\F0161"}.mdi-cloud-download::before{content:"\F0162"}.mdi-cloud-download-outline::before{content:"\F0B7D"}.mdi-cloud-lock::before{content:"\F11F1"}.mdi-cloud-lock-outline::before{content:"\F11F2"}.mdi-cloud-off-outline::before{content:"\F0164"}.mdi-cloud-outline::before{content:"\F0163"}.mdi-cloud-print::before{content:"\F0165"}.mdi-cloud-print-outline::before{content:"\F0166"}.mdi-cloud-question::before{content:"\F0A39"}.mdi-cloud-refresh::before{content:"\F052A"}.mdi-cloud-search::before{content:"\F0956"}.mdi-cloud-search-outline::before{content:"\F0957"}.mdi-cloud-sync::before{content:"\F063F"}.mdi-cloud-sync-outline::before{content:"\F12D6"}.mdi-cloud-tags::before{content:"\F07B6"}.mdi-cloud-upload::before{content:"\F0167"}.mdi-cloud-upload-outline::before{content:"\F0B7E"}.mdi-clover::before{content:"\F0816"}.mdi-coach-lamp::before{content:"\F1020"}.mdi-coat-rack::before{content:"\F109E"}.mdi-code-array::before{content:"\F0168"}.mdi-code-braces::before{content:"\F0169"}.mdi-code-braces-box::before{content:"\F10D6"}.mdi-code-brackets::before{content:"\F016A"}.mdi-code-equal::before{content:"\F016B"}.mdi-code-greater-than::before{content:"\F016C"}.mdi-code-greater-than-or-equal::before{content:"\F016D"}.mdi-code-json::before{content:"\F0626"}.mdi-code-less-than::before{content:"\F016E"}.mdi-code-less-than-or-equal::before{content:"\F016F"}.mdi-code-not-equal::before{content:"\F0170"}.mdi-code-not-equal-variant::before{content:"\F0171"}.mdi-code-parentheses::before{content:"\F0172"}.mdi-code-parentheses-box::before{content:"\F10D7"}.mdi-code-string::before{content:"\F0173"}.mdi-code-tags::before{content:"\F0174"}.mdi-code-tags-check::before{content:"\F0694"}.mdi-codepen::before{content:"\F0175"}.mdi-coffee::before{content:"\F0176"}.mdi-coffee-maker::before{content:"\F109F"}.mdi-coffee-off::before{content:"\F0FAA"}.mdi-coffee-off-outline::before{content:"\F0FAB"}.mdi-coffee-outline::before{content:"\F06CA"}.mdi-coffee-to-go::before{content:"\F0177"}.mdi-coffee-to-go-outline::before{content:"\F130E"}.mdi-coffin::before{content:"\F0B7F"}.mdi-cog::before{content:"\F0493"}.mdi-cog-box::before{content:"\F0494"}.mdi-cog-clockwise::before{content:"\F11DD"}.mdi-cog-counterclockwise::before{content:"\F11DE"}.mdi-cog-off::before{content:"\F13CE"}.mdi-cog-off-outline::before{content:"\F13CF"}.mdi-cog-outline::before{content:"\F08BB"}.mdi-cog-refresh::before{content:"\F145E"}.mdi-cog-refresh-outline::before{content:"\F145F"}.mdi-cog-sync::before{content:"\F1460"}.mdi-cog-sync-outline::before{content:"\F1461"}.mdi-cog-transfer::before{content:"\F105B"}.mdi-cog-transfer-outline::before{content:"\F105C"}.mdi-cogs::before{content:"\F08D6"}.mdi-collage::before{content:"\F0640"}.mdi-collapse-all::before{content:"\F0AA6"}.mdi-collapse-all-outline::before{content:"\F0AA7"}.mdi-color-helper::before{content:"\F0179"}.mdi-comma::before{content:"\F0E23"}.mdi-comma-box::before{content:"\F0E2B"}.mdi-comma-box-outline::before{content:"\F0E24"}.mdi-comma-circle::before{content:"\F0E25"}.mdi-comma-circle-outline::before{content:"\F0E26"}.mdi-comment::before{content:"\F017A"}.mdi-comment-account::before{content:"\F017B"}.mdi-comment-account-outline::before{content:"\F017C"}.mdi-comment-alert::before{content:"\F017D"}.mdi-comment-alert-outline::before{content:"\F017E"}.mdi-comment-arrow-left::before{content:"\F09E1"}.mdi-comment-arrow-left-outline::before{content:"\F09E2"}.mdi-comment-arrow-right::before{content:"\F09E3"}.mdi-comment-arrow-right-outline::before{content:"\F09E4"}.mdi-comment-bookmark::before{content:"\F15AE"}.mdi-comment-bookmark-outline::before{content:"\F15AF"}.mdi-comment-check::before{content:"\F017F"}.mdi-comment-check-outline::before{content:"\F0180"}.mdi-comment-edit::before{content:"\F11BF"}.mdi-comment-edit-outline::before{content:"\F12C4"}.mdi-comment-eye::before{content:"\F0A3A"}.mdi-comment-eye-outline::before{content:"\F0A3B"}.mdi-comment-flash::before{content:"\F15B0"}.mdi-comment-flash-outline::before{content:"\F15B1"}.mdi-comment-minus::before{content:"\F15DF"}.mdi-comment-minus-outline::before{content:"\F15E0"}.mdi-comment-multiple::before{content:"\F085F"}.mdi-comment-multiple-outline::before{content:"\F0181"}.mdi-comment-off::before{content:"\F15E1"}.mdi-comment-off-outline::before{content:"\F15E2"}.mdi-comment-outline::before{content:"\F0182"}.mdi-comment-plus::before{content:"\F09E5"}.mdi-comment-plus-outline::before{content:"\F0183"}.mdi-comment-processing::before{content:"\F0184"}.mdi-comment-processing-outline::before{content:"\F0185"}.mdi-comment-question::before{content:"\F0817"}.mdi-comment-question-outline::before{content:"\F0186"}.mdi-comment-quote::before{content:"\F1021"}.mdi-comment-quote-outline::before{content:"\F1022"}.mdi-comment-remove::before{content:"\F05DE"}.mdi-comment-remove-outline::before{content:"\F0187"}.mdi-comment-search::before{content:"\F0A3C"}.mdi-comment-search-outline::before{content:"\F0A3D"}.mdi-comment-text::before{content:"\F0188"}.mdi-comment-text-multiple::before{content:"\F0860"}.mdi-comment-text-multiple-outline::before{content:"\F0861"}.mdi-comment-text-outline::before{content:"\F0189"}.mdi-compare::before{content:"\F018A"}.mdi-compare-horizontal::before{content:"\F1492"}.mdi-compare-vertical::before{content:"\F1493"}.mdi-compass::before{content:"\F018B"}.mdi-compass-off::before{content:"\F0B80"}.mdi-compass-off-outline::before{content:"\F0B81"}.mdi-compass-outline::before{content:"\F018C"}.mdi-compass-rose::before{content:"\F1382"}.mdi-concourse-ci::before{content:"\F10A0"}.mdi-connection::before{content:"\F1616"}.mdi-console::before{content:"\F018D"}.mdi-console-line::before{content:"\F07B7"}.mdi-console-network::before{content:"\F08A9"}.mdi-console-network-outline::before{content:"\F0C60"}.mdi-consolidate::before{content:"\F10D8"}.mdi-contactless-payment::before{content:"\F0D6A"}.mdi-contactless-payment-circle::before{content:"\F0321"}.mdi-contactless-payment-circle-outline::before{content:"\F0408"}.mdi-contacts::before{content:"\F06CB"}.mdi-contacts-outline::before{content:"\F05B8"}.mdi-contain::before{content:"\F0A3E"}.mdi-contain-end::before{content:"\F0A3F"}.mdi-contain-start::before{content:"\F0A40"}.mdi-content-copy::before{content:"\F018F"}.mdi-content-cut::before{content:"\F0190"}.mdi-content-duplicate::before{content:"\F0191"}.mdi-content-paste::before{content:"\F0192"}.mdi-content-save::before{content:"\F0193"}.mdi-content-save-alert::before{content:"\F0F42"}.mdi-content-save-alert-outline::before{content:"\F0F43"}.mdi-content-save-all::before{content:"\F0194"}.mdi-content-save-all-outline::before{content:"\F0F44"}.mdi-content-save-cog::before{content:"\F145B"}.mdi-content-save-cog-outline::before{content:"\F145C"}.mdi-content-save-edit::before{content:"\F0CFB"}.mdi-content-save-edit-outline::before{content:"\F0CFC"}.mdi-content-save-move::before{content:"\F0E27"}.mdi-content-save-move-outline::before{content:"\F0E28"}.mdi-content-save-off::before{content:"\F1643"}.mdi-content-save-off-outline::before{content:"\F1644"}.mdi-content-save-outline::before{content:"\F0818"}.mdi-content-save-settings::before{content:"\F061B"}.mdi-content-save-settings-outline::before{content:"\F0B2E"}.mdi-contrast::before{content:"\F0195"}.mdi-contrast-box::before{content:"\F0196"}.mdi-contrast-circle::before{content:"\F0197"}.mdi-controller-classic::before{content:"\F0B82"}.mdi-controller-classic-outline::before{content:"\F0B83"}.mdi-cookie::before{content:"\F0198"}.mdi-cookie-alert::before{content:"\F16D0"}.mdi-cookie-alert-outline::before{content:"\F16D1"}.mdi-cookie-check::before{content:"\F16D2"}.mdi-cookie-check-outline::before{content:"\F16D3"}.mdi-cookie-cog::before{content:"\F16D4"}.mdi-cookie-cog-outline::before{content:"\F16D5"}.mdi-cookie-minus::before{content:"\F16DA"}.mdi-cookie-minus-outline::before{content:"\F16DB"}.mdi-cookie-outline::before{content:"\F16DE"}.mdi-cookie-plus::before{content:"\F16D6"}.mdi-cookie-plus-outline::before{content:"\F16D7"}.mdi-cookie-remove::before{content:"\F16D8"}.mdi-cookie-remove-outline::before{content:"\F16D9"}.mdi-cookie-settings::before{content:"\F16DC"}.mdi-cookie-settings-outline::before{content:"\F16DD"}.mdi-coolant-temperature::before{content:"\F03C8"}.mdi-copyright::before{content:"\F05E6"}.mdi-cordova::before{content:"\F0958"}.mdi-corn::before{content:"\F07B8"}.mdi-corn-off::before{content:"\F13EF"}.mdi-cosine-wave::before{content:"\F1479"}.mdi-counter::before{content:"\F0199"}.mdi-cow::before{content:"\F019A"}.mdi-cpu-32-bit::before{content:"\F0EDF"}.mdi-cpu-64-bit::before{content:"\F0EE0"}.mdi-crane::before{content:"\F0862"}.mdi-creation::before{content:"\F0674"}.mdi-creative-commons::before{content:"\F0D6B"}.mdi-credit-card::before{content:"\F0FEF"}.mdi-credit-card-check::before{content:"\F13D0"}.mdi-credit-card-check-outline::before{content:"\F13D1"}.mdi-credit-card-clock::before{content:"\F0EE1"}.mdi-credit-card-clock-outline::before{content:"\F0EE2"}.mdi-credit-card-marker::before{content:"\F06A8"}.mdi-credit-card-marker-outline::before{content:"\F0DBE"}.mdi-credit-card-minus::before{content:"\F0FAC"}.mdi-credit-card-minus-outline::before{content:"\F0FAD"}.mdi-credit-card-multiple::before{content:"\F0FF0"}.mdi-credit-card-multiple-outline::before{content:"\F019C"}.mdi-credit-card-off::before{content:"\F0FF1"}.mdi-credit-card-off-outline::before{content:"\F05E4"}.mdi-credit-card-outline::before{content:"\F019B"}.mdi-credit-card-plus::before{content:"\F0FF2"}.mdi-credit-card-plus-outline::before{content:"\F0676"}.mdi-credit-card-refresh::before{content:"\F1645"}.mdi-credit-card-refresh-outline::before{content:"\F1646"}.mdi-credit-card-refund::before{content:"\F0FF3"}.mdi-credit-card-refund-outline::before{content:"\F0AA8"}.mdi-credit-card-remove::before{content:"\F0FAE"}.mdi-credit-card-remove-outline::before{content:"\F0FAF"}.mdi-credit-card-scan::before{content:"\F0FF4"}.mdi-credit-card-scan-outline::before{content:"\F019D"}.mdi-credit-card-search::before{content:"\F1647"}.mdi-credit-card-search-outline::before{content:"\F1648"}.mdi-credit-card-settings::before{content:"\F0FF5"}.mdi-credit-card-settings-outline::before{content:"\F08D7"}.mdi-credit-card-sync::before{content:"\F1649"}.mdi-credit-card-sync-outline::before{content:"\F164A"}.mdi-credit-card-wireless::before{content:"\F0802"}.mdi-credit-card-wireless-off::before{content:"\F057A"}.mdi-credit-card-wireless-off-outline::before{content:"\F057B"}.mdi-credit-card-wireless-outline::before{content:"\F0D6C"}.mdi-cricket::before{content:"\F0D6D"}.mdi-crop::before{content:"\F019E"}.mdi-crop-free::before{content:"\F019F"}.mdi-crop-landscape::before{content:"\F01A0"}.mdi-crop-portrait::before{content:"\F01A1"}.mdi-crop-rotate::before{content:"\F0696"}.mdi-crop-square::before{content:"\F01A2"}.mdi-crosshairs::before{content:"\F01A3"}.mdi-crosshairs-gps::before{content:"\F01A4"}.mdi-crosshairs-off::before{content:"\F0F45"}.mdi-crosshairs-question::before{content:"\F1136"}.mdi-crown::before{content:"\F01A5"}.mdi-crown-outline::before{content:"\F11D0"}.mdi-cryengine::before{content:"\F0959"}.mdi-crystal-ball::before{content:"\F0B2F"}.mdi-cube::before{content:"\F01A6"}.mdi-cube-off::before{content:"\F141C"}.mdi-cube-off-outline::before{content:"\F141D"}.mdi-cube-outline::before{content:"\F01A7"}.mdi-cube-scan::before{content:"\F0B84"}.mdi-cube-send::before{content:"\F01A8"}.mdi-cube-unfolded::before{content:"\F01A9"}.mdi-cup::before{content:"\F01AA"}.mdi-cup-off::before{content:"\F05E5"}.mdi-cup-off-outline::before{content:"\F137D"}.mdi-cup-outline::before{content:"\F130F"}.mdi-cup-water::before{content:"\F01AB"}.mdi-cupboard::before{content:"\F0F46"}.mdi-cupboard-outline::before{content:"\F0F47"}.mdi-cupcake::before{content:"\F095A"}.mdi-curling::before{content:"\F0863"}.mdi-currency-bdt::before{content:"\F0864"}.mdi-currency-brl::before{content:"\F0B85"}.mdi-currency-btc::before{content:"\F01AC"}.mdi-currency-cny::before{content:"\F07BA"}.mdi-currency-eth::before{content:"\F07BB"}.mdi-currency-eur::before{content:"\F01AD"}.mdi-currency-eur-off::before{content:"\F1315"}.mdi-currency-gbp::before{content:"\F01AE"}.mdi-currency-ils::before{content:"\F0C61"}.mdi-currency-inr::before{content:"\F01AF"}.mdi-currency-jpy::before{content:"\F07BC"}.mdi-currency-krw::before{content:"\F07BD"}.mdi-currency-kzt::before{content:"\F0865"}.mdi-currency-mnt::before{content:"\F1512"}.mdi-currency-ngn::before{content:"\F01B0"}.mdi-currency-php::before{content:"\F09E6"}.mdi-currency-rial::before{content:"\F0E9C"}.mdi-currency-rub::before{content:"\F01B1"}.mdi-currency-sign::before{content:"\F07BE"}.mdi-currency-try::before{content:"\F01B2"}.mdi-currency-twd::before{content:"\F07BF"}.mdi-currency-usd::before{content:"\F01C1"}.mdi-currency-usd-circle::before{content:"\F116B"}.mdi-currency-usd-circle-outline::before{content:"\F0178"}.mdi-currency-usd-off::before{content:"\F067A"}.mdi-current-ac::before{content:"\F1480"}.mdi-current-dc::before{content:"\F095C"}.mdi-cursor-default::before{content:"\F01C0"}.mdi-cursor-default-click::before{content:"\F0CFD"}.mdi-cursor-default-click-outline::before{content:"\F0CFE"}.mdi-cursor-default-gesture::before{content:"\F1127"}.mdi-cursor-default-gesture-outline::before{content:"\F1128"}.mdi-cursor-default-outline::before{content:"\F01BF"}.mdi-cursor-move::before{content:"\F01BE"}.mdi-cursor-pointer::before{content:"\F01BD"}.mdi-cursor-text::before{content:"\F05E7"}.mdi-dance-ballroom::before{content:"\F15FB"}.mdi-dance-pole::before{content:"\F1578"}.mdi-data-matrix::before{content:"\F153C"}.mdi-data-matrix-edit::before{content:"\F153D"}.mdi-data-matrix-minus::before{content:"\F153E"}.mdi-data-matrix-plus::before{content:"\F153F"}.mdi-data-matrix-remove::before{content:"\F1540"}.mdi-data-matrix-scan::before{content:"\F1541"}.mdi-database::before{content:"\F01BC"}.mdi-database-alert::before{content:"\F163A"}.mdi-database-alert-outline::before{content:"\F1624"}.mdi-database-arrow-down::before{content:"\F163B"}.mdi-database-arrow-down-outline::before{content:"\F1625"}.mdi-database-arrow-left::before{content:"\F163C"}.mdi-database-arrow-left-outline::before{content:"\F1626"}.mdi-database-arrow-right::before{content:"\F163D"}.mdi-database-arrow-right-outline::before{content:"\F1627"}.mdi-database-arrow-up::before{content:"\F163E"}.mdi-database-arrow-up-outline::before{content:"\F1628"}.mdi-database-check::before{content:"\F0AA9"}.mdi-database-check-outline::before{content:"\F1629"}.mdi-database-clock::before{content:"\F163F"}.mdi-database-clock-outline::before{content:"\F162A"}.mdi-database-cog::before{content:"\F164B"}.mdi-database-cog-outline::before{content:"\F164C"}.mdi-database-edit::before{content:"\F0B86"}.mdi-database-edit-outline::before{content:"\F162B"}.mdi-database-export::before{content:"\F095E"}.mdi-database-export-outline::before{content:"\F162C"}.mdi-database-import::before{content:"\F095D"}.mdi-database-import-outline::before{content:"\F162D"}.mdi-database-lock::before{content:"\F0AAA"}.mdi-database-lock-outline::before{content:"\F162E"}.mdi-database-marker::before{content:"\F12F6"}.mdi-database-marker-outline::before{content:"\F162F"}.mdi-database-minus::before{content:"\F01BB"}.mdi-database-minus-outline::before{content:"\F1630"}.mdi-database-off::before{content:"\F1640"}.mdi-database-off-outline::before{content:"\F1631"}.mdi-database-outline::before{content:"\F1632"}.mdi-database-plus::before{content:"\F01BA"}.mdi-database-plus-outline::before{content:"\F1633"}.mdi-database-refresh::before{content:"\F05C2"}.mdi-database-refresh-outline::before{content:"\F1634"}.mdi-database-remove::before{content:"\F0D00"}.mdi-database-remove-outline::before{content:"\F1635"}.mdi-database-search::before{content:"\F0866"}.mdi-database-search-outline::before{content:"\F1636"}.mdi-database-settings::before{content:"\F0D01"}.mdi-database-settings-outline::before{content:"\F1637"}.mdi-database-sync::before{content:"\F0CFF"}.mdi-database-sync-outline::before{content:"\F1638"}.mdi-death-star::before{content:"\F08D8"}.mdi-death-star-variant::before{content:"\F08D9"}.mdi-deathly-hallows::before{content:"\F0B87"}.mdi-debian::before{content:"\F08DA"}.mdi-debug-step-into::before{content:"\F01B9"}.mdi-debug-step-out::before{content:"\F01B8"}.mdi-debug-step-over::before{content:"\F01B7"}.mdi-decagram::before{content:"\F076C"}.mdi-decagram-outline::before{content:"\F076D"}.mdi-decimal::before{content:"\F10A1"}.mdi-decimal-comma::before{content:"\F10A2"}.mdi-decimal-comma-decrease::before{content:"\F10A3"}.mdi-decimal-comma-increase::before{content:"\F10A4"}.mdi-decimal-decrease::before{content:"\F01B6"}.mdi-decimal-increase::before{content:"\F01B5"}.mdi-delete::before{content:"\F01B4"}.mdi-delete-alert::before{content:"\F10A5"}.mdi-delete-alert-outline::before{content:"\F10A6"}.mdi-delete-circle::before{content:"\F0683"}.mdi-delete-circle-outline::before{content:"\F0B88"}.mdi-delete-clock::before{content:"\F1556"}.mdi-delete-clock-outline::before{content:"\F1557"}.mdi-delete-empty::before{content:"\F06CC"}.mdi-delete-empty-outline::before{content:"\F0E9D"}.mdi-delete-forever::before{content:"\F05E8"}.mdi-delete-forever-outline::before{content:"\F0B89"}.mdi-delete-off::before{content:"\F10A7"}.mdi-delete-off-outline::before{content:"\F10A8"}.mdi-delete-outline::before{content:"\F09E7"}.mdi-delete-restore::before{content:"\F0819"}.mdi-delete-sweep::before{content:"\F05E9"}.mdi-delete-sweep-outline::before{content:"\F0C62"}.mdi-delete-variant::before{content:"\F01B3"}.mdi-delta::before{content:"\F01C2"}.mdi-desk::before{content:"\F1239"}.mdi-desk-lamp::before{content:"\F095F"}.mdi-deskphone::before{content:"\F01C3"}.mdi-desktop-classic::before{content:"\F07C0"}.mdi-desktop-mac::before{content:"\F01C4"}.mdi-desktop-mac-dashboard::before{content:"\F09E8"}.mdi-desktop-tower::before{content:"\F01C5"}.mdi-desktop-tower-monitor::before{content:"\F0AAB"}.mdi-details::before{content:"\F01C6"}.mdi-dev-to::before{content:"\F0D6E"}.mdi-developer-board::before{content:"\F0697"}.mdi-deviantart::before{content:"\F01C7"}.mdi-devices::before{content:"\F0FB0"}.mdi-diabetes::before{content:"\F1126"}.mdi-dialpad::before{content:"\F061C"}.mdi-diameter::before{content:"\F0C63"}.mdi-diameter-outline::before{content:"\F0C64"}.mdi-diameter-variant::before{content:"\F0C65"}.mdi-diamond::before{content:"\F0B8A"}.mdi-diamond-outline::before{content:"\F0B8B"}.mdi-diamond-stone::before{content:"\F01C8"}.mdi-dice-1::before{content:"\F01CA"}.mdi-dice-1-outline::before{content:"\F114A"}.mdi-dice-2::before{content:"\F01CB"}.mdi-dice-2-outline::before{content:"\F114B"}.mdi-dice-3::before{content:"\F01CC"}.mdi-dice-3-outline::before{content:"\F114C"}.mdi-dice-4::before{content:"\F01CD"}.mdi-dice-4-outline::before{content:"\F114D"}.mdi-dice-5::before{content:"\F01CE"}.mdi-dice-5-outline::before{content:"\F114E"}.mdi-dice-6::before{content:"\F01CF"}.mdi-dice-6-outline::before{content:"\F114F"}.mdi-dice-d10::before{content:"\F1153"}.mdi-dice-d10-outline::before{content:"\F076F"}.mdi-dice-d12::before{content:"\F1154"}.mdi-dice-d12-outline::before{content:"\F0867"}.mdi-dice-d20::before{content:"\F1155"}.mdi-dice-d20-outline::before{content:"\F05EA"}.mdi-dice-d4::before{content:"\F1150"}.mdi-dice-d4-outline::before{content:"\F05EB"}.mdi-dice-d6::before{content:"\F1151"}.mdi-dice-d6-outline::before{content:"\F05ED"}.mdi-dice-d8::before{content:"\F1152"}.mdi-dice-d8-outline::before{content:"\F05EC"}.mdi-dice-multiple::before{content:"\F076E"}.mdi-dice-multiple-outline::before{content:"\F1156"}.mdi-digital-ocean::before{content:"\F1237"}.mdi-dip-switch::before{content:"\F07C1"}.mdi-directions::before{content:"\F01D0"}.mdi-directions-fork::before{content:"\F0641"}.mdi-disc::before{content:"\F05EE"}.mdi-disc-alert::before{content:"\F01D1"}.mdi-disc-player::before{content:"\F0960"}.mdi-discord::before{content:"\F066F"}.mdi-dishwasher::before{content:"\F0AAC"}.mdi-dishwasher-alert::before{content:"\F11B8"}.mdi-dishwasher-off::before{content:"\F11B9"}.mdi-disqus::before{content:"\F01D2"}.mdi-distribute-horizontal-center::before{content:"\F11C9"}.mdi-distribute-horizontal-left::before{content:"\F11C8"}.mdi-distribute-horizontal-right::before{content:"\F11CA"}.mdi-distribute-vertical-bottom::before{content:"\F11CB"}.mdi-distribute-vertical-center::before{content:"\F11CC"}.mdi-distribute-vertical-top::before{content:"\F11CD"}.mdi-diving-flippers::before{content:"\F0DBF"}.mdi-diving-helmet::before{content:"\F0DC0"}.mdi-diving-scuba::before{content:"\F0DC1"}.mdi-diving-scuba-flag::before{content:"\F0DC2"}.mdi-diving-scuba-tank::before{content:"\F0DC3"}.mdi-diving-scuba-tank-multiple::before{content:"\F0DC4"}.mdi-diving-snorkel::before{content:"\F0DC5"}.mdi-division::before{content:"\F01D4"}.mdi-division-box::before{content:"\F01D5"}.mdi-dlna::before{content:"\F0A41"}.mdi-dna::before{content:"\F0684"}.mdi-dns::before{content:"\F01D6"}.mdi-dns-outline::before{content:"\F0B8C"}.mdi-do-not-disturb::before{content:"\F0698"}.mdi-do-not-disturb-off::before{content:"\F0699"}.mdi-dock-bottom::before{content:"\F10A9"}.mdi-dock-left::before{content:"\F10AA"}.mdi-dock-right::before{content:"\F10AB"}.mdi-dock-top::before{content:"\F1513"}.mdi-dock-window::before{content:"\F10AC"}.mdi-docker::before{content:"\F0868"}.mdi-doctor::before{content:"\F0A42"}.mdi-dog::before{content:"\F0A43"}.mdi-dog-service::before{content:"\F0AAD"}.mdi-dog-side::before{content:"\F0A44"}.mdi-dolby::before{content:"\F06B3"}.mdi-dolly::before{content:"\F0E9E"}.mdi-domain::before{content:"\F01D7"}.mdi-domain-off::before{content:"\F0D6F"}.mdi-domain-plus::before{content:"\F10AD"}.mdi-domain-remove::before{content:"\F10AE"}.mdi-dome-light::before{content:"\F141E"}.mdi-domino-mask::before{content:"\F1023"}.mdi-donkey::before{content:"\F07C2"}.mdi-door::before{content:"\F081A"}.mdi-door-closed::before{content:"\F081B"}.mdi-door-closed-lock::before{content:"\F10AF"}.mdi-door-open::before{content:"\F081C"}.mdi-doorbell::before{content:"\F12E6"}.mdi-doorbell-video::before{content:"\F0869"}.mdi-dot-net::before{content:"\F0AAE"}.mdi-dots-grid::before{content:"\F15FC"}.mdi-dots-hexagon::before{content:"\F15FF"}.mdi-dots-horizontal::before{content:"\F01D8"}.mdi-dots-horizontal-circle::before{content:"\F07C3"}.mdi-dots-horizontal-circle-outline::before{content:"\F0B8D"}.mdi-dots-square::before{content:"\F15FD"}.mdi-dots-triangle::before{content:"\F15FE"}.mdi-dots-vertical::before{content:"\F01D9"}.mdi-dots-vertical-circle::before{content:"\F07C4"}.mdi-dots-vertical-circle-outline::before{content:"\F0B8E"}.mdi-douban::before{content:"\F069A"}.mdi-download::before{content:"\F01DA"}.mdi-download-box::before{content:"\F1462"}.mdi-download-box-outline::before{content:"\F1463"}.mdi-download-circle::before{content:"\F1464"}.mdi-download-circle-outline::before{content:"\F1465"}.mdi-download-lock::before{content:"\F1320"}.mdi-download-lock-outline::before{content:"\F1321"}.mdi-download-multiple::before{content:"\F09E9"}.mdi-download-network::before{content:"\F06F4"}.mdi-download-network-outline::before{content:"\F0C66"}.mdi-download-off::before{content:"\F10B0"}.mdi-download-off-outline::before{content:"\F10B1"}.mdi-download-outline::before{content:"\F0B8F"}.mdi-drag::before{content:"\F01DB"}.mdi-drag-horizontal::before{content:"\F01DC"}.mdi-drag-horizontal-variant::before{content:"\F12F0"}.mdi-drag-variant::before{content:"\F0B90"}.mdi-drag-vertical::before{content:"\F01DD"}.mdi-drag-vertical-variant::before{content:"\F12F1"}.mdi-drama-masks::before{content:"\F0D02"}.mdi-draw::before{content:"\F0F49"}.mdi-drawing::before{content:"\F01DE"}.mdi-drawing-box::before{content:"\F01DF"}.mdi-dresser::before{content:"\F0F4A"}.mdi-dresser-outline::before{content:"\F0F4B"}.mdi-drone::before{content:"\F01E2"}.mdi-dropbox::before{content:"\F01E3"}.mdi-drupal::before{content:"\F01E4"}.mdi-duck::before{content:"\F01E5"}.mdi-dumbbell::before{content:"\F01E6"}.mdi-dump-truck::before{content:"\F0C67"}.mdi-ear-hearing::before{content:"\F07C5"}.mdi-ear-hearing-off::before{content:"\F0A45"}.mdi-earth::before{content:"\F01E7"}.mdi-earth-arrow-right::before{content:"\F1311"}.mdi-earth-box::before{content:"\F06CD"}.mdi-earth-box-minus::before{content:"\F1407"}.mdi-earth-box-off::before{content:"\F06CE"}.mdi-earth-box-plus::before{content:"\F1406"}.mdi-earth-box-remove::before{content:"\F1408"}.mdi-earth-minus::before{content:"\F1404"}.mdi-earth-off::before{content:"\F01E8"}.mdi-earth-plus::before{content:"\F1403"}.mdi-earth-remove::before{content:"\F1405"}.mdi-egg::before{content:"\F0AAF"}.mdi-egg-easter::before{content:"\F0AB0"}.mdi-egg-off::before{content:"\F13F0"}.mdi-egg-off-outline::before{content:"\F13F1"}.mdi-egg-outline::before{content:"\F13F2"}.mdi-eiffel-tower::before{content:"\F156B"}.mdi-eight-track::before{content:"\F09EA"}.mdi-eject::before{content:"\F01EA"}.mdi-eject-outline::before{content:"\F0B91"}.mdi-electric-switch::before{content:"\F0E9F"}.mdi-electric-switch-closed::before{content:"\F10D9"}.mdi-electron-framework::before{content:"\F1024"}.mdi-elephant::before{content:"\F07C6"}.mdi-elevation-decline::before{content:"\F01EB"}.mdi-elevation-rise::before{content:"\F01EC"}.mdi-elevator::before{content:"\F01ED"}.mdi-elevator-down::before{content:"\F12C2"}.mdi-elevator-passenger::before{content:"\F1381"}.mdi-elevator-up::before{content:"\F12C1"}.mdi-ellipse::before{content:"\F0EA0"}.mdi-ellipse-outline::before{content:"\F0EA1"}.mdi-email::before{content:"\F01EE"}.mdi-email-alert::before{content:"\F06CF"}.mdi-email-alert-outline::before{content:"\F0D42"}.mdi-email-box::before{content:"\F0D03"}.mdi-email-check::before{content:"\F0AB1"}.mdi-email-check-outline::before{content:"\F0AB2"}.mdi-email-edit::before{content:"\F0EE3"}.mdi-email-edit-outline::before{content:"\F0EE4"}.mdi-email-lock::before{content:"\F01F1"}.mdi-email-mark-as-unread::before{content:"\F0B92"}.mdi-email-minus::before{content:"\F0EE5"}.mdi-email-minus-outline::before{content:"\F0EE6"}.mdi-email-multiple::before{content:"\F0EE7"}.mdi-email-multiple-outline::before{content:"\F0EE8"}.mdi-email-newsletter::before{content:"\F0FB1"}.mdi-email-off::before{content:"\F13E3"}.mdi-email-off-outline::before{content:"\F13E4"}.mdi-email-open::before{content:"\F01EF"}.mdi-email-open-multiple::before{content:"\F0EE9"}.mdi-email-open-multiple-outline::before{content:"\F0EEA"}.mdi-email-open-outline::before{content:"\F05EF"}.mdi-email-outline::before{content:"\F01F0"}.mdi-email-plus::before{content:"\F09EB"}.mdi-email-plus-outline::before{content:"\F09EC"}.mdi-email-receive::before{content:"\F10DA"}.mdi-email-receive-outline::before{content:"\F10DB"}.mdi-email-remove::before{content:"\F1661"}.mdi-email-remove-outline::before{content:"\F1662"}.mdi-email-search::before{content:"\F0961"}.mdi-email-search-outline::before{content:"\F0962"}.mdi-email-send::before{content:"\F10DC"}.mdi-email-send-outline::before{content:"\F10DD"}.mdi-email-sync::before{content:"\F12C7"}.mdi-email-sync-outline::before{content:"\F12C8"}.mdi-email-variant::before{content:"\F05F0"}.mdi-ember::before{content:"\F0B30"}.mdi-emby::before{content:"\F06B4"}.mdi-emoticon::before{content:"\F0C68"}.mdi-emoticon-angry::before{content:"\F0C69"}.mdi-emoticon-angry-outline::before{content:"\F0C6A"}.mdi-emoticon-confused::before{content:"\F10DE"}.mdi-emoticon-confused-outline::before{content:"\F10DF"}.mdi-emoticon-cool::before{content:"\F0C6B"}.mdi-emoticon-cool-outline::before{content:"\F01F3"}.mdi-emoticon-cry::before{content:"\F0C6C"}.mdi-emoticon-cry-outline::before{content:"\F0C6D"}.mdi-emoticon-dead::before{content:"\F0C6E"}.mdi-emoticon-dead-outline::before{content:"\F069B"}.mdi-emoticon-devil::before{content:"\F0C6F"}.mdi-emoticon-devil-outline::before{content:"\F01F4"}.mdi-emoticon-excited::before{content:"\F0C70"}.mdi-emoticon-excited-outline::before{content:"\F069C"}.mdi-emoticon-frown::before{content:"\F0F4C"}.mdi-emoticon-frown-outline::before{content:"\F0F4D"}.mdi-emoticon-happy::before{content:"\F0C71"}.mdi-emoticon-happy-outline::before{content:"\F01F5"}.mdi-emoticon-kiss::before{content:"\F0C72"}.mdi-emoticon-kiss-outline::before{content:"\F0C73"}.mdi-emoticon-lol::before{content:"\F1214"}.mdi-emoticon-lol-outline::before{content:"\F1215"}.mdi-emoticon-neutral::before{content:"\F0C74"}.mdi-emoticon-neutral-outline::before{content:"\F01F6"}.mdi-emoticon-outline::before{content:"\F01F2"}.mdi-emoticon-poop::before{content:"\F01F7"}.mdi-emoticon-poop-outline::before{content:"\F0C75"}.mdi-emoticon-sad::before{content:"\F0C76"}.mdi-emoticon-sad-outline::before{content:"\F01F8"}.mdi-emoticon-sick::before{content:"\F157C"}.mdi-emoticon-sick-outline::before{content:"\F157D"}.mdi-emoticon-tongue::before{content:"\F01F9"}.mdi-emoticon-tongue-outline::before{content:"\F0C77"}.mdi-emoticon-wink::before{content:"\F0C78"}.mdi-emoticon-wink-outline::before{content:"\F0C79"}.mdi-engine::before{content:"\F01FA"}.mdi-engine-off::before{content:"\F0A46"}.mdi-engine-off-outline::before{content:"\F0A47"}.mdi-engine-outline::before{content:"\F01FB"}.mdi-epsilon::before{content:"\F10E0"}.mdi-equal::before{content:"\F01FC"}.mdi-equal-box::before{content:"\F01FD"}.mdi-equalizer::before{content:"\F0EA2"}.mdi-equalizer-outline::before{content:"\F0EA3"}.mdi-eraser::before{content:"\F01FE"}.mdi-eraser-variant::before{content:"\F0642"}.mdi-escalator::before{content:"\F01FF"}.mdi-escalator-box::before{content:"\F1399"}.mdi-escalator-down::before{content:"\F12C0"}.mdi-escalator-up::before{content:"\F12BF"}.mdi-eslint::before{content:"\F0C7A"}.mdi-et::before{content:"\F0AB3"}.mdi-ethereum::before{content:"\F086A"}.mdi-ethernet::before{content:"\F0200"}.mdi-ethernet-cable::before{content:"\F0201"}.mdi-ethernet-cable-off::before{content:"\F0202"}.mdi-ev-plug-ccs1::before{content:"\F1519"}.mdi-ev-plug-ccs2::before{content:"\F151A"}.mdi-ev-plug-chademo::before{content:"\F151B"}.mdi-ev-plug-tesla::before{content:"\F151C"}.mdi-ev-plug-type1::before{content:"\F151D"}.mdi-ev-plug-type2::before{content:"\F151E"}.mdi-ev-station::before{content:"\F05F1"}.mdi-evernote::before{content:"\F0204"}.mdi-excavator::before{content:"\F1025"}.mdi-exclamation::before{content:"\F0205"}.mdi-exclamation-thick::before{content:"\F1238"}.mdi-exit-run::before{content:"\F0A48"}.mdi-exit-to-app::before{content:"\F0206"}.mdi-expand-all::before{content:"\F0AB4"}.mdi-expand-all-outline::before{content:"\F0AB5"}.mdi-expansion-card::before{content:"\F08AE"}.mdi-expansion-card-variant::before{content:"\F0FB2"}.mdi-exponent::before{content:"\F0963"}.mdi-exponent-box::before{content:"\F0964"}.mdi-export::before{content:"\F0207"}.mdi-export-variant::before{content:"\F0B93"}.mdi-eye::before{content:"\F0208"}.mdi-eye-check::before{content:"\F0D04"}.mdi-eye-check-outline::before{content:"\F0D05"}.mdi-eye-circle::before{content:"\F0B94"}.mdi-eye-circle-outline::before{content:"\F0B95"}.mdi-eye-minus::before{content:"\F1026"}.mdi-eye-minus-outline::before{content:"\F1027"}.mdi-eye-off::before{content:"\F0209"}.mdi-eye-off-outline::before{content:"\F06D1"}.mdi-eye-outline::before{content:"\F06D0"}.mdi-eye-plus::before{content:"\F086B"}.mdi-eye-plus-outline::before{content:"\F086C"}.mdi-eye-remove::before{content:"\F15E3"}.mdi-eye-remove-outline::before{content:"\F15E4"}.mdi-eye-settings::before{content:"\F086D"}.mdi-eye-settings-outline::before{content:"\F086E"}.mdi-eyedropper::before{content:"\F020A"}.mdi-eyedropper-minus::before{content:"\F13DD"}.mdi-eyedropper-off::before{content:"\F13DF"}.mdi-eyedropper-plus::before{content:"\F13DC"}.mdi-eyedropper-remove::before{content:"\F13DE"}.mdi-eyedropper-variant::before{content:"\F020B"}.mdi-face::before{content:"\F0643"}.mdi-face-agent::before{content:"\F0D70"}.mdi-face-mask::before{content:"\F1586"}.mdi-face-mask-outline::before{content:"\F1587"}.mdi-face-outline::before{content:"\F0B96"}.mdi-face-profile::before{content:"\F0644"}.mdi-face-profile-woman::before{content:"\F1076"}.mdi-face-recognition::before{content:"\F0C7B"}.mdi-face-shimmer::before{content:"\F15CC"}.mdi-face-shimmer-outline::before{content:"\F15CD"}.mdi-face-woman::before{content:"\F1077"}.mdi-face-woman-outline::before{content:"\F1078"}.mdi-face-woman-shimmer::before{content:"\F15CE"}.mdi-face-woman-shimmer-outline::before{content:"\F15CF"}.mdi-facebook::before{content:"\F020C"}.mdi-facebook-gaming::before{content:"\F07DD"}.mdi-facebook-messenger::before{content:"\F020E"}.mdi-facebook-workplace::before{content:"\F0B31"}.mdi-factory::before{content:"\F020F"}.mdi-family-tree::before{content:"\F160E"}.mdi-fan::before{content:"\F0210"}.mdi-fan-alert::before{content:"\F146C"}.mdi-fan-chevron-down::before{content:"\F146D"}.mdi-fan-chevron-up::before{content:"\F146E"}.mdi-fan-minus::before{content:"\F1470"}.mdi-fan-off::before{content:"\F081D"}.mdi-fan-plus::before{content:"\F146F"}.mdi-fan-remove::before{content:"\F1471"}.mdi-fan-speed-1::before{content:"\F1472"}.mdi-fan-speed-2::before{content:"\F1473"}.mdi-fan-speed-3::before{content:"\F1474"}.mdi-fast-forward::before{content:"\F0211"}.mdi-fast-forward-10::before{content:"\F0D71"}.mdi-fast-forward-30::before{content:"\F0D06"}.mdi-fast-forward-5::before{content:"\F11F8"}.mdi-fast-forward-60::before{content:"\F160B"}.mdi-fast-forward-outline::before{content:"\F06D2"}.mdi-fax::before{content:"\F0212"}.mdi-feather::before{content:"\F06D3"}.mdi-feature-search::before{content:"\F0A49"}.mdi-feature-search-outline::before{content:"\F0A4A"}.mdi-fedora::before{content:"\F08DB"}.mdi-fencing::before{content:"\F14C1"}.mdi-ferris-wheel::before{content:"\F0EA4"}.mdi-ferry::before{content:"\F0213"}.mdi-file::before{content:"\F0214"}.mdi-file-account::before{content:"\F073B"}.mdi-file-account-outline::before{content:"\F1028"}.mdi-file-alert::before{content:"\F0A4B"}.mdi-file-alert-outline::before{content:"\F0A4C"}.mdi-file-cabinet::before{content:"\F0AB6"}.mdi-file-cad::before{content:"\F0EEB"}.mdi-file-cad-box::before{content:"\F0EEC"}.mdi-file-cancel::before{content:"\F0DC6"}.mdi-file-cancel-outline::before{content:"\F0DC7"}.mdi-file-certificate::before{content:"\F1186"}.mdi-file-certificate-outline::before{content:"\F1187"}.mdi-file-chart::before{content:"\F0215"}.mdi-file-chart-outline::before{content:"\F1029"}.mdi-file-check::before{content:"\F0216"}.mdi-file-check-outline::before{content:"\F0E29"}.mdi-file-clock::before{content:"\F12E1"}.mdi-file-clock-outline::before{content:"\F12E2"}.mdi-file-cloud::before{content:"\F0217"}.mdi-file-cloud-outline::before{content:"\F102A"}.mdi-file-code::before{content:"\F022E"}.mdi-file-code-outline::before{content:"\F102B"}.mdi-file-cog::before{content:"\F107B"}.mdi-file-cog-outline::before{content:"\F107C"}.mdi-file-compare::before{content:"\F08AA"}.mdi-file-delimited::before{content:"\F0218"}.mdi-file-delimited-outline::before{content:"\F0EA5"}.mdi-file-document::before{content:"\F0219"}.mdi-file-document-edit::before{content:"\F0DC8"}.mdi-file-document-edit-outline::before{content:"\F0DC9"}.mdi-file-document-multiple::before{content:"\F1517"}.mdi-file-document-multiple-outline::before{content:"\F1518"}.mdi-file-document-outline::before{content:"\F09EE"}.mdi-file-download::before{content:"\F0965"}.mdi-file-download-outline::before{content:"\F0966"}.mdi-file-edit::before{content:"\F11E7"}.mdi-file-edit-outline::before{content:"\F11E8"}.mdi-file-excel::before{content:"\F021B"}.mdi-file-excel-box::before{content:"\F021C"}.mdi-file-excel-box-outline::before{content:"\F102C"}.mdi-file-excel-outline::before{content:"\F102D"}.mdi-file-export::before{content:"\F021D"}.mdi-file-export-outline::before{content:"\F102E"}.mdi-file-eye::before{content:"\F0DCA"}.mdi-file-eye-outline::before{content:"\F0DCB"}.mdi-file-find::before{content:"\F021E"}.mdi-file-find-outline::before{content:"\F0B97"}.mdi-file-hidden::before{content:"\F0613"}.mdi-file-image::before{content:"\F021F"}.mdi-file-image-outline::before{content:"\F0EB0"}.mdi-file-import::before{content:"\F0220"}.mdi-file-import-outline::before{content:"\F102F"}.mdi-file-key::before{content:"\F1184"}.mdi-file-key-outline::before{content:"\F1185"}.mdi-file-link::before{content:"\F1177"}.mdi-file-link-outline::before{content:"\F1178"}.mdi-file-lock::before{content:"\F0221"}.mdi-file-lock-outline::before{content:"\F1030"}.mdi-file-move::before{content:"\F0AB9"}.mdi-file-move-outline::before{content:"\F1031"}.mdi-file-multiple::before{content:"\F0222"}.mdi-file-multiple-outline::before{content:"\F1032"}.mdi-file-music::before{content:"\F0223"}.mdi-file-music-outline::before{content:"\F0E2A"}.mdi-file-outline::before{content:"\F0224"}.mdi-file-pdf::before{content:"\F0225"}.mdi-file-pdf-box::before{content:"\F0226"}.mdi-file-pdf-box-outline::before{content:"\F0FB3"}.mdi-file-pdf-outline::before{content:"\F0E2D"}.mdi-file-percent::before{content:"\F081E"}.mdi-file-percent-outline::before{content:"\F1033"}.mdi-file-phone::before{content:"\F1179"}.mdi-file-phone-outline::before{content:"\F117A"}.mdi-file-plus::before{content:"\F0752"}.mdi-file-plus-outline::before{content:"\F0EED"}.mdi-file-powerpoint::before{content:"\F0227"}.mdi-file-powerpoint-box::before{content:"\F0228"}.mdi-file-powerpoint-box-outline::before{content:"\F1034"}.mdi-file-powerpoint-outline::before{content:"\F1035"}.mdi-file-presentation-box::before{content:"\F0229"}.mdi-file-question::before{content:"\F086F"}.mdi-file-question-outline::before{content:"\F1036"}.mdi-file-refresh::before{content:"\F0918"}.mdi-file-refresh-outline::before{content:"\F0541"}.mdi-file-remove::before{content:"\F0B98"}.mdi-file-remove-outline::before{content:"\F1037"}.mdi-file-replace::before{content:"\F0B32"}.mdi-file-replace-outline::before{content:"\F0B33"}.mdi-file-restore::before{content:"\F0670"}.mdi-file-restore-outline::before{content:"\F1038"}.mdi-file-search::before{content:"\F0C7C"}.mdi-file-search-outline::before{content:"\F0C7D"}.mdi-file-send::before{content:"\F022A"}.mdi-file-send-outline::before{content:"\F1039"}.mdi-file-settings::before{content:"\F1079"}.mdi-file-settings-outline::before{content:"\F107A"}.mdi-file-star::before{content:"\F103A"}.mdi-file-star-outline::before{content:"\F103B"}.mdi-file-swap::before{content:"\F0FB4"}.mdi-file-swap-outline::before{content:"\F0FB5"}.mdi-file-sync::before{content:"\F1216"}.mdi-file-sync-outline::before{content:"\F1217"}.mdi-file-table::before{content:"\F0C7E"}.mdi-file-table-box::before{content:"\F10E1"}.mdi-file-table-box-multiple::before{content:"\F10E2"}.mdi-file-table-box-multiple-outline::before{content:"\F10E3"}.mdi-file-table-box-outline::before{content:"\F10E4"}.mdi-file-table-outline::before{content:"\F0C7F"}.mdi-file-tree::before{content:"\F0645"}.mdi-file-tree-outline::before{content:"\F13D2"}.mdi-file-undo::before{content:"\F08DC"}.mdi-file-undo-outline::before{content:"\F103C"}.mdi-file-upload::before{content:"\F0A4D"}.mdi-file-upload-outline::before{content:"\F0A4E"}.mdi-file-video::before{content:"\F022B"}.mdi-file-video-outline::before{content:"\F0E2C"}.mdi-file-word::before{content:"\F022C"}.mdi-file-word-box::before{content:"\F022D"}.mdi-file-word-box-outline::before{content:"\F103D"}.mdi-file-word-outline::before{content:"\F103E"}.mdi-film::before{content:"\F022F"}.mdi-filmstrip::before{content:"\F0230"}.mdi-filmstrip-box::before{content:"\F0332"}.mdi-filmstrip-box-multiple::before{content:"\F0D18"}.mdi-filmstrip-off::before{content:"\F0231"}.mdi-filter::before{content:"\F0232"}.mdi-filter-menu::before{content:"\F10E5"}.mdi-filter-menu-outline::before{content:"\F10E6"}.mdi-filter-minus::before{content:"\F0EEE"}.mdi-filter-minus-outline::before{content:"\F0EEF"}.mdi-filter-off::before{content:"\F14EF"}.mdi-filter-off-outline::before{content:"\F14F0"}.mdi-filter-outline::before{content:"\F0233"}.mdi-filter-plus::before{content:"\F0EF0"}.mdi-filter-plus-outline::before{content:"\F0EF1"}.mdi-filter-remove::before{content:"\F0234"}.mdi-filter-remove-outline::before{content:"\F0235"}.mdi-filter-variant::before{content:"\F0236"}.mdi-filter-variant-minus::before{content:"\F1112"}.mdi-filter-variant-plus::before{content:"\F1113"}.mdi-filter-variant-remove::before{content:"\F103F"}.mdi-finance::before{content:"\F081F"}.mdi-find-replace::before{content:"\F06D4"}.mdi-fingerprint::before{content:"\F0237"}.mdi-fingerprint-off::before{content:"\F0EB1"}.mdi-fire::before{content:"\F0238"}.mdi-fire-alert::before{content:"\F15D7"}.mdi-fire-extinguisher::before{content:"\F0EF2"}.mdi-fire-hydrant::before{content:"\F1137"}.mdi-fire-hydrant-alert::before{content:"\F1138"}.mdi-fire-hydrant-off::before{content:"\F1139"}.mdi-fire-truck::before{content:"\F08AB"}.mdi-firebase::before{content:"\F0967"}.mdi-firefox::before{content:"\F0239"}.mdi-fireplace::before{content:"\F0E2E"}.mdi-fireplace-off::before{content:"\F0E2F"}.mdi-firework::before{content:"\F0E30"}.mdi-fish::before{content:"\F023A"}.mdi-fish-off::before{content:"\F13F3"}.mdi-fishbowl::before{content:"\F0EF3"}.mdi-fishbowl-outline::before{content:"\F0EF4"}.mdi-fit-to-page::before{content:"\F0EF5"}.mdi-fit-to-page-outline::before{content:"\F0EF6"}.mdi-flag::before{content:"\F023B"}.mdi-flag-checkered::before{content:"\F023C"}.mdi-flag-minus::before{content:"\F0B99"}.mdi-flag-minus-outline::before{content:"\F10B2"}.mdi-flag-outline::before{content:"\F023D"}.mdi-flag-plus::before{content:"\F0B9A"}.mdi-flag-plus-outline::before{content:"\F10B3"}.mdi-flag-remove::before{content:"\F0B9B"}.mdi-flag-remove-outline::before{content:"\F10B4"}.mdi-flag-triangle::before{content:"\F023F"}.mdi-flag-variant::before{content:"\F0240"}.mdi-flag-variant-outline::before{content:"\F023E"}.mdi-flare::before{content:"\F0D72"}.mdi-flash::before{content:"\F0241"}.mdi-flash-alert::before{content:"\F0EF7"}.mdi-flash-alert-outline::before{content:"\F0EF8"}.mdi-flash-auto::before{content:"\F0242"}.mdi-flash-circle::before{content:"\F0820"}.mdi-flash-off::before{content:"\F0243"}.mdi-flash-outline::before{content:"\F06D5"}.mdi-flash-red-eye::before{content:"\F067B"}.mdi-flashlight::before{content:"\F0244"}.mdi-flashlight-off::before{content:"\F0245"}.mdi-flask::before{content:"\F0093"}.mdi-flask-empty::before{content:"\F0094"}.mdi-flask-empty-minus::before{content:"\F123A"}.mdi-flask-empty-minus-outline::before{content:"\F123B"}.mdi-flask-empty-off::before{content:"\F13F4"}.mdi-flask-empty-off-outline::before{content:"\F13F5"}.mdi-flask-empty-outline::before{content:"\F0095"}.mdi-flask-empty-plus::before{content:"\F123C"}.mdi-flask-empty-plus-outline::before{content:"\F123D"}.mdi-flask-empty-remove::before{content:"\F123E"}.mdi-flask-empty-remove-outline::before{content:"\F123F"}.mdi-flask-minus::before{content:"\F1240"}.mdi-flask-minus-outline::before{content:"\F1241"}.mdi-flask-off::before{content:"\F13F6"}.mdi-flask-off-outline::before{content:"\F13F7"}.mdi-flask-outline::before{content:"\F0096"}.mdi-flask-plus::before{content:"\F1242"}.mdi-flask-plus-outline::before{content:"\F1243"}.mdi-flask-remove::before{content:"\F1244"}.mdi-flask-remove-outline::before{content:"\F1245"}.mdi-flask-round-bottom::before{content:"\F124B"}.mdi-flask-round-bottom-empty::before{content:"\F124C"}.mdi-flask-round-bottom-empty-outline::before{content:"\F124D"}.mdi-flask-round-bottom-outline::before{content:"\F124E"}.mdi-fleur-de-lis::before{content:"\F1303"}.mdi-flip-horizontal::before{content:"\F10E7"}.mdi-flip-to-back::before{content:"\F0247"}.mdi-flip-to-front::before{content:"\F0248"}.mdi-flip-vertical::before{content:"\F10E8"}.mdi-floor-lamp::before{content:"\F08DD"}.mdi-floor-lamp-dual::before{content:"\F1040"}.mdi-floor-lamp-variant::before{content:"\F1041"}.mdi-floor-plan::before{content:"\F0821"}.mdi-floppy::before{content:"\F0249"}.mdi-floppy-variant::before{content:"\F09EF"}.mdi-flower::before{content:"\F024A"}.mdi-flower-outline::before{content:"\F09F0"}.mdi-flower-poppy::before{content:"\F0D08"}.mdi-flower-tulip::before{content:"\F09F1"}.mdi-flower-tulip-outline::before{content:"\F09F2"}.mdi-focus-auto::before{content:"\F0F4E"}.mdi-focus-field::before{content:"\F0F4F"}.mdi-focus-field-horizontal::before{content:"\F0F50"}.mdi-focus-field-vertical::before{content:"\F0F51"}.mdi-folder::before{content:"\F024B"}.mdi-folder-account::before{content:"\F024C"}.mdi-folder-account-outline::before{content:"\F0B9C"}.mdi-folder-alert::before{content:"\F0DCC"}.mdi-folder-alert-outline::before{content:"\F0DCD"}.mdi-folder-clock::before{content:"\F0ABA"}.mdi-folder-clock-outline::before{content:"\F0ABB"}.mdi-folder-cog::before{content:"\F107F"}.mdi-folder-cog-outline::before{content:"\F1080"}.mdi-folder-download::before{content:"\F024D"}.mdi-folder-download-outline::before{content:"\F10E9"}.mdi-folder-edit::before{content:"\F08DE"}.mdi-folder-edit-outline::before{content:"\F0DCE"}.mdi-folder-google-drive::before{content:"\F024E"}.mdi-folder-heart::before{content:"\F10EA"}.mdi-folder-heart-outline::before{content:"\F10EB"}.mdi-folder-home::before{content:"\F10B5"}.mdi-folder-home-outline::before{content:"\F10B6"}.mdi-folder-image::before{content:"\F024F"}.mdi-folder-information::before{content:"\F10B7"}.mdi-folder-information-outline::before{content:"\F10B8"}.mdi-folder-key::before{content:"\F08AC"}.mdi-folder-key-network::before{content:"\F08AD"}.mdi-folder-key-network-outline::before{content:"\F0C80"}.mdi-folder-key-outline::before{content:"\F10EC"}.mdi-folder-lock::before{content:"\F0250"}.mdi-folder-lock-open::before{content:"\F0251"}.mdi-folder-marker::before{content:"\F126D"}.mdi-folder-marker-outline::before{content:"\F126E"}.mdi-folder-move::before{content:"\F0252"}.mdi-folder-move-outline::before{content:"\F1246"}.mdi-folder-multiple::before{content:"\F0253"}.mdi-folder-multiple-image::before{content:"\F0254"}.mdi-folder-multiple-outline::before{content:"\F0255"}.mdi-folder-multiple-plus::before{content:"\F147E"}.mdi-folder-multiple-plus-outline::before{content:"\F147F"}.mdi-folder-music::before{content:"\F1359"}.mdi-folder-music-outline::before{content:"\F135A"}.mdi-folder-network::before{content:"\F0870"}.mdi-folder-network-outline::before{content:"\F0C81"}.mdi-folder-open::before{content:"\F0770"}.mdi-folder-open-outline::before{content:"\F0DCF"}.mdi-folder-outline::before{content:"\F0256"}.mdi-folder-plus::before{content:"\F0257"}.mdi-folder-plus-outline::before{content:"\F0B9D"}.mdi-folder-pound::before{content:"\F0D09"}.mdi-folder-pound-outline::before{content:"\F0D0A"}.mdi-folder-refresh::before{content:"\F0749"}.mdi-folder-refresh-outline::before{content:"\F0542"}.mdi-folder-remove::before{content:"\F0258"}.mdi-folder-remove-outline::before{content:"\F0B9E"}.mdi-folder-search::before{content:"\F0968"}.mdi-folder-search-outline::before{content:"\F0969"}.mdi-folder-settings::before{content:"\F107D"}.mdi-folder-settings-outline::before{content:"\F107E"}.mdi-folder-star::before{content:"\F069D"}.mdi-folder-star-multiple::before{content:"\F13D3"}.mdi-folder-star-multiple-outline::before{content:"\F13D4"}.mdi-folder-star-outline::before{content:"\F0B9F"}.mdi-folder-swap::before{content:"\F0FB6"}.mdi-folder-swap-outline::before{content:"\F0FB7"}.mdi-folder-sync::before{content:"\F0D0B"}.mdi-folder-sync-outline::before{content:"\F0D0C"}.mdi-folder-table::before{content:"\F12E3"}.mdi-folder-table-outline::before{content:"\F12E4"}.mdi-folder-text::before{content:"\F0C82"}.mdi-folder-text-outline::before{content:"\F0C83"}.mdi-folder-upload::before{content:"\F0259"}.mdi-folder-upload-outline::before{content:"\F10ED"}.mdi-folder-zip::before{content:"\F06EB"}.mdi-folder-zip-outline::before{content:"\F07B9"}.mdi-font-awesome::before{content:"\F003A"}.mdi-food::before{content:"\F025A"}.mdi-food-apple::before{content:"\F025B"}.mdi-food-apple-outline::before{content:"\F0C84"}.mdi-food-croissant::before{content:"\F07C8"}.mdi-food-drumstick::before{content:"\F141F"}.mdi-food-drumstick-off::before{content:"\F1468"}.mdi-food-drumstick-off-outline::before{content:"\F1469"}.mdi-food-drumstick-outline::before{content:"\F1420"}.mdi-food-fork-drink::before{content:"\F05F2"}.mdi-food-halal::before{content:"\F1572"}.mdi-food-kosher::before{content:"\F1573"}.mdi-food-off::before{content:"\F05F3"}.mdi-food-steak::before{content:"\F146A"}.mdi-food-steak-off::before{content:"\F146B"}.mdi-food-variant::before{content:"\F025C"}.mdi-food-variant-off::before{content:"\F13E5"}.mdi-foot-print::before{content:"\F0F52"}.mdi-football::before{content:"\F025D"}.mdi-football-australian::before{content:"\F025E"}.mdi-football-helmet::before{content:"\F025F"}.mdi-forklift::before{content:"\F07C9"}.mdi-form-dropdown::before{content:"\F1400"}.mdi-form-select::before{content:"\F1401"}.mdi-form-textarea::before{content:"\F1095"}.mdi-form-textbox::before{content:"\F060E"}.mdi-form-textbox-lock::before{content:"\F135D"}.mdi-form-textbox-password::before{content:"\F07F5"}.mdi-format-align-bottom::before{content:"\F0753"}.mdi-format-align-center::before{content:"\F0260"}.mdi-format-align-justify::before{content:"\F0261"}.mdi-format-align-left::before{content:"\F0262"}.mdi-format-align-middle::before{content:"\F0754"}.mdi-format-align-right::before{content:"\F0263"}.mdi-format-align-top::before{content:"\F0755"}.mdi-format-annotation-minus::before{content:"\F0ABC"}.mdi-format-annotation-plus::before{content:"\F0646"}.mdi-format-bold::before{content:"\F0264"}.mdi-format-clear::before{content:"\F0265"}.mdi-format-color-fill::before{content:"\F0266"}.mdi-format-color-highlight::before{content:"\F0E31"}.mdi-format-color-marker-cancel::before{content:"\F1313"}.mdi-format-color-text::before{content:"\F069E"}.mdi-format-columns::before{content:"\F08DF"}.mdi-format-float-center::before{content:"\F0267"}.mdi-format-float-left::before{content:"\F0268"}.mdi-format-float-none::before{content:"\F0269"}.mdi-format-float-right::before{content:"\F026A"}.mdi-format-font::before{content:"\F06D6"}.mdi-format-font-size-decrease::before{content:"\F09F3"}.mdi-format-font-size-increase::before{content:"\F09F4"}.mdi-format-header-1::before{content:"\F026B"}.mdi-format-header-2::before{content:"\F026C"}.mdi-format-header-3::before{content:"\F026D"}.mdi-format-header-4::before{content:"\F026E"}.mdi-format-header-5::before{content:"\F026F"}.mdi-format-header-6::before{content:"\F0270"}.mdi-format-header-decrease::before{content:"\F0271"}.mdi-format-header-equal::before{content:"\F0272"}.mdi-format-header-increase::before{content:"\F0273"}.mdi-format-header-pound::before{content:"\F0274"}.mdi-format-horizontal-align-center::before{content:"\F061E"}.mdi-format-horizontal-align-left::before{content:"\F061F"}.mdi-format-horizontal-align-right::before{content:"\F0620"}.mdi-format-indent-decrease::before{content:"\F0275"}.mdi-format-indent-increase::before{content:"\F0276"}.mdi-format-italic::before{content:"\F0277"}.mdi-format-letter-case::before{content:"\F0B34"}.mdi-format-letter-case-lower::before{content:"\F0B35"}.mdi-format-letter-case-upper::before{content:"\F0B36"}.mdi-format-letter-ends-with::before{content:"\F0FB8"}.mdi-format-letter-matches::before{content:"\F0FB9"}.mdi-format-letter-starts-with::before{content:"\F0FBA"}.mdi-format-line-spacing::before{content:"\F0278"}.mdi-format-line-style::before{content:"\F05C8"}.mdi-format-line-weight::before{content:"\F05C9"}.mdi-format-list-bulleted::before{content:"\F0279"}.mdi-format-list-bulleted-square::before{content:"\F0DD0"}.mdi-format-list-bulleted-triangle::before{content:"\F0EB2"}.mdi-format-list-bulleted-type::before{content:"\F027A"}.mdi-format-list-checkbox::before{content:"\F096A"}.mdi-format-list-checks::before{content:"\F0756"}.mdi-format-list-numbered::before{content:"\F027B"}.mdi-format-list-numbered-rtl::before{content:"\F0D0D"}.mdi-format-list-text::before{content:"\F126F"}.mdi-format-overline::before{content:"\F0EB3"}.mdi-format-page-break::before{content:"\F06D7"}.mdi-format-paint::before{content:"\F027C"}.mdi-format-paragraph::before{content:"\F027D"}.mdi-format-pilcrow::before{content:"\F06D8"}.mdi-format-quote-close::before{content:"\F027E"}.mdi-format-quote-close-outline::before{content:"\F11A8"}.mdi-format-quote-open::before{content:"\F0757"}.mdi-format-quote-open-outline::before{content:"\F11A7"}.mdi-format-rotate-90::before{content:"\F06AA"}.mdi-format-section::before{content:"\F069F"}.mdi-format-size::before{content:"\F027F"}.mdi-format-strikethrough::before{content:"\F0280"}.mdi-format-strikethrough-variant::before{content:"\F0281"}.mdi-format-subscript::before{content:"\F0282"}.mdi-format-superscript::before{content:"\F0283"}.mdi-format-text::before{content:"\F0284"}.mdi-format-text-rotation-angle-down::before{content:"\F0FBB"}.mdi-format-text-rotation-angle-up::before{content:"\F0FBC"}.mdi-format-text-rotation-down::before{content:"\F0D73"}.mdi-format-text-rotation-down-vertical::before{content:"\F0FBD"}.mdi-format-text-rotation-none::before{content:"\F0D74"}.mdi-format-text-rotation-up::before{content:"\F0FBE"}.mdi-format-text-rotation-vertical::before{content:"\F0FBF"}.mdi-format-text-variant::before{content:"\F0E32"}.mdi-format-text-variant-outline::before{content:"\F150F"}.mdi-format-text-wrapping-clip::before{content:"\F0D0E"}.mdi-format-text-wrapping-overflow::before{content:"\F0D0F"}.mdi-format-text-wrapping-wrap::before{content:"\F0D10"}.mdi-format-textbox::before{content:"\F0D11"}.mdi-format-textdirection-l-to-r::before{content:"\F0285"}.mdi-format-textdirection-r-to-l::before{content:"\F0286"}.mdi-format-title::before{content:"\F05F4"}.mdi-format-underline::before{content:"\F0287"}.mdi-format-vertical-align-bottom::before{content:"\F0621"}.mdi-format-vertical-align-center::before{content:"\F0622"}.mdi-format-vertical-align-top::before{content:"\F0623"}.mdi-format-wrap-inline::before{content:"\F0288"}.mdi-format-wrap-square::before{content:"\F0289"}.mdi-format-wrap-tight::before{content:"\F028A"}.mdi-format-wrap-top-bottom::before{content:"\F028B"}.mdi-forum::before{content:"\F028C"}.mdi-forum-outline::before{content:"\F0822"}.mdi-forward::before{content:"\F028D"}.mdi-forwardburger::before{content:"\F0D75"}.mdi-fountain::before{content:"\F096B"}.mdi-fountain-pen::before{content:"\F0D12"}.mdi-fountain-pen-tip::before{content:"\F0D13"}.mdi-freebsd::before{content:"\F08E0"}.mdi-frequently-asked-questions::before{content:"\F0EB4"}.mdi-fridge::before{content:"\F0290"}.mdi-fridge-alert::before{content:"\F11B1"}.mdi-fridge-alert-outline::before{content:"\F11B2"}.mdi-fridge-bottom::before{content:"\F0292"}.mdi-fridge-industrial::before{content:"\F15EE"}.mdi-fridge-industrial-alert::before{content:"\F15EF"}.mdi-fridge-industrial-alert-outline::before{content:"\F15F0"}.mdi-fridge-industrial-off::before{content:"\F15F1"}.mdi-fridge-industrial-off-outline::before{content:"\F15F2"}.mdi-fridge-industrial-outline::before{content:"\F15F3"}.mdi-fridge-off::before{content:"\F11AF"}.mdi-fridge-off-outline::before{content:"\F11B0"}.mdi-fridge-outline::before{content:"\F028F"}.mdi-fridge-top::before{content:"\F0291"}.mdi-fridge-variant::before{content:"\F15F4"}.mdi-fridge-variant-alert::before{content:"\F15F5"}.mdi-fridge-variant-alert-outline::before{content:"\F15F6"}.mdi-fridge-variant-off::before{content:"\F15F7"}.mdi-fridge-variant-off-outline::before{content:"\F15F8"}.mdi-fridge-variant-outline::before{content:"\F15F9"}.mdi-fruit-cherries::before{content:"\F1042"}.mdi-fruit-cherries-off::before{content:"\F13F8"}.mdi-fruit-citrus::before{content:"\F1043"}.mdi-fruit-citrus-off::before{content:"\F13F9"}.mdi-fruit-grapes::before{content:"\F1044"}.mdi-fruit-grapes-outline::before{content:"\F1045"}.mdi-fruit-pineapple::before{content:"\F1046"}.mdi-fruit-watermelon::before{content:"\F1047"}.mdi-fuel::before{content:"\F07CA"}.mdi-fullscreen::before{content:"\F0293"}.mdi-fullscreen-exit::before{content:"\F0294"}.mdi-function::before{content:"\F0295"}.mdi-function-variant::before{content:"\F0871"}.mdi-furigana-horizontal::before{content:"\F1081"}.mdi-furigana-vertical::before{content:"\F1082"}.mdi-fuse::before{content:"\F0C85"}.mdi-fuse-alert::before{content:"\F142D"}.mdi-fuse-blade::before{content:"\F0C86"}.mdi-fuse-off::before{content:"\F142C"}.mdi-gamepad::before{content:"\F0296"}.mdi-gamepad-circle::before{content:"\F0E33"}.mdi-gamepad-circle-down::before{content:"\F0E34"}.mdi-gamepad-circle-left::before{content:"\F0E35"}.mdi-gamepad-circle-outline::before{content:"\F0E36"}.mdi-gamepad-circle-right::before{content:"\F0E37"}.mdi-gamepad-circle-up::before{content:"\F0E38"}.mdi-gamepad-down::before{content:"\F0E39"}.mdi-gamepad-left::before{content:"\F0E3A"}.mdi-gamepad-right::before{content:"\F0E3B"}.mdi-gamepad-round::before{content:"\F0E3C"}.mdi-gamepad-round-down::before{content:"\F0E3D"}.mdi-gamepad-round-left::before{content:"\F0E3E"}.mdi-gamepad-round-outline::before{content:"\F0E3F"}.mdi-gamepad-round-right::before{content:"\F0E40"}.mdi-gamepad-round-up::before{content:"\F0E41"}.mdi-gamepad-square::before{content:"\F0EB5"}.mdi-gamepad-square-outline::before{content:"\F0EB6"}.mdi-gamepad-up::before{content:"\F0E42"}.mdi-gamepad-variant::before{content:"\F0297"}.mdi-gamepad-variant-outline::before{content:"\F0EB7"}.mdi-gamma::before{content:"\F10EE"}.mdi-gantry-crane::before{content:"\F0DD1"}.mdi-garage::before{content:"\F06D9"}.mdi-garage-alert::before{content:"\F0872"}.mdi-garage-alert-variant::before{content:"\F12D5"}.mdi-garage-open::before{content:"\F06DA"}.mdi-garage-open-variant::before{content:"\F12D4"}.mdi-garage-variant::before{content:"\F12D3"}.mdi-gas-cylinder::before{content:"\F0647"}.mdi-gas-station::before{content:"\F0298"}.mdi-gas-station-off::before{content:"\F1409"}.mdi-gas-station-off-outline::before{content:"\F140A"}.mdi-gas-station-outline::before{content:"\F0EB8"}.mdi-gate::before{content:"\F0299"}.mdi-gate-and::before{content:"\F08E1"}.mdi-gate-arrow-right::before{content:"\F1169"}.mdi-gate-nand::before{content:"\F08E2"}.mdi-gate-nor::before{content:"\F08E3"}.mdi-gate-not::before{content:"\F08E4"}.mdi-gate-open::before{content:"\F116A"}.mdi-gate-or::before{content:"\F08E5"}.mdi-gate-xnor::before{content:"\F08E6"}.mdi-gate-xor::before{content:"\F08E7"}.mdi-gatsby::before{content:"\F0E43"}.mdi-gauge::before{content:"\F029A"}.mdi-gauge-empty::before{content:"\F0873"}.mdi-gauge-full::before{content:"\F0874"}.mdi-gauge-low::before{content:"\F0875"}.mdi-gavel::before{content:"\F029B"}.mdi-gender-female::before{content:"\F029C"}.mdi-gender-male::before{content:"\F029D"}.mdi-gender-male-female::before{content:"\F029E"}.mdi-gender-male-female-variant::before{content:"\F113F"}.mdi-gender-non-binary::before{content:"\F1140"}.mdi-gender-transgender::before{content:"\F029F"}.mdi-gentoo::before{content:"\F08E8"}.mdi-gesture::before{content:"\F07CB"}.mdi-gesture-double-tap::before{content:"\F073C"}.mdi-gesture-pinch::before{content:"\F0ABD"}.mdi-gesture-spread::before{content:"\F0ABE"}.mdi-gesture-swipe::before{content:"\F0D76"}.mdi-gesture-swipe-down::before{content:"\F073D"}.mdi-gesture-swipe-horizontal::before{content:"\F0ABF"}.mdi-gesture-swipe-left::before{content:"\F073E"}.mdi-gesture-swipe-right::before{content:"\F073F"}.mdi-gesture-swipe-up::before{content:"\F0740"}.mdi-gesture-swipe-vertical::before{content:"\F0AC0"}.mdi-gesture-tap::before{content:"\F0741"}.mdi-gesture-tap-box::before{content:"\F12A9"}.mdi-gesture-tap-button::before{content:"\F12A8"}.mdi-gesture-tap-hold::before{content:"\F0D77"}.mdi-gesture-two-double-tap::before{content:"\F0742"}.mdi-gesture-two-tap::before{content:"\F0743"}.mdi-ghost::before{content:"\F02A0"}.mdi-ghost-off::before{content:"\F09F5"}.mdi-ghost-off-outline::before{content:"\F165C"}.mdi-ghost-outline::before{content:"\F165D"}.mdi-gif::before{content:"\F0D78"}.mdi-gift::before{content:"\F0E44"}.mdi-gift-outline::before{content:"\F02A1"}.mdi-git::before{content:"\F02A2"}.mdi-github::before{content:"\F02A4"}.mdi-gitlab::before{content:"\F0BA0"}.mdi-glass-cocktail::before{content:"\F0356"}.mdi-glass-cocktail-off::before{content:"\F15E6"}.mdi-glass-flute::before{content:"\F02A5"}.mdi-glass-mug::before{content:"\F02A6"}.mdi-glass-mug-off::before{content:"\F15E7"}.mdi-glass-mug-variant::before{content:"\F1116"}.mdi-glass-mug-variant-off::before{content:"\F15E8"}.mdi-glass-pint-outline::before{content:"\F130D"}.mdi-glass-stange::before{content:"\F02A7"}.mdi-glass-tulip::before{content:"\F02A8"}.mdi-glass-wine::before{content:"\F0876"}.mdi-glasses::before{content:"\F02AA"}.mdi-globe-light::before{content:"\F12D7"}.mdi-globe-model::before{content:"\F08E9"}.mdi-gmail::before{content:"\F02AB"}.mdi-gnome::before{content:"\F02AC"}.mdi-go-kart::before{content:"\F0D79"}.mdi-go-kart-track::before{content:"\F0D7A"}.mdi-gog::before{content:"\F0BA1"}.mdi-gold::before{content:"\F124F"}.mdi-golf::before{content:"\F0823"}.mdi-golf-cart::before{content:"\F11A4"}.mdi-golf-tee::before{content:"\F1083"}.mdi-gondola::before{content:"\F0686"}.mdi-goodreads::before{content:"\F0D7B"}.mdi-google::before{content:"\F02AD"}.mdi-google-ads::before{content:"\F0C87"}.mdi-google-analytics::before{content:"\F07CC"}.mdi-google-assistant::before{content:"\F07CD"}.mdi-google-cardboard::before{content:"\F02AE"}.mdi-google-chrome::before{content:"\F02AF"}.mdi-google-circles::before{content:"\F02B0"}.mdi-google-circles-communities::before{content:"\F02B1"}.mdi-google-circles-extended::before{content:"\F02B2"}.mdi-google-circles-group::before{content:"\F02B3"}.mdi-google-classroom::before{content:"\F02C0"}.mdi-google-cloud::before{content:"\F11F6"}.mdi-google-controller::before{content:"\F02B4"}.mdi-google-controller-off::before{content:"\F02B5"}.mdi-google-downasaur::before{content:"\F1362"}.mdi-google-drive::before{content:"\F02B6"}.mdi-google-earth::before{content:"\F02B7"}.mdi-google-fit::before{content:"\F096C"}.mdi-google-glass::before{content:"\F02B8"}.mdi-google-hangouts::before{content:"\F02C9"}.mdi-google-home::before{content:"\F0824"}.mdi-google-keep::before{content:"\F06DC"}.mdi-google-lens::before{content:"\F09F6"}.mdi-google-maps::before{content:"\F05F5"}.mdi-google-my-business::before{content:"\F1048"}.mdi-google-nearby::before{content:"\F02B9"}.mdi-google-photos::before{content:"\F06DD"}.mdi-google-play::before{content:"\F02BC"}.mdi-google-plus::before{content:"\F02BD"}.mdi-google-podcast::before{content:"\F0EB9"}.mdi-google-spreadsheet::before{content:"\F09F7"}.mdi-google-street-view::before{content:"\F0C88"}.mdi-google-translate::before{content:"\F02BF"}.mdi-gradient::before{content:"\F06A0"}.mdi-grain::before{content:"\F0D7C"}.mdi-graph::before{content:"\F1049"}.mdi-graph-outline::before{content:"\F104A"}.mdi-graphql::before{content:"\F0877"}.mdi-grass::before{content:"\F1510"}.mdi-grave-stone::before{content:"\F0BA2"}.mdi-grease-pencil::before{content:"\F0648"}.mdi-greater-than::before{content:"\F096D"}.mdi-greater-than-or-equal::before{content:"\F096E"}.mdi-grid::before{content:"\F02C1"}.mdi-grid-large::before{content:"\F0758"}.mdi-grid-off::before{content:"\F02C2"}.mdi-grill::before{content:"\F0E45"}.mdi-grill-outline::before{content:"\F118A"}.mdi-group::before{content:"\F02C3"}.mdi-guitar-acoustic::before{content:"\F0771"}.mdi-guitar-electric::before{content:"\F02C4"}.mdi-guitar-pick::before{content:"\F02C5"}.mdi-guitar-pick-outline::before{content:"\F02C6"}.mdi-guy-fawkes-mask::before{content:"\F0825"}.mdi-hail::before{content:"\F0AC1"}.mdi-hair-dryer::before{content:"\F10EF"}.mdi-hair-dryer-outline::before{content:"\F10F0"}.mdi-halloween::before{content:"\F0BA3"}.mdi-hamburger::before{content:"\F0685"}.mdi-hammer::before{content:"\F08EA"}.mdi-hammer-screwdriver::before{content:"\F1322"}.mdi-hammer-wrench::before{content:"\F1323"}.mdi-hand::before{content:"\F0A4F"}.mdi-hand-heart::before{content:"\F10F1"}.mdi-hand-heart-outline::before{content:"\F157E"}.mdi-hand-left::before{content:"\F0E46"}.mdi-hand-okay::before{content:"\F0A50"}.mdi-hand-peace::before{content:"\F0A51"}.mdi-hand-peace-variant::before{content:"\F0A52"}.mdi-hand-pointing-down::before{content:"\F0A53"}.mdi-hand-pointing-left::before{content:"\F0A54"}.mdi-hand-pointing-right::before{content:"\F02C7"}.mdi-hand-pointing-up::before{content:"\F0A55"}.mdi-hand-right::before{content:"\F0E47"}.mdi-hand-saw::before{content:"\F0E48"}.mdi-hand-wash::before{content:"\F157F"}.mdi-hand-wash-outline::before{content:"\F1580"}.mdi-hand-water::before{content:"\F139F"}.mdi-handball::before{content:"\F0F53"}.mdi-handcuffs::before{content:"\F113E"}.mdi-handshake::before{content:"\F1218"}.mdi-handshake-outline::before{content:"\F15A1"}.mdi-hanger::before{content:"\F02C8"}.mdi-hard-hat::before{content:"\F096F"}.mdi-harddisk::before{content:"\F02CA"}.mdi-harddisk-plus::before{content:"\F104B"}.mdi-harddisk-remove::before{content:"\F104C"}.mdi-hat-fedora::before{content:"\F0BA4"}.mdi-hazard-lights::before{content:"\F0C89"}.mdi-hdr::before{content:"\F0D7D"}.mdi-hdr-off::before{content:"\F0D7E"}.mdi-head::before{content:"\F135E"}.mdi-head-alert::before{content:"\F1338"}.mdi-head-alert-outline::before{content:"\F1339"}.mdi-head-check::before{content:"\F133A"}.mdi-head-check-outline::before{content:"\F133B"}.mdi-head-cog::before{content:"\F133C"}.mdi-head-cog-outline::before{content:"\F133D"}.mdi-head-dots-horizontal::before{content:"\F133E"}.mdi-head-dots-horizontal-outline::before{content:"\F133F"}.mdi-head-flash::before{content:"\F1340"}.mdi-head-flash-outline::before{content:"\F1341"}.mdi-head-heart::before{content:"\F1342"}.mdi-head-heart-outline::before{content:"\F1343"}.mdi-head-lightbulb::before{content:"\F1344"}.mdi-head-lightbulb-outline::before{content:"\F1345"}.mdi-head-minus::before{content:"\F1346"}.mdi-head-minus-outline::before{content:"\F1347"}.mdi-head-outline::before{content:"\F135F"}.mdi-head-plus::before{content:"\F1348"}.mdi-head-plus-outline::before{content:"\F1349"}.mdi-head-question::before{content:"\F134A"}.mdi-head-question-outline::before{content:"\F134B"}.mdi-head-remove::before{content:"\F134C"}.mdi-head-remove-outline::before{content:"\F134D"}.mdi-head-snowflake::before{content:"\F134E"}.mdi-head-snowflake-outline::before{content:"\F134F"}.mdi-head-sync::before{content:"\F1350"}.mdi-head-sync-outline::before{content:"\F1351"}.mdi-headphones::before{content:"\F02CB"}.mdi-headphones-bluetooth::before{content:"\F0970"}.mdi-headphones-box::before{content:"\F02CC"}.mdi-headphones-off::before{content:"\F07CE"}.mdi-headphones-settings::before{content:"\F02CD"}.mdi-headset::before{content:"\F02CE"}.mdi-headset-dock::before{content:"\F02CF"}.mdi-headset-off::before{content:"\F02D0"}.mdi-heart::before{content:"\F02D1"}.mdi-heart-box::before{content:"\F02D2"}.mdi-heart-box-outline::before{content:"\F02D3"}.mdi-heart-broken::before{content:"\F02D4"}.mdi-heart-broken-outline::before{content:"\F0D14"}.mdi-heart-circle::before{content:"\F0971"}.mdi-heart-circle-outline::before{content:"\F0972"}.mdi-heart-cog::before{content:"\F1663"}.mdi-heart-cog-outline::before{content:"\F1664"}.mdi-heart-flash::before{content:"\F0EF9"}.mdi-heart-half::before{content:"\F06DF"}.mdi-heart-half-full::before{content:"\F06DE"}.mdi-heart-half-outline::before{content:"\F06E0"}.mdi-heart-minus::before{content:"\F142F"}.mdi-heart-minus-outline::before{content:"\F1432"}.mdi-heart-multiple::before{content:"\F0A56"}.mdi-heart-multiple-outline::before{content:"\F0A57"}.mdi-heart-off::before{content:"\F0759"}.mdi-heart-off-outline::before{content:"\F1434"}.mdi-heart-outline::before{content:"\F02D5"}.mdi-heart-plus::before{content:"\F142E"}.mdi-heart-plus-outline::before{content:"\F1431"}.mdi-heart-pulse::before{content:"\F05F6"}.mdi-heart-remove::before{content:"\F1430"}.mdi-heart-remove-outline::before{content:"\F1433"}.mdi-heart-settings::before{content:"\F1665"}.mdi-heart-settings-outline::before{content:"\F1666"}.mdi-helicopter::before{content:"\F0AC2"}.mdi-help::before{content:"\F02D6"}.mdi-help-box::before{content:"\F078B"}.mdi-help-circle::before{content:"\F02D7"}.mdi-help-circle-outline::before{content:"\F0625"}.mdi-help-network::before{content:"\F06F5"}.mdi-help-network-outline::before{content:"\F0C8A"}.mdi-help-rhombus::before{content:"\F0BA5"}.mdi-help-rhombus-outline::before{content:"\F0BA6"}.mdi-hexadecimal::before{content:"\F12A7"}.mdi-hexagon::before{content:"\F02D8"}.mdi-hexagon-multiple::before{content:"\F06E1"}.mdi-hexagon-multiple-outline::before{content:"\F10F2"}.mdi-hexagon-outline::before{content:"\F02D9"}.mdi-hexagon-slice-1::before{content:"\F0AC3"}.mdi-hexagon-slice-2::before{content:"\F0AC4"}.mdi-hexagon-slice-3::before{content:"\F0AC5"}.mdi-hexagon-slice-4::before{content:"\F0AC6"}.mdi-hexagon-slice-5::before{content:"\F0AC7"}.mdi-hexagon-slice-6::before{content:"\F0AC8"}.mdi-hexagram::before{content:"\F0AC9"}.mdi-hexagram-outline::before{content:"\F0ACA"}.mdi-high-definition::before{content:"\F07CF"}.mdi-high-definition-box::before{content:"\F0878"}.mdi-highway::before{content:"\F05F7"}.mdi-hiking::before{content:"\F0D7F"}.mdi-hinduism::before{content:"\F0973"}.mdi-history::before{content:"\F02DA"}.mdi-hockey-puck::before{content:"\F0879"}.mdi-hockey-sticks::before{content:"\F087A"}.mdi-hololens::before{content:"\F02DB"}.mdi-home::before{content:"\F02DC"}.mdi-home-account::before{content:"\F0826"}.mdi-home-alert::before{content:"\F087B"}.mdi-home-alert-outline::before{content:"\F15D0"}.mdi-home-analytics::before{content:"\F0EBA"}.mdi-home-assistant::before{content:"\F07D0"}.mdi-home-automation::before{content:"\F07D1"}.mdi-home-circle::before{content:"\F07D2"}.mdi-home-circle-outline::before{content:"\F104D"}.mdi-home-city::before{content:"\F0D15"}.mdi-home-city-outline::before{content:"\F0D16"}.mdi-home-currency-usd::before{content:"\F08AF"}.mdi-home-edit::before{content:"\F1159"}.mdi-home-edit-outline::before{content:"\F115A"}.mdi-home-export-outline::before{content:"\F0F9B"}.mdi-home-flood::before{content:"\F0EFA"}.mdi-home-floor-0::before{content:"\F0DD2"}.mdi-home-floor-1::before{content:"\F0D80"}.mdi-home-floor-2::before{content:"\F0D81"}.mdi-home-floor-3::before{content:"\F0D82"}.mdi-home-floor-a::before{content:"\F0D83"}.mdi-home-floor-b::before{content:"\F0D84"}.mdi-home-floor-g::before{content:"\F0D85"}.mdi-home-floor-l::before{content:"\F0D86"}.mdi-home-floor-negative-1::before{content:"\F0DD3"}.mdi-home-group::before{content:"\F0DD4"}.mdi-home-heart::before{content:"\F0827"}.mdi-home-import-outline::before{content:"\F0F9C"}.mdi-home-lightbulb::before{content:"\F1251"}.mdi-home-lightbulb-outline::before{content:"\F1252"}.mdi-home-lock::before{content:"\F08EB"}.mdi-home-lock-open::before{content:"\F08EC"}.mdi-home-map-marker::before{content:"\F05F8"}.mdi-home-minus::before{content:"\F0974"}.mdi-home-minus-outline::before{content:"\F13D5"}.mdi-home-modern::before{content:"\F02DD"}.mdi-home-outline::before{content:"\F06A1"}.mdi-home-plus::before{content:"\F0975"}.mdi-home-plus-outline::before{content:"\F13D6"}.mdi-home-remove::before{content:"\F1247"}.mdi-home-remove-outline::before{content:"\F13D7"}.mdi-home-roof::before{content:"\F112B"}.mdi-home-search::before{content:"\F13B0"}.mdi-home-search-outline::before{content:"\F13B1"}.mdi-home-thermometer::before{content:"\F0F54"}.mdi-home-thermometer-outline::before{content:"\F0F55"}.mdi-home-variant::before{content:"\F02DE"}.mdi-home-variant-outline::before{content:"\F0BA7"}.mdi-hook::before{content:"\F06E2"}.mdi-hook-off::before{content:"\F06E3"}.mdi-hops::before{content:"\F02DF"}.mdi-horizontal-rotate-clockwise::before{content:"\F10F3"}.mdi-horizontal-rotate-counterclockwise::before{content:"\F10F4"}.mdi-horse::before{content:"\F15BF"}.mdi-horse-human::before{content:"\F15C0"}.mdi-horse-variant::before{content:"\F15C1"}.mdi-horseshoe::before{content:"\F0A58"}.mdi-hospital::before{content:"\F0FF6"}.mdi-hospital-box::before{content:"\F02E0"}.mdi-hospital-box-outline::before{content:"\F0FF7"}.mdi-hospital-building::before{content:"\F02E1"}.mdi-hospital-marker::before{content:"\F02E2"}.mdi-hot-tub::before{content:"\F0828"}.mdi-hours-24::before{content:"\F1478"}.mdi-hubspot::before{content:"\F0D17"}.mdi-hulu::before{content:"\F0829"}.mdi-human::before{content:"\F02E6"}.mdi-human-baby-changing-table::before{content:"\F138B"}.mdi-human-cane::before{content:"\F1581"}.mdi-human-capacity-decrease::before{content:"\F159B"}.mdi-human-capacity-increase::before{content:"\F159C"}.mdi-human-child::before{content:"\F02E7"}.mdi-human-edit::before{content:"\F14E8"}.mdi-human-female::before{content:"\F0649"}.mdi-human-female-boy::before{content:"\F0A59"}.mdi-human-female-dance::before{content:"\F15C9"}.mdi-human-female-female::before{content:"\F0A5A"}.mdi-human-female-girl::before{content:"\F0A5B"}.mdi-human-greeting::before{content:"\F064A"}.mdi-human-greeting-proximity::before{content:"\F159D"}.mdi-human-handsdown::before{content:"\F064B"}.mdi-human-handsup::before{content:"\F064C"}.mdi-human-male::before{content:"\F064D"}.mdi-human-male-boy::before{content:"\F0A5C"}.mdi-human-male-child::before{content:"\F138C"}.mdi-human-male-female::before{content:"\F02E8"}.mdi-human-male-girl::before{content:"\F0A5D"}.mdi-human-male-height::before{content:"\F0EFB"}.mdi-human-male-height-variant::before{content:"\F0EFC"}.mdi-human-male-male::before{content:"\F0A5E"}.mdi-human-pregnant::before{content:"\F05CF"}.mdi-human-queue::before{content:"\F1571"}.mdi-human-scooter::before{content:"\F11E9"}.mdi-human-wheelchair::before{content:"\F138D"}.mdi-humble-bundle::before{content:"\F0744"}.mdi-hvac::before{content:"\F1352"}.mdi-hvac-off::before{content:"\F159E"}.mdi-hydraulic-oil-level::before{content:"\F1324"}.mdi-hydraulic-oil-temperature::before{content:"\F1325"}.mdi-hydro-power::before{content:"\F12E5"}.mdi-ice-cream::before{content:"\F082A"}.mdi-ice-cream-off::before{content:"\F0E52"}.mdi-ice-pop::before{content:"\F0EFD"}.mdi-id-card::before{content:"\F0FC0"}.mdi-identifier::before{content:"\F0EFE"}.mdi-ideogram-cjk::before{content:"\F1331"}.mdi-ideogram-cjk-variant::before{content:"\F1332"}.mdi-iframe::before{content:"\F0C8B"}.mdi-iframe-array::before{content:"\F10F5"}.mdi-iframe-array-outline::before{content:"\F10F6"}.mdi-iframe-braces::before{content:"\F10F7"}.mdi-iframe-braces-outline::before{content:"\F10F8"}.mdi-iframe-outline::before{content:"\F0C8C"}.mdi-iframe-parentheses::before{content:"\F10F9"}.mdi-iframe-parentheses-outline::before{content:"\F10FA"}.mdi-iframe-variable::before{content:"\F10FB"}.mdi-iframe-variable-outline::before{content:"\F10FC"}.mdi-image::before{content:"\F02E9"}.mdi-image-album::before{content:"\F02EA"}.mdi-image-area::before{content:"\F02EB"}.mdi-image-area-close::before{content:"\F02EC"}.mdi-image-auto-adjust::before{content:"\F0FC1"}.mdi-image-broken::before{content:"\F02ED"}.mdi-image-broken-variant::before{content:"\F02EE"}.mdi-image-edit::before{content:"\F11E3"}.mdi-image-edit-outline::before{content:"\F11E4"}.mdi-image-filter-black-white::before{content:"\F02F0"}.mdi-image-filter-center-focus::before{content:"\F02F1"}.mdi-image-filter-center-focus-strong::before{content:"\F0EFF"}.mdi-image-filter-center-focus-strong-outline::before{content:"\F0F00"}.mdi-image-filter-center-focus-weak::before{content:"\F02F2"}.mdi-image-filter-drama::before{content:"\F02F3"}.mdi-image-filter-frames::before{content:"\F02F4"}.mdi-image-filter-hdr::before{content:"\F02F5"}.mdi-image-filter-none::before{content:"\F02F6"}.mdi-image-filter-tilt-shift::before{content:"\F02F7"}.mdi-image-filter-vintage::before{content:"\F02F8"}.mdi-image-frame::before{content:"\F0E49"}.mdi-image-minus::before{content:"\F1419"}.mdi-image-move::before{content:"\F09F8"}.mdi-image-multiple::before{content:"\F02F9"}.mdi-image-multiple-outline::before{content:"\F02EF"}.mdi-image-off::before{content:"\F082B"}.mdi-image-off-outline::before{content:"\F11D1"}.mdi-image-outline::before{content:"\F0976"}.mdi-image-plus::before{content:"\F087C"}.mdi-image-remove::before{content:"\F1418"}.mdi-image-search::before{content:"\F0977"}.mdi-image-search-outline::before{content:"\F0978"}.mdi-image-size-select-actual::before{content:"\F0C8D"}.mdi-image-size-select-large::before{content:"\F0C8E"}.mdi-image-size-select-small::before{content:"\F0C8F"}.mdi-image-text::before{content:"\F160D"}.mdi-import::before{content:"\F02FA"}.mdi-inbox::before{content:"\F0687"}.mdi-inbox-arrow-down::before{content:"\F02FB"}.mdi-inbox-arrow-down-outline::before{content:"\F1270"}.mdi-inbox-arrow-up::before{content:"\F03D1"}.mdi-inbox-arrow-up-outline::before{content:"\F1271"}.mdi-inbox-full::before{content:"\F1272"}.mdi-inbox-full-outline::before{content:"\F1273"}.mdi-inbox-multiple::before{content:"\F08B0"}.mdi-inbox-multiple-outline::before{content:"\F0BA8"}.mdi-inbox-outline::before{content:"\F1274"}.mdi-inbox-remove::before{content:"\F159F"}.mdi-inbox-remove-outline::before{content:"\F15A0"}.mdi-incognito::before{content:"\F05F9"}.mdi-incognito-circle::before{content:"\F1421"}.mdi-incognito-circle-off::before{content:"\F1422"}.mdi-incognito-off::before{content:"\F0075"}.mdi-infinity::before{content:"\F06E4"}.mdi-information::before{content:"\F02FC"}.mdi-information-outline::before{content:"\F02FD"}.mdi-information-variant::before{content:"\F064E"}.mdi-instagram::before{content:"\F02FE"}.mdi-instrument-triangle::before{content:"\F104E"}.mdi-invert-colors::before{content:"\F0301"}.mdi-invert-colors-off::before{content:"\F0E4A"}.mdi-iobroker::before{content:"\F12E8"}.mdi-ip::before{content:"\F0A5F"}.mdi-ip-network::before{content:"\F0A60"}.mdi-ip-network-outline::before{content:"\F0C90"}.mdi-ipod::before{content:"\F0C91"}.mdi-islam::before{content:"\F0979"}.mdi-island::before{content:"\F104F"}.mdi-iv-bag::before{content:"\F10B9"}.mdi-jabber::before{content:"\F0DD5"}.mdi-jeepney::before{content:"\F0302"}.mdi-jellyfish::before{content:"\F0F01"}.mdi-jellyfish-outline::before{content:"\F0F02"}.mdi-jira::before{content:"\F0303"}.mdi-jquery::before{content:"\F087D"}.mdi-jsfiddle::before{content:"\F0304"}.mdi-judaism::before{content:"\F097A"}.mdi-jump-rope::before{content:"\F12FF"}.mdi-kabaddi::before{content:"\F0D87"}.mdi-kangaroo::before{content:"\F1558"}.mdi-karate::before{content:"\F082C"}.mdi-keg::before{content:"\F0305"}.mdi-kettle::before{content:"\F05FA"}.mdi-kettle-alert::before{content:"\F1317"}.mdi-kettle-alert-outline::before{content:"\F1318"}.mdi-kettle-off::before{content:"\F131B"}.mdi-kettle-off-outline::before{content:"\F131C"}.mdi-kettle-outline::before{content:"\F0F56"}.mdi-kettle-steam::before{content:"\F1319"}.mdi-kettle-steam-outline::before{content:"\F131A"}.mdi-kettlebell::before{content:"\F1300"}.mdi-key::before{content:"\F0306"}.mdi-key-arrow-right::before{content:"\F1312"}.mdi-key-chain::before{content:"\F1574"}.mdi-key-chain-variant::before{content:"\F1575"}.mdi-key-change::before{content:"\F0307"}.mdi-key-link::before{content:"\F119F"}.mdi-key-minus::before{content:"\F0308"}.mdi-key-outline::before{content:"\F0DD6"}.mdi-key-plus::before{content:"\F0309"}.mdi-key-remove::before{content:"\F030A"}.mdi-key-star::before{content:"\F119E"}.mdi-key-variant::before{content:"\F030B"}.mdi-key-wireless::before{content:"\F0FC2"}.mdi-keyboard::before{content:"\F030C"}.mdi-keyboard-backspace::before{content:"\F030D"}.mdi-keyboard-caps::before{content:"\F030E"}.mdi-keyboard-close::before{content:"\F030F"}.mdi-keyboard-esc::before{content:"\F12B7"}.mdi-keyboard-f1::before{content:"\F12AB"}.mdi-keyboard-f10::before{content:"\F12B4"}.mdi-keyboard-f11::before{content:"\F12B5"}.mdi-keyboard-f12::before{content:"\F12B6"}.mdi-keyboard-f2::before{content:"\F12AC"}.mdi-keyboard-f3::before{content:"\F12AD"}.mdi-keyboard-f4::before{content:"\F12AE"}.mdi-keyboard-f5::before{content:"\F12AF"}.mdi-keyboard-f6::before{content:"\F12B0"}.mdi-keyboard-f7::before{content:"\F12B1"}.mdi-keyboard-f8::before{content:"\F12B2"}.mdi-keyboard-f9::before{content:"\F12B3"}.mdi-keyboard-off::before{content:"\F0310"}.mdi-keyboard-off-outline::before{content:"\F0E4B"}.mdi-keyboard-outline::before{content:"\F097B"}.mdi-keyboard-return::before{content:"\F0311"}.mdi-keyboard-settings::before{content:"\F09F9"}.mdi-keyboard-settings-outline::before{content:"\F09FA"}.mdi-keyboard-space::before{content:"\F1050"}.mdi-keyboard-tab::before{content:"\F0312"}.mdi-keyboard-variant::before{content:"\F0313"}.mdi-khanda::before{content:"\F10FD"}.mdi-kickstarter::before{content:"\F0745"}.mdi-klingon::before{content:"\F135B"}.mdi-knife::before{content:"\F09FB"}.mdi-knife-military::before{content:"\F09FC"}.mdi-kodi::before{content:"\F0314"}.mdi-kubernetes::before{content:"\F10FE"}.mdi-label::before{content:"\F0315"}.mdi-label-multiple::before{content:"\F1375"}.mdi-label-multiple-outline::before{content:"\F1376"}.mdi-label-off::before{content:"\F0ACB"}.mdi-label-off-outline::before{content:"\F0ACC"}.mdi-label-outline::before{content:"\F0316"}.mdi-label-percent::before{content:"\F12EA"}.mdi-label-percent-outline::before{content:"\F12EB"}.mdi-label-variant::before{content:"\F0ACD"}.mdi-label-variant-outline::before{content:"\F0ACE"}.mdi-ladder::before{content:"\F15A2"}.mdi-ladybug::before{content:"\F082D"}.mdi-lambda::before{content:"\F0627"}.mdi-lamp::before{content:"\F06B5"}.mdi-lamps::before{content:"\F1576"}.mdi-lan::before{content:"\F0317"}.mdi-lan-check::before{content:"\F12AA"}.mdi-lan-connect::before{content:"\F0318"}.mdi-lan-disconnect::before{content:"\F0319"}.mdi-lan-pending::before{content:"\F031A"}.mdi-language-c::before{content:"\F0671"}.mdi-language-cpp::before{content:"\F0672"}.mdi-language-csharp::before{content:"\F031B"}.mdi-language-css3::before{content:"\F031C"}.mdi-language-fortran::before{content:"\F121A"}.mdi-language-go::before{content:"\F07D3"}.mdi-language-haskell::before{content:"\F0C92"}.mdi-language-html5::before{content:"\F031D"}.mdi-language-java::before{content:"\F0B37"}.mdi-language-javascript::before{content:"\F031E"}.mdi-language-kotlin::before{content:"\F1219"}.mdi-language-lua::before{content:"\F08B1"}.mdi-language-markdown::before{content:"\F0354"}.mdi-language-markdown-outline::before{content:"\F0F5B"}.mdi-language-php::before{content:"\F031F"}.mdi-language-python::before{content:"\F0320"}.mdi-language-r::before{content:"\F07D4"}.mdi-language-ruby::before{content:"\F0D2D"}.mdi-language-ruby-on-rails::before{content:"\F0ACF"}.mdi-language-rust::before{content:"\F1617"}.mdi-language-swift::before{content:"\F06E5"}.mdi-language-typescript::before{content:"\F06E6"}.mdi-language-xaml::before{content:"\F0673"}.mdi-laptop::before{content:"\F0322"}.mdi-laptop-chromebook::before{content:"\F0323"}.mdi-laptop-mac::before{content:"\F0324"}.mdi-laptop-off::before{content:"\F06E7"}.mdi-laptop-windows::before{content:"\F0325"}.mdi-laravel::before{content:"\F0AD0"}.mdi-laser-pointer::before{content:"\F1484"}.mdi-lasso::before{content:"\F0F03"}.mdi-lastpass::before{content:"\F0446"}.mdi-latitude::before{content:"\F0F57"}.mdi-launch::before{content:"\F0327"}.mdi-lava-lamp::before{content:"\F07D5"}.mdi-layers::before{content:"\F0328"}.mdi-layers-minus::before{content:"\F0E4C"}.mdi-layers-off::before{content:"\F0329"}.mdi-layers-off-outline::before{content:"\F09FD"}.mdi-layers-outline::before{content:"\F09FE"}.mdi-layers-plus::before{content:"\F0E4D"}.mdi-layers-remove::before{content:"\F0E4E"}.mdi-layers-search::before{content:"\F1206"}.mdi-layers-search-outline::before{content:"\F1207"}.mdi-layers-triple::before{content:"\F0F58"}.mdi-layers-triple-outline::before{content:"\F0F59"}.mdi-lead-pencil::before{content:"\F064F"}.mdi-leaf::before{content:"\F032A"}.mdi-leaf-maple::before{content:"\F0C93"}.mdi-leaf-maple-off::before{content:"\F12DA"}.mdi-leaf-off::before{content:"\F12D9"}.mdi-leak::before{content:"\F0DD7"}.mdi-leak-off::before{content:"\F0DD8"}.mdi-led-off::before{content:"\F032B"}.mdi-led-on::before{content:"\F032C"}.mdi-led-outline::before{content:"\F032D"}.mdi-led-strip::before{content:"\F07D6"}.mdi-led-strip-variant::before{content:"\F1051"}.mdi-led-variant-off::before{content:"\F032E"}.mdi-led-variant-on::before{content:"\F032F"}.mdi-led-variant-outline::before{content:"\F0330"}.mdi-leek::before{content:"\F117D"}.mdi-less-than::before{content:"\F097C"}.mdi-less-than-or-equal::before{content:"\F097D"}.mdi-library::before{content:"\F0331"}.mdi-library-shelves::before{content:"\F0BA9"}.mdi-license::before{content:"\F0FC3"}.mdi-lifebuoy::before{content:"\F087E"}.mdi-light-switch::before{content:"\F097E"}.mdi-lightbulb::before{content:"\F0335"}.mdi-lightbulb-cfl::before{content:"\F1208"}.mdi-lightbulb-cfl-off::before{content:"\F1209"}.mdi-lightbulb-cfl-spiral::before{content:"\F1275"}.mdi-lightbulb-cfl-spiral-off::before{content:"\F12C3"}.mdi-lightbulb-group::before{content:"\F1253"}.mdi-lightbulb-group-off::before{content:"\F12CD"}.mdi-lightbulb-group-off-outline::before{content:"\F12CE"}.mdi-lightbulb-group-outline::before{content:"\F1254"}.mdi-lightbulb-multiple::before{content:"\F1255"}.mdi-lightbulb-multiple-off::before{content:"\F12CF"}.mdi-lightbulb-multiple-off-outline::before{content:"\F12D0"}.mdi-lightbulb-multiple-outline::before{content:"\F1256"}.mdi-lightbulb-off::before{content:"\F0E4F"}.mdi-lightbulb-off-outline::before{content:"\F0E50"}.mdi-lightbulb-on::before{content:"\F06E8"}.mdi-lightbulb-on-outline::before{content:"\F06E9"}.mdi-lightbulb-outline::before{content:"\F0336"}.mdi-lighthouse::before{content:"\F09FF"}.mdi-lighthouse-on::before{content:"\F0A00"}.mdi-lightning-bolt::before{content:"\F140B"}.mdi-lightning-bolt-outline::before{content:"\F140C"}.mdi-lingerie::before{content:"\F1476"}.mdi-link::before{content:"\F0337"}.mdi-link-box::before{content:"\F0D1A"}.mdi-link-box-outline::before{content:"\F0D1B"}.mdi-link-box-variant::before{content:"\F0D1C"}.mdi-link-box-variant-outline::before{content:"\F0D1D"}.mdi-link-lock::before{content:"\F10BA"}.mdi-link-off::before{content:"\F0338"}.mdi-link-plus::before{content:"\F0C94"}.mdi-link-variant::before{content:"\F0339"}.mdi-link-variant-minus::before{content:"\F10FF"}.mdi-link-variant-off::before{content:"\F033A"}.mdi-link-variant-plus::before{content:"\F1100"}.mdi-link-variant-remove::before{content:"\F1101"}.mdi-linkedin::before{content:"\F033B"}.mdi-linux::before{content:"\F033D"}.mdi-linux-mint::before{content:"\F08ED"}.mdi-lipstick::before{content:"\F13B5"}.mdi-list-status::before{content:"\F15AB"}.mdi-litecoin::before{content:"\F0A61"}.mdi-loading::before{content:"\F0772"}.mdi-location-enter::before{content:"\F0FC4"}.mdi-location-exit::before{content:"\F0FC5"}.mdi-lock::before{content:"\F033E"}.mdi-lock-alert::before{content:"\F08EE"}.mdi-lock-alert-outline::before{content:"\F15D1"}.mdi-lock-check::before{content:"\F139A"}.mdi-lock-check-outline::before{content:"\F16A8"}.mdi-lock-clock::before{content:"\F097F"}.mdi-lock-minus::before{content:"\F16A9"}.mdi-lock-minus-outline::before{content:"\F16AA"}.mdi-lock-off::before{content:"\F1671"}.mdi-lock-off-outline::before{content:"\F1672"}.mdi-lock-open::before{content:"\F033F"}.mdi-lock-open-alert::before{content:"\F139B"}.mdi-lock-open-alert-outline::before{content:"\F15D2"}.mdi-lock-open-check::before{content:"\F139C"}.mdi-lock-open-check-outline::before{content:"\F16AB"}.mdi-lock-open-minus::before{content:"\F16AC"}.mdi-lock-open-minus-outline::before{content:"\F16AD"}.mdi-lock-open-outline::before{content:"\F0340"}.mdi-lock-open-plus::before{content:"\F16AE"}.mdi-lock-open-plus-outline::before{content:"\F16AF"}.mdi-lock-open-remove::before{content:"\F16B0"}.mdi-lock-open-remove-outline::before{content:"\F16B1"}.mdi-lock-open-variant::before{content:"\F0FC6"}.mdi-lock-open-variant-outline::before{content:"\F0FC7"}.mdi-lock-outline::before{content:"\F0341"}.mdi-lock-pattern::before{content:"\F06EA"}.mdi-lock-plus::before{content:"\F05FB"}.mdi-lock-plus-outline::before{content:"\F16B2"}.mdi-lock-question::before{content:"\F08EF"}.mdi-lock-remove::before{content:"\F16B3"}.mdi-lock-remove-outline::before{content:"\F16B4"}.mdi-lock-reset::before{content:"\F0773"}.mdi-lock-smart::before{content:"\F08B2"}.mdi-locker::before{content:"\F07D7"}.mdi-locker-multiple::before{content:"\F07D8"}.mdi-login::before{content:"\F0342"}.mdi-login-variant::before{content:"\F05FC"}.mdi-logout::before{content:"\F0343"}.mdi-logout-variant::before{content:"\F05FD"}.mdi-longitude::before{content:"\F0F5A"}.mdi-looks::before{content:"\F0344"}.mdi-lotion::before{content:"\F1582"}.mdi-lotion-outline::before{content:"\F1583"}.mdi-lotion-plus::before{content:"\F1584"}.mdi-lotion-plus-outline::before{content:"\F1585"}.mdi-loupe::before{content:"\F0345"}.mdi-lumx::before{content:"\F0346"}.mdi-lungs::before{content:"\F1084"}.mdi-magnet::before{content:"\F0347"}.mdi-magnet-on::before{content:"\F0348"}.mdi-magnify::before{content:"\F0349"}.mdi-magnify-close::before{content:"\F0980"}.mdi-magnify-minus::before{content:"\F034A"}.mdi-magnify-minus-cursor::before{content:"\F0A62"}.mdi-magnify-minus-outline::before{content:"\F06EC"}.mdi-magnify-plus::before{content:"\F034B"}.mdi-magnify-plus-cursor::before{content:"\F0A63"}.mdi-magnify-plus-outline::before{content:"\F06ED"}.mdi-magnify-remove-cursor::before{content:"\F120C"}.mdi-magnify-remove-outline::before{content:"\F120D"}.mdi-magnify-scan::before{content:"\F1276"}.mdi-mail::before{content:"\F0EBB"}.mdi-mailbox::before{content:"\F06EE"}.mdi-mailbox-open::before{content:"\F0D88"}.mdi-mailbox-open-outline::before{content:"\F0D89"}.mdi-mailbox-open-up::before{content:"\F0D8A"}.mdi-mailbox-open-up-outline::before{content:"\F0D8B"}.mdi-mailbox-outline::before{content:"\F0D8C"}.mdi-mailbox-up::before{content:"\F0D8D"}.mdi-mailbox-up-outline::before{content:"\F0D8E"}.mdi-manjaro::before{content:"\F160A"}.mdi-map::before{content:"\F034D"}.mdi-map-check::before{content:"\F0EBC"}.mdi-map-check-outline::before{content:"\F0EBD"}.mdi-map-clock::before{content:"\F0D1E"}.mdi-map-clock-outline::before{content:"\F0D1F"}.mdi-map-legend::before{content:"\F0A01"}.mdi-map-marker::before{content:"\F034E"}.mdi-map-marker-alert::before{content:"\F0F05"}.mdi-map-marker-alert-outline::before{content:"\F0F06"}.mdi-map-marker-check::before{content:"\F0C95"}.mdi-map-marker-check-outline::before{content:"\F12FB"}.mdi-map-marker-circle::before{content:"\F034F"}.mdi-map-marker-distance::before{content:"\F08F0"}.mdi-map-marker-down::before{content:"\F1102"}.mdi-map-marker-left::before{content:"\F12DB"}.mdi-map-marker-left-outline::before{content:"\F12DD"}.mdi-map-marker-minus::before{content:"\F0650"}.mdi-map-marker-minus-outline::before{content:"\F12F9"}.mdi-map-marker-multiple::before{content:"\F0350"}.mdi-map-marker-multiple-outline::before{content:"\F1277"}.mdi-map-marker-off::before{content:"\F0351"}.mdi-map-marker-off-outline::before{content:"\F12FD"}.mdi-map-marker-outline::before{content:"\F07D9"}.mdi-map-marker-path::before{content:"\F0D20"}.mdi-map-marker-plus::before{content:"\F0651"}.mdi-map-marker-plus-outline::before{content:"\F12F8"}.mdi-map-marker-question::before{content:"\F0F07"}.mdi-map-marker-question-outline::before{content:"\F0F08"}.mdi-map-marker-radius::before{content:"\F0352"}.mdi-map-marker-radius-outline::before{content:"\F12FC"}.mdi-map-marker-remove::before{content:"\F0F09"}.mdi-map-marker-remove-outline::before{content:"\F12FA"}.mdi-map-marker-remove-variant::before{content:"\F0F0A"}.mdi-map-marker-right::before{content:"\F12DC"}.mdi-map-marker-right-outline::before{content:"\F12DE"}.mdi-map-marker-star::before{content:"\F1608"}.mdi-map-marker-star-outline::before{content:"\F1609"}.mdi-map-marker-up::before{content:"\F1103"}.mdi-map-minus::before{content:"\F0981"}.mdi-map-outline::before{content:"\F0982"}.mdi-map-plus::before{content:"\F0983"}.mdi-map-search::before{content:"\F0984"}.mdi-map-search-outline::before{content:"\F0985"}.mdi-mapbox::before{content:"\F0BAA"}.mdi-margin::before{content:"\F0353"}.mdi-marker::before{content:"\F0652"}.mdi-marker-cancel::before{content:"\F0DD9"}.mdi-marker-check::before{content:"\F0355"}.mdi-mastodon::before{content:"\F0AD1"}.mdi-material-design::before{content:"\F0986"}.mdi-material-ui::before{content:"\F0357"}.mdi-math-compass::before{content:"\F0358"}.mdi-math-cos::before{content:"\F0C96"}.mdi-math-integral::before{content:"\F0FC8"}.mdi-math-integral-box::before{content:"\F0FC9"}.mdi-math-log::before{content:"\F1085"}.mdi-math-norm::before{content:"\F0FCA"}.mdi-math-norm-box::before{content:"\F0FCB"}.mdi-math-sin::before{content:"\F0C97"}.mdi-math-tan::before{content:"\F0C98"}.mdi-matrix::before{content:"\F0628"}.mdi-medal::before{content:"\F0987"}.mdi-medal-outline::before{content:"\F1326"}.mdi-medical-bag::before{content:"\F06EF"}.mdi-meditation::before{content:"\F117B"}.mdi-memory::before{content:"\F035B"}.mdi-menu::before{content:"\F035C"}.mdi-menu-down::before{content:"\F035D"}.mdi-menu-down-outline::before{content:"\F06B6"}.mdi-menu-left::before{content:"\F035E"}.mdi-menu-left-outline::before{content:"\F0A02"}.mdi-menu-open::before{content:"\F0BAB"}.mdi-menu-right::before{content:"\F035F"}.mdi-menu-right-outline::before{content:"\F0A03"}.mdi-menu-swap::before{content:"\F0A64"}.mdi-menu-swap-outline::before{content:"\F0A65"}.mdi-menu-up::before{content:"\F0360"}.mdi-menu-up-outline::before{content:"\F06B7"}.mdi-merge::before{content:"\F0F5C"}.mdi-message::before{content:"\F0361"}.mdi-message-alert::before{content:"\F0362"}.mdi-message-alert-outline::before{content:"\F0A04"}.mdi-message-arrow-left::before{content:"\F12F2"}.mdi-message-arrow-left-outline::before{content:"\F12F3"}.mdi-message-arrow-right::before{content:"\F12F4"}.mdi-message-arrow-right-outline::before{content:"\F12F5"}.mdi-message-bookmark::before{content:"\F15AC"}.mdi-message-bookmark-outline::before{content:"\F15AD"}.mdi-message-bulleted::before{content:"\F06A2"}.mdi-message-bulleted-off::before{content:"\F06A3"}.mdi-message-cog::before{content:"\F06F1"}.mdi-message-cog-outline::before{content:"\F1172"}.mdi-message-draw::before{content:"\F0363"}.mdi-message-flash::before{content:"\F15A9"}.mdi-message-flash-outline::before{content:"\F15AA"}.mdi-message-image::before{content:"\F0364"}.mdi-message-image-outline::before{content:"\F116C"}.mdi-message-lock::before{content:"\F0FCC"}.mdi-message-lock-outline::before{content:"\F116D"}.mdi-message-minus::before{content:"\F116E"}.mdi-message-minus-outline::before{content:"\F116F"}.mdi-message-off::before{content:"\F164D"}.mdi-message-off-outline::before{content:"\F164E"}.mdi-message-outline::before{content:"\F0365"}.mdi-message-plus::before{content:"\F0653"}.mdi-message-plus-outline::before{content:"\F10BB"}.mdi-message-processing::before{content:"\F0366"}.mdi-message-processing-outline::before{content:"\F1170"}.mdi-message-reply::before{content:"\F0367"}.mdi-message-reply-text::before{content:"\F0368"}.mdi-message-settings::before{content:"\F06F0"}.mdi-message-settings-outline::before{content:"\F1171"}.mdi-message-text::before{content:"\F0369"}.mdi-message-text-clock::before{content:"\F1173"}.mdi-message-text-clock-outline::before{content:"\F1174"}.mdi-message-text-lock::before{content:"\F0FCD"}.mdi-message-text-lock-outline::before{content:"\F1175"}.mdi-message-text-outline::before{content:"\F036A"}.mdi-message-video::before{content:"\F036B"}.mdi-meteor::before{content:"\F0629"}.mdi-metronome::before{content:"\F07DA"}.mdi-metronome-tick::before{content:"\F07DB"}.mdi-micro-sd::before{content:"\F07DC"}.mdi-microphone::before{content:"\F036C"}.mdi-microphone-minus::before{content:"\F08B3"}.mdi-microphone-off::before{content:"\F036D"}.mdi-microphone-outline::before{content:"\F036E"}.mdi-microphone-plus::before{content:"\F08B4"}.mdi-microphone-settings::before{content:"\F036F"}.mdi-microphone-variant::before{content:"\F0370"}.mdi-microphone-variant-off::before{content:"\F0371"}.mdi-microscope::before{content:"\F0654"}.mdi-microsoft::before{content:"\F0372"}.mdi-microsoft-access::before{content:"\F138E"}.mdi-microsoft-azure::before{content:"\F0805"}.mdi-microsoft-azure-devops::before{content:"\F0FD5"}.mdi-microsoft-bing::before{content:"\F00A4"}.mdi-microsoft-dynamics-365::before{content:"\F0988"}.mdi-microsoft-edge::before{content:"\F01E9"}.mdi-microsoft-edge-legacy::before{content:"\F1250"}.mdi-microsoft-excel::before{content:"\F138F"}.mdi-microsoft-internet-explorer::before{content:"\F0300"}.mdi-microsoft-office::before{content:"\F03C6"}.mdi-microsoft-onedrive::before{content:"\F03CA"}.mdi-microsoft-onenote::before{content:"\F0747"}.mdi-microsoft-outlook::before{content:"\F0D22"}.mdi-microsoft-powerpoint::before{content:"\F1390"}.mdi-microsoft-sharepoint::before{content:"\F1391"}.mdi-microsoft-teams::before{content:"\F02BB"}.mdi-microsoft-visual-studio::before{content:"\F0610"}.mdi-microsoft-visual-studio-code::before{content:"\F0A1E"}.mdi-microsoft-windows::before{content:"\F05B3"}.mdi-microsoft-windows-classic::before{content:"\F0A21"}.mdi-microsoft-word::before{content:"\F1392"}.mdi-microsoft-xbox::before{content:"\F05B9"}.mdi-microsoft-xbox-controller::before{content:"\F05BA"}.mdi-microsoft-xbox-controller-battery-alert::before{content:"\F074B"}.mdi-microsoft-xbox-controller-battery-charging::before{content:"\F0A22"}.mdi-microsoft-xbox-controller-battery-empty::before{content:"\F074C"}.mdi-microsoft-xbox-controller-battery-full::before{content:"\F074D"}.mdi-microsoft-xbox-controller-battery-low::before{content:"\F074E"}.mdi-microsoft-xbox-controller-battery-medium::before{content:"\F074F"}.mdi-microsoft-xbox-controller-battery-unknown::before{content:"\F0750"}.mdi-microsoft-xbox-controller-menu::before{content:"\F0E6F"}.mdi-microsoft-xbox-controller-off::before{content:"\F05BB"}.mdi-microsoft-xbox-controller-view::before{content:"\F0E70"}.mdi-microsoft-yammer::before{content:"\F0789"}.mdi-microwave::before{content:"\F0C99"}.mdi-microwave-off::before{content:"\F1423"}.mdi-middleware::before{content:"\F0F5D"}.mdi-middleware-outline::before{content:"\F0F5E"}.mdi-midi::before{content:"\F08F1"}.mdi-midi-port::before{content:"\F08F2"}.mdi-mine::before{content:"\F0DDA"}.mdi-minecraft::before{content:"\F0373"}.mdi-mini-sd::before{content:"\F0A05"}.mdi-minidisc::before{content:"\F0A06"}.mdi-minus::before{content:"\F0374"}.mdi-minus-box::before{content:"\F0375"}.mdi-minus-box-multiple::before{content:"\F1141"}.mdi-minus-box-multiple-outline::before{content:"\F1142"}.mdi-minus-box-outline::before{content:"\F06F2"}.mdi-minus-circle::before{content:"\F0376"}.mdi-minus-circle-multiple::before{content:"\F035A"}.mdi-minus-circle-multiple-outline::before{content:"\F0AD3"}.mdi-minus-circle-off::before{content:"\F1459"}.mdi-minus-circle-off-outline::before{content:"\F145A"}.mdi-minus-circle-outline::before{content:"\F0377"}.mdi-minus-network::before{content:"\F0378"}.mdi-minus-network-outline::before{content:"\F0C9A"}.mdi-minus-thick::before{content:"\F1639"}.mdi-mirror::before{content:"\F11FD"}.mdi-mixed-martial-arts::before{content:"\F0D8F"}.mdi-mixed-reality::before{content:"\F087F"}.mdi-molecule::before{content:"\F0BAC"}.mdi-molecule-co::before{content:"\F12FE"}.mdi-molecule-co2::before{content:"\F07E4"}.mdi-monitor::before{content:"\F0379"}.mdi-monitor-cellphone::before{content:"\F0989"}.mdi-monitor-cellphone-star::before{content:"\F098A"}.mdi-monitor-clean::before{content:"\F1104"}.mdi-monitor-dashboard::before{content:"\F0A07"}.mdi-monitor-edit::before{content:"\F12C6"}.mdi-monitor-eye::before{content:"\F13B4"}.mdi-monitor-lock::before{content:"\F0DDB"}.mdi-monitor-multiple::before{content:"\F037A"}.mdi-monitor-off::before{content:"\F0D90"}.mdi-monitor-screenshot::before{content:"\F0E51"}.mdi-monitor-share::before{content:"\F1483"}.mdi-monitor-speaker::before{content:"\F0F5F"}.mdi-monitor-speaker-off::before{content:"\F0F60"}.mdi-monitor-star::before{content:"\F0DDC"}.mdi-moon-first-quarter::before{content:"\F0F61"}.mdi-moon-full::before{content:"\F0F62"}.mdi-moon-last-quarter::before{content:"\F0F63"}.mdi-moon-new::before{content:"\F0F64"}.mdi-moon-waning-crescent::before{content:"\F0F65"}.mdi-moon-waning-gibbous::before{content:"\F0F66"}.mdi-moon-waxing-crescent::before{content:"\F0F67"}.mdi-moon-waxing-gibbous::before{content:"\F0F68"}.mdi-moped::before{content:"\F1086"}.mdi-moped-electric::before{content:"\F15B7"}.mdi-moped-electric-outline::before{content:"\F15B8"}.mdi-moped-outline::before{content:"\F15B9"}.mdi-more::before{content:"\F037B"}.mdi-mother-heart::before{content:"\F1314"}.mdi-mother-nurse::before{content:"\F0D21"}.mdi-motion::before{content:"\F15B2"}.mdi-motion-outline::before{content:"\F15B3"}.mdi-motion-pause::before{content:"\F1590"}.mdi-motion-pause-outline::before{content:"\F1592"}.mdi-motion-play::before{content:"\F158F"}.mdi-motion-play-outline::before{content:"\F1591"}.mdi-motion-sensor::before{content:"\F0D91"}.mdi-motion-sensor-off::before{content:"\F1435"}.mdi-motorbike::before{content:"\F037C"}.mdi-motorbike-electric::before{content:"\F15BA"}.mdi-mouse::before{content:"\F037D"}.mdi-mouse-bluetooth::before{content:"\F098B"}.mdi-mouse-move-down::before{content:"\F1550"}.mdi-mouse-move-up::before{content:"\F1551"}.mdi-mouse-move-vertical::before{content:"\F1552"}.mdi-mouse-off::before{content:"\F037E"}.mdi-mouse-variant::before{content:"\F037F"}.mdi-mouse-variant-off::before{content:"\F0380"}.mdi-move-resize::before{content:"\F0655"}.mdi-move-resize-variant::before{content:"\F0656"}.mdi-movie::before{content:"\F0381"}.mdi-movie-edit::before{content:"\F1122"}.mdi-movie-edit-outline::before{content:"\F1123"}.mdi-movie-filter::before{content:"\F1124"}.mdi-movie-filter-outline::before{content:"\F1125"}.mdi-movie-open::before{content:"\F0FCE"}.mdi-movie-open-outline::before{content:"\F0FCF"}.mdi-movie-outline::before{content:"\F0DDD"}.mdi-movie-roll::before{content:"\F07DE"}.mdi-movie-search::before{content:"\F11D2"}.mdi-movie-search-outline::before{content:"\F11D3"}.mdi-mower::before{content:"\F166F"}.mdi-mower-bag::before{content:"\F1670"}.mdi-muffin::before{content:"\F098C"}.mdi-multiplication::before{content:"\F0382"}.mdi-multiplication-box::before{content:"\F0383"}.mdi-mushroom::before{content:"\F07DF"}.mdi-mushroom-off::before{content:"\F13FA"}.mdi-mushroom-off-outline::before{content:"\F13FB"}.mdi-mushroom-outline::before{content:"\F07E0"}.mdi-music::before{content:"\F075A"}.mdi-music-accidental-double-flat::before{content:"\F0F69"}.mdi-music-accidental-double-sharp::before{content:"\F0F6A"}.mdi-music-accidental-flat::before{content:"\F0F6B"}.mdi-music-accidental-natural::before{content:"\F0F6C"}.mdi-music-accidental-sharp::before{content:"\F0F6D"}.mdi-music-box::before{content:"\F0384"}.mdi-music-box-multiple::before{content:"\F0333"}.mdi-music-box-multiple-outline::before{content:"\F0F04"}.mdi-music-box-outline::before{content:"\F0385"}.mdi-music-circle::before{content:"\F0386"}.mdi-music-circle-outline::before{content:"\F0AD4"}.mdi-music-clef-alto::before{content:"\F0F6E"}.mdi-music-clef-bass::before{content:"\F0F6F"}.mdi-music-clef-treble::before{content:"\F0F70"}.mdi-music-note::before{content:"\F0387"}.mdi-music-note-bluetooth::before{content:"\F05FE"}.mdi-music-note-bluetooth-off::before{content:"\F05FF"}.mdi-music-note-eighth::before{content:"\F0388"}.mdi-music-note-eighth-dotted::before{content:"\F0F71"}.mdi-music-note-half::before{content:"\F0389"}.mdi-music-note-half-dotted::before{content:"\F0F72"}.mdi-music-note-off::before{content:"\F038A"}.mdi-music-note-off-outline::before{content:"\F0F73"}.mdi-music-note-outline::before{content:"\F0F74"}.mdi-music-note-plus::before{content:"\F0DDE"}.mdi-music-note-quarter::before{content:"\F038B"}.mdi-music-note-quarter-dotted::before{content:"\F0F75"}.mdi-music-note-sixteenth::before{content:"\F038C"}.mdi-music-note-sixteenth-dotted::before{content:"\F0F76"}.mdi-music-note-whole::before{content:"\F038D"}.mdi-music-note-whole-dotted::before{content:"\F0F77"}.mdi-music-off::before{content:"\F075B"}.mdi-music-rest-eighth::before{content:"\F0F78"}.mdi-music-rest-half::before{content:"\F0F79"}.mdi-music-rest-quarter::before{content:"\F0F7A"}.mdi-music-rest-sixteenth::before{content:"\F0F7B"}.mdi-music-rest-whole::before{content:"\F0F7C"}.mdi-mustache::before{content:"\F15DE"}.mdi-nail::before{content:"\F0DDF"}.mdi-nas::before{content:"\F08F3"}.mdi-nativescript::before{content:"\F0880"}.mdi-nature::before{content:"\F038E"}.mdi-nature-people::before{content:"\F038F"}.mdi-navigation::before{content:"\F0390"}.mdi-navigation-outline::before{content:"\F1607"}.mdi-near-me::before{content:"\F05CD"}.mdi-necklace::before{content:"\F0F0B"}.mdi-needle::before{content:"\F0391"}.mdi-netflix::before{content:"\F0746"}.mdi-network::before{content:"\F06F3"}.mdi-network-off::before{content:"\F0C9B"}.mdi-network-off-outline::before{content:"\F0C9C"}.mdi-network-outline::before{content:"\F0C9D"}.mdi-network-strength-1::before{content:"\F08F4"}.mdi-network-strength-1-alert::before{content:"\F08F5"}.mdi-network-strength-2::before{content:"\F08F6"}.mdi-network-strength-2-alert::before{content:"\F08F7"}.mdi-network-strength-3::before{content:"\F08F8"}.mdi-network-strength-3-alert::before{content:"\F08F9"}.mdi-network-strength-4::before{content:"\F08FA"}.mdi-network-strength-4-alert::before{content:"\F08FB"}.mdi-network-strength-off::before{content:"\F08FC"}.mdi-network-strength-off-outline::before{content:"\F08FD"}.mdi-network-strength-outline::before{content:"\F08FE"}.mdi-new-box::before{content:"\F0394"}.mdi-newspaper::before{content:"\F0395"}.mdi-newspaper-minus::before{content:"\F0F0C"}.mdi-newspaper-plus::before{content:"\F0F0D"}.mdi-newspaper-variant::before{content:"\F1001"}.mdi-newspaper-variant-multiple::before{content:"\F1002"}.mdi-newspaper-variant-multiple-outline::before{content:"\F1003"}.mdi-newspaper-variant-outline::before{content:"\F1004"}.mdi-nfc::before{content:"\F0396"}.mdi-nfc-search-variant::before{content:"\F0E53"}.mdi-nfc-tap::before{content:"\F0397"}.mdi-nfc-variant::before{content:"\F0398"}.mdi-nfc-variant-off::before{content:"\F0E54"}.mdi-ninja::before{content:"\F0774"}.mdi-nintendo-game-boy::before{content:"\F1393"}.mdi-nintendo-switch::before{content:"\F07E1"}.mdi-nintendo-wii::before{content:"\F05AB"}.mdi-nintendo-wiiu::before{content:"\F072D"}.mdi-nix::before{content:"\F1105"}.mdi-nodejs::before{content:"\F0399"}.mdi-noodles::before{content:"\F117E"}.mdi-not-equal::before{content:"\F098D"}.mdi-not-equal-variant::before{content:"\F098E"}.mdi-note::before{content:"\F039A"}.mdi-note-minus::before{content:"\F164F"}.mdi-note-minus-outline::before{content:"\F1650"}.mdi-note-multiple::before{content:"\F06B8"}.mdi-note-multiple-outline::before{content:"\F06B9"}.mdi-note-outline::before{content:"\F039B"}.mdi-note-plus::before{content:"\F039C"}.mdi-note-plus-outline::before{content:"\F039D"}.mdi-note-remove::before{content:"\F1651"}.mdi-note-remove-outline::before{content:"\F1652"}.mdi-note-search::before{content:"\F1653"}.mdi-note-search-outline::before{content:"\F1654"}.mdi-note-text::before{content:"\F039E"}.mdi-note-text-outline::before{content:"\F11D7"}.mdi-notebook::before{content:"\F082E"}.mdi-notebook-check::before{content:"\F14F5"}.mdi-notebook-check-outline::before{content:"\F14F6"}.mdi-notebook-edit::before{content:"\F14E7"}.mdi-notebook-edit-outline::before{content:"\F14E9"}.mdi-notebook-minus::before{content:"\F1610"}.mdi-notebook-minus-outline::before{content:"\F1611"}.mdi-notebook-multiple::before{content:"\F0E55"}.mdi-notebook-outline::before{content:"\F0EBF"}.mdi-notebook-plus::before{content:"\F1612"}.mdi-notebook-plus-outline::before{content:"\F1613"}.mdi-notebook-remove::before{content:"\F1614"}.mdi-notebook-remove-outline::before{content:"\F1615"}.mdi-notification-clear-all::before{content:"\F039F"}.mdi-npm::before{content:"\F06F7"}.mdi-nuke::before{content:"\F06A4"}.mdi-null::before{content:"\F07E2"}.mdi-numeric::before{content:"\F03A0"}.mdi-numeric-0::before{content:"\F0B39"}.mdi-numeric-0-box::before{content:"\F03A1"}.mdi-numeric-0-box-multiple::before{content:"\F0F0E"}.mdi-numeric-0-box-multiple-outline::before{content:"\F03A2"}.mdi-numeric-0-box-outline::before{content:"\F03A3"}.mdi-numeric-0-circle::before{content:"\F0C9E"}.mdi-numeric-0-circle-outline::before{content:"\F0C9F"}.mdi-numeric-1::before{content:"\F0B3A"}.mdi-numeric-1-box::before{content:"\F03A4"}.mdi-numeric-1-box-multiple::before{content:"\F0F0F"}.mdi-numeric-1-box-multiple-outline::before{content:"\F03A5"}.mdi-numeric-1-box-outline::before{content:"\F03A6"}.mdi-numeric-1-circle::before{content:"\F0CA0"}.mdi-numeric-1-circle-outline::before{content:"\F0CA1"}.mdi-numeric-10::before{content:"\F0FE9"}.mdi-numeric-10-box::before{content:"\F0F7D"}.mdi-numeric-10-box-multiple::before{content:"\F0FEA"}.mdi-numeric-10-box-multiple-outline::before{content:"\F0FEB"}.mdi-numeric-10-box-outline::before{content:"\F0F7E"}.mdi-numeric-10-circle::before{content:"\F0FEC"}.mdi-numeric-10-circle-outline::before{content:"\F0FED"}.mdi-numeric-2::before{content:"\F0B3B"}.mdi-numeric-2-box::before{content:"\F03A7"}.mdi-numeric-2-box-multiple::before{content:"\F0F10"}.mdi-numeric-2-box-multiple-outline::before{content:"\F03A8"}.mdi-numeric-2-box-outline::before{content:"\F03A9"}.mdi-numeric-2-circle::before{content:"\F0CA2"}.mdi-numeric-2-circle-outline::before{content:"\F0CA3"}.mdi-numeric-3::before{content:"\F0B3C"}.mdi-numeric-3-box::before{content:"\F03AA"}.mdi-numeric-3-box-multiple::before{content:"\F0F11"}.mdi-numeric-3-box-multiple-outline::before{content:"\F03AB"}.mdi-numeric-3-box-outline::before{content:"\F03AC"}.mdi-numeric-3-circle::before{content:"\F0CA4"}.mdi-numeric-3-circle-outline::before{content:"\F0CA5"}.mdi-numeric-4::before{content:"\F0B3D"}.mdi-numeric-4-box::before{content:"\F03AD"}.mdi-numeric-4-box-multiple::before{content:"\F0F12"}.mdi-numeric-4-box-multiple-outline::before{content:"\F03B2"}.mdi-numeric-4-box-outline::before{content:"\F03AE"}.mdi-numeric-4-circle::before{content:"\F0CA6"}.mdi-numeric-4-circle-outline::before{content:"\F0CA7"}.mdi-numeric-5::before{content:"\F0B3E"}.mdi-numeric-5-box::before{content:"\F03B1"}.mdi-numeric-5-box-multiple::before{content:"\F0F13"}.mdi-numeric-5-box-multiple-outline::before{content:"\F03AF"}.mdi-numeric-5-box-outline::before{content:"\F03B0"}.mdi-numeric-5-circle::before{content:"\F0CA8"}.mdi-numeric-5-circle-outline::before{content:"\F0CA9"}.mdi-numeric-6::before{content:"\F0B3F"}.mdi-numeric-6-box::before{content:"\F03B3"}.mdi-numeric-6-box-multiple::before{content:"\F0F14"}.mdi-numeric-6-box-multiple-outline::before{content:"\F03B4"}.mdi-numeric-6-box-outline::before{content:"\F03B5"}.mdi-numeric-6-circle::before{content:"\F0CAA"}.mdi-numeric-6-circle-outline::before{content:"\F0CAB"}.mdi-numeric-7::before{content:"\F0B40"}.mdi-numeric-7-box::before{content:"\F03B6"}.mdi-numeric-7-box-multiple::before{content:"\F0F15"}.mdi-numeric-7-box-multiple-outline::before{content:"\F03B7"}.mdi-numeric-7-box-outline::before{content:"\F03B8"}.mdi-numeric-7-circle::before{content:"\F0CAC"}.mdi-numeric-7-circle-outline::before{content:"\F0CAD"}.mdi-numeric-8::before{content:"\F0B41"}.mdi-numeric-8-box::before{content:"\F03B9"}.mdi-numeric-8-box-multiple::before{content:"\F0F16"}.mdi-numeric-8-box-multiple-outline::before{content:"\F03BA"}.mdi-numeric-8-box-outline::before{content:"\F03BB"}.mdi-numeric-8-circle::before{content:"\F0CAE"}.mdi-numeric-8-circle-outline::before{content:"\F0CAF"}.mdi-numeric-9::before{content:"\F0B42"}.mdi-numeric-9-box::before{content:"\F03BC"}.mdi-numeric-9-box-multiple::before{content:"\F0F17"}.mdi-numeric-9-box-multiple-outline::before{content:"\F03BD"}.mdi-numeric-9-box-outline::before{content:"\F03BE"}.mdi-numeric-9-circle::before{content:"\F0CB0"}.mdi-numeric-9-circle-outline::before{content:"\F0CB1"}.mdi-numeric-9-plus::before{content:"\F0FEE"}.mdi-numeric-9-plus-box::before{content:"\F03BF"}.mdi-numeric-9-plus-box-multiple::before{content:"\F0F18"}.mdi-numeric-9-plus-box-multiple-outline::before{content:"\F03C0"}.mdi-numeric-9-plus-box-outline::before{content:"\F03C1"}.mdi-numeric-9-plus-circle::before{content:"\F0CB2"}.mdi-numeric-9-plus-circle-outline::before{content:"\F0CB3"}.mdi-numeric-negative-1::before{content:"\F1052"}.mdi-numeric-positive-1::before{content:"\F15CB"}.mdi-nut::before{content:"\F06F8"}.mdi-nutrition::before{content:"\F03C2"}.mdi-nuxt::before{content:"\F1106"}.mdi-oar::before{content:"\F067C"}.mdi-ocarina::before{content:"\F0DE0"}.mdi-oci::before{content:"\F12E9"}.mdi-ocr::before{content:"\F113A"}.mdi-octagon::before{content:"\F03C3"}.mdi-octagon-outline::before{content:"\F03C4"}.mdi-octagram::before{content:"\F06F9"}.mdi-octagram-outline::before{content:"\F0775"}.mdi-odnoklassniki::before{content:"\F03C5"}.mdi-offer::before{content:"\F121B"}.mdi-office-building::before{content:"\F0991"}.mdi-office-building-marker::before{content:"\F1520"}.mdi-office-building-marker-outline::before{content:"\F1521"}.mdi-office-building-outline::before{content:"\F151F"}.mdi-oil::before{content:"\F03C7"}.mdi-oil-lamp::before{content:"\F0F19"}.mdi-oil-level::before{content:"\F1053"}.mdi-oil-temperature::before{content:"\F0FF8"}.mdi-omega::before{content:"\F03C9"}.mdi-one-up::before{content:"\F0BAD"}.mdi-onepassword::before{content:"\F0881"}.mdi-opacity::before{content:"\F05CC"}.mdi-open-in-app::before{content:"\F03CB"}.mdi-open-in-new::before{content:"\F03CC"}.mdi-open-source-initiative::before{content:"\F0BAE"}.mdi-openid::before{content:"\F03CD"}.mdi-opera::before{content:"\F03CE"}.mdi-orbit::before{content:"\F0018"}.mdi-orbit-variant::before{content:"\F15DB"}.mdi-order-alphabetical-ascending::before{content:"\F020D"}.mdi-order-alphabetical-descending::before{content:"\F0D07"}.mdi-order-bool-ascending::before{content:"\F02BE"}.mdi-order-bool-ascending-variant::before{content:"\F098F"}.mdi-order-bool-descending::before{content:"\F1384"}.mdi-order-bool-descending-variant::before{content:"\F0990"}.mdi-order-numeric-ascending::before{content:"\F0545"}.mdi-order-numeric-descending::before{content:"\F0546"}.mdi-origin::before{content:"\F0B43"}.mdi-ornament::before{content:"\F03CF"}.mdi-ornament-variant::before{content:"\F03D0"}.mdi-outdoor-lamp::before{content:"\F1054"}.mdi-overscan::before{content:"\F1005"}.mdi-owl::before{content:"\F03D2"}.mdi-pac-man::before{content:"\F0BAF"}.mdi-package::before{content:"\F03D3"}.mdi-package-down::before{content:"\F03D4"}.mdi-package-up::before{content:"\F03D5"}.mdi-package-variant::before{content:"\F03D6"}.mdi-package-variant-closed::before{content:"\F03D7"}.mdi-page-first::before{content:"\F0600"}.mdi-page-last::before{content:"\F0601"}.mdi-page-layout-body::before{content:"\F06FA"}.mdi-page-layout-footer::before{content:"\F06FB"}.mdi-page-layout-header::before{content:"\F06FC"}.mdi-page-layout-header-footer::before{content:"\F0F7F"}.mdi-page-layout-sidebar-left::before{content:"\F06FD"}.mdi-page-layout-sidebar-right::before{content:"\F06FE"}.mdi-page-next::before{content:"\F0BB0"}.mdi-page-next-outline::before{content:"\F0BB1"}.mdi-page-previous::before{content:"\F0BB2"}.mdi-page-previous-outline::before{content:"\F0BB3"}.mdi-pail::before{content:"\F1417"}.mdi-pail-minus::before{content:"\F1437"}.mdi-pail-minus-outline::before{content:"\F143C"}.mdi-pail-off::before{content:"\F1439"}.mdi-pail-off-outline::before{content:"\F143E"}.mdi-pail-outline::before{content:"\F143A"}.mdi-pail-plus::before{content:"\F1436"}.mdi-pail-plus-outline::before{content:"\F143B"}.mdi-pail-remove::before{content:"\F1438"}.mdi-pail-remove-outline::before{content:"\F143D"}.mdi-palette::before{content:"\F03D8"}.mdi-palette-advanced::before{content:"\F03D9"}.mdi-palette-outline::before{content:"\F0E0C"}.mdi-palette-swatch::before{content:"\F08B5"}.mdi-palette-swatch-outline::before{content:"\F135C"}.mdi-palm-tree::before{content:"\F1055"}.mdi-pan::before{content:"\F0BB4"}.mdi-pan-bottom-left::before{content:"\F0BB5"}.mdi-pan-bottom-right::before{content:"\F0BB6"}.mdi-pan-down::before{content:"\F0BB7"}.mdi-pan-horizontal::before{content:"\F0BB8"}.mdi-pan-left::before{content:"\F0BB9"}.mdi-pan-right::before{content:"\F0BBA"}.mdi-pan-top-left::before{content:"\F0BBB"}.mdi-pan-top-right::before{content:"\F0BBC"}.mdi-pan-up::before{content:"\F0BBD"}.mdi-pan-vertical::before{content:"\F0BBE"}.mdi-panda::before{content:"\F03DA"}.mdi-pandora::before{content:"\F03DB"}.mdi-panorama::before{content:"\F03DC"}.mdi-panorama-fisheye::before{content:"\F03DD"}.mdi-panorama-horizontal::before{content:"\F03DE"}.mdi-panorama-vertical::before{content:"\F03DF"}.mdi-panorama-wide-angle::before{content:"\F03E0"}.mdi-paper-cut-vertical::before{content:"\F03E1"}.mdi-paper-roll::before{content:"\F1157"}.mdi-paper-roll-outline::before{content:"\F1158"}.mdi-paperclip::before{content:"\F03E2"}.mdi-parachute::before{content:"\F0CB4"}.mdi-parachute-outline::before{content:"\F0CB5"}.mdi-parking::before{content:"\F03E3"}.mdi-party-popper::before{content:"\F1056"}.mdi-passport::before{content:"\F07E3"}.mdi-passport-biometric::before{content:"\F0DE1"}.mdi-pasta::before{content:"\F1160"}.mdi-patio-heater::before{content:"\F0F80"}.mdi-patreon::before{content:"\F0882"}.mdi-pause::before{content:"\F03E4"}.mdi-pause-circle::before{content:"\F03E5"}.mdi-pause-circle-outline::before{content:"\F03E6"}.mdi-pause-octagon::before{content:"\F03E7"}.mdi-pause-octagon-outline::before{content:"\F03E8"}.mdi-paw::before{content:"\F03E9"}.mdi-paw-off::before{content:"\F0657"}.mdi-paw-off-outline::before{content:"\F1676"}.mdi-paw-outline::before{content:"\F1675"}.mdi-pdf-box::before{content:"\F0E56"}.mdi-peace::before{content:"\F0884"}.mdi-peanut::before{content:"\F0FFC"}.mdi-peanut-off::before{content:"\F0FFD"}.mdi-peanut-off-outline::before{content:"\F0FFF"}.mdi-peanut-outline::before{content:"\F0FFE"}.mdi-pen::before{content:"\F03EA"}.mdi-pen-lock::before{content:"\F0DE2"}.mdi-pen-minus::before{content:"\F0DE3"}.mdi-pen-off::before{content:"\F0DE4"}.mdi-pen-plus::before{content:"\F0DE5"}.mdi-pen-remove::before{content:"\F0DE6"}.mdi-pencil::before{content:"\F03EB"}.mdi-pencil-box::before{content:"\F03EC"}.mdi-pencil-box-multiple::before{content:"\F1144"}.mdi-pencil-box-multiple-outline::before{content:"\F1145"}.mdi-pencil-box-outline::before{content:"\F03ED"}.mdi-pencil-circle::before{content:"\F06FF"}.mdi-pencil-circle-outline::before{content:"\F0776"}.mdi-pencil-lock::before{content:"\F03EE"}.mdi-pencil-lock-outline::before{content:"\F0DE7"}.mdi-pencil-minus::before{content:"\F0DE8"}.mdi-pencil-minus-outline::before{content:"\F0DE9"}.mdi-pencil-off::before{content:"\F03EF"}.mdi-pencil-off-outline::before{content:"\F0DEA"}.mdi-pencil-outline::before{content:"\F0CB6"}.mdi-pencil-plus::before{content:"\F0DEB"}.mdi-pencil-plus-outline::before{content:"\F0DEC"}.mdi-pencil-remove::before{content:"\F0DED"}.mdi-pencil-remove-outline::before{content:"\F0DEE"}.mdi-pencil-ruler::before{content:"\F1353"}.mdi-penguin::before{content:"\F0EC0"}.mdi-pentagon::before{content:"\F0701"}.mdi-pentagon-outline::before{content:"\F0700"}.mdi-pentagram::before{content:"\F1667"}.mdi-percent::before{content:"\F03F0"}.mdi-percent-outline::before{content:"\F1278"}.mdi-periodic-table::before{content:"\F08B6"}.mdi-perspective-less::before{content:"\F0D23"}.mdi-perspective-more::before{content:"\F0D24"}.mdi-pharmacy::before{content:"\F03F1"}.mdi-phone::before{content:"\F03F2"}.mdi-phone-alert::before{content:"\F0F1A"}.mdi-phone-alert-outline::before{content:"\F118E"}.mdi-phone-bluetooth::before{content:"\F03F3"}.mdi-phone-bluetooth-outline::before{content:"\F118F"}.mdi-phone-cancel::before{content:"\F10BC"}.mdi-phone-cancel-outline::before{content:"\F1190"}.mdi-phone-check::before{content:"\F11A9"}.mdi-phone-check-outline::before{content:"\F11AA"}.mdi-phone-classic::before{content:"\F0602"}.mdi-phone-classic-off::before{content:"\F1279"}.mdi-phone-dial::before{content:"\F1559"}.mdi-phone-dial-outline::before{content:"\F155A"}.mdi-phone-forward::before{content:"\F03F4"}.mdi-phone-forward-outline::before{content:"\F1191"}.mdi-phone-hangup::before{content:"\F03F5"}.mdi-phone-hangup-outline::before{content:"\F1192"}.mdi-phone-in-talk::before{content:"\F03F6"}.mdi-phone-in-talk-outline::before{content:"\F1182"}.mdi-phone-incoming::before{content:"\F03F7"}.mdi-phone-incoming-outline::before{content:"\F1193"}.mdi-phone-lock::before{content:"\F03F8"}.mdi-phone-lock-outline::before{content:"\F1194"}.mdi-phone-log::before{content:"\F03F9"}.mdi-phone-log-outline::before{content:"\F1195"}.mdi-phone-message::before{content:"\F1196"}.mdi-phone-message-outline::before{content:"\F1197"}.mdi-phone-minus::before{content:"\F0658"}.mdi-phone-minus-outline::before{content:"\F1198"}.mdi-phone-missed::before{content:"\F03FA"}.mdi-phone-missed-outline::before{content:"\F11A5"}.mdi-phone-off::before{content:"\F0DEF"}.mdi-phone-off-outline::before{content:"\F11A6"}.mdi-phone-outgoing::before{content:"\F03FB"}.mdi-phone-outgoing-outline::before{content:"\F1199"}.mdi-phone-outline::before{content:"\F0DF0"}.mdi-phone-paused::before{content:"\F03FC"}.mdi-phone-paused-outline::before{content:"\F119A"}.mdi-phone-plus::before{content:"\F0659"}.mdi-phone-plus-outline::before{content:"\F119B"}.mdi-phone-remove::before{content:"\F152F"}.mdi-phone-remove-outline::before{content:"\F1530"}.mdi-phone-return::before{content:"\F082F"}.mdi-phone-return-outline::before{content:"\F119C"}.mdi-phone-ring::before{content:"\F11AB"}.mdi-phone-ring-outline::before{content:"\F11AC"}.mdi-phone-rotate-landscape::before{content:"\F0885"}.mdi-phone-rotate-portrait::before{content:"\F0886"}.mdi-phone-settings::before{content:"\F03FD"}.mdi-phone-settings-outline::before{content:"\F119D"}.mdi-phone-voip::before{content:"\F03FE"}.mdi-pi::before{content:"\F03FF"}.mdi-pi-box::before{content:"\F0400"}.mdi-pi-hole::before{content:"\F0DF1"}.mdi-piano::before{content:"\F067D"}.mdi-pickaxe::before{content:"\F08B7"}.mdi-picture-in-picture-bottom-right::before{content:"\F0E57"}.mdi-picture-in-picture-bottom-right-outline::before{content:"\F0E58"}.mdi-picture-in-picture-top-right::before{content:"\F0E59"}.mdi-picture-in-picture-top-right-outline::before{content:"\F0E5A"}.mdi-pier::before{content:"\F0887"}.mdi-pier-crane::before{content:"\F0888"}.mdi-pig::before{content:"\F0401"}.mdi-pig-variant::before{content:"\F1006"}.mdi-pig-variant-outline::before{content:"\F1678"}.mdi-piggy-bank::before{content:"\F1007"}.mdi-piggy-bank-outline::before{content:"\F1679"}.mdi-pill::before{content:"\F0402"}.mdi-pillar::before{content:"\F0702"}.mdi-pin::before{content:"\F0403"}.mdi-pin-off::before{content:"\F0404"}.mdi-pin-off-outline::before{content:"\F0930"}.mdi-pin-outline::before{content:"\F0931"}.mdi-pine-tree::before{content:"\F0405"}.mdi-pine-tree-box::before{content:"\F0406"}.mdi-pine-tree-fire::before{content:"\F141A"}.mdi-pinterest::before{content:"\F0407"}.mdi-pinwheel::before{content:"\F0AD5"}.mdi-pinwheel-outline::before{content:"\F0AD6"}.mdi-pipe::before{content:"\F07E5"}.mdi-pipe-disconnected::before{content:"\F07E6"}.mdi-pipe-leak::before{content:"\F0889"}.mdi-pipe-wrench::before{content:"\F1354"}.mdi-pirate::before{content:"\F0A08"}.mdi-pistol::before{content:"\F0703"}.mdi-piston::before{content:"\F088A"}.mdi-pitchfork::before{content:"\F1553"}.mdi-pizza::before{content:"\F0409"}.mdi-play::before{content:"\F040A"}.mdi-play-box::before{content:"\F127A"}.mdi-play-box-multiple::before{content:"\F0D19"}.mdi-play-box-multiple-outline::before{content:"\F13E6"}.mdi-play-box-outline::before{content:"\F040B"}.mdi-play-circle::before{content:"\F040C"}.mdi-play-circle-outline::before{content:"\F040D"}.mdi-play-network::before{content:"\F088B"}.mdi-play-network-outline::before{content:"\F0CB7"}.mdi-play-outline::before{content:"\F0F1B"}.mdi-play-pause::before{content:"\F040E"}.mdi-play-protected-content::before{content:"\F040F"}.mdi-play-speed::before{content:"\F08FF"}.mdi-playlist-check::before{content:"\F05C7"}.mdi-playlist-edit::before{content:"\F0900"}.mdi-playlist-minus::before{content:"\F0410"}.mdi-playlist-music::before{content:"\F0CB8"}.mdi-playlist-music-outline::before{content:"\F0CB9"}.mdi-playlist-play::before{content:"\F0411"}.mdi-playlist-plus::before{content:"\F0412"}.mdi-playlist-remove::before{content:"\F0413"}.mdi-playlist-star::before{content:"\F0DF2"}.mdi-plex::before{content:"\F06BA"}.mdi-plus::before{content:"\F0415"}.mdi-plus-box::before{content:"\F0416"}.mdi-plus-box-multiple::before{content:"\F0334"}.mdi-plus-box-multiple-outline::before{content:"\F1143"}.mdi-plus-box-outline::before{content:"\F0704"}.mdi-plus-circle::before{content:"\F0417"}.mdi-plus-circle-multiple::before{content:"\F034C"}.mdi-plus-circle-multiple-outline::before{content:"\F0418"}.mdi-plus-circle-outline::before{content:"\F0419"}.mdi-plus-minus::before{content:"\F0992"}.mdi-plus-minus-box::before{content:"\F0993"}.mdi-plus-minus-variant::before{content:"\F14C9"}.mdi-plus-network::before{content:"\F041A"}.mdi-plus-network-outline::before{content:"\F0CBA"}.mdi-plus-one::before{content:"\F041B"}.mdi-plus-outline::before{content:"\F0705"}.mdi-plus-thick::before{content:"\F11EC"}.mdi-podcast::before{content:"\F0994"}.mdi-podium::before{content:"\F0D25"}.mdi-podium-bronze::before{content:"\F0D26"}.mdi-podium-gold::before{content:"\F0D27"}.mdi-podium-silver::before{content:"\F0D28"}.mdi-point-of-sale::before{content:"\F0D92"}.mdi-pokeball::before{content:"\F041D"}.mdi-pokemon-go::before{content:"\F0A09"}.mdi-poker-chip::before{content:"\F0830"}.mdi-polaroid::before{content:"\F041E"}.mdi-police-badge::before{content:"\F1167"}.mdi-police-badge-outline::before{content:"\F1168"}.mdi-poll::before{content:"\F041F"}.mdi-poll-box::before{content:"\F0420"}.mdi-poll-box-outline::before{content:"\F127B"}.mdi-polo::before{content:"\F14C3"}.mdi-polymer::before{content:"\F0421"}.mdi-pool::before{content:"\F0606"}.mdi-popcorn::before{content:"\F0422"}.mdi-post::before{content:"\F1008"}.mdi-post-outline::before{content:"\F1009"}.mdi-postage-stamp::before{content:"\F0CBB"}.mdi-pot::before{content:"\F02E5"}.mdi-pot-mix::before{content:"\F065B"}.mdi-pot-mix-outline::before{content:"\F0677"}.mdi-pot-outline::before{content:"\F02FF"}.mdi-pot-steam::before{content:"\F065A"}.mdi-pot-steam-outline::before{content:"\F0326"}.mdi-pound::before{content:"\F0423"}.mdi-pound-box::before{content:"\F0424"}.mdi-pound-box-outline::before{content:"\F117F"}.mdi-power::before{content:"\F0425"}.mdi-power-cycle::before{content:"\F0901"}.mdi-power-off::before{content:"\F0902"}.mdi-power-on::before{content:"\F0903"}.mdi-power-plug::before{content:"\F06A5"}.mdi-power-plug-off::before{content:"\F06A6"}.mdi-power-plug-off-outline::before{content:"\F1424"}.mdi-power-plug-outline::before{content:"\F1425"}.mdi-power-settings::before{content:"\F0426"}.mdi-power-sleep::before{content:"\F0904"}.mdi-power-socket::before{content:"\F0427"}.mdi-power-socket-au::before{content:"\F0905"}.mdi-power-socket-de::before{content:"\F1107"}.mdi-power-socket-eu::before{content:"\F07E7"}.mdi-power-socket-fr::before{content:"\F1108"}.mdi-power-socket-it::before{content:"\F14FF"}.mdi-power-socket-jp::before{content:"\F1109"}.mdi-power-socket-uk::before{content:"\F07E8"}.mdi-power-socket-us::before{content:"\F07E9"}.mdi-power-standby::before{content:"\F0906"}.mdi-powershell::before{content:"\F0A0A"}.mdi-prescription::before{content:"\F0706"}.mdi-presentation::before{content:"\F0428"}.mdi-presentation-play::before{content:"\F0429"}.mdi-pretzel::before{content:"\F1562"}.mdi-printer::before{content:"\F042A"}.mdi-printer-3d::before{content:"\F042B"}.mdi-printer-3d-nozzle::before{content:"\F0E5B"}.mdi-printer-3d-nozzle-alert::before{content:"\F11C0"}.mdi-printer-3d-nozzle-alert-outline::before{content:"\F11C1"}.mdi-printer-3d-nozzle-outline::before{content:"\F0E5C"}.mdi-printer-alert::before{content:"\F042C"}.mdi-printer-check::before{content:"\F1146"}.mdi-printer-eye::before{content:"\F1458"}.mdi-printer-off::before{content:"\F0E5D"}.mdi-printer-pos::before{content:"\F1057"}.mdi-printer-search::before{content:"\F1457"}.mdi-printer-settings::before{content:"\F0707"}.mdi-printer-wireless::before{content:"\F0A0B"}.mdi-priority-high::before{content:"\F0603"}.mdi-priority-low::before{content:"\F0604"}.mdi-professional-hexagon::before{content:"\F042D"}.mdi-progress-alert::before{content:"\F0CBC"}.mdi-progress-check::before{content:"\F0995"}.mdi-progress-clock::before{content:"\F0996"}.mdi-progress-close::before{content:"\F110A"}.mdi-progress-download::before{content:"\F0997"}.mdi-progress-question::before{content:"\F1522"}.mdi-progress-upload::before{content:"\F0998"}.mdi-progress-wrench::before{content:"\F0CBD"}.mdi-projector::before{content:"\F042E"}.mdi-projector-screen::before{content:"\F042F"}.mdi-propane-tank::before{content:"\F1357"}.mdi-propane-tank-outline::before{content:"\F1358"}.mdi-protocol::before{content:"\F0FD8"}.mdi-publish::before{content:"\F06A7"}.mdi-pulse::before{content:"\F0430"}.mdi-pump::before{content:"\F1402"}.mdi-pumpkin::before{content:"\F0BBF"}.mdi-purse::before{content:"\F0F1C"}.mdi-purse-outline::before{content:"\F0F1D"}.mdi-puzzle::before{content:"\F0431"}.mdi-puzzle-check::before{content:"\F1426"}.mdi-puzzle-check-outline::before{content:"\F1427"}.mdi-puzzle-edit::before{content:"\F14D3"}.mdi-puzzle-edit-outline::before{content:"\F14D9"}.mdi-puzzle-heart::before{content:"\F14D4"}.mdi-puzzle-heart-outline::before{content:"\F14DA"}.mdi-puzzle-minus::before{content:"\F14D1"}.mdi-puzzle-minus-outline::before{content:"\F14D7"}.mdi-puzzle-outline::before{content:"\F0A66"}.mdi-puzzle-plus::before{content:"\F14D0"}.mdi-puzzle-plus-outline::before{content:"\F14D6"}.mdi-puzzle-remove::before{content:"\F14D2"}.mdi-puzzle-remove-outline::before{content:"\F14D8"}.mdi-puzzle-star::before{content:"\F14D5"}.mdi-puzzle-star-outline::before{content:"\F14DB"}.mdi-qi::before{content:"\F0999"}.mdi-qqchat::before{content:"\F0605"}.mdi-qrcode::before{content:"\F0432"}.mdi-qrcode-edit::before{content:"\F08B8"}.mdi-qrcode-minus::before{content:"\F118C"}.mdi-qrcode-plus::before{content:"\F118B"}.mdi-qrcode-remove::before{content:"\F118D"}.mdi-qrcode-scan::before{content:"\F0433"}.mdi-quadcopter::before{content:"\F0434"}.mdi-quality-high::before{content:"\F0435"}.mdi-quality-low::before{content:"\F0A0C"}.mdi-quality-medium::before{content:"\F0A0D"}.mdi-quora::before{content:"\F0D29"}.mdi-rabbit::before{content:"\F0907"}.mdi-racing-helmet::before{content:"\F0D93"}.mdi-racquetball::before{content:"\F0D94"}.mdi-radar::before{content:"\F0437"}.mdi-radiator::before{content:"\F0438"}.mdi-radiator-disabled::before{content:"\F0AD7"}.mdi-radiator-off::before{content:"\F0AD8"}.mdi-radio::before{content:"\F0439"}.mdi-radio-am::before{content:"\F0CBE"}.mdi-radio-fm::before{content:"\F0CBF"}.mdi-radio-handheld::before{content:"\F043A"}.mdi-radio-off::before{content:"\F121C"}.mdi-radio-tower::before{content:"\F043B"}.mdi-radioactive::before{content:"\F043C"}.mdi-radioactive-off::before{content:"\F0EC1"}.mdi-radiobox-blank::before{content:"\F043D"}.mdi-radiobox-marked::before{content:"\F043E"}.mdi-radiology-box::before{content:"\F14C5"}.mdi-radiology-box-outline::before{content:"\F14C6"}.mdi-radius::before{content:"\F0CC0"}.mdi-radius-outline::before{content:"\F0CC1"}.mdi-railroad-light::before{content:"\F0F1E"}.mdi-rake::before{content:"\F1544"}.mdi-raspberry-pi::before{content:"\F043F"}.mdi-ray-end::before{content:"\F0440"}.mdi-ray-end-arrow::before{content:"\F0441"}.mdi-ray-start::before{content:"\F0442"}.mdi-ray-start-arrow::before{content:"\F0443"}.mdi-ray-start-end::before{content:"\F0444"}.mdi-ray-start-vertex-end::before{content:"\F15D8"}.mdi-ray-vertex::before{content:"\F0445"}.mdi-react::before{content:"\F0708"}.mdi-read::before{content:"\F0447"}.mdi-receipt::before{content:"\F0449"}.mdi-record::before{content:"\F044A"}.mdi-record-circle::before{content:"\F0EC2"}.mdi-record-circle-outline::before{content:"\F0EC3"}.mdi-record-player::before{content:"\F099A"}.mdi-record-rec::before{content:"\F044B"}.mdi-rectangle::before{content:"\F0E5E"}.mdi-rectangle-outline::before{content:"\F0E5F"}.mdi-recycle::before{content:"\F044C"}.mdi-recycle-variant::before{content:"\F139D"}.mdi-reddit::before{content:"\F044D"}.mdi-redhat::before{content:"\F111B"}.mdi-redo::before{content:"\F044E"}.mdi-redo-variant::before{content:"\F044F"}.mdi-reflect-horizontal::before{content:"\F0A0E"}.mdi-reflect-vertical::before{content:"\F0A0F"}.mdi-refresh::before{content:"\F0450"}.mdi-refresh-circle::before{content:"\F1377"}.mdi-regex::before{content:"\F0451"}.mdi-registered-trademark::before{content:"\F0A67"}.mdi-reiterate::before{content:"\F1588"}.mdi-relation-many-to-many::before{content:"\F1496"}.mdi-relation-many-to-one::before{content:"\F1497"}.mdi-relation-many-to-one-or-many::before{content:"\F1498"}.mdi-relation-many-to-only-one::before{content:"\F1499"}.mdi-relation-many-to-zero-or-many::before{content:"\F149A"}.mdi-relation-many-to-zero-or-one::before{content:"\F149B"}.mdi-relation-one-or-many-to-many::before{content:"\F149C"}.mdi-relation-one-or-many-to-one::before{content:"\F149D"}.mdi-relation-one-or-many-to-one-or-many::before{content:"\F149E"}.mdi-relation-one-or-many-to-only-one::before{content:"\F149F"}.mdi-relation-one-or-many-to-zero-or-many::before{content:"\F14A0"}.mdi-relation-one-or-many-to-zero-or-one::before{content:"\F14A1"}.mdi-relation-one-to-many::before{content:"\F14A2"}.mdi-relation-one-to-one::before{content:"\F14A3"}.mdi-relation-one-to-one-or-many::before{content:"\F14A4"}.mdi-relation-one-to-only-one::before{content:"\F14A5"}.mdi-relation-one-to-zero-or-many::before{content:"\F14A6"}.mdi-relation-one-to-zero-or-one::before{content:"\F14A7"}.mdi-relation-only-one-to-many::before{content:"\F14A8"}.mdi-relation-only-one-to-one::before{content:"\F14A9"}.mdi-relation-only-one-to-one-or-many::before{content:"\F14AA"}.mdi-relation-only-one-to-only-one::before{content:"\F14AB"}.mdi-relation-only-one-to-zero-or-many::before{content:"\F14AC"}.mdi-relation-only-one-to-zero-or-one::before{content:"\F14AD"}.mdi-relation-zero-or-many-to-many::before{content:"\F14AE"}.mdi-relation-zero-or-many-to-one::before{content:"\F14AF"}.mdi-relation-zero-or-many-to-one-or-many::before{content:"\F14B0"}.mdi-relation-zero-or-many-to-only-one::before{content:"\F14B1"}.mdi-relation-zero-or-many-to-zero-or-many::before{content:"\F14B2"}.mdi-relation-zero-or-many-to-zero-or-one::before{content:"\F14B3"}.mdi-relation-zero-or-one-to-many::before{content:"\F14B4"}.mdi-relation-zero-or-one-to-one::before{content:"\F14B5"}.mdi-relation-zero-or-one-to-one-or-many::before{content:"\F14B6"}.mdi-relation-zero-or-one-to-only-one::before{content:"\F14B7"}.mdi-relation-zero-or-one-to-zero-or-many::before{content:"\F14B8"}.mdi-relation-zero-or-one-to-zero-or-one::before{content:"\F14B9"}.mdi-relative-scale::before{content:"\F0452"}.mdi-reload::before{content:"\F0453"}.mdi-reload-alert::before{content:"\F110B"}.mdi-reminder::before{content:"\F088C"}.mdi-remote::before{content:"\F0454"}.mdi-remote-desktop::before{content:"\F08B9"}.mdi-remote-off::before{content:"\F0EC4"}.mdi-remote-tv::before{content:"\F0EC5"}.mdi-remote-tv-off::before{content:"\F0EC6"}.mdi-rename-box::before{content:"\F0455"}.mdi-reorder-horizontal::before{content:"\F0688"}.mdi-reorder-vertical::before{content:"\F0689"}.mdi-repeat::before{content:"\F0456"}.mdi-repeat-off::before{content:"\F0457"}.mdi-repeat-once::before{content:"\F0458"}.mdi-replay::before{content:"\F0459"}.mdi-reply::before{content:"\F045A"}.mdi-reply-all::before{content:"\F045B"}.mdi-reply-all-outline::before{content:"\F0F1F"}.mdi-reply-circle::before{content:"\F11AE"}.mdi-reply-outline::before{content:"\F0F20"}.mdi-reproduction::before{content:"\F045C"}.mdi-resistor::before{content:"\F0B44"}.mdi-resistor-nodes::before{content:"\F0B45"}.mdi-resize::before{content:"\F0A68"}.mdi-resize-bottom-right::before{content:"\F045D"}.mdi-responsive::before{content:"\F045E"}.mdi-restart::before{content:"\F0709"}.mdi-restart-alert::before{content:"\F110C"}.mdi-restart-off::before{content:"\F0D95"}.mdi-restore::before{content:"\F099B"}.mdi-restore-alert::before{content:"\F110D"}.mdi-rewind::before{content:"\F045F"}.mdi-rewind-10::before{content:"\F0D2A"}.mdi-rewind-30::before{content:"\F0D96"}.mdi-rewind-5::before{content:"\F11F9"}.mdi-rewind-60::before{content:"\F160C"}.mdi-rewind-outline::before{content:"\F070A"}.mdi-rhombus::before{content:"\F070B"}.mdi-rhombus-medium::before{content:"\F0A10"}.mdi-rhombus-medium-outline::before{content:"\F14DC"}.mdi-rhombus-outline::before{content:"\F070C"}.mdi-rhombus-split::before{content:"\F0A11"}.mdi-rhombus-split-outline::before{content:"\F14DD"}.mdi-ribbon::before{content:"\F0460"}.mdi-rice::before{content:"\F07EA"}.mdi-rickshaw::before{content:"\F15BB"}.mdi-rickshaw-electric::before{content:"\F15BC"}.mdi-ring::before{content:"\F07EB"}.mdi-rivet::before{content:"\F0E60"}.mdi-road::before{content:"\F0461"}.mdi-road-variant::before{content:"\F0462"}.mdi-robber::before{content:"\F1058"}.mdi-robot::before{content:"\F06A9"}.mdi-robot-angry::before{content:"\F169D"}.mdi-robot-angry-outline::before{content:"\F169E"}.mdi-robot-confused::before{content:"\F169F"}.mdi-robot-confused-outline::before{content:"\F16A0"}.mdi-robot-dead::before{content:"\F16A1"}.mdi-robot-dead-outline::before{content:"\F16A2"}.mdi-robot-excited::before{content:"\F16A3"}.mdi-robot-excited-outline::before{content:"\F16A4"}.mdi-robot-industrial::before{content:"\F0B46"}.mdi-robot-love::before{content:"\F16A5"}.mdi-robot-love-outline::before{content:"\F16A6"}.mdi-robot-mower::before{content:"\F11F7"}.mdi-robot-mower-outline::before{content:"\F11F3"}.mdi-robot-off::before{content:"\F16A7"}.mdi-robot-off-outline::before{content:"\F167B"}.mdi-robot-outline::before{content:"\F167A"}.mdi-robot-vacuum::before{content:"\F070D"}.mdi-robot-vacuum-variant::before{content:"\F0908"}.mdi-rocket::before{content:"\F0463"}.mdi-rocket-launch::before{content:"\F14DE"}.mdi-rocket-launch-outline::before{content:"\F14DF"}.mdi-rocket-outline::before{content:"\F13AF"}.mdi-rodent::before{content:"\F1327"}.mdi-roller-skate::before{content:"\F0D2B"}.mdi-roller-skate-off::before{content:"\F0145"}.mdi-rollerblade::before{content:"\F0D2C"}.mdi-rollerblade-off::before{content:"\F002E"}.mdi-rollupjs::before{content:"\F0BC0"}.mdi-roman-numeral-1::before{content:"\F1088"}.mdi-roman-numeral-10::before{content:"\F1091"}.mdi-roman-numeral-2::before{content:"\F1089"}.mdi-roman-numeral-3::before{content:"\F108A"}.mdi-roman-numeral-4::before{content:"\F108B"}.mdi-roman-numeral-5::before{content:"\F108C"}.mdi-roman-numeral-6::before{content:"\F108D"}.mdi-roman-numeral-7::before{content:"\F108E"}.mdi-roman-numeral-8::before{content:"\F108F"}.mdi-roman-numeral-9::before{content:"\F1090"}.mdi-room-service::before{content:"\F088D"}.mdi-room-service-outline::before{content:"\F0D97"}.mdi-rotate-3d::before{content:"\F0EC7"}.mdi-rotate-3d-variant::before{content:"\F0464"}.mdi-rotate-left::before{content:"\F0465"}.mdi-rotate-left-variant::before{content:"\F0466"}.mdi-rotate-orbit::before{content:"\F0D98"}.mdi-rotate-right::before{content:"\F0467"}.mdi-rotate-right-variant::before{content:"\F0468"}.mdi-rounded-corner::before{content:"\F0607"}.mdi-router::before{content:"\F11E2"}.mdi-router-network::before{content:"\F1087"}.mdi-router-wireless::before{content:"\F0469"}.mdi-router-wireless-off::before{content:"\F15A3"}.mdi-router-wireless-settings::before{content:"\F0A69"}.mdi-routes::before{content:"\F046A"}.mdi-routes-clock::before{content:"\F1059"}.mdi-rowing::before{content:"\F0608"}.mdi-rss::before{content:"\F046B"}.mdi-rss-box::before{content:"\F046C"}.mdi-rss-off::before{content:"\F0F21"}.mdi-rug::before{content:"\F1475"}.mdi-rugby::before{content:"\F0D99"}.mdi-ruler::before{content:"\F046D"}.mdi-ruler-square::before{content:"\F0CC2"}.mdi-ruler-square-compass::before{content:"\F0EBE"}.mdi-run::before{content:"\F070E"}.mdi-run-fast::before{content:"\F046E"}.mdi-rv-truck::before{content:"\F11D4"}.mdi-sack::before{content:"\F0D2E"}.mdi-sack-percent::before{content:"\F0D2F"}.mdi-safe::before{content:"\F0A6A"}.mdi-safe-square::before{content:"\F127C"}.mdi-safe-square-outline::before{content:"\F127D"}.mdi-safety-goggles::before{content:"\F0D30"}.mdi-sail-boat::before{content:"\F0EC8"}.mdi-sale::before{content:"\F046F"}.mdi-salesforce::before{content:"\F088E"}.mdi-sass::before{content:"\F07EC"}.mdi-satellite::before{content:"\F0470"}.mdi-satellite-uplink::before{content:"\F0909"}.mdi-satellite-variant::before{content:"\F0471"}.mdi-sausage::before{content:"\F08BA"}.mdi-saw-blade::before{content:"\F0E61"}.mdi-sawtooth-wave::before{content:"\F147A"}.mdi-saxophone::before{content:"\F0609"}.mdi-scale::before{content:"\F0472"}.mdi-scale-balance::before{content:"\F05D1"}.mdi-scale-bathroom::before{content:"\F0473"}.mdi-scale-off::before{content:"\F105A"}.mdi-scan-helper::before{content:"\F13D8"}.mdi-scanner::before{content:"\F06AB"}.mdi-scanner-off::before{content:"\F090A"}.mdi-scatter-plot::before{content:"\F0EC9"}.mdi-scatter-plot-outline::before{content:"\F0ECA"}.mdi-school::before{content:"\F0474"}.mdi-school-outline::before{content:"\F1180"}.mdi-scissors-cutting::before{content:"\F0A6B"}.mdi-scooter::before{content:"\F15BD"}.mdi-scooter-electric::before{content:"\F15BE"}.mdi-scoreboard::before{content:"\F127E"}.mdi-scoreboard-outline::before{content:"\F127F"}.mdi-screen-rotation::before{content:"\F0475"}.mdi-screen-rotation-lock::before{content:"\F0478"}.mdi-screw-flat-top::before{content:"\F0DF3"}.mdi-screw-lag::before{content:"\F0DF4"}.mdi-screw-machine-flat-top::before{content:"\F0DF5"}.mdi-screw-machine-round-top::before{content:"\F0DF6"}.mdi-screw-round-top::before{content:"\F0DF7"}.mdi-screwdriver::before{content:"\F0476"}.mdi-script::before{content:"\F0BC1"}.mdi-script-outline::before{content:"\F0477"}.mdi-script-text::before{content:"\F0BC2"}.mdi-script-text-outline::before{content:"\F0BC3"}.mdi-sd::before{content:"\F0479"}.mdi-seal::before{content:"\F047A"}.mdi-seal-variant::before{content:"\F0FD9"}.mdi-search-web::before{content:"\F070F"}.mdi-seat::before{content:"\F0CC3"}.mdi-seat-flat::before{content:"\F047B"}.mdi-seat-flat-angled::before{content:"\F047C"}.mdi-seat-individual-suite::before{content:"\F047D"}.mdi-seat-legroom-extra::before{content:"\F047E"}.mdi-seat-legroom-normal::before{content:"\F047F"}.mdi-seat-legroom-reduced::before{content:"\F0480"}.mdi-seat-outline::before{content:"\F0CC4"}.mdi-seat-passenger::before{content:"\F1249"}.mdi-seat-recline-extra::before{content:"\F0481"}.mdi-seat-recline-normal::before{content:"\F0482"}.mdi-seatbelt::before{content:"\F0CC5"}.mdi-security::before{content:"\F0483"}.mdi-security-network::before{content:"\F0484"}.mdi-seed::before{content:"\F0E62"}.mdi-seed-off::before{content:"\F13FD"}.mdi-seed-off-outline::before{content:"\F13FE"}.mdi-seed-outline::before{content:"\F0E63"}.mdi-seesaw::before{content:"\F15A4"}.mdi-segment::before{content:"\F0ECB"}.mdi-select::before{content:"\F0485"}.mdi-select-all::before{content:"\F0486"}.mdi-select-color::before{content:"\F0D31"}.mdi-select-compare::before{content:"\F0AD9"}.mdi-select-drag::before{content:"\F0A6C"}.mdi-select-group::before{content:"\F0F82"}.mdi-select-inverse::before{content:"\F0487"}.mdi-select-marker::before{content:"\F1280"}.mdi-select-multiple::before{content:"\F1281"}.mdi-select-multiple-marker::before{content:"\F1282"}.mdi-select-off::before{content:"\F0488"}.mdi-select-place::before{content:"\F0FDA"}.mdi-select-search::before{content:"\F1204"}.mdi-selection::before{content:"\F0489"}.mdi-selection-drag::before{content:"\F0A6D"}.mdi-selection-ellipse::before{content:"\F0D32"}.mdi-selection-ellipse-arrow-inside::before{content:"\F0F22"}.mdi-selection-marker::before{content:"\F1283"}.mdi-selection-multiple::before{content:"\F1285"}.mdi-selection-multiple-marker::before{content:"\F1284"}.mdi-selection-off::before{content:"\F0777"}.mdi-selection-search::before{content:"\F1205"}.mdi-semantic-web::before{content:"\F1316"}.mdi-send::before{content:"\F048A"}.mdi-send-check::before{content:"\F1161"}.mdi-send-check-outline::before{content:"\F1162"}.mdi-send-circle::before{content:"\F0DF8"}.mdi-send-circle-outline::before{content:"\F0DF9"}.mdi-send-clock::before{content:"\F1163"}.mdi-send-clock-outline::before{content:"\F1164"}.mdi-send-lock::before{content:"\F07ED"}.mdi-send-lock-outline::before{content:"\F1166"}.mdi-send-outline::before{content:"\F1165"}.mdi-serial-port::before{content:"\F065C"}.mdi-server::before{content:"\F048B"}.mdi-server-minus::before{content:"\F048C"}.mdi-server-network::before{content:"\F048D"}.mdi-server-network-off::before{content:"\F048E"}.mdi-server-off::before{content:"\F048F"}.mdi-server-plus::before{content:"\F0490"}.mdi-server-remove::before{content:"\F0491"}.mdi-server-security::before{content:"\F0492"}.mdi-set-all::before{content:"\F0778"}.mdi-set-center::before{content:"\F0779"}.mdi-set-center-right::before{content:"\F077A"}.mdi-set-left::before{content:"\F077B"}.mdi-set-left-center::before{content:"\F077C"}.mdi-set-left-right::before{content:"\F077D"}.mdi-set-merge::before{content:"\F14E0"}.mdi-set-none::before{content:"\F077E"}.mdi-set-right::before{content:"\F077F"}.mdi-set-split::before{content:"\F14E1"}.mdi-set-square::before{content:"\F145D"}.mdi-set-top-box::before{content:"\F099F"}.mdi-settings-helper::before{content:"\F0A6E"}.mdi-shaker::before{content:"\F110E"}.mdi-shaker-outline::before{content:"\F110F"}.mdi-shape::before{content:"\F0831"}.mdi-shape-circle-plus::before{content:"\F065D"}.mdi-shape-outline::before{content:"\F0832"}.mdi-shape-oval-plus::before{content:"\F11FA"}.mdi-shape-plus::before{content:"\F0495"}.mdi-shape-polygon-plus::before{content:"\F065E"}.mdi-shape-rectangle-plus::before{content:"\F065F"}.mdi-shape-square-plus::before{content:"\F0660"}.mdi-shape-square-rounded-plus::before{content:"\F14FA"}.mdi-share::before{content:"\F0496"}.mdi-share-all::before{content:"\F11F4"}.mdi-share-all-outline::before{content:"\F11F5"}.mdi-share-circle::before{content:"\F11AD"}.mdi-share-off::before{content:"\F0F23"}.mdi-share-off-outline::before{content:"\F0F24"}.mdi-share-outline::before{content:"\F0932"}.mdi-share-variant::before{content:"\F0497"}.mdi-share-variant-outline::before{content:"\F1514"}.mdi-shark-fin::before{content:"\F1673"}.mdi-shark-fin-outline::before{content:"\F1674"}.mdi-sheep::before{content:"\F0CC6"}.mdi-shield::before{content:"\F0498"}.mdi-shield-account::before{content:"\F088F"}.mdi-shield-account-outline::before{content:"\F0A12"}.mdi-shield-account-variant::before{content:"\F15A7"}.mdi-shield-account-variant-outline::before{content:"\F15A8"}.mdi-shield-airplane::before{content:"\F06BB"}.mdi-shield-airplane-outline::before{content:"\F0CC7"}.mdi-shield-alert::before{content:"\F0ECC"}.mdi-shield-alert-outline::before{content:"\F0ECD"}.mdi-shield-bug::before{content:"\F13DA"}.mdi-shield-bug-outline::before{content:"\F13DB"}.mdi-shield-car::before{content:"\F0F83"}.mdi-shield-check::before{content:"\F0565"}.mdi-shield-check-outline::before{content:"\F0CC8"}.mdi-shield-cross::before{content:"\F0CC9"}.mdi-shield-cross-outline::before{content:"\F0CCA"}.mdi-shield-edit::before{content:"\F11A0"}.mdi-shield-edit-outline::before{content:"\F11A1"}.mdi-shield-half::before{content:"\F1360"}.mdi-shield-half-full::before{content:"\F0780"}.mdi-shield-home::before{content:"\F068A"}.mdi-shield-home-outline::before{content:"\F0CCB"}.mdi-shield-key::before{content:"\F0BC4"}.mdi-shield-key-outline::before{content:"\F0BC5"}.mdi-shield-link-variant::before{content:"\F0D33"}.mdi-shield-link-variant-outline::before{content:"\F0D34"}.mdi-shield-lock::before{content:"\F099D"}.mdi-shield-lock-outline::before{content:"\F0CCC"}.mdi-shield-off::before{content:"\F099E"}.mdi-shield-off-outline::before{content:"\F099C"}.mdi-shield-outline::before{content:"\F0499"}.mdi-shield-plus::before{content:"\F0ADA"}.mdi-shield-plus-outline::before{content:"\F0ADB"}.mdi-shield-refresh::before{content:"\F00AA"}.mdi-shield-refresh-outline::before{content:"\F01E0"}.mdi-shield-remove::before{content:"\F0ADC"}.mdi-shield-remove-outline::before{content:"\F0ADD"}.mdi-shield-search::before{content:"\F0D9A"}.mdi-shield-star::before{content:"\F113B"}.mdi-shield-star-outline::before{content:"\F113C"}.mdi-shield-sun::before{content:"\F105D"}.mdi-shield-sun-outline::before{content:"\F105E"}.mdi-shield-sync::before{content:"\F11A2"}.mdi-shield-sync-outline::before{content:"\F11A3"}.mdi-ship-wheel::before{content:"\F0833"}.mdi-shoe-ballet::before{content:"\F15CA"}.mdi-shoe-cleat::before{content:"\F15C7"}.mdi-shoe-formal::before{content:"\F0B47"}.mdi-shoe-heel::before{content:"\F0B48"}.mdi-shoe-print::before{content:"\F0DFA"}.mdi-shoe-sneaker::before{content:"\F15C8"}.mdi-shopping::before{content:"\F049A"}.mdi-shopping-music::before{content:"\F049B"}.mdi-shopping-outline::before{content:"\F11D5"}.mdi-shopping-search::before{content:"\F0F84"}.mdi-shore::before{content:"\F14F9"}.mdi-shovel::before{content:"\F0710"}.mdi-shovel-off::before{content:"\F0711"}.mdi-shower::before{content:"\F09A0"}.mdi-shower-head::before{content:"\F09A1"}.mdi-shredder::before{content:"\F049C"}.mdi-shuffle::before{content:"\F049D"}.mdi-shuffle-disabled::before{content:"\F049E"}.mdi-shuffle-variant::before{content:"\F049F"}.mdi-shuriken::before{content:"\F137F"}.mdi-sigma::before{content:"\F04A0"}.mdi-sigma-lower::before{content:"\F062B"}.mdi-sign-caution::before{content:"\F04A1"}.mdi-sign-direction::before{content:"\F0781"}.mdi-sign-direction-minus::before{content:"\F1000"}.mdi-sign-direction-plus::before{content:"\F0FDC"}.mdi-sign-direction-remove::before{content:"\F0FDD"}.mdi-sign-pole::before{content:"\F14F8"}.mdi-sign-real-estate::before{content:"\F1118"}.mdi-sign-text::before{content:"\F0782"}.mdi-signal::before{content:"\F04A2"}.mdi-signal-2g::before{content:"\F0712"}.mdi-signal-3g::before{content:"\F0713"}.mdi-signal-4g::before{content:"\F0714"}.mdi-signal-5g::before{content:"\F0A6F"}.mdi-signal-cellular-1::before{content:"\F08BC"}.mdi-signal-cellular-2::before{content:"\F08BD"}.mdi-signal-cellular-3::before{content:"\F08BE"}.mdi-signal-cellular-outline::before{content:"\F08BF"}.mdi-signal-distance-variant::before{content:"\F0E64"}.mdi-signal-hspa::before{content:"\F0715"}.mdi-signal-hspa-plus::before{content:"\F0716"}.mdi-signal-off::before{content:"\F0783"}.mdi-signal-variant::before{content:"\F060A"}.mdi-signature::before{content:"\F0DFB"}.mdi-signature-freehand::before{content:"\F0DFC"}.mdi-signature-image::before{content:"\F0DFD"}.mdi-signature-text::before{content:"\F0DFE"}.mdi-silo::before{content:"\F0B49"}.mdi-silverware::before{content:"\F04A3"}.mdi-silverware-clean::before{content:"\F0FDE"}.mdi-silverware-fork::before{content:"\F04A4"}.mdi-silverware-fork-knife::before{content:"\F0A70"}.mdi-silverware-spoon::before{content:"\F04A5"}.mdi-silverware-variant::before{content:"\F04A6"}.mdi-sim::before{content:"\F04A7"}.mdi-sim-alert::before{content:"\F04A8"}.mdi-sim-alert-outline::before{content:"\F15D3"}.mdi-sim-off::before{content:"\F04A9"}.mdi-sim-off-outline::before{content:"\F15D4"}.mdi-sim-outline::before{content:"\F15D5"}.mdi-simple-icons::before{content:"\F131D"}.mdi-sina-weibo::before{content:"\F0ADF"}.mdi-sine-wave::before{content:"\F095B"}.mdi-sitemap::before{content:"\F04AA"}.mdi-size-l::before{content:"\F13A6"}.mdi-size-m::before{content:"\F13A5"}.mdi-size-s::before{content:"\F13A4"}.mdi-size-xl::before{content:"\F13A7"}.mdi-size-xs::before{content:"\F13A3"}.mdi-size-xxl::before{content:"\F13A8"}.mdi-size-xxs::before{content:"\F13A2"}.mdi-size-xxxl::before{content:"\F13A9"}.mdi-skate::before{content:"\F0D35"}.mdi-skateboard::before{content:"\F14C2"}.mdi-skew-less::before{content:"\F0D36"}.mdi-skew-more::before{content:"\F0D37"}.mdi-ski::before{content:"\F1304"}.mdi-ski-cross-country::before{content:"\F1305"}.mdi-ski-water::before{content:"\F1306"}.mdi-skip-backward::before{content:"\F04AB"}.mdi-skip-backward-outline::before{content:"\F0F25"}.mdi-skip-forward::before{content:"\F04AC"}.mdi-skip-forward-outline::before{content:"\F0F26"}.mdi-skip-next::before{content:"\F04AD"}.mdi-skip-next-circle::before{content:"\F0661"}.mdi-skip-next-circle-outline::before{content:"\F0662"}.mdi-skip-next-outline::before{content:"\F0F27"}.mdi-skip-previous::before{content:"\F04AE"}.mdi-skip-previous-circle::before{content:"\F0663"}.mdi-skip-previous-circle-outline::before{content:"\F0664"}.mdi-skip-previous-outline::before{content:"\F0F28"}.mdi-skull::before{content:"\F068C"}.mdi-skull-crossbones::before{content:"\F0BC6"}.mdi-skull-crossbones-outline::before{content:"\F0BC7"}.mdi-skull-outline::before{content:"\F0BC8"}.mdi-skull-scan::before{content:"\F14C7"}.mdi-skull-scan-outline::before{content:"\F14C8"}.mdi-skype::before{content:"\F04AF"}.mdi-skype-business::before{content:"\F04B0"}.mdi-slack::before{content:"\F04B1"}.mdi-slash-forward::before{content:"\F0FDF"}.mdi-slash-forward-box::before{content:"\F0FE0"}.mdi-sleep::before{content:"\F04B2"}.mdi-sleep-off::before{content:"\F04B3"}.mdi-slide::before{content:"\F15A5"}.mdi-slope-downhill::before{content:"\F0DFF"}.mdi-slope-uphill::before{content:"\F0E00"}.mdi-slot-machine::before{content:"\F1114"}.mdi-slot-machine-outline::before{content:"\F1115"}.mdi-smart-card::before{content:"\F10BD"}.mdi-smart-card-outline::before{content:"\F10BE"}.mdi-smart-card-reader::before{content:"\F10BF"}.mdi-smart-card-reader-outline::before{content:"\F10C0"}.mdi-smog::before{content:"\F0A71"}.mdi-smoke-detector::before{content:"\F0392"}.mdi-smoking::before{content:"\F04B4"}.mdi-smoking-off::before{content:"\F04B5"}.mdi-smoking-pipe::before{content:"\F140D"}.mdi-smoking-pipe-off::before{content:"\F1428"}.mdi-snail::before{content:"\F1677"}.mdi-snake::before{content:"\F150E"}.mdi-snapchat::before{content:"\F04B6"}.mdi-snowboard::before{content:"\F1307"}.mdi-snowflake::before{content:"\F0717"}.mdi-snowflake-alert::before{content:"\F0F29"}.mdi-snowflake-melt::before{content:"\F12CB"}.mdi-snowflake-off::before{content:"\F14E3"}.mdi-snowflake-variant::before{content:"\F0F2A"}.mdi-snowman::before{content:"\F04B7"}.mdi-soccer::before{content:"\F04B8"}.mdi-soccer-field::before{content:"\F0834"}.mdi-social-distance-2-meters::before{content:"\F1579"}.mdi-social-distance-6-feet::before{content:"\F157A"}.mdi-sofa::before{content:"\F04B9"}.mdi-sofa-outline::before{content:"\F156D"}.mdi-sofa-single::before{content:"\F156E"}.mdi-sofa-single-outline::before{content:"\F156F"}.mdi-solar-panel::before{content:"\F0D9B"}.mdi-solar-panel-large::before{content:"\F0D9C"}.mdi-solar-power::before{content:"\F0A72"}.mdi-soldering-iron::before{content:"\F1092"}.mdi-solid::before{content:"\F068D"}.mdi-sony-playstation::before{content:"\F0414"}.mdi-sort::before{content:"\F04BA"}.mdi-sort-alphabetical-ascending::before{content:"\F05BD"}.mdi-sort-alphabetical-ascending-variant::before{content:"\F1148"}.mdi-sort-alphabetical-descending::before{content:"\F05BF"}.mdi-sort-alphabetical-descending-variant::before{content:"\F1149"}.mdi-sort-alphabetical-variant::before{content:"\F04BB"}.mdi-sort-ascending::before{content:"\F04BC"}.mdi-sort-bool-ascending::before{content:"\F1385"}.mdi-sort-bool-ascending-variant::before{content:"\F1386"}.mdi-sort-bool-descending::before{content:"\F1387"}.mdi-sort-bool-descending-variant::before{content:"\F1388"}.mdi-sort-calendar-ascending::before{content:"\F1547"}.mdi-sort-calendar-descending::before{content:"\F1548"}.mdi-sort-clock-ascending::before{content:"\F1549"}.mdi-sort-clock-ascending-outline::before{content:"\F154A"}.mdi-sort-clock-descending::before{content:"\F154B"}.mdi-sort-clock-descending-outline::before{content:"\F154C"}.mdi-sort-descending::before{content:"\F04BD"}.mdi-sort-numeric-ascending::before{content:"\F1389"}.mdi-sort-numeric-ascending-variant::before{content:"\F090D"}.mdi-sort-numeric-descending::before{content:"\F138A"}.mdi-sort-numeric-descending-variant::before{content:"\F0AD2"}.mdi-sort-numeric-variant::before{content:"\F04BE"}.mdi-sort-reverse-variant::before{content:"\F033C"}.mdi-sort-variant::before{content:"\F04BF"}.mdi-sort-variant-lock::before{content:"\F0CCD"}.mdi-sort-variant-lock-open::before{content:"\F0CCE"}.mdi-sort-variant-remove::before{content:"\F1147"}.mdi-soundcloud::before{content:"\F04C0"}.mdi-source-branch::before{content:"\F062C"}.mdi-source-branch-check::before{content:"\F14CF"}.mdi-source-branch-minus::before{content:"\F14CB"}.mdi-source-branch-plus::before{content:"\F14CA"}.mdi-source-branch-refresh::before{content:"\F14CD"}.mdi-source-branch-remove::before{content:"\F14CC"}.mdi-source-branch-sync::before{content:"\F14CE"}.mdi-source-commit::before{content:"\F0718"}.mdi-source-commit-end::before{content:"\F0719"}.mdi-source-commit-end-local::before{content:"\F071A"}.mdi-source-commit-local::before{content:"\F071B"}.mdi-source-commit-next-local::before{content:"\F071C"}.mdi-source-commit-start::before{content:"\F071D"}.mdi-source-commit-start-next-local::before{content:"\F071E"}.mdi-source-fork::before{content:"\F04C1"}.mdi-source-merge::before{content:"\F062D"}.mdi-source-pull::before{content:"\F04C2"}.mdi-source-repository::before{content:"\F0CCF"}.mdi-source-repository-multiple::before{content:"\F0CD0"}.mdi-soy-sauce::before{content:"\F07EE"}.mdi-soy-sauce-off::before{content:"\F13FC"}.mdi-spa::before{content:"\F0CD1"}.mdi-spa-outline::before{content:"\F0CD2"}.mdi-space-invaders::before{content:"\F0BC9"}.mdi-space-station::before{content:"\F1383"}.mdi-spade::before{content:"\F0E65"}.mdi-sparkles::before{content:"\F1545"}.mdi-speaker::before{content:"\F04C3"}.mdi-speaker-bluetooth::before{content:"\F09A2"}.mdi-speaker-multiple::before{content:"\F0D38"}.mdi-speaker-off::before{content:"\F04C4"}.mdi-speaker-wireless::before{content:"\F071F"}.mdi-speedometer::before{content:"\F04C5"}.mdi-speedometer-medium::before{content:"\F0F85"}.mdi-speedometer-slow::before{content:"\F0F86"}.mdi-spellcheck::before{content:"\F04C6"}.mdi-spider::before{content:"\F11EA"}.mdi-spider-thread::before{content:"\F11EB"}.mdi-spider-web::before{content:"\F0BCA"}.mdi-spirit-level::before{content:"\F14F1"}.mdi-spoon-sugar::before{content:"\F1429"}.mdi-spotify::before{content:"\F04C7"}.mdi-spotlight::before{content:"\F04C8"}.mdi-spotlight-beam::before{content:"\F04C9"}.mdi-spray::before{content:"\F0665"}.mdi-spray-bottle::before{content:"\F0AE0"}.mdi-sprinkler::before{content:"\F105F"}.mdi-sprinkler-variant::before{content:"\F1060"}.mdi-sprout::before{content:"\F0E66"}.mdi-sprout-outline::before{content:"\F0E67"}.mdi-square::before{content:"\F0764"}.mdi-square-circle::before{content:"\F1500"}.mdi-square-edit-outline::before{content:"\F090C"}.mdi-square-medium::before{content:"\F0A13"}.mdi-square-medium-outline::before{content:"\F0A14"}.mdi-square-off::before{content:"\F12EE"}.mdi-square-off-outline::before{content:"\F12EF"}.mdi-square-outline::before{content:"\F0763"}.mdi-square-root::before{content:"\F0784"}.mdi-square-root-box::before{content:"\F09A3"}.mdi-square-rounded::before{content:"\F14FB"}.mdi-square-rounded-outline::before{content:"\F14FC"}.mdi-square-small::before{content:"\F0A15"}.mdi-square-wave::before{content:"\F147B"}.mdi-squeegee::before{content:"\F0AE1"}.mdi-ssh::before{content:"\F08C0"}.mdi-stack-exchange::before{content:"\F060B"}.mdi-stack-overflow::before{content:"\F04CC"}.mdi-stackpath::before{content:"\F0359"}.mdi-stadium::before{content:"\F0FF9"}.mdi-stadium-variant::before{content:"\F0720"}.mdi-stairs::before{content:"\F04CD"}.mdi-stairs-box::before{content:"\F139E"}.mdi-stairs-down::before{content:"\F12BE"}.mdi-stairs-up::before{content:"\F12BD"}.mdi-stamper::before{content:"\F0D39"}.mdi-standard-definition::before{content:"\F07EF"}.mdi-star::before{content:"\F04CE"}.mdi-star-box::before{content:"\F0A73"}.mdi-star-box-multiple::before{content:"\F1286"}.mdi-star-box-multiple-outline::before{content:"\F1287"}.mdi-star-box-outline::before{content:"\F0A74"}.mdi-star-check::before{content:"\F1566"}.mdi-star-check-outline::before{content:"\F156A"}.mdi-star-circle::before{content:"\F04CF"}.mdi-star-circle-outline::before{content:"\F09A4"}.mdi-star-cog::before{content:"\F1668"}.mdi-star-cog-outline::before{content:"\F1669"}.mdi-star-face::before{content:"\F09A5"}.mdi-star-four-points::before{content:"\F0AE2"}.mdi-star-four-points-outline::before{content:"\F0AE3"}.mdi-star-half::before{content:"\F0246"}.mdi-star-half-full::before{content:"\F04D0"}.mdi-star-minus::before{content:"\F1564"}.mdi-star-minus-outline::before{content:"\F1568"}.mdi-star-off::before{content:"\F04D1"}.mdi-star-off-outline::before{content:"\F155B"}.mdi-star-outline::before{content:"\F04D2"}.mdi-star-plus::before{content:"\F1563"}.mdi-star-plus-outline::before{content:"\F1567"}.mdi-star-remove::before{content:"\F1565"}.mdi-star-remove-outline::before{content:"\F1569"}.mdi-star-settings::before{content:"\F166A"}.mdi-star-settings-outline::before{content:"\F166B"}.mdi-star-three-points::before{content:"\F0AE4"}.mdi-star-three-points-outline::before{content:"\F0AE5"}.mdi-state-machine::before{content:"\F11EF"}.mdi-steam::before{content:"\F04D3"}.mdi-steering::before{content:"\F04D4"}.mdi-steering-off::before{content:"\F090E"}.mdi-step-backward::before{content:"\F04D5"}.mdi-step-backward-2::before{content:"\F04D6"}.mdi-step-forward::before{content:"\F04D7"}.mdi-step-forward-2::before{content:"\F04D8"}.mdi-stethoscope::before{content:"\F04D9"}.mdi-sticker::before{content:"\F1364"}.mdi-sticker-alert::before{content:"\F1365"}.mdi-sticker-alert-outline::before{content:"\F1366"}.mdi-sticker-check::before{content:"\F1367"}.mdi-sticker-check-outline::before{content:"\F1368"}.mdi-sticker-circle-outline::before{content:"\F05D0"}.mdi-sticker-emoji::before{content:"\F0785"}.mdi-sticker-minus::before{content:"\F1369"}.mdi-sticker-minus-outline::before{content:"\F136A"}.mdi-sticker-outline::before{content:"\F136B"}.mdi-sticker-plus::before{content:"\F136C"}.mdi-sticker-plus-outline::before{content:"\F136D"}.mdi-sticker-remove::before{content:"\F136E"}.mdi-sticker-remove-outline::before{content:"\F136F"}.mdi-stocking::before{content:"\F04DA"}.mdi-stomach::before{content:"\F1093"}.mdi-stop::before{content:"\F04DB"}.mdi-stop-circle::before{content:"\F0666"}.mdi-stop-circle-outline::before{content:"\F0667"}.mdi-store::before{content:"\F04DC"}.mdi-store-24-hour::before{content:"\F04DD"}.mdi-store-minus::before{content:"\F165E"}.mdi-store-outline::before{content:"\F1361"}.mdi-store-plus::before{content:"\F165F"}.mdi-store-remove::before{content:"\F1660"}.mdi-storefront::before{content:"\F07C7"}.mdi-storefront-outline::before{content:"\F10C1"}.mdi-stove::before{content:"\F04DE"}.mdi-strategy::before{content:"\F11D6"}.mdi-stretch-to-page::before{content:"\F0F2B"}.mdi-stretch-to-page-outline::before{content:"\F0F2C"}.mdi-string-lights::before{content:"\F12BA"}.mdi-string-lights-off::before{content:"\F12BB"}.mdi-subdirectory-arrow-left::before{content:"\F060C"}.mdi-subdirectory-arrow-right::before{content:"\F060D"}.mdi-submarine::before{content:"\F156C"}.mdi-subtitles::before{content:"\F0A16"}.mdi-subtitles-outline::before{content:"\F0A17"}.mdi-subway::before{content:"\F06AC"}.mdi-subway-alert-variant::before{content:"\F0D9D"}.mdi-subway-variant::before{content:"\F04DF"}.mdi-summit::before{content:"\F0786"}.mdi-sunglasses::before{content:"\F04E0"}.mdi-surround-sound::before{content:"\F05C5"}.mdi-surround-sound-2-0::before{content:"\F07F0"}.mdi-surround-sound-3-1::before{content:"\F07F1"}.mdi-surround-sound-5-1::before{content:"\F07F2"}.mdi-surround-sound-7-1::before{content:"\F07F3"}.mdi-svg::before{content:"\F0721"}.mdi-swap-horizontal::before{content:"\F04E1"}.mdi-swap-horizontal-bold::before{content:"\F0BCD"}.mdi-swap-horizontal-circle::before{content:"\F0FE1"}.mdi-swap-horizontal-circle-outline::before{content:"\F0FE2"}.mdi-swap-horizontal-variant::before{content:"\F08C1"}.mdi-swap-vertical::before{content:"\F04E2"}.mdi-swap-vertical-bold::before{content:"\F0BCE"}.mdi-swap-vertical-circle::before{content:"\F0FE3"}.mdi-swap-vertical-circle-outline::before{content:"\F0FE4"}.mdi-swap-vertical-variant::before{content:"\F08C2"}.mdi-swim::before{content:"\F04E3"}.mdi-switch::before{content:"\F04E4"}.mdi-sword::before{content:"\F04E5"}.mdi-sword-cross::before{content:"\F0787"}.mdi-syllabary-hangul::before{content:"\F1333"}.mdi-syllabary-hiragana::before{content:"\F1334"}.mdi-syllabary-katakana::before{content:"\F1335"}.mdi-syllabary-katakana-halfwidth::before{content:"\F1336"}.mdi-symbol::before{content:"\F1501"}.mdi-symfony::before{content:"\F0AE6"}.mdi-sync::before{content:"\F04E6"}.mdi-sync-alert::before{content:"\F04E7"}.mdi-sync-circle::before{content:"\F1378"}.mdi-sync-off::before{content:"\F04E8"}.mdi-tab::before{content:"\F04E9"}.mdi-tab-minus::before{content:"\F0B4B"}.mdi-tab-plus::before{content:"\F075C"}.mdi-tab-remove::before{content:"\F0B4C"}.mdi-tab-unselected::before{content:"\F04EA"}.mdi-table::before{content:"\F04EB"}.mdi-table-account::before{content:"\F13B9"}.mdi-table-alert::before{content:"\F13BA"}.mdi-table-arrow-down::before{content:"\F13BB"}.mdi-table-arrow-left::before{content:"\F13BC"}.mdi-table-arrow-right::before{content:"\F13BD"}.mdi-table-arrow-up::before{content:"\F13BE"}.mdi-table-border::before{content:"\F0A18"}.mdi-table-cancel::before{content:"\F13BF"}.mdi-table-chair::before{content:"\F1061"}.mdi-table-check::before{content:"\F13C0"}.mdi-table-clock::before{content:"\F13C1"}.mdi-table-cog::before{content:"\F13C2"}.mdi-table-column::before{content:"\F0835"}.mdi-table-column-plus-after::before{content:"\F04EC"}.mdi-table-column-plus-before::before{content:"\F04ED"}.mdi-table-column-remove::before{content:"\F04EE"}.mdi-table-column-width::before{content:"\F04EF"}.mdi-table-edit::before{content:"\F04F0"}.mdi-table-eye::before{content:"\F1094"}.mdi-table-eye-off::before{content:"\F13C3"}.mdi-table-furniture::before{content:"\F05BC"}.mdi-table-headers-eye::before{content:"\F121D"}.mdi-table-headers-eye-off::before{content:"\F121E"}.mdi-table-heart::before{content:"\F13C4"}.mdi-table-key::before{content:"\F13C5"}.mdi-table-large::before{content:"\F04F1"}.mdi-table-large-plus::before{content:"\F0F87"}.mdi-table-large-remove::before{content:"\F0F88"}.mdi-table-lock::before{content:"\F13C6"}.mdi-table-merge-cells::before{content:"\F09A6"}.mdi-table-minus::before{content:"\F13C7"}.mdi-table-multiple::before{content:"\F13C8"}.mdi-table-network::before{content:"\F13C9"}.mdi-table-of-contents::before{content:"\F0836"}.mdi-table-off::before{content:"\F13CA"}.mdi-table-plus::before{content:"\F0A75"}.mdi-table-refresh::before{content:"\F13A0"}.mdi-table-remove::before{content:"\F0A76"}.mdi-table-row::before{content:"\F0837"}.mdi-table-row-height::before{content:"\F04F2"}.mdi-table-row-plus-after::before{content:"\F04F3"}.mdi-table-row-plus-before::before{content:"\F04F4"}.mdi-table-row-remove::before{content:"\F04F5"}.mdi-table-search::before{content:"\F090F"}.mdi-table-settings::before{content:"\F0838"}.mdi-table-split-cell::before{content:"\F142A"}.mdi-table-star::before{content:"\F13CB"}.mdi-table-sync::before{content:"\F13A1"}.mdi-table-tennis::before{content:"\F0E68"}.mdi-tablet::before{content:"\F04F6"}.mdi-tablet-android::before{content:"\F04F7"}.mdi-tablet-cellphone::before{content:"\F09A7"}.mdi-tablet-dashboard::before{content:"\F0ECE"}.mdi-tablet-ipad::before{content:"\F04F8"}.mdi-taco::before{content:"\F0762"}.mdi-tag::before{content:"\F04F9"}.mdi-tag-faces::before{content:"\F04FA"}.mdi-tag-heart::before{content:"\F068B"}.mdi-tag-heart-outline::before{content:"\F0BCF"}.mdi-tag-minus::before{content:"\F0910"}.mdi-tag-minus-outline::before{content:"\F121F"}.mdi-tag-multiple::before{content:"\F04FB"}.mdi-tag-multiple-outline::before{content:"\F12F7"}.mdi-tag-off::before{content:"\F1220"}.mdi-tag-off-outline::before{content:"\F1221"}.mdi-tag-outline::before{content:"\F04FC"}.mdi-tag-plus::before{content:"\F0722"}.mdi-tag-plus-outline::before{content:"\F1222"}.mdi-tag-remove::before{content:"\F0723"}.mdi-tag-remove-outline::before{content:"\F1223"}.mdi-tag-text::before{content:"\F1224"}.mdi-tag-text-outline::before{content:"\F04FD"}.mdi-tailwind::before{content:"\F13FF"}.mdi-tank::before{content:"\F0D3A"}.mdi-tanker-truck::before{content:"\F0FE5"}.mdi-tape-drive::before{content:"\F16DF"}.mdi-tape-measure::before{content:"\F0B4D"}.mdi-target::before{content:"\F04FE"}.mdi-target-account::before{content:"\F0BD0"}.mdi-target-variant::before{content:"\F0A77"}.mdi-taxi::before{content:"\F04FF"}.mdi-tea::before{content:"\F0D9E"}.mdi-tea-outline::before{content:"\F0D9F"}.mdi-teach::before{content:"\F0890"}.mdi-teamviewer::before{content:"\F0500"}.mdi-telegram::before{content:"\F0501"}.mdi-telescope::before{content:"\F0B4E"}.mdi-television::before{content:"\F0502"}.mdi-television-ambient-light::before{content:"\F1356"}.mdi-television-box::before{content:"\F0839"}.mdi-television-classic::before{content:"\F07F4"}.mdi-television-classic-off::before{content:"\F083A"}.mdi-television-clean::before{content:"\F1110"}.mdi-television-guide::before{content:"\F0503"}.mdi-television-off::before{content:"\F083B"}.mdi-television-pause::before{content:"\F0F89"}.mdi-television-play::before{content:"\F0ECF"}.mdi-television-stop::before{content:"\F0F8A"}.mdi-temperature-celsius::before{content:"\F0504"}.mdi-temperature-fahrenheit::before{content:"\F0505"}.mdi-temperature-kelvin::before{content:"\F0506"}.mdi-tennis::before{content:"\F0DA0"}.mdi-tennis-ball::before{content:"\F0507"}.mdi-tent::before{content:"\F0508"}.mdi-terraform::before{content:"\F1062"}.mdi-terrain::before{content:"\F0509"}.mdi-test-tube::before{content:"\F0668"}.mdi-test-tube-empty::before{content:"\F0911"}.mdi-test-tube-off::before{content:"\F0912"}.mdi-text::before{content:"\F09A8"}.mdi-text-account::before{content:"\F1570"}.mdi-text-box::before{content:"\F021A"}.mdi-text-box-check::before{content:"\F0EA6"}.mdi-text-box-check-outline::before{content:"\F0EA7"}.mdi-text-box-minus::before{content:"\F0EA8"}.mdi-text-box-minus-outline::before{content:"\F0EA9"}.mdi-text-box-multiple::before{content:"\F0AB7"}.mdi-text-box-multiple-outline::before{content:"\F0AB8"}.mdi-text-box-outline::before{content:"\F09ED"}.mdi-text-box-plus::before{content:"\F0EAA"}.mdi-text-box-plus-outline::before{content:"\F0EAB"}.mdi-text-box-remove::before{content:"\F0EAC"}.mdi-text-box-remove-outline::before{content:"\F0EAD"}.mdi-text-box-search::before{content:"\F0EAE"}.mdi-text-box-search-outline::before{content:"\F0EAF"}.mdi-text-recognition::before{content:"\F113D"}.mdi-text-search::before{content:"\F13B8"}.mdi-text-shadow::before{content:"\F0669"}.mdi-text-short::before{content:"\F09A9"}.mdi-text-subject::before{content:"\F09AA"}.mdi-text-to-speech::before{content:"\F050A"}.mdi-text-to-speech-off::before{content:"\F050B"}.mdi-texture::before{content:"\F050C"}.mdi-texture-box::before{content:"\F0FE6"}.mdi-theater::before{content:"\F050D"}.mdi-theme-light-dark::before{content:"\F050E"}.mdi-thermometer::before{content:"\F050F"}.mdi-thermometer-alert::before{content:"\F0E01"}.mdi-thermometer-chevron-down::before{content:"\F0E02"}.mdi-thermometer-chevron-up::before{content:"\F0E03"}.mdi-thermometer-high::before{content:"\F10C2"}.mdi-thermometer-lines::before{content:"\F0510"}.mdi-thermometer-low::before{content:"\F10C3"}.mdi-thermometer-minus::before{content:"\F0E04"}.mdi-thermometer-off::before{content:"\F1531"}.mdi-thermometer-plus::before{content:"\F0E05"}.mdi-thermostat::before{content:"\F0393"}.mdi-thermostat-box::before{content:"\F0891"}.mdi-thought-bubble::before{content:"\F07F6"}.mdi-thought-bubble-outline::before{content:"\F07F7"}.mdi-thumb-down::before{content:"\F0511"}.mdi-thumb-down-outline::before{content:"\F0512"}.mdi-thumb-up::before{content:"\F0513"}.mdi-thumb-up-outline::before{content:"\F0514"}.mdi-thumbs-up-down::before{content:"\F0515"}.mdi-ticket::before{content:"\F0516"}.mdi-ticket-account::before{content:"\F0517"}.mdi-ticket-confirmation::before{content:"\F0518"}.mdi-ticket-confirmation-outline::before{content:"\F13AA"}.mdi-ticket-outline::before{content:"\F0913"}.mdi-ticket-percent::before{content:"\F0724"}.mdi-ticket-percent-outline::before{content:"\F142B"}.mdi-tie::before{content:"\F0519"}.mdi-tilde::before{content:"\F0725"}.mdi-timelapse::before{content:"\F051A"}.mdi-timeline::before{content:"\F0BD1"}.mdi-timeline-alert::before{content:"\F0F95"}.mdi-timeline-alert-outline::before{content:"\F0F98"}.mdi-timeline-check::before{content:"\F1532"}.mdi-timeline-check-outline::before{content:"\F1533"}.mdi-timeline-clock::before{content:"\F11FB"}.mdi-timeline-clock-outline::before{content:"\F11FC"}.mdi-timeline-help::before{content:"\F0F99"}.mdi-timeline-help-outline::before{content:"\F0F9A"}.mdi-timeline-minus::before{content:"\F1534"}.mdi-timeline-minus-outline::before{content:"\F1535"}.mdi-timeline-outline::before{content:"\F0BD2"}.mdi-timeline-plus::before{content:"\F0F96"}.mdi-timeline-plus-outline::before{content:"\F0F97"}.mdi-timeline-remove::before{content:"\F1536"}.mdi-timeline-remove-outline::before{content:"\F1537"}.mdi-timeline-text::before{content:"\F0BD3"}.mdi-timeline-text-outline::before{content:"\F0BD4"}.mdi-timer::before{content:"\F13AB"}.mdi-timer-10::before{content:"\F051C"}.mdi-timer-3::before{content:"\F051D"}.mdi-timer-off::before{content:"\F13AC"}.mdi-timer-off-outline::before{content:"\F051E"}.mdi-timer-outline::before{content:"\F051B"}.mdi-timer-sand::before{content:"\F051F"}.mdi-timer-sand-empty::before{content:"\F06AD"}.mdi-timer-sand-full::before{content:"\F078C"}.mdi-timetable::before{content:"\F0520"}.mdi-toaster::before{content:"\F1063"}.mdi-toaster-off::before{content:"\F11B7"}.mdi-toaster-oven::before{content:"\F0CD3"}.mdi-toggle-switch::before{content:"\F0521"}.mdi-toggle-switch-off::before{content:"\F0522"}.mdi-toggle-switch-off-outline::before{content:"\F0A19"}.mdi-toggle-switch-outline::before{content:"\F0A1A"}.mdi-toilet::before{content:"\F09AB"}.mdi-toolbox::before{content:"\F09AC"}.mdi-toolbox-outline::before{content:"\F09AD"}.mdi-tools::before{content:"\F1064"}.mdi-tooltip::before{content:"\F0523"}.mdi-tooltip-account::before{content:"\F000C"}.mdi-tooltip-check::before{content:"\F155C"}.mdi-tooltip-check-outline::before{content:"\F155D"}.mdi-tooltip-edit::before{content:"\F0524"}.mdi-tooltip-edit-outline::before{content:"\F12C5"}.mdi-tooltip-image::before{content:"\F0525"}.mdi-tooltip-image-outline::before{content:"\F0BD5"}.mdi-tooltip-minus::before{content:"\F155E"}.mdi-tooltip-minus-outline::before{content:"\F155F"}.mdi-tooltip-outline::before{content:"\F0526"}.mdi-tooltip-plus::before{content:"\F0BD6"}.mdi-tooltip-plus-outline::before{content:"\F0527"}.mdi-tooltip-remove::before{content:"\F1560"}.mdi-tooltip-remove-outline::before{content:"\F1561"}.mdi-tooltip-text::before{content:"\F0528"}.mdi-tooltip-text-outline::before{content:"\F0BD7"}.mdi-tooth::before{content:"\F08C3"}.mdi-tooth-outline::before{content:"\F0529"}.mdi-toothbrush::before{content:"\F1129"}.mdi-toothbrush-electric::before{content:"\F112C"}.mdi-toothbrush-paste::before{content:"\F112A"}.mdi-torch::before{content:"\F1606"}.mdi-tortoise::before{content:"\F0D3B"}.mdi-toslink::before{content:"\F12B8"}.mdi-tournament::before{content:"\F09AE"}.mdi-tow-truck::before{content:"\F083C"}.mdi-tower-beach::before{content:"\F0681"}.mdi-tower-fire::before{content:"\F0682"}.mdi-toy-brick::before{content:"\F1288"}.mdi-toy-brick-marker::before{content:"\F1289"}.mdi-toy-brick-marker-outline::before{content:"\F128A"}.mdi-toy-brick-minus::before{content:"\F128B"}.mdi-toy-brick-minus-outline::before{content:"\F128C"}.mdi-toy-brick-outline::before{content:"\F128D"}.mdi-toy-brick-plus::before{content:"\F128E"}.mdi-toy-brick-plus-outline::before{content:"\F128F"}.mdi-toy-brick-remove::before{content:"\F1290"}.mdi-toy-brick-remove-outline::before{content:"\F1291"}.mdi-toy-brick-search::before{content:"\F1292"}.mdi-toy-brick-search-outline::before{content:"\F1293"}.mdi-track-light::before{content:"\F0914"}.mdi-trackpad::before{content:"\F07F8"}.mdi-trackpad-lock::before{content:"\F0933"}.mdi-tractor::before{content:"\F0892"}.mdi-tractor-variant::before{content:"\F14C4"}.mdi-trademark::before{content:"\F0A78"}.mdi-traffic-cone::before{content:"\F137C"}.mdi-traffic-light::before{content:"\F052B"}.mdi-train::before{content:"\F052C"}.mdi-train-car::before{content:"\F0BD8"}.mdi-train-variant::before{content:"\F08C4"}.mdi-tram::before{content:"\F052D"}.mdi-tram-side::before{content:"\F0FE7"}.mdi-transcribe::before{content:"\F052E"}.mdi-transcribe-close::before{content:"\F052F"}.mdi-transfer::before{content:"\F1065"}.mdi-transfer-down::before{content:"\F0DA1"}.mdi-transfer-left::before{content:"\F0DA2"}.mdi-transfer-right::before{content:"\F0530"}.mdi-transfer-up::before{content:"\F0DA3"}.mdi-transit-connection::before{content:"\F0D3C"}.mdi-transit-connection-horizontal::before{content:"\F1546"}.mdi-transit-connection-variant::before{content:"\F0D3D"}.mdi-transit-detour::before{content:"\F0F8B"}.mdi-transit-skip::before{content:"\F1515"}.mdi-transit-transfer::before{content:"\F06AE"}.mdi-transition::before{content:"\F0915"}.mdi-transition-masked::before{content:"\F0916"}.mdi-translate::before{content:"\F05CA"}.mdi-translate-off::before{content:"\F0E06"}.mdi-transmission-tower::before{content:"\F0D3E"}.mdi-trash-can::before{content:"\F0A79"}.mdi-trash-can-outline::before{content:"\F0A7A"}.mdi-tray::before{content:"\F1294"}.mdi-tray-alert::before{content:"\F1295"}.mdi-tray-full::before{content:"\F1296"}.mdi-tray-minus::before{content:"\F1297"}.mdi-tray-plus::before{content:"\F1298"}.mdi-tray-remove::before{content:"\F1299"}.mdi-treasure-chest::before{content:"\F0726"}.mdi-tree::before{content:"\F0531"}.mdi-tree-outline::before{content:"\F0E69"}.mdi-trello::before{content:"\F0532"}.mdi-trending-down::before{content:"\F0533"}.mdi-trending-neutral::before{content:"\F0534"}.mdi-trending-up::before{content:"\F0535"}.mdi-triangle::before{content:"\F0536"}.mdi-triangle-outline::before{content:"\F0537"}.mdi-triangle-wave::before{content:"\F147C"}.mdi-triforce::before{content:"\F0BD9"}.mdi-trophy::before{content:"\F0538"}.mdi-trophy-award::before{content:"\F0539"}.mdi-trophy-broken::before{content:"\F0DA4"}.mdi-trophy-outline::before{content:"\F053A"}.mdi-trophy-variant::before{content:"\F053B"}.mdi-trophy-variant-outline::before{content:"\F053C"}.mdi-truck::before{content:"\F053D"}.mdi-truck-check::before{content:"\F0CD4"}.mdi-truck-check-outline::before{content:"\F129A"}.mdi-truck-delivery::before{content:"\F053E"}.mdi-truck-delivery-outline::before{content:"\F129B"}.mdi-truck-fast::before{content:"\F0788"}.mdi-truck-fast-outline::before{content:"\F129C"}.mdi-truck-outline::before{content:"\F129D"}.mdi-truck-trailer::before{content:"\F0727"}.mdi-trumpet::before{content:"\F1096"}.mdi-tshirt-crew::before{content:"\F0A7B"}.mdi-tshirt-crew-outline::before{content:"\F053F"}.mdi-tshirt-v::before{content:"\F0A7C"}.mdi-tshirt-v-outline::before{content:"\F0540"}.mdi-tumble-dryer::before{content:"\F0917"}.mdi-tumble-dryer-alert::before{content:"\F11BA"}.mdi-tumble-dryer-off::before{content:"\F11BB"}.mdi-tune::before{content:"\F062E"}.mdi-tune-variant::before{content:"\F1542"}.mdi-tune-vertical::before{content:"\F066A"}.mdi-tune-vertical-variant::before{content:"\F1543"}.mdi-turnstile::before{content:"\F0CD5"}.mdi-turnstile-outline::before{content:"\F0CD6"}.mdi-turtle::before{content:"\F0CD7"}.mdi-twitch::before{content:"\F0543"}.mdi-twitter::before{content:"\F0544"}.mdi-twitter-retweet::before{content:"\F0547"}.mdi-two-factor-authentication::before{content:"\F09AF"}.mdi-typewriter::before{content:"\F0F2D"}.mdi-ubisoft::before{content:"\F0BDA"}.mdi-ubuntu::before{content:"\F0548"}.mdi-ufo::before{content:"\F10C4"}.mdi-ufo-outline::before{content:"\F10C5"}.mdi-ultra-high-definition::before{content:"\F07F9"}.mdi-umbraco::before{content:"\F0549"}.mdi-umbrella::before{content:"\F054A"}.mdi-umbrella-closed::before{content:"\F09B0"}.mdi-umbrella-closed-outline::before{content:"\F13E2"}.mdi-umbrella-closed-variant::before{content:"\F13E1"}.mdi-umbrella-outline::before{content:"\F054B"}.mdi-undo::before{content:"\F054C"}.mdi-undo-variant::before{content:"\F054D"}.mdi-unfold-less-horizontal::before{content:"\F054E"}.mdi-unfold-less-vertical::before{content:"\F0760"}.mdi-unfold-more-horizontal::before{content:"\F054F"}.mdi-unfold-more-vertical::before{content:"\F0761"}.mdi-ungroup::before{content:"\F0550"}.mdi-unicode::before{content:"\F0ED0"}.mdi-unicorn::before{content:"\F15C2"}.mdi-unicorn-variant::before{content:"\F15C3"}.mdi-unicycle::before{content:"\F15E5"}.mdi-unity::before{content:"\F06AF"}.mdi-unreal::before{content:"\F09B1"}.mdi-untappd::before{content:"\F0551"}.mdi-update::before{content:"\F06B0"}.mdi-upload::before{content:"\F0552"}.mdi-upload-lock::before{content:"\F1373"}.mdi-upload-lock-outline::before{content:"\F1374"}.mdi-upload-multiple::before{content:"\F083D"}.mdi-upload-network::before{content:"\F06F6"}.mdi-upload-network-outline::before{content:"\F0CD8"}.mdi-upload-off::before{content:"\F10C6"}.mdi-upload-off-outline::before{content:"\F10C7"}.mdi-upload-outline::before{content:"\F0E07"}.mdi-usb::before{content:"\F0553"}.mdi-usb-flash-drive::before{content:"\F129E"}.mdi-usb-flash-drive-outline::before{content:"\F129F"}.mdi-usb-port::before{content:"\F11F0"}.mdi-valve::before{content:"\F1066"}.mdi-valve-closed::before{content:"\F1067"}.mdi-valve-open::before{content:"\F1068"}.mdi-van-passenger::before{content:"\F07FA"}.mdi-van-utility::before{content:"\F07FB"}.mdi-vanish::before{content:"\F07FC"}.mdi-vanish-quarter::before{content:"\F1554"}.mdi-vanity-light::before{content:"\F11E1"}.mdi-variable::before{content:"\F0AE7"}.mdi-variable-box::before{content:"\F1111"}.mdi-vector-arrange-above::before{content:"\F0554"}.mdi-vector-arrange-below::before{content:"\F0555"}.mdi-vector-bezier::before{content:"\F0AE8"}.mdi-vector-circle::before{content:"\F0556"}.mdi-vector-circle-variant::before{content:"\F0557"}.mdi-vector-combine::before{content:"\F0558"}.mdi-vector-curve::before{content:"\F0559"}.mdi-vector-difference::before{content:"\F055A"}.mdi-vector-difference-ab::before{content:"\F055B"}.mdi-vector-difference-ba::before{content:"\F055C"}.mdi-vector-ellipse::before{content:"\F0893"}.mdi-vector-intersection::before{content:"\F055D"}.mdi-vector-line::before{content:"\F055E"}.mdi-vector-link::before{content:"\F0FE8"}.mdi-vector-point::before{content:"\F055F"}.mdi-vector-polygon::before{content:"\F0560"}.mdi-vector-polyline::before{content:"\F0561"}.mdi-vector-polyline-edit::before{content:"\F1225"}.mdi-vector-polyline-minus::before{content:"\F1226"}.mdi-vector-polyline-plus::before{content:"\F1227"}.mdi-vector-polyline-remove::before{content:"\F1228"}.mdi-vector-radius::before{content:"\F074A"}.mdi-vector-rectangle::before{content:"\F05C6"}.mdi-vector-selection::before{content:"\F0562"}.mdi-vector-square::before{content:"\F0001"}.mdi-vector-triangle::before{content:"\F0563"}.mdi-vector-union::before{content:"\F0564"}.mdi-vhs::before{content:"\F0A1B"}.mdi-vibrate::before{content:"\F0566"}.mdi-vibrate-off::before{content:"\F0CD9"}.mdi-video::before{content:"\F0567"}.mdi-video-3d::before{content:"\F07FD"}.mdi-video-3d-off::before{content:"\F13D9"}.mdi-video-3d-variant::before{content:"\F0ED1"}.mdi-video-4k-box::before{content:"\F083E"}.mdi-video-account::before{content:"\F0919"}.mdi-video-box::before{content:"\F00FD"}.mdi-video-box-off::before{content:"\F00FE"}.mdi-video-check::before{content:"\F1069"}.mdi-video-check-outline::before{content:"\F106A"}.mdi-video-high-definition::before{content:"\F152E"}.mdi-video-image::before{content:"\F091A"}.mdi-video-input-antenna::before{content:"\F083F"}.mdi-video-input-component::before{content:"\F0840"}.mdi-video-input-hdmi::before{content:"\F0841"}.mdi-video-input-scart::before{content:"\F0F8C"}.mdi-video-input-svideo::before{content:"\F0842"}.mdi-video-minus::before{content:"\F09B2"}.mdi-video-minus-outline::before{content:"\F02BA"}.mdi-video-off::before{content:"\F0568"}.mdi-video-off-outline::before{content:"\F0BDB"}.mdi-video-outline::before{content:"\F0BDC"}.mdi-video-plus::before{content:"\F09B3"}.mdi-video-plus-outline::before{content:"\F01D3"}.mdi-video-stabilization::before{content:"\F091B"}.mdi-video-switch::before{content:"\F0569"}.mdi-video-switch-outline::before{content:"\F0790"}.mdi-video-vintage::before{content:"\F0A1C"}.mdi-video-wireless::before{content:"\F0ED2"}.mdi-video-wireless-outline::before{content:"\F0ED3"}.mdi-view-agenda::before{content:"\F056A"}.mdi-view-agenda-outline::before{content:"\F11D8"}.mdi-view-array::before{content:"\F056B"}.mdi-view-array-outline::before{content:"\F1485"}.mdi-view-carousel::before{content:"\F056C"}.mdi-view-carousel-outline::before{content:"\F1486"}.mdi-view-column::before{content:"\F056D"}.mdi-view-column-outline::before{content:"\F1487"}.mdi-view-comfy::before{content:"\F0E6A"}.mdi-view-comfy-outline::before{content:"\F1488"}.mdi-view-compact::before{content:"\F0E6B"}.mdi-view-compact-outline::before{content:"\F0E6C"}.mdi-view-dashboard::before{content:"\F056E"}.mdi-view-dashboard-outline::before{content:"\F0A1D"}.mdi-view-dashboard-variant::before{content:"\F0843"}.mdi-view-dashboard-variant-outline::before{content:"\F1489"}.mdi-view-day::before{content:"\F056F"}.mdi-view-day-outline::before{content:"\F148A"}.mdi-view-grid::before{content:"\F0570"}.mdi-view-grid-outline::before{content:"\F11D9"}.mdi-view-grid-plus::before{content:"\F0F8D"}.mdi-view-grid-plus-outline::before{content:"\F11DA"}.mdi-view-headline::before{content:"\F0571"}.mdi-view-list::before{content:"\F0572"}.mdi-view-list-outline::before{content:"\F148B"}.mdi-view-module::before{content:"\F0573"}.mdi-view-module-outline::before{content:"\F148C"}.mdi-view-parallel::before{content:"\F0728"}.mdi-view-parallel-outline::before{content:"\F148D"}.mdi-view-quilt::before{content:"\F0574"}.mdi-view-quilt-outline::before{content:"\F148E"}.mdi-view-sequential::before{content:"\F0729"}.mdi-view-sequential-outline::before{content:"\F148F"}.mdi-view-split-horizontal::before{content:"\F0BCB"}.mdi-view-split-vertical::before{content:"\F0BCC"}.mdi-view-stream::before{content:"\F0575"}.mdi-view-stream-outline::before{content:"\F1490"}.mdi-view-week::before{content:"\F0576"}.mdi-view-week-outline::before{content:"\F1491"}.mdi-vimeo::before{content:"\F0577"}.mdi-violin::before{content:"\F060F"}.mdi-virtual-reality::before{content:"\F0894"}.mdi-virus::before{content:"\F13B6"}.mdi-virus-outline::before{content:"\F13B7"}.mdi-vk::before{content:"\F0579"}.mdi-vlc::before{content:"\F057C"}.mdi-voice-off::before{content:"\F0ED4"}.mdi-voicemail::before{content:"\F057D"}.mdi-volleyball::before{content:"\F09B4"}.mdi-volume-high::before{content:"\F057E"}.mdi-volume-low::before{content:"\F057F"}.mdi-volume-medium::before{content:"\F0580"}.mdi-volume-minus::before{content:"\F075E"}.mdi-volume-mute::before{content:"\F075F"}.mdi-volume-off::before{content:"\F0581"}.mdi-volume-plus::before{content:"\F075D"}.mdi-volume-source::before{content:"\F1120"}.mdi-volume-variant-off::before{content:"\F0E08"}.mdi-volume-vibrate::before{content:"\F1121"}.mdi-vote::before{content:"\F0A1F"}.mdi-vote-outline::before{content:"\F0A20"}.mdi-vpn::before{content:"\F0582"}.mdi-vuejs::before{content:"\F0844"}.mdi-vuetify::before{content:"\F0E6D"}.mdi-walk::before{content:"\F0583"}.mdi-wall::before{content:"\F07FE"}.mdi-wall-sconce::before{content:"\F091C"}.mdi-wall-sconce-flat::before{content:"\F091D"}.mdi-wall-sconce-flat-variant::before{content:"\F041C"}.mdi-wall-sconce-round::before{content:"\F0748"}.mdi-wall-sconce-round-variant::before{content:"\F091E"}.mdi-wallet::before{content:"\F0584"}.mdi-wallet-giftcard::before{content:"\F0585"}.mdi-wallet-membership::before{content:"\F0586"}.mdi-wallet-outline::before{content:"\F0BDD"}.mdi-wallet-plus::before{content:"\F0F8E"}.mdi-wallet-plus-outline::before{content:"\F0F8F"}.mdi-wallet-travel::before{content:"\F0587"}.mdi-wallpaper::before{content:"\F0E09"}.mdi-wan::before{content:"\F0588"}.mdi-wardrobe::before{content:"\F0F90"}.mdi-wardrobe-outline::before{content:"\F0F91"}.mdi-warehouse::before{content:"\F0F81"}.mdi-washing-machine::before{content:"\F072A"}.mdi-washing-machine-alert::before{content:"\F11BC"}.mdi-washing-machine-off::before{content:"\F11BD"}.mdi-watch::before{content:"\F0589"}.mdi-watch-export::before{content:"\F058A"}.mdi-watch-export-variant::before{content:"\F0895"}.mdi-watch-import::before{content:"\F058B"}.mdi-watch-import-variant::before{content:"\F0896"}.mdi-watch-variant::before{content:"\F0897"}.mdi-watch-vibrate::before{content:"\F06B1"}.mdi-watch-vibrate-off::before{content:"\F0CDA"}.mdi-water::before{content:"\F058C"}.mdi-water-alert::before{content:"\F1502"}.mdi-water-alert-outline::before{content:"\F1503"}.mdi-water-boiler::before{content:"\F0F92"}.mdi-water-boiler-alert::before{content:"\F11B3"}.mdi-water-boiler-off::before{content:"\F11B4"}.mdi-water-check::before{content:"\F1504"}.mdi-water-check-outline::before{content:"\F1505"}.mdi-water-minus::before{content:"\F1506"}.mdi-water-minus-outline::before{content:"\F1507"}.mdi-water-off::before{content:"\F058D"}.mdi-water-off-outline::before{content:"\F1508"}.mdi-water-outline::before{content:"\F0E0A"}.mdi-water-percent::before{content:"\F058E"}.mdi-water-percent-alert::before{content:"\F1509"}.mdi-water-plus::before{content:"\F150A"}.mdi-water-plus-outline::before{content:"\F150B"}.mdi-water-polo::before{content:"\F12A0"}.mdi-water-pump::before{content:"\F058F"}.mdi-water-pump-off::before{content:"\F0F93"}.mdi-water-remove::before{content:"\F150C"}.mdi-water-remove-outline::before{content:"\F150D"}.mdi-water-well::before{content:"\F106B"}.mdi-water-well-outline::before{content:"\F106C"}.mdi-watering-can::before{content:"\F1481"}.mdi-watering-can-outline::before{content:"\F1482"}.mdi-watermark::before{content:"\F0612"}.mdi-wave::before{content:"\F0F2E"}.mdi-waveform::before{content:"\F147D"}.mdi-waves::before{content:"\F078D"}.mdi-waze::before{content:"\F0BDE"}.mdi-weather-cloudy::before{content:"\F0590"}.mdi-weather-cloudy-alert::before{content:"\F0F2F"}.mdi-weather-cloudy-arrow-right::before{content:"\F0E6E"}.mdi-weather-fog::before{content:"\F0591"}.mdi-weather-hail::before{content:"\F0592"}.mdi-weather-hazy::before{content:"\F0F30"}.mdi-weather-hurricane::before{content:"\F0898"}.mdi-weather-lightning::before{content:"\F0593"}.mdi-weather-lightning-rainy::before{content:"\F067E"}.mdi-weather-night::before{content:"\F0594"}.mdi-weather-night-partly-cloudy::before{content:"\F0F31"}.mdi-weather-partly-cloudy::before{content:"\F0595"}.mdi-weather-partly-lightning::before{content:"\F0F32"}.mdi-weather-partly-rainy::before{content:"\F0F33"}.mdi-weather-partly-snowy::before{content:"\F0F34"}.mdi-weather-partly-snowy-rainy::before{content:"\F0F35"}.mdi-weather-pouring::before{content:"\F0596"}.mdi-weather-rainy::before{content:"\F0597"}.mdi-weather-snowy::before{content:"\F0598"}.mdi-weather-snowy-heavy::before{content:"\F0F36"}.mdi-weather-snowy-rainy::before{content:"\F067F"}.mdi-weather-sunny::before{content:"\F0599"}.mdi-weather-sunny-alert::before{content:"\F0F37"}.mdi-weather-sunny-off::before{content:"\F14E4"}.mdi-weather-sunset::before{content:"\F059A"}.mdi-weather-sunset-down::before{content:"\F059B"}.mdi-weather-sunset-up::before{content:"\F059C"}.mdi-weather-tornado::before{content:"\F0F38"}.mdi-weather-windy::before{content:"\F059D"}.mdi-weather-windy-variant::before{content:"\F059E"}.mdi-web::before{content:"\F059F"}.mdi-web-box::before{content:"\F0F94"}.mdi-web-clock::before{content:"\F124A"}.mdi-webcam::before{content:"\F05A0"}.mdi-webhook::before{content:"\F062F"}.mdi-webpack::before{content:"\F072B"}.mdi-webrtc::before{content:"\F1248"}.mdi-wechat::before{content:"\F0611"}.mdi-weight::before{content:"\F05A1"}.mdi-weight-gram::before{content:"\F0D3F"}.mdi-weight-kilogram::before{content:"\F05A2"}.mdi-weight-lifter::before{content:"\F115D"}.mdi-weight-pound::before{content:"\F09B5"}.mdi-whatsapp::before{content:"\F05A3"}.mdi-wheel-barrow::before{content:"\F14F2"}.mdi-wheelchair-accessibility::before{content:"\F05A4"}.mdi-whistle::before{content:"\F09B6"}.mdi-whistle-outline::before{content:"\F12BC"}.mdi-white-balance-auto::before{content:"\F05A5"}.mdi-white-balance-incandescent::before{content:"\F05A6"}.mdi-white-balance-iridescent::before{content:"\F05A7"}.mdi-white-balance-sunny::before{content:"\F05A8"}.mdi-widgets::before{content:"\F072C"}.mdi-widgets-outline::before{content:"\F1355"}.mdi-wifi::before{content:"\F05A9"}.mdi-wifi-alert::before{content:"\F16B5"}.mdi-wifi-arrow-down::before{content:"\F16B6"}.mdi-wifi-arrow-left::before{content:"\F16B7"}.mdi-wifi-arrow-left-right::before{content:"\F16B8"}.mdi-wifi-arrow-right::before{content:"\F16B9"}.mdi-wifi-arrow-up::before{content:"\F16BA"}.mdi-wifi-arrow-up-down::before{content:"\F16BB"}.mdi-wifi-cancel::before{content:"\F16BC"}.mdi-wifi-check::before{content:"\F16BD"}.mdi-wifi-cog::before{content:"\F16BE"}.mdi-wifi-lock::before{content:"\F16BF"}.mdi-wifi-lock-open::before{content:"\F16C0"}.mdi-wifi-marker::before{content:"\F16C1"}.mdi-wifi-minus::before{content:"\F16C2"}.mdi-wifi-off::before{content:"\F05AA"}.mdi-wifi-plus::before{content:"\F16C3"}.mdi-wifi-refresh::before{content:"\F16C4"}.mdi-wifi-remove::before{content:"\F16C5"}.mdi-wifi-settings::before{content:"\F16C6"}.mdi-wifi-star::before{content:"\F0E0B"}.mdi-wifi-strength-1::before{content:"\F091F"}.mdi-wifi-strength-1-alert::before{content:"\F0920"}.mdi-wifi-strength-1-lock::before{content:"\F0921"}.mdi-wifi-strength-1-lock-open::before{content:"\F16CB"}.mdi-wifi-strength-2::before{content:"\F0922"}.mdi-wifi-strength-2-alert::before{content:"\F0923"}.mdi-wifi-strength-2-lock::before{content:"\F0924"}.mdi-wifi-strength-2-lock-open::before{content:"\F16CC"}.mdi-wifi-strength-3::before{content:"\F0925"}.mdi-wifi-strength-3-alert::before{content:"\F0926"}.mdi-wifi-strength-3-lock::before{content:"\F0927"}.mdi-wifi-strength-3-lock-open::before{content:"\F16CD"}.mdi-wifi-strength-4::before{content:"\F0928"}.mdi-wifi-strength-4-alert::before{content:"\F0929"}.mdi-wifi-strength-4-lock::before{content:"\F092A"}.mdi-wifi-strength-4-lock-open::before{content:"\F16CE"}.mdi-wifi-strength-alert-outline::before{content:"\F092B"}.mdi-wifi-strength-lock-open-outline::before{content:"\F16CF"}.mdi-wifi-strength-lock-outline::before{content:"\F092C"}.mdi-wifi-strength-off::before{content:"\F092D"}.mdi-wifi-strength-off-outline::before{content:"\F092E"}.mdi-wifi-strength-outline::before{content:"\F092F"}.mdi-wifi-sync::before{content:"\F16C7"}.mdi-wikipedia::before{content:"\F05AC"}.mdi-wind-turbine::before{content:"\F0DA5"}.mdi-window-close::before{content:"\F05AD"}.mdi-window-closed::before{content:"\F05AE"}.mdi-window-closed-variant::before{content:"\F11DB"}.mdi-window-maximize::before{content:"\F05AF"}.mdi-window-minimize::before{content:"\F05B0"}.mdi-window-open::before{content:"\F05B1"}.mdi-window-open-variant::before{content:"\F11DC"}.mdi-window-restore::before{content:"\F05B2"}.mdi-window-shutter::before{content:"\F111C"}.mdi-window-shutter-alert::before{content:"\F111D"}.mdi-window-shutter-open::before{content:"\F111E"}.mdi-windsock::before{content:"\F15FA"}.mdi-wiper::before{content:"\F0AE9"}.mdi-wiper-wash::before{content:"\F0DA6"}.mdi-wizard-hat::before{content:"\F1477"}.mdi-wordpress::before{content:"\F05B4"}.mdi-wrap::before{content:"\F05B6"}.mdi-wrap-disabled::before{content:"\F0BDF"}.mdi-wrench::before{content:"\F05B7"}.mdi-wrench-outline::before{content:"\F0BE0"}.mdi-xamarin::before{content:"\F0845"}.mdi-xamarin-outline::before{content:"\F0846"}.mdi-xing::before{content:"\F05BE"}.mdi-xml::before{content:"\F05C0"}.mdi-xmpp::before{content:"\F07FF"}.mdi-y-combinator::before{content:"\F0624"}.mdi-yahoo::before{content:"\F0B4F"}.mdi-yeast::before{content:"\F05C1"}.mdi-yin-yang::before{content:"\F0680"}.mdi-yoga::before{content:"\F117C"}.mdi-youtube::before{content:"\F05C3"}.mdi-youtube-gaming::before{content:"\F0848"}.mdi-youtube-studio::before{content:"\F0847"}.mdi-youtube-subscription::before{content:"\F0D40"}.mdi-youtube-tv::before{content:"\F0448"}.mdi-yurt::before{content:"\F1516"}.mdi-z-wave::before{content:"\F0AEA"}.mdi-zend::before{content:"\F0AEB"}.mdi-zigbee::before{content:"\F0D41"}.mdi-zip-box::before{content:"\F05C4"}.mdi-zip-box-outline::before{content:"\F0FFA"}.mdi-zip-disk::before{content:"\F0A23"}.mdi-zodiac-aquarius::before{content:"\F0A7D"}.mdi-zodiac-aries::before{content:"\F0A7E"}.mdi-zodiac-cancer::before{content:"\F0A7F"}.mdi-zodiac-capricorn::before{content:"\F0A80"}.mdi-zodiac-gemini::before{content:"\F0A81"}.mdi-zodiac-leo::before{content:"\F0A82"}.mdi-zodiac-libra::before{content:"\F0A83"}.mdi-zodiac-pisces::before{content:"\F0A84"}.mdi-zodiac-sagittarius::before{content:"\F0A85"}.mdi-zodiac-scorpio::before{content:"\F0A86"}.mdi-zodiac-taurus::before{content:"\F0A87"}.mdi-zodiac-virgo::before{content:"\F0A88"}.mdi-blank::before{content:"\F68C";visibility:hidden}.mdi-18px.mdi-set,.mdi-18px.mdi:before{font-size:18px}.mdi-24px.mdi-set,.mdi-24px.mdi:before{font-size:24px}.mdi-36px.mdi-set,.mdi-36px.mdi:before{font-size:36px}.mdi-48px.mdi-set,.mdi-48px.mdi:before{font-size:48px}.mdi-dark:before{color:rgba(0,0,0,0.54)}.mdi-dark.mdi-inactive:before{color:rgba(0,0,0,0.26)}.mdi-light:before{color:#fff}.mdi-light.mdi-inactive:before{color:rgba(255,255,255,0.3)}.mdi-rotate-45:before{-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.mdi-rotate-90:before{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.mdi-rotate-135:before{-webkit-transform:rotate(135deg);-ms-transform:rotate(135deg);transform:rotate(135deg)}.mdi-rotate-180:before{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.mdi-rotate-225:before{-webkit-transform:rotate(225deg);-ms-transform:rotate(225deg);transform:rotate(225deg)}.mdi-rotate-270:before{-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.mdi-rotate-315:before{-webkit-transform:rotate(315deg);-ms-transform:rotate(315deg);transform:rotate(315deg)}.mdi-flip-h:before{-webkit-transform:scaleX(-1);transform:scaleX(-1);filter:FlipH;-ms-filter:"FlipH"}.mdi-flip-v:before{-webkit-transform:scaleY(-1);transform:scaleY(-1);filter:FlipV;-ms-filter:"FlipV"}.mdi-spin:before{-webkit-animation:mdi-spin 2s infinite linear;animation:mdi-spin 2s infinite linear}@-webkit-keyframes mdi-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes mdi-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}
-
-/*# sourceMappingURL=materialdesignicons.min.css.map */
\ No newline at end of file
diff --git a/themes/cmd/source/css/xcode.css b/themes/cmd/source/css/xcode.css
deleted file mode 100644
index 23e888b..0000000
--- a/themes/cmd/source/css/xcode.css
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
-
-XCode style (c) Angel Garcia
-
-Ported to Hexo highlight.js system by Rubicon
-
-*/
-
-.highlight {
- display: block;
- overflow-x: auto;
- padding: 0.5em;
- background: #fff;
- color: black;
-}
-
-/* Gray DOCTYPE selectors like WebKit */
-.code .xml .meta {
- color: #c0c0c0;
-}
-
-.code .comment,
-.code .quote {
- color: #007400;
-}
-
-.code .tag,
-.code .attribute,
-.code .keyword,
-.code .selector-tag,
-.code .literal,
-.code .name {
- color: #aa0d91;
-}
-
-.code .variable,
-.code .template-variable {
- color: #3F6E74;
-}
-
-.code .code,
-.code .string,
-.code .meta-string {
- color: #c41a16;
-}
-
-.code .regexp,
-.code .link {
- color: #0E0EFF;
-}
-
-.code .title,
-.code .symbol,
-.code .bullet,
-.code .number {
- color: #1c00cf;
-}
-
-.code .section,
-.code .meta {
- color: #643820;
-}
-
-
-.code .class .title,
-.code .type,
-.code .built_in,
-.code .builtin-name,
-.code .params {
- color: #5c2699;
-}
-
-.code .attr {
- color: #836C28;
-}
-
-.code .subst {
- color: #000;
-}
-
-.code .formula {
- background-color: #eee;
- font-style: italic;
-}
-
-.code .addition {
- background-color: #baeeba;
-}
-
-.code .deletion {
- background-color: #ffc8bd;
-}
-
-.code .selector-id,
-.code .selector-class {
- color: #9b703f;
-}
-
-.code .doctag,
-.code .strong {
- font-weight: bold;
-}
-
-.code .emphasis {
- font-style: italic;
-}
diff --git a/themes/cmd/source/favicon.ico b/themes/cmd/source/favicon.ico
deleted file mode 100644
index a60b5fd..0000000
Binary files a/themes/cmd/source/favicon.ico and /dev/null differ
diff --git a/themes/cmd/source/fonts/materialdesignicons-webfont.eot b/themes/cmd/source/fonts/materialdesignicons-webfont.eot
deleted file mode 100644
index 079d5a0..0000000
Binary files a/themes/cmd/source/fonts/materialdesignicons-webfont.eot and /dev/null differ
diff --git a/themes/cmd/source/fonts/materialdesignicons-webfont.ttf b/themes/cmd/source/fonts/materialdesignicons-webfont.ttf
deleted file mode 100644
index 761dfaf..0000000
Binary files a/themes/cmd/source/fonts/materialdesignicons-webfont.ttf and /dev/null differ
diff --git a/themes/cmd/source/fonts/materialdesignicons-webfont.woff b/themes/cmd/source/fonts/materialdesignicons-webfont.woff
deleted file mode 100644
index c98a100..0000000
Binary files a/themes/cmd/source/fonts/materialdesignicons-webfont.woff and /dev/null differ
diff --git a/themes/cmd/source/fonts/materialdesignicons-webfont.woff2 b/themes/cmd/source/fonts/materialdesignicons-webfont.woff2
deleted file mode 100644
index 9ef1ab3..0000000
Binary files a/themes/cmd/source/fonts/materialdesignicons-webfont.woff2 and /dev/null differ
diff --git a/themes/cmd/source/js/cmd.js b/themes/cmd/source/js/cmd.js
deleted file mode 100644
index 57ae891..0000000
--- a/themes/cmd/source/js/cmd.js
+++ /dev/null
@@ -1,7 +0,0 @@
-
-(function(){
- "use strict";
- document.addEventListener("DOMContentLoaded",() => {
- M.AutoInit()
- })
-})()
diff --git a/themes/cmd/source/js/material-photo-gallery.js b/themes/cmd/source/js/material-photo-gallery.js
deleted file mode 100644
index 25da872..0000000
--- a/themes/cmd/source/js/material-photo-gallery.js
+++ /dev/null
@@ -1,1847 +0,0 @@
-(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o '
-
- var controlsPrevSvg =
- ' '
-
- var controlsNextSvg =
- ' '
-
- function _createEl(el, className, attr) {
- var element = document.createElement(el)
- if (className && typeof className === 'object') {
- className.forEach(function(c) {
- element.classList.add(c)
- })
- } else {
- element.classList.add(className)
- }
- return element
- }
-
- function init() {
- var controls = _createEl('div', _cssClasses.CONTROLS)
- var close = _createEl('button', _cssClasses.CONTROLS_CLOSE)
- var next = _createEl('button', [
- _cssClasses.CONTROLS_ARROW,
- _cssClasses.CONTROLS_NEXT
- ])
- var prev = _createEl('button', [
- _cssClasses.CONTROLS_ARROW,
- _cssClasses.CONTROLS_PREV
- ])
-
- var childrenControls = [close, next, prev]
-
- for (var i = 0; i < childrenControls.length; i++) {
- controls.appendChild(childrenControls[i])
- }
-
- var closeBtn = _createEl('span', _cssClasses.CONTROLS_BTN)
- var nextBtn = _createEl('span', _cssClasses.CONTROLS_BTN)
- var prevBtn = _createEl('span', _cssClasses.CONTROLS_BTN)
-
- closeBtn.innerHTML = controlsCloseSvg
- nextBtn.innerHTML = controlsNextSvg
- prevBtn.innerHTML = controlsPrevSvg
-
- close.appendChild(closeBtn)
- next.appendChild(nextBtn)
- prev.appendChild(prevBtn)
-
- return controls
- }
-
- CreateControls.init = init
-
- return CreateControls
-})
-
-},{}],5:[function(require,module,exports){
-// Expose MaterialPhotoGallery to Global Scope
-var MaterialPhotoGallery = require('./material-photo-gallery')
-window.MaterialPhotoGallery = MaterialPhotoGallery
-
-},{"./material-photo-gallery":6}],6:[function(require,module,exports){
-/**
- *
- * Material Photo Gallery v0.1.0
- * A photo gallery inspired by Google Photos.
- *
- * Free to use under the MIT License.
- *
- */
-
-;(function(root, factory) {
- if (typeof define === 'function' && define.amd) {
- define(factory)
- } else if (typeof exports === 'object') {
- module.exports = factory(
- require('imagesLoaded'),
- require('./vendor/google-image-layout'),
- require('./create-controls')
- )
- } else {
- root.Gallery = factory(window.imagesLoaded, window.GoogleImageLayout)
- }
-})(this, function(imagesLoaded, GoogleImageLayout, CreateControls) {
- 'use strict'
-
- /**
- * Class constructor for Gallery component.
- *
- * @constructor
- * @param {HTMLElement} element - The gallery element.
- */
-
- var Gallery = function(element) {
- this._element = element
- this._layout()
- }
-
- /**
- * Detect CSS transform support
- */
-
- var transform = false,
- transformString = 'transform',
- domPrefixes = 'Webkit Moz ms'.split(' '),
- pfx = '',
- elem = document.createElement('div')
-
- if (elem.style.transform !== undefined) {
- transform = true
- }
-
- if (transform === false) {
- for (var i = 0; i < domPrefixes.length; i++) {
- if (elem.style[domPrefixes[i] + 'Transform'] !== undefined) {
- pfx = domPrefixes[i]
- transformString = pfx + 'Transform'
- transform = true
- break
- }
- }
- }
-
- /**
- * Detect transitionend event support
- */
-
- var transitions = {
- transition: 'transitionend',
- WebkitTransition: 'webkitTransitionEnd',
- MozTransition: 'transitionend',
- OTransition: 'otransitionend'
- },
- transitionendString,
- elem = document.createElement('div')
-
- for (var t in transitions) {
- if (typeof elem.style[t] !== 'undefined') {
- transitionendString = transitions[t]
- break
- }
- }
-
- function debounce(func, wait, immediate) {
- var timeout
- return function() {
- var context = this,
- args = arguments
- var later = function() {
- timeout = null
- if (!immediate) func.apply(context, args)
- }
- var callNow = immediate && !timeout
- clearTimeout(timeout)
- timeout = setTimeout(later, wait)
- if (callNow) func.apply(context, args)
- }
- }
-
- /**
- * handle touch events
- */
- var xDown = null
- var yDown = null
-
- function getTouches(evt) {
- return (
- evt.touches || evt.originalEvent.touches // browser API
- ) // jQuery
- }
-
- function handleTouchStart(evt) {
- xDown = getTouches(evt)[0].clientX
- yDown = getTouches(evt)[0].clientY
- }
-
- function handleTouchMove(evt) {
- if (!xDown || !yDown) {
- return
- }
-
- var xUp = evt.touches[0].clientX
- var yUp = evt.touches[0].clientY
-
- var xDiff = xDown - xUp
- var yDiff = yDown - yUp
-
- if (Math.abs(xDiff) > Math.abs(yDiff)) {
- /*most significant*/
- if (xDiff > 0) {
- /* left swipe */
- // alert('left swipe')
- this._handleNext()
- } else {
- /* right swipe */
- // alert('right swipe')
- this._handlePrev()
- }
- } else {
- if (yDiff > 0) {
- /* up swipe */
- } else {
- /* down swipe */
- }
- }
- /* reset values */
- xDown = null
- yDown = null
- }
-
- /**
- * Css class names stored as strings.
- *
- * @private
- */
-
- Gallery.prototype._cssClasses = {
- GALLERY: 'm-p-g',
- THUMBS_BOX: 'm-p-g__thumbs',
- THUMB_IMG: 'm-p-g__thumbs-img',
- FULL_BOX: 'm-p-g__fullscreen',
- FULL_IMG: 'm-p-g__fullscreen-img',
- CONTROLS: 'm-p-g__controls',
- CONTROLS_CLOSE: 'm-p-g__controls-close',
- CONTROLS_NEXT: 'm-p-g__controls-arrow--next',
- CONTROLS_PREV: 'm-p-g__controls-arrow--prev'
- }
-
- /**
- * Init the Google Image Layout.
- */
-
- Gallery.prototype._layout = function() {
- var gallery = this
- var imgLoad = imagesLoaded(
- document.querySelector('div[data-google-image-layout]')
- )
-
- imgLoad.on('progress', function(instance, image) {
- image.img.setAttribute('data-width', image.img.offsetWidth)
- image.img.setAttribute('data-height', image.img.offsetHeight)
- })
-
- imgLoad.on('done', function(instance) {
- var g = new GoogleImageLayout().init({
- after: function() {
- gallery.init()
- }
- })
- })
-
- imgLoad.on('fail', function(instance) {
- var galleryEl = gallery._element
- var alertBox = document.createElement('div')
- alertBox.className = 'm-p-g__alertBox'
- var alertBoxTitle = document.createElement('h2')
- alertBoxTitle.innerHTML = 'Error'
- var alertBoxMessage = document.createElement('p')
- alertBox.appendChild(alertBoxTitle)
- alertBox.appendChild(alertBoxMessage)
- galleryEl.appendChild(alertBox)
-
- var brokenImages = []
- instance.images.forEach(function(image) {
- if (!image.isLoaded) {
- brokenImages.push(image.img.currentSrc)
- }
- })
-
- alertBoxMessage.innerHTML = 'Failed to load:' + ' ' + brokenImages
- })
-
- window.onresize = debounce(function() {
- var g = new GoogleImageLayout().init({
- after: function() {
- setTimeout(function() {
- gallery._handleResize()
- }, 500)
- }
- })
- }, 25)
- }
-
- /**
- * Init the Gallery component.
- */
-
- Gallery.prototype.init = function() {
- var controls = CreateControls.init()
- this._element.appendChild(controls)
-
- // Root element.
- this._gallery = this._element
-
- // Container element for thumbnails.
- this._thumbsBox = this._gallery.querySelector(
- '.' + this._cssClasses.THUMBS_BOX
- )
-
- // Nodelist of thumbnails.
- this._thumbsNodeList = this._thumbsBox.querySelectorAll(
- '.' + this._cssClasses.THUMB_IMG
- )
-
- // Array of thumbnails.
- this._thumbs = Array.prototype.slice.call(this._thumbsNodeList)
-
- // Container of full size images.
- this._fullBox = this._gallery.querySelector('.' + this._cssClasses.FULL_BOX)
-
- // Container of controls.
- this._controls = this._gallery.querySelector(
- '.' + this._cssClasses.CONTROLS
- )
- // this._controls = CreateControls.init();
-
- // Close control button.
- this._closeBtn = this._controls.querySelector(
- '.' + this._cssClasses.CONTROLS_CLOSE
- )
-
- // Prev control button.
- this._prevBtn = this._controls.querySelector(
- '.' + this._cssClasses.CONTROLS_PREV
- )
-
- // Next control button.
- this._nextBtn = this._controls.querySelector(
- '.' + this._cssClasses.CONTROLS_NEXT
- )
-
- // Is true when the full size images have been loaded.
- this._fullImgsLoaded = false
-
- // Is true when a full size image is being viewed.
- this._fullImgOpen = false
-
- // Bind events to elements.
- this._bindEvents.call(this)
-
- // Load full size images.
- this._loadFullImgs.call(this)
- }
-
- /**
- * Add event listeners to elements.
- *
- * @private
- */
-
- Gallery.prototype._bindEvents = function() {
- for (var i = 0, ii = this._thumbs.length; i < ii; i++) {
- // Add click event to each thumbnail.
- this._thumbs[i].addEventListener(
- 'click',
- this._handleThumbClick.bind(this)
- )
-
- // Add hover event to each thumbnail.
- this._thumbs[i].addEventListener(
- 'mouseover',
- this._handleThumbHover.bind(this)
- )
- }
-
- // Add click event to close button.
- this._closeBtn.addEventListener('click', this._handleClose.bind(this))
-
- // Add click event to next button.
- this._nextBtn.addEventListener('click', this._handleNext.bind(this))
-
- // Add click event to prev button.
- this._prevBtn.addEventListener('click', this._handlePrev.bind(this))
-
- window.addEventListener('scroll', this._handleScroll.bind(this))
-
- // touch events
- document.addEventListener('touchstart', handleTouchStart.bind(this))
- document.addEventListener('touchmove', handleTouchMove.bind(this))
- }
-
- Gallery.prototype._handleScroll = debounce(function() {
- this._resetFullImg.call(this)
- }, 25)
-
- Gallery.prototype._handleResize = function() {
- this._resetFullImg.call(this)
- }
-
- /**
- * Load the full size images from the 'data-full' attribute.
- *
- * @private
- */
-
- Gallery.prototype._loadFullImgs = function() {
- var src, img
-
- for (var i = 0, ii = this._thumbs.length; i < ii; i++) {
- // Source of full size image.
- src = this._thumbs[i].getAttribute('data-full')
-
- // Create empty Image object.
- img = new Image()
-
- // Give new Image full size image src value.
- img.src = src
-
- // Give new Image appropriate class name.
- img.classList.add(this._cssClasses.FULL_IMG)
-
- // Append full size image to full size image container.
- this._fullBox.appendChild(img)
- }
-
- this._loadFullImgsDone.call(this)
- }
-
- Gallery.prototype._loadFullImgsDone = function() {
- var imgLoad = imagesLoaded(this._fullBox)
- imgLoad.on(
- 'done',
- function(instance) {
- var imgArr = instance.images
-
- this._fullImgs = []
- this._fullImgDimensions = []
- this._fullImgsTransforms = []
-
- for (var i = 0, ii = imgArr.length; i < ii; i++) {
- var rect = imgArr[i].img.getBoundingClientRect()
- this._fullImgs.push(imgArr[i].img)
- this._positionFullImgs.call(this, imgArr[i].img, i)
- this._fullImgDimensions.push(rect)
- }
-
- this._fullImgsLoaded = true
- }.bind(this)
- )
- }
-
- Gallery.prototype._positionFullImgs = function(img, i, applyTransform) {
- var transform = this._transformFullImg(img, this._thumbs[i])
- this._fullImgsTransforms.push(transform)
-
- img.style.marginTop = -img.height / 2 + 'px'
- img.style.marginLeft = -img.width / 2 + 'px'
- if (applyTransform !== false) {
- img.style[transformString] = transform
- }
- }
-
- /**
- * Makes the thumbnail transform to the same size and position as the full
- * size image.
- *
- * @private
- */
-
- Gallery.prototype._transformFullImg = function(fullImg, thumb, fullImgSize) {
- var scaleX, scaleY, transX, transY
-
- fullImg = fullImg.getBoundingClientRect()
- thumb = thumb.getBoundingClientRect()
-
- if (fullImgSize) {
- scaleX = (thumb.width / fullImgSize.width).toFixed(3)
- scaleY = (thumb.height / fullImgSize.height).toFixed(3)
- transX = thumb.left - fullImgSize.left + fullImgSize.width / 2
- transY = thumb.top - fullImgSize.top + fullImgSize.height / 2
- } else {
- scaleX = (thumb.width / fullImg.width).toFixed(3)
- scaleY = (thumb.height / fullImg.height).toFixed(3)
- transX = thumb.left - fullImg.left + fullImg.width / 2
- transY = thumb.top - fullImg.top + fullImg.height / 2
- }
-
- var transform =
- 'translate(' +
- transX +
- 'px,' +
- transY +
- 'px) scale(' +
- scaleX +
- ',' +
- scaleY +
- ')'
-
- return transform
- }
-
- Gallery.prototype._resetFullImg = function() {
- this._fullImgsTransforms = []
-
- for (var i = 0, ii = this._fullImgs.length; i < ii; i++) {
- var size = {
- width: this._fullImgDimensions[i].width,
- height: this._fullImgDimensions[i].height,
- left: this._fullImgDimensions[i].left,
- top: this._fullImgDimensions[i].top
- }
-
- if (i === this._thumbIndex && this._fullImgOpen) {
- this._fullImgs[i].removeAttribute('style')
- this._positionFullImgs.call(this, this._fullImgs[i], i, false)
- } else {
- this._fullImgs[i].removeAttribute('style')
- this._positionFullImgs.call(this, this._fullImgs[i], i)
- }
- }
- }
-
- /**
- * Thumbnail hover event.
- *
- * @param {Event} event - The event.
- * @private
- */
-
- Gallery.prototype._handleThumbHover = function(event) {
- if (this._fullImgsLoaded && !this._fullImgOpen) {
- this._transformThumbSetup.call(this, event)
- }
- }
-
- /**
- * Thumbnail click event.
- *
- * @param {Event} event - The event.
- * @private
- */
-
- Gallery.prototype._handleThumbClick = function(event) {
- if (this._thumb != event.target) {
- // Cache the thumb being hovered over.
- this._thumb = event.target
-
- // Index of thumb.
- this._thumbIndex = this._thumbs.indexOf(this._thumb)
-
- // The full size image of that thumbnail.
- this._fullImg = this._fullImgs[this._thumbIndex]
- }
-
- if (this._setupComplete && this._fullImgsLoaded && !this._fullImgOpen) {
- this._activateFullImg.call(this)
- this._activateControls.call(this)
- this._activateFullBox.call(this)
- this._disableScroll()
- }
- }
-
- /**
- * Caches the thumbnail and full size image that was just hovered over.
- * Stores the css transform value so we can use it later.
- *
- * @param {Event} event - The event.
- * @param {Function} fn - An optional callback function.
- * @private
- */
-
- Gallery.prototype._transformThumbSetup = function(event, fn) {
- this._setupComplete = false
-
- // Cache the thumb being hovered over.
- this._thumb = event.target
-
- // Index of thumb.
- this._thumbIndex = this._thumbs.indexOf(this._thumb)
-
- // The full size image of that thumbnail.
- this._fullImg = this._fullImgs[this._thumbIndex]
-
- this._setupComplete = true
-
- if (fn) fn()
- }
-
- Gallery.prototype._activateFullImg = function() {
- this._thumb.classList.add('hide')
- this._fullImg.classList.add('active')
- this._fullImg.style[transformString] = 'translate3d(0,0,0)'
- this._fullImgOpen = true
-
- this._fullImgs.forEach(function(img) {
- if (!img.classList.contains('active')) {
- img.classList.add('almost-active')
- }
- })
- }
-
- /**
- * Show the fullBox.
- *
- * @private
- */
-
- Gallery.prototype._activateFullBox = function() {
- this._fullBox.classList.add('active')
- }
-
- /**
- * Show the controls.
- *
- * @private
- */
-
- Gallery.prototype._activateControls = function() {
- this._controls.classList.add('active')
- }
-
- /**
- * CloseBtn click event.
- *
- * @private
- */
-
- Gallery.prototype._handleClose = function() {
- if (this._fullImgOpen) {
- this._closeFullImg.call(this)
- }
- }
-
- Gallery.prototype._closeFullImg = function() {
- var animation = function() {
- this._fullBox.classList.remove('active')
- this._controls.classList.remove('active')
- this._fullImg.style[transformString] = this._fullImgsTransforms[
- this._thumbIndex
- ]
- this._thumb.classList.remove('hide')
-
- this._fullImgs.forEach(function(img) {
- img.classList.remove('almost-active')
- })
-
- var fullImgTransEnd = function() {
- this._fullImg.classList.remove('active')
- this._fullImg.removeEventListener(transitionendString, fullImgTransEnd)
-
- this._fullImgOpen = false
- }.bind(this)
-
- this._fullImg.addEventListener(transitionendString, fullImgTransEnd)
- this._enableScroll()
- }.bind(this)
-
- window.requestAnimationFrame(animation)
- }
-
- /**
- * NextBtn click event.
- *
- * @private
- */
-
- Gallery.prototype._handleNext = function() {
- if (this._fullImgOpen) {
- this._changeImg.call(this, 'next')
- }
- }
-
- /**
- * PrevBtn click event.
- *
- * @private
- */
-
- Gallery.prototype._handlePrev = function() {
- if (this._fullImgOpen) {
- this._changeImg.call(this, 'prev')
- }
- }
-
- /**
- * Changes the active full size image and active thumbnail based on which
- * arrow was click (prev || next).
- *
- * @param {String} dir - A string to determine if we're going Prev or Next.
- * @private
- */
-
- Gallery.prototype._changeImg = function(dir) {
- this._thumbIndex = this._fullImgs.indexOf(this._fullImg)
- dir === 'next' ? (this._thumbIndex += 1) : (this._thumbIndex -= 1)
-
- this._newFullImg =
- dir === 'next'
- ? this._fullImg.nextElementSibling
- : this._fullImg.previousElementSibling
-
- if (!this._newFullImg || this._newFullImg.nodeName !== 'IMG') {
- this._newFullImg =
- dir === 'next'
- ? (this._newFullImg = this._fullImgs[0])
- : (this._newFullImg = this._fullImgs[this._fullImgs.length - 1])
- dir === 'next'
- ? (this._thumbIndex = 0)
- : (this._thumbIndex = this._fullImgs.length - 1)
- }
-
- this._newFullImg.style[transformString] = 'translate3d(0,0,0)'
- this._fullImg.classList.remove('active')
- this._fullImg.style[transformString] = this._fullImgsTransforms[
- this._thumbIndex - 1
- ]
-
- this._fullImg = this._newFullImg
- this._fullImg.classList.add('active')
- }
-
- /**
- * Disables scrolling. Activated when a full size image is open.
- *
- * @private
- */
-
- Gallery.prototype._disableScroll = function() {
- function preventDefault(e) {
- e = e || window.event
- if (e.preventDefault) e.preventDefault()
- e.returnValue = false
- }
-
- window.onwheel = preventDefault
- window.ontouchmove = preventDefault
- }
-
- /**
- * Enables scrolling. Activated when a full size image is closed.
- *
- * @private
- */
-
- Gallery.prototype._enableScroll = function() {
- window.onwheel = null
- window.ontouchmove = null
- }
-
- return Gallery
-})
-
-},{"./create-controls":4,"./vendor/google-image-layout":7,"imagesLoaded":2}],7:[function(require,module,exports){
-/**
- *
- * Google Image Layout v0.0.1
- * Description, by Anh Trinh.
- * http://trinhtrunganh.com
- *
- * Free to use under the MIT License.
- *
- */
-
-;(function(root, factory) {
- if (typeof define === 'function' && define.amd) {
- define(function() {
- return factory(root)
- })
- } else if (typeof exports === 'object') {
- module.exports = factory
- } else {
- root.GoogleImageLayout = factory(root)
- }
-})(this, function(root) {
- 'use strict'
-
- var GoogleImageLayout = {}
-
- var HEIGHTS = [],
- margin = 5
-
- var turnObjToArray = function(obj) {
- return [].map.call(obj, function(element) {
- return element
- })
- }
-
- var _debounceOrThrottle = function() {
- if (!useDebounce && !!poll) {
- return
- }
- clearTimeout(poll)
- poll = setTimeout(function() {
- echo.render()
- poll = null
- }, delay)
- }
-
- /**
- * Get the height that make all images fit the container
- *
- * width = w1 + w2 + w3 + ... = r1*h + r2*h + r3*h + ...
- *
- * @param {[type]} images the images to be calculated
- * @param {[type]} width the container witdth
- * @param {[type]} margin the margin between each image
- *
- * @return {[type]} the height
- */
- var _getHeigth = function(images, width, margin) {
- // width -= images.length * margin;
- // width -= images.length;
-
- var r = 0,
- img
-
- for (var i = 0; i < images.length; i++) {
- img = images[i]
- r +=
- parseInt(img.getAttribute('data-width')) /
- parseInt(img.getAttribute('data-height'))
- }
-
- return width / r //have to round down because Firefox will automatically roundup value with number of decimals > 3
- }
-
- var _setHeight = function(images, height) {
- // console.log("set height");
-
- HEIGHTS.push(height)
-
- var img
-
- for (var i = 0; i < images.length; i++) {
- img = images[i]
- img.style.width =
- (height * parseInt(img.getAttribute('data-width'))) /
- parseInt(img.getAttribute('data-height')) +
- 'px'
- img.style.height = height + 'px'
- img.classList.add('layout-completed')
- }
- }
-
- GoogleImageLayout.init = function(opts) {
- opts = opts || {}
- var nodes = document.querySelectorAll('div[data-google-image-layout]')
- var length = nodes.length
- var elem
-
- for (var i = 0; i < length; i++) {
- elem = nodes[i]
- GoogleImageLayout.align(elem)
- }
-
- if (opts.after) opts.after()
- }
-
- GoogleImageLayout.align = function(elem) {
- //get the data attribute
-
- var containerWidth = elem.clientWidth,
- maxHeight = parseInt(elem.getAttribute('data-max-height') || 120)
-
- var imgNodes = turnObjToArray(elem.querySelectorAll('img'))
-
- w: while (imgNodes.length > 0) {
- for (var i = 1; i <= imgNodes.length; i++) {
- var slice = imgNodes.slice(0, i)
- var h = _getHeigth(slice, containerWidth, margin)
-
- if (h < maxHeight) {
- _setHeight(slice, h)
- imgNodes = imgNodes.slice(i)
- continue w
- }
- }
-
- _setHeight(slice, Math.min(maxHeight, h))
- break
- }
- }
-
- return GoogleImageLayout
-})
-
-},{}]},{},[5]);
diff --git a/themes/cmd/source/materialize/LICENSE b/themes/cmd/source/materialize/LICENSE
deleted file mode 100644
index fcff17e..0000000
--- a/themes/cmd/source/materialize/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) 2014-2018 Materialize
-
-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/themes/cmd/source/materialize/README.md b/themes/cmd/source/materialize/README.md
deleted file mode 100644
index d8cca9c..0000000
--- a/themes/cmd/source/materialize/README.md
+++ /dev/null
@@ -1,91 +0,0 @@
-
-
-
-
-
-
-MaterializeCSS
-
-
- Materialize, a CSS Framework based on material design.
-
- -- Browse the docs --
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Table of Contents
-- [Quickstart](#quickstart)
-- [Documentation](#documentation)
-- [Supported Browsers](#supported-browsers)
-- [Changelog](#changelog)
-- [Testing](#testing)
-- [Contributing](#contributing)
-- [Copyright and license](#copyright-and-license)
-
-## Quickstart:
-Read the [getting started guide](http://materializecss.com/getting-started.html) for more information on how to use materialize.
-
-- [Download the latest release](https://github.com/Dogfalo/materialize/releases/latest) of materialize directly from GitHub. ([Beta](https://github.com/Dogfalo/materialize/releases/))
-- Clone the repo: `git clone https://github.com/Dogfalo/materialize.git` (Beta: `git clone -b v1-dev https://github.com/Dogfalo/materialize.git`)
-- Include the files via [cdnjs](https://cdnjs.com/libraries/materialize). More [here](http://materializecss.com/getting-started.html). ([Beta](https://cdnjs.com/libraries/materialize/1.0.0-beta))
-- Install with [npm](https://www.npmjs.com): `npm install materialize-css` (Beta: `npm install materialize-css@next`)
-- Install with [Bower](https://bower.io): `bower install materialize` ([DEPRECATED](https://bower.io/blog/2017/how-to-migrate-away-from-bower/))
-- Install with [Atmosphere](https://atmospherejs.com): `meteor add materialize:materialize` (Beta: `meteor add materialize:materialize@=1.0.0-beta`)
-
-## Documentation
-The documentation can be found at . To run the documentation locally on your machine, you need [Node.js](https://nodejs.org/en/) installed on your computer.
-
-### Running documentation locally
-Run these commands to set up the documentation:
-
-```bash
-git clone https://github.com/Dogfalo/materialize
-cd materialize
-npm install
-```
-
-Then run `grunt monitor` to compile the documentation. When it finishes, open a new browser window and navigate to `localhost:8000`. We use [BrowserSync](https://www.browsersync.io/) to display the documentation.
-
-### Documentation for previous releases
-Previous releases and their documentation are available for [download](https://github.com/Dogfalo/materialize/releases).
-
-## Supported Browsers:
-Materialize is compatible with:
-
-- Chrome 35+
-- Firefox 31+
-- Safari 9+
-- Opera
-- Edge
-- IE 11+
-
-## Changelog
-For changelogs, check out [the Releases section of materialize](https://github.com/Dogfalo/materialize/releases) or the [CHANGELOG.md](CHANGELOG.md).
-
-## Testing
-We use Jasmine as our testing framework and we're trying to write a robust test suite for our components. If you want to help, [here's a starting guide on how to write tests in Jasmine](CONTRIBUTING.md#jasmine-testing-guide).
-
-## Contributing
-Check out the [CONTRIBUTING document](CONTRIBUTING.md) in the root of the repository to learn how you can contribute. You can also browse the [help-wanted](https://github.com/Dogfalo/materialize/labels/help-wanted) tag in our issue tracker to find things to do.
-
-## Copyright and license
-Code Copyright 2018 Materialize. Code released under the MIT license.
diff --git a/themes/cmd/source/materialize/css/materialize.css b/themes/cmd/source/materialize/css/materialize.css
deleted file mode 100644
index bc6c1fe..0000000
--- a/themes/cmd/source/materialize/css/materialize.css
+++ /dev/null
@@ -1,9067 +0,0 @@
-/*!
- * Materialize v1.0.0 (http://materializecss.com)
- * Copyright 2014-2017 Materialize
- * MIT License (https://raw.githubusercontent.com/Dogfalo/materialize/master/LICENSE)
- */
-.materialize-red {
- background-color: #e51c23 !important;
-}
-
-.materialize-red-text {
- color: #e51c23 !important;
-}
-
-.materialize-red.lighten-5 {
- background-color: #fdeaeb !important;
-}
-
-.materialize-red-text.text-lighten-5 {
- color: #fdeaeb !important;
-}
-
-.materialize-red.lighten-4 {
- background-color: #f8c1c3 !important;
-}
-
-.materialize-red-text.text-lighten-4 {
- color: #f8c1c3 !important;
-}
-
-.materialize-red.lighten-3 {
- background-color: #f3989b !important;
-}
-
-.materialize-red-text.text-lighten-3 {
- color: #f3989b !important;
-}
-
-.materialize-red.lighten-2 {
- background-color: #ee6e73 !important;
-}
-
-.materialize-red-text.text-lighten-2 {
- color: #ee6e73 !important;
-}
-
-.materialize-red.lighten-1 {
- background-color: #ea454b !important;
-}
-
-.materialize-red-text.text-lighten-1 {
- color: #ea454b !important;
-}
-
-.materialize-red.darken-1 {
- background-color: #d0181e !important;
-}
-
-.materialize-red-text.text-darken-1 {
- color: #d0181e !important;
-}
-
-.materialize-red.darken-2 {
- background-color: #b9151b !important;
-}
-
-.materialize-red-text.text-darken-2 {
- color: #b9151b !important;
-}
-
-.materialize-red.darken-3 {
- background-color: #a21318 !important;
-}
-
-.materialize-red-text.text-darken-3 {
- color: #a21318 !important;
-}
-
-.materialize-red.darken-4 {
- background-color: #8b1014 !important;
-}
-
-.materialize-red-text.text-darken-4 {
- color: #8b1014 !important;
-}
-
-.red {
- background-color: #F44336 !important;
-}
-
-.red-text {
- color: #F44336 !important;
-}
-
-.red.lighten-5 {
- background-color: #FFEBEE !important;
-}
-
-.red-text.text-lighten-5 {
- color: #FFEBEE !important;
-}
-
-.red.lighten-4 {
- background-color: #FFCDD2 !important;
-}
-
-.red-text.text-lighten-4 {
- color: #FFCDD2 !important;
-}
-
-.red.lighten-3 {
- background-color: #EF9A9A !important;
-}
-
-.red-text.text-lighten-3 {
- color: #EF9A9A !important;
-}
-
-.red.lighten-2 {
- background-color: #E57373 !important;
-}
-
-.red-text.text-lighten-2 {
- color: #E57373 !important;
-}
-
-.red.lighten-1 {
- background-color: #EF5350 !important;
-}
-
-.red-text.text-lighten-1 {
- color: #EF5350 !important;
-}
-
-.red.darken-1 {
- background-color: #E53935 !important;
-}
-
-.red-text.text-darken-1 {
- color: #E53935 !important;
-}
-
-.red.darken-2 {
- background-color: #D32F2F !important;
-}
-
-.red-text.text-darken-2 {
- color: #D32F2F !important;
-}
-
-.red.darken-3 {
- background-color: #C62828 !important;
-}
-
-.red-text.text-darken-3 {
- color: #C62828 !important;
-}
-
-.red.darken-4 {
- background-color: #B71C1C !important;
-}
-
-.red-text.text-darken-4 {
- color: #B71C1C !important;
-}
-
-.red.accent-1 {
- background-color: #FF8A80 !important;
-}
-
-.red-text.text-accent-1 {
- color: #FF8A80 !important;
-}
-
-.red.accent-2 {
- background-color: #FF5252 !important;
-}
-
-.red-text.text-accent-2 {
- color: #FF5252 !important;
-}
-
-.red.accent-3 {
- background-color: #FF1744 !important;
-}
-
-.red-text.text-accent-3 {
- color: #FF1744 !important;
-}
-
-.red.accent-4 {
- background-color: #D50000 !important;
-}
-
-.red-text.text-accent-4 {
- color: #D50000 !important;
-}
-
-.pink {
- background-color: #e91e63 !important;
-}
-
-.pink-text {
- color: #e91e63 !important;
-}
-
-.pink.lighten-5 {
- background-color: #fce4ec !important;
-}
-
-.pink-text.text-lighten-5 {
- color: #fce4ec !important;
-}
-
-.pink.lighten-4 {
- background-color: #f8bbd0 !important;
-}
-
-.pink-text.text-lighten-4 {
- color: #f8bbd0 !important;
-}
-
-.pink.lighten-3 {
- background-color: #f48fb1 !important;
-}
-
-.pink-text.text-lighten-3 {
- color: #f48fb1 !important;
-}
-
-.pink.lighten-2 {
- background-color: #f06292 !important;
-}
-
-.pink-text.text-lighten-2 {
- color: #f06292 !important;
-}
-
-.pink.lighten-1 {
- background-color: #ec407a !important;
-}
-
-.pink-text.text-lighten-1 {
- color: #ec407a !important;
-}
-
-.pink.darken-1 {
- background-color: #d81b60 !important;
-}
-
-.pink-text.text-darken-1 {
- color: #d81b60 !important;
-}
-
-.pink.darken-2 {
- background-color: #c2185b !important;
-}
-
-.pink-text.text-darken-2 {
- color: #c2185b !important;
-}
-
-.pink.darken-3 {
- background-color: #ad1457 !important;
-}
-
-.pink-text.text-darken-3 {
- color: #ad1457 !important;
-}
-
-.pink.darken-4 {
- background-color: #880e4f !important;
-}
-
-.pink-text.text-darken-4 {
- color: #880e4f !important;
-}
-
-.pink.accent-1 {
- background-color: #ff80ab !important;
-}
-
-.pink-text.text-accent-1 {
- color: #ff80ab !important;
-}
-
-.pink.accent-2 {
- background-color: #ff4081 !important;
-}
-
-.pink-text.text-accent-2 {
- color: #ff4081 !important;
-}
-
-.pink.accent-3 {
- background-color: #f50057 !important;
-}
-
-.pink-text.text-accent-3 {
- color: #f50057 !important;
-}
-
-.pink.accent-4 {
- background-color: #c51162 !important;
-}
-
-.pink-text.text-accent-4 {
- color: #c51162 !important;
-}
-
-.purple {
- background-color: #9c27b0 !important;
-}
-
-.purple-text {
- color: #9c27b0 !important;
-}
-
-.purple.lighten-5 {
- background-color: #f3e5f5 !important;
-}
-
-.purple-text.text-lighten-5 {
- color: #f3e5f5 !important;
-}
-
-.purple.lighten-4 {
- background-color: #e1bee7 !important;
-}
-
-.purple-text.text-lighten-4 {
- color: #e1bee7 !important;
-}
-
-.purple.lighten-3 {
- background-color: #ce93d8 !important;
-}
-
-.purple-text.text-lighten-3 {
- color: #ce93d8 !important;
-}
-
-.purple.lighten-2 {
- background-color: #ba68c8 !important;
-}
-
-.purple-text.text-lighten-2 {
- color: #ba68c8 !important;
-}
-
-.purple.lighten-1 {
- background-color: #ab47bc !important;
-}
-
-.purple-text.text-lighten-1 {
- color: #ab47bc !important;
-}
-
-.purple.darken-1 {
- background-color: #8e24aa !important;
-}
-
-.purple-text.text-darken-1 {
- color: #8e24aa !important;
-}
-
-.purple.darken-2 {
- background-color: #7b1fa2 !important;
-}
-
-.purple-text.text-darken-2 {
- color: #7b1fa2 !important;
-}
-
-.purple.darken-3 {
- background-color: #6a1b9a !important;
-}
-
-.purple-text.text-darken-3 {
- color: #6a1b9a !important;
-}
-
-.purple.darken-4 {
- background-color: #4a148c !important;
-}
-
-.purple-text.text-darken-4 {
- color: #4a148c !important;
-}
-
-.purple.accent-1 {
- background-color: #ea80fc !important;
-}
-
-.purple-text.text-accent-1 {
- color: #ea80fc !important;
-}
-
-.purple.accent-2 {
- background-color: #e040fb !important;
-}
-
-.purple-text.text-accent-2 {
- color: #e040fb !important;
-}
-
-.purple.accent-3 {
- background-color: #d500f9 !important;
-}
-
-.purple-text.text-accent-3 {
- color: #d500f9 !important;
-}
-
-.purple.accent-4 {
- background-color: #aa00ff !important;
-}
-
-.purple-text.text-accent-4 {
- color: #aa00ff !important;
-}
-
-.deep-purple {
- background-color: #673ab7 !important;
-}
-
-.deep-purple-text {
- color: #673ab7 !important;
-}
-
-.deep-purple.lighten-5 {
- background-color: #ede7f6 !important;
-}
-
-.deep-purple-text.text-lighten-5 {
- color: #ede7f6 !important;
-}
-
-.deep-purple.lighten-4 {
- background-color: #d1c4e9 !important;
-}
-
-.deep-purple-text.text-lighten-4 {
- color: #d1c4e9 !important;
-}
-
-.deep-purple.lighten-3 {
- background-color: #b39ddb !important;
-}
-
-.deep-purple-text.text-lighten-3 {
- color: #b39ddb !important;
-}
-
-.deep-purple.lighten-2 {
- background-color: #9575cd !important;
-}
-
-.deep-purple-text.text-lighten-2 {
- color: #9575cd !important;
-}
-
-.deep-purple.lighten-1 {
- background-color: #7e57c2 !important;
-}
-
-.deep-purple-text.text-lighten-1 {
- color: #7e57c2 !important;
-}
-
-.deep-purple.darken-1 {
- background-color: #5e35b1 !important;
-}
-
-.deep-purple-text.text-darken-1 {
- color: #5e35b1 !important;
-}
-
-.deep-purple.darken-2 {
- background-color: #512da8 !important;
-}
-
-.deep-purple-text.text-darken-2 {
- color: #512da8 !important;
-}
-
-.deep-purple.darken-3 {
- background-color: #4527a0 !important;
-}
-
-.deep-purple-text.text-darken-3 {
- color: #4527a0 !important;
-}
-
-.deep-purple.darken-4 {
- background-color: #311b92 !important;
-}
-
-.deep-purple-text.text-darken-4 {
- color: #311b92 !important;
-}
-
-.deep-purple.accent-1 {
- background-color: #b388ff !important;
-}
-
-.deep-purple-text.text-accent-1 {
- color: #b388ff !important;
-}
-
-.deep-purple.accent-2 {
- background-color: #7c4dff !important;
-}
-
-.deep-purple-text.text-accent-2 {
- color: #7c4dff !important;
-}
-
-.deep-purple.accent-3 {
- background-color: #651fff !important;
-}
-
-.deep-purple-text.text-accent-3 {
- color: #651fff !important;
-}
-
-.deep-purple.accent-4 {
- background-color: #6200ea !important;
-}
-
-.deep-purple-text.text-accent-4 {
- color: #6200ea !important;
-}
-
-.indigo {
- background-color: #3f51b5 !important;
-}
-
-.indigo-text {
- color: #3f51b5 !important;
-}
-
-.indigo.lighten-5 {
- background-color: #e8eaf6 !important;
-}
-
-.indigo-text.text-lighten-5 {
- color: #e8eaf6 !important;
-}
-
-.indigo.lighten-4 {
- background-color: #c5cae9 !important;
-}
-
-.indigo-text.text-lighten-4 {
- color: #c5cae9 !important;
-}
-
-.indigo.lighten-3 {
- background-color: #9fa8da !important;
-}
-
-.indigo-text.text-lighten-3 {
- color: #9fa8da !important;
-}
-
-.indigo.lighten-2 {
- background-color: #7986cb !important;
-}
-
-.indigo-text.text-lighten-2 {
- color: #7986cb !important;
-}
-
-.indigo.lighten-1 {
- background-color: #5c6bc0 !important;
-}
-
-.indigo-text.text-lighten-1 {
- color: #5c6bc0 !important;
-}
-
-.indigo.darken-1 {
- background-color: #3949ab !important;
-}
-
-.indigo-text.text-darken-1 {
- color: #3949ab !important;
-}
-
-.indigo.darken-2 {
- background-color: #303f9f !important;
-}
-
-.indigo-text.text-darken-2 {
- color: #303f9f !important;
-}
-
-.indigo.darken-3 {
- background-color: #283593 !important;
-}
-
-.indigo-text.text-darken-3 {
- color: #283593 !important;
-}
-
-.indigo.darken-4 {
- background-color: #1a237e !important;
-}
-
-.indigo-text.text-darken-4 {
- color: #1a237e !important;
-}
-
-.indigo.accent-1 {
- background-color: #8c9eff !important;
-}
-
-.indigo-text.text-accent-1 {
- color: #8c9eff !important;
-}
-
-.indigo.accent-2 {
- background-color: #536dfe !important;
-}
-
-.indigo-text.text-accent-2 {
- color: #536dfe !important;
-}
-
-.indigo.accent-3 {
- background-color: #3d5afe !important;
-}
-
-.indigo-text.text-accent-3 {
- color: #3d5afe !important;
-}
-
-.indigo.accent-4 {
- background-color: #304ffe !important;
-}
-
-.indigo-text.text-accent-4 {
- color: #304ffe !important;
-}
-
-.blue {
- background-color: #2196F3 !important;
-}
-
-.blue-text {
- color: #2196F3 !important;
-}
-
-.blue.lighten-5 {
- background-color: #E3F2FD !important;
-}
-
-.blue-text.text-lighten-5 {
- color: #E3F2FD !important;
-}
-
-.blue.lighten-4 {
- background-color: #BBDEFB !important;
-}
-
-.blue-text.text-lighten-4 {
- color: #BBDEFB !important;
-}
-
-.blue.lighten-3 {
- background-color: #90CAF9 !important;
-}
-
-.blue-text.text-lighten-3 {
- color: #90CAF9 !important;
-}
-
-.blue.lighten-2 {
- background-color: #64B5F6 !important;
-}
-
-.blue-text.text-lighten-2 {
- color: #64B5F6 !important;
-}
-
-.blue.lighten-1 {
- background-color: #42A5F5 !important;
-}
-
-.blue-text.text-lighten-1 {
- color: #42A5F5 !important;
-}
-
-.blue.darken-1 {
- background-color: #1E88E5 !important;
-}
-
-.blue-text.text-darken-1 {
- color: #1E88E5 !important;
-}
-
-.blue.darken-2 {
- background-color: #1976D2 !important;
-}
-
-.blue-text.text-darken-2 {
- color: #1976D2 !important;
-}
-
-.blue.darken-3 {
- background-color: #1565C0 !important;
-}
-
-.blue-text.text-darken-3 {
- color: #1565C0 !important;
-}
-
-.blue.darken-4 {
- background-color: #0D47A1 !important;
-}
-
-.blue-text.text-darken-4 {
- color: #0D47A1 !important;
-}
-
-.blue.accent-1 {
- background-color: #82B1FF !important;
-}
-
-.blue-text.text-accent-1 {
- color: #82B1FF !important;
-}
-
-.blue.accent-2 {
- background-color: #448AFF !important;
-}
-
-.blue-text.text-accent-2 {
- color: #448AFF !important;
-}
-
-.blue.accent-3 {
- background-color: #2979FF !important;
-}
-
-.blue-text.text-accent-3 {
- color: #2979FF !important;
-}
-
-.blue.accent-4 {
- background-color: #2962FF !important;
-}
-
-.blue-text.text-accent-4 {
- color: #2962FF !important;
-}
-
-.light-blue {
- background-color: #03a9f4 !important;
-}
-
-.light-blue-text {
- color: #03a9f4 !important;
-}
-
-.light-blue.lighten-5 {
- background-color: #e1f5fe !important;
-}
-
-.light-blue-text.text-lighten-5 {
- color: #e1f5fe !important;
-}
-
-.light-blue.lighten-4 {
- background-color: #b3e5fc !important;
-}
-
-.light-blue-text.text-lighten-4 {
- color: #b3e5fc !important;
-}
-
-.light-blue.lighten-3 {
- background-color: #81d4fa !important;
-}
-
-.light-blue-text.text-lighten-3 {
- color: #81d4fa !important;
-}
-
-.light-blue.lighten-2 {
- background-color: #4fc3f7 !important;
-}
-
-.light-blue-text.text-lighten-2 {
- color: #4fc3f7 !important;
-}
-
-.light-blue.lighten-1 {
- background-color: #29b6f6 !important;
-}
-
-.light-blue-text.text-lighten-1 {
- color: #29b6f6 !important;
-}
-
-.light-blue.darken-1 {
- background-color: #039be5 !important;
-}
-
-.light-blue-text.text-darken-1 {
- color: #039be5 !important;
-}
-
-.light-blue.darken-2 {
- background-color: #0288d1 !important;
-}
-
-.light-blue-text.text-darken-2 {
- color: #0288d1 !important;
-}
-
-.light-blue.darken-3 {
- background-color: #0277bd !important;
-}
-
-.light-blue-text.text-darken-3 {
- color: #0277bd !important;
-}
-
-.light-blue.darken-4 {
- background-color: #01579b !important;
-}
-
-.light-blue-text.text-darken-4 {
- color: #01579b !important;
-}
-
-.light-blue.accent-1 {
- background-color: #80d8ff !important;
-}
-
-.light-blue-text.text-accent-1 {
- color: #80d8ff !important;
-}
-
-.light-blue.accent-2 {
- background-color: #40c4ff !important;
-}
-
-.light-blue-text.text-accent-2 {
- color: #40c4ff !important;
-}
-
-.light-blue.accent-3 {
- background-color: #00b0ff !important;
-}
-
-.light-blue-text.text-accent-3 {
- color: #00b0ff !important;
-}
-
-.light-blue.accent-4 {
- background-color: #0091ea !important;
-}
-
-.light-blue-text.text-accent-4 {
- color: #0091ea !important;
-}
-
-.cyan {
- background-color: #00bcd4 !important;
-}
-
-.cyan-text {
- color: #00bcd4 !important;
-}
-
-.cyan.lighten-5 {
- background-color: #e0f7fa !important;
-}
-
-.cyan-text.text-lighten-5 {
- color: #e0f7fa !important;
-}
-
-.cyan.lighten-4 {
- background-color: #b2ebf2 !important;
-}
-
-.cyan-text.text-lighten-4 {
- color: #b2ebf2 !important;
-}
-
-.cyan.lighten-3 {
- background-color: #80deea !important;
-}
-
-.cyan-text.text-lighten-3 {
- color: #80deea !important;
-}
-
-.cyan.lighten-2 {
- background-color: #4dd0e1 !important;
-}
-
-.cyan-text.text-lighten-2 {
- color: #4dd0e1 !important;
-}
-
-.cyan.lighten-1 {
- background-color: #26c6da !important;
-}
-
-.cyan-text.text-lighten-1 {
- color: #26c6da !important;
-}
-
-.cyan.darken-1 {
- background-color: #00acc1 !important;
-}
-
-.cyan-text.text-darken-1 {
- color: #00acc1 !important;
-}
-
-.cyan.darken-2 {
- background-color: #0097a7 !important;
-}
-
-.cyan-text.text-darken-2 {
- color: #0097a7 !important;
-}
-
-.cyan.darken-3 {
- background-color: #00838f !important;
-}
-
-.cyan-text.text-darken-3 {
- color: #00838f !important;
-}
-
-.cyan.darken-4 {
- background-color: #006064 !important;
-}
-
-.cyan-text.text-darken-4 {
- color: #006064 !important;
-}
-
-.cyan.accent-1 {
- background-color: #84ffff !important;
-}
-
-.cyan-text.text-accent-1 {
- color: #84ffff !important;
-}
-
-.cyan.accent-2 {
- background-color: #18ffff !important;
-}
-
-.cyan-text.text-accent-2 {
- color: #18ffff !important;
-}
-
-.cyan.accent-3 {
- background-color: #00e5ff !important;
-}
-
-.cyan-text.text-accent-3 {
- color: #00e5ff !important;
-}
-
-.cyan.accent-4 {
- background-color: #00b8d4 !important;
-}
-
-.cyan-text.text-accent-4 {
- color: #00b8d4 !important;
-}
-
-.teal {
- background-color: #009688 !important;
-}
-
-.teal-text {
- color: #009688 !important;
-}
-
-.teal.lighten-5 {
- background-color: #e0f2f1 !important;
-}
-
-.teal-text.text-lighten-5 {
- color: #e0f2f1 !important;
-}
-
-.teal.lighten-4 {
- background-color: #b2dfdb !important;
-}
-
-.teal-text.text-lighten-4 {
- color: #b2dfdb !important;
-}
-
-.teal.lighten-3 {
- background-color: #80cbc4 !important;
-}
-
-.teal-text.text-lighten-3 {
- color: #80cbc4 !important;
-}
-
-.teal.lighten-2 {
- background-color: #4db6ac !important;
-}
-
-.teal-text.text-lighten-2 {
- color: #4db6ac !important;
-}
-
-.teal.lighten-1 {
- background-color: #26a69a !important;
-}
-
-.teal-text.text-lighten-1 {
- color: #26a69a !important;
-}
-
-.teal.darken-1 {
- background-color: #00897b !important;
-}
-
-.teal-text.text-darken-1 {
- color: #00897b !important;
-}
-
-.teal.darken-2 {
- background-color: #00796b !important;
-}
-
-.teal-text.text-darken-2 {
- color: #00796b !important;
-}
-
-.teal.darken-3 {
- background-color: #00695c !important;
-}
-
-.teal-text.text-darken-3 {
- color: #00695c !important;
-}
-
-.teal.darken-4 {
- background-color: #004d40 !important;
-}
-
-.teal-text.text-darken-4 {
- color: #004d40 !important;
-}
-
-.teal.accent-1 {
- background-color: #a7ffeb !important;
-}
-
-.teal-text.text-accent-1 {
- color: #a7ffeb !important;
-}
-
-.teal.accent-2 {
- background-color: #64ffda !important;
-}
-
-.teal-text.text-accent-2 {
- color: #64ffda !important;
-}
-
-.teal.accent-3 {
- background-color: #1de9b6 !important;
-}
-
-.teal-text.text-accent-3 {
- color: #1de9b6 !important;
-}
-
-.teal.accent-4 {
- background-color: #00bfa5 !important;
-}
-
-.teal-text.text-accent-4 {
- color: #00bfa5 !important;
-}
-
-.green {
- background-color: #4CAF50 !important;
-}
-
-.green-text {
- color: #4CAF50 !important;
-}
-
-.green.lighten-5 {
- background-color: #E8F5E9 !important;
-}
-
-.green-text.text-lighten-5 {
- color: #E8F5E9 !important;
-}
-
-.green.lighten-4 {
- background-color: #C8E6C9 !important;
-}
-
-.green-text.text-lighten-4 {
- color: #C8E6C9 !important;
-}
-
-.green.lighten-3 {
- background-color: #A5D6A7 !important;
-}
-
-.green-text.text-lighten-3 {
- color: #A5D6A7 !important;
-}
-
-.green.lighten-2 {
- background-color: #81C784 !important;
-}
-
-.green-text.text-lighten-2 {
- color: #81C784 !important;
-}
-
-.green.lighten-1 {
- background-color: #66BB6A !important;
-}
-
-.green-text.text-lighten-1 {
- color: #66BB6A !important;
-}
-
-.green.darken-1 {
- background-color: #43A047 !important;
-}
-
-.green-text.text-darken-1 {
- color: #43A047 !important;
-}
-
-.green.darken-2 {
- background-color: #388E3C !important;
-}
-
-.green-text.text-darken-2 {
- color: #388E3C !important;
-}
-
-.green.darken-3 {
- background-color: #2E7D32 !important;
-}
-
-.green-text.text-darken-3 {
- color: #2E7D32 !important;
-}
-
-.green.darken-4 {
- background-color: #1B5E20 !important;
-}
-
-.green-text.text-darken-4 {
- color: #1B5E20 !important;
-}
-
-.green.accent-1 {
- background-color: #B9F6CA !important;
-}
-
-.green-text.text-accent-1 {
- color: #B9F6CA !important;
-}
-
-.green.accent-2 {
- background-color: #69F0AE !important;
-}
-
-.green-text.text-accent-2 {
- color: #69F0AE !important;
-}
-
-.green.accent-3 {
- background-color: #00E676 !important;
-}
-
-.green-text.text-accent-3 {
- color: #00E676 !important;
-}
-
-.green.accent-4 {
- background-color: #00C853 !important;
-}
-
-.green-text.text-accent-4 {
- color: #00C853 !important;
-}
-
-.light-green {
- background-color: #8bc34a !important;
-}
-
-.light-green-text {
- color: #8bc34a !important;
-}
-
-.light-green.lighten-5 {
- background-color: #f1f8e9 !important;
-}
-
-.light-green-text.text-lighten-5 {
- color: #f1f8e9 !important;
-}
-
-.light-green.lighten-4 {
- background-color: #dcedc8 !important;
-}
-
-.light-green-text.text-lighten-4 {
- color: #dcedc8 !important;
-}
-
-.light-green.lighten-3 {
- background-color: #c5e1a5 !important;
-}
-
-.light-green-text.text-lighten-3 {
- color: #c5e1a5 !important;
-}
-
-.light-green.lighten-2 {
- background-color: #aed581 !important;
-}
-
-.light-green-text.text-lighten-2 {
- color: #aed581 !important;
-}
-
-.light-green.lighten-1 {
- background-color: #9ccc65 !important;
-}
-
-.light-green-text.text-lighten-1 {
- color: #9ccc65 !important;
-}
-
-.light-green.darken-1 {
- background-color: #7cb342 !important;
-}
-
-.light-green-text.text-darken-1 {
- color: #7cb342 !important;
-}
-
-.light-green.darken-2 {
- background-color: #689f38 !important;
-}
-
-.light-green-text.text-darken-2 {
- color: #689f38 !important;
-}
-
-.light-green.darken-3 {
- background-color: #558b2f !important;
-}
-
-.light-green-text.text-darken-3 {
- color: #558b2f !important;
-}
-
-.light-green.darken-4 {
- background-color: #33691e !important;
-}
-
-.light-green-text.text-darken-4 {
- color: #33691e !important;
-}
-
-.light-green.accent-1 {
- background-color: #ccff90 !important;
-}
-
-.light-green-text.text-accent-1 {
- color: #ccff90 !important;
-}
-
-.light-green.accent-2 {
- background-color: #b2ff59 !important;
-}
-
-.light-green-text.text-accent-2 {
- color: #b2ff59 !important;
-}
-
-.light-green.accent-3 {
- background-color: #76ff03 !important;
-}
-
-.light-green-text.text-accent-3 {
- color: #76ff03 !important;
-}
-
-.light-green.accent-4 {
- background-color: #64dd17 !important;
-}
-
-.light-green-text.text-accent-4 {
- color: #64dd17 !important;
-}
-
-.lime {
- background-color: #cddc39 !important;
-}
-
-.lime-text {
- color: #cddc39 !important;
-}
-
-.lime.lighten-5 {
- background-color: #f9fbe7 !important;
-}
-
-.lime-text.text-lighten-5 {
- color: #f9fbe7 !important;
-}
-
-.lime.lighten-4 {
- background-color: #f0f4c3 !important;
-}
-
-.lime-text.text-lighten-4 {
- color: #f0f4c3 !important;
-}
-
-.lime.lighten-3 {
- background-color: #e6ee9c !important;
-}
-
-.lime-text.text-lighten-3 {
- color: #e6ee9c !important;
-}
-
-.lime.lighten-2 {
- background-color: #dce775 !important;
-}
-
-.lime-text.text-lighten-2 {
- color: #dce775 !important;
-}
-
-.lime.lighten-1 {
- background-color: #d4e157 !important;
-}
-
-.lime-text.text-lighten-1 {
- color: #d4e157 !important;
-}
-
-.lime.darken-1 {
- background-color: #c0ca33 !important;
-}
-
-.lime-text.text-darken-1 {
- color: #c0ca33 !important;
-}
-
-.lime.darken-2 {
- background-color: #afb42b !important;
-}
-
-.lime-text.text-darken-2 {
- color: #afb42b !important;
-}
-
-.lime.darken-3 {
- background-color: #9e9d24 !important;
-}
-
-.lime-text.text-darken-3 {
- color: #9e9d24 !important;
-}
-
-.lime.darken-4 {
- background-color: #827717 !important;
-}
-
-.lime-text.text-darken-4 {
- color: #827717 !important;
-}
-
-.lime.accent-1 {
- background-color: #f4ff81 !important;
-}
-
-.lime-text.text-accent-1 {
- color: #f4ff81 !important;
-}
-
-.lime.accent-2 {
- background-color: #eeff41 !important;
-}
-
-.lime-text.text-accent-2 {
- color: #eeff41 !important;
-}
-
-.lime.accent-3 {
- background-color: #c6ff00 !important;
-}
-
-.lime-text.text-accent-3 {
- color: #c6ff00 !important;
-}
-
-.lime.accent-4 {
- background-color: #aeea00 !important;
-}
-
-.lime-text.text-accent-4 {
- color: #aeea00 !important;
-}
-
-.yellow {
- background-color: #ffeb3b !important;
-}
-
-.yellow-text {
- color: #ffeb3b !important;
-}
-
-.yellow.lighten-5 {
- background-color: #fffde7 !important;
-}
-
-.yellow-text.text-lighten-5 {
- color: #fffde7 !important;
-}
-
-.yellow.lighten-4 {
- background-color: #fff9c4 !important;
-}
-
-.yellow-text.text-lighten-4 {
- color: #fff9c4 !important;
-}
-
-.yellow.lighten-3 {
- background-color: #fff59d !important;
-}
-
-.yellow-text.text-lighten-3 {
- color: #fff59d !important;
-}
-
-.yellow.lighten-2 {
- background-color: #fff176 !important;
-}
-
-.yellow-text.text-lighten-2 {
- color: #fff176 !important;
-}
-
-.yellow.lighten-1 {
- background-color: #ffee58 !important;
-}
-
-.yellow-text.text-lighten-1 {
- color: #ffee58 !important;
-}
-
-.yellow.darken-1 {
- background-color: #fdd835 !important;
-}
-
-.yellow-text.text-darken-1 {
- color: #fdd835 !important;
-}
-
-.yellow.darken-2 {
- background-color: #fbc02d !important;
-}
-
-.yellow-text.text-darken-2 {
- color: #fbc02d !important;
-}
-
-.yellow.darken-3 {
- background-color: #f9a825 !important;
-}
-
-.yellow-text.text-darken-3 {
- color: #f9a825 !important;
-}
-
-.yellow.darken-4 {
- background-color: #f57f17 !important;
-}
-
-.yellow-text.text-darken-4 {
- color: #f57f17 !important;
-}
-
-.yellow.accent-1 {
- background-color: #ffff8d !important;
-}
-
-.yellow-text.text-accent-1 {
- color: #ffff8d !important;
-}
-
-.yellow.accent-2 {
- background-color: #ffff00 !important;
-}
-
-.yellow-text.text-accent-2 {
- color: #ffff00 !important;
-}
-
-.yellow.accent-3 {
- background-color: #ffea00 !important;
-}
-
-.yellow-text.text-accent-3 {
- color: #ffea00 !important;
-}
-
-.yellow.accent-4 {
- background-color: #ffd600 !important;
-}
-
-.yellow-text.text-accent-4 {
- color: #ffd600 !important;
-}
-
-.amber {
- background-color: #ffc107 !important;
-}
-
-.amber-text {
- color: #ffc107 !important;
-}
-
-.amber.lighten-5 {
- background-color: #fff8e1 !important;
-}
-
-.amber-text.text-lighten-5 {
- color: #fff8e1 !important;
-}
-
-.amber.lighten-4 {
- background-color: #ffecb3 !important;
-}
-
-.amber-text.text-lighten-4 {
- color: #ffecb3 !important;
-}
-
-.amber.lighten-3 {
- background-color: #ffe082 !important;
-}
-
-.amber-text.text-lighten-3 {
- color: #ffe082 !important;
-}
-
-.amber.lighten-2 {
- background-color: #ffd54f !important;
-}
-
-.amber-text.text-lighten-2 {
- color: #ffd54f !important;
-}
-
-.amber.lighten-1 {
- background-color: #ffca28 !important;
-}
-
-.amber-text.text-lighten-1 {
- color: #ffca28 !important;
-}
-
-.amber.darken-1 {
- background-color: #ffb300 !important;
-}
-
-.amber-text.text-darken-1 {
- color: #ffb300 !important;
-}
-
-.amber.darken-2 {
- background-color: #ffa000 !important;
-}
-
-.amber-text.text-darken-2 {
- color: #ffa000 !important;
-}
-
-.amber.darken-3 {
- background-color: #ff8f00 !important;
-}
-
-.amber-text.text-darken-3 {
- color: #ff8f00 !important;
-}
-
-.amber.darken-4 {
- background-color: #ff6f00 !important;
-}
-
-.amber-text.text-darken-4 {
- color: #ff6f00 !important;
-}
-
-.amber.accent-1 {
- background-color: #ffe57f !important;
-}
-
-.amber-text.text-accent-1 {
- color: #ffe57f !important;
-}
-
-.amber.accent-2 {
- background-color: #ffd740 !important;
-}
-
-.amber-text.text-accent-2 {
- color: #ffd740 !important;
-}
-
-.amber.accent-3 {
- background-color: #ffc400 !important;
-}
-
-.amber-text.text-accent-3 {
- color: #ffc400 !important;
-}
-
-.amber.accent-4 {
- background-color: #ffab00 !important;
-}
-
-.amber-text.text-accent-4 {
- color: #ffab00 !important;
-}
-
-.orange {
- background-color: #ff9800 !important;
-}
-
-.orange-text {
- color: #ff9800 !important;
-}
-
-.orange.lighten-5 {
- background-color: #fff3e0 !important;
-}
-
-.orange-text.text-lighten-5 {
- color: #fff3e0 !important;
-}
-
-.orange.lighten-4 {
- background-color: #ffe0b2 !important;
-}
-
-.orange-text.text-lighten-4 {
- color: #ffe0b2 !important;
-}
-
-.orange.lighten-3 {
- background-color: #ffcc80 !important;
-}
-
-.orange-text.text-lighten-3 {
- color: #ffcc80 !important;
-}
-
-.orange.lighten-2 {
- background-color: #ffb74d !important;
-}
-
-.orange-text.text-lighten-2 {
- color: #ffb74d !important;
-}
-
-.orange.lighten-1 {
- background-color: #ffa726 !important;
-}
-
-.orange-text.text-lighten-1 {
- color: #ffa726 !important;
-}
-
-.orange.darken-1 {
- background-color: #fb8c00 !important;
-}
-
-.orange-text.text-darken-1 {
- color: #fb8c00 !important;
-}
-
-.orange.darken-2 {
- background-color: #f57c00 !important;
-}
-
-.orange-text.text-darken-2 {
- color: #f57c00 !important;
-}
-
-.orange.darken-3 {
- background-color: #ef6c00 !important;
-}
-
-.orange-text.text-darken-3 {
- color: #ef6c00 !important;
-}
-
-.orange.darken-4 {
- background-color: #e65100 !important;
-}
-
-.orange-text.text-darken-4 {
- color: #e65100 !important;
-}
-
-.orange.accent-1 {
- background-color: #ffd180 !important;
-}
-
-.orange-text.text-accent-1 {
- color: #ffd180 !important;
-}
-
-.orange.accent-2 {
- background-color: #ffab40 !important;
-}
-
-.orange-text.text-accent-2 {
- color: #ffab40 !important;
-}
-
-.orange.accent-3 {
- background-color: #ff9100 !important;
-}
-
-.orange-text.text-accent-3 {
- color: #ff9100 !important;
-}
-
-.orange.accent-4 {
- background-color: #ff6d00 !important;
-}
-
-.orange-text.text-accent-4 {
- color: #ff6d00 !important;
-}
-
-.deep-orange {
- background-color: #ff5722 !important;
-}
-
-.deep-orange-text {
- color: #ff5722 !important;
-}
-
-.deep-orange.lighten-5 {
- background-color: #fbe9e7 !important;
-}
-
-.deep-orange-text.text-lighten-5 {
- color: #fbe9e7 !important;
-}
-
-.deep-orange.lighten-4 {
- background-color: #ffccbc !important;
-}
-
-.deep-orange-text.text-lighten-4 {
- color: #ffccbc !important;
-}
-
-.deep-orange.lighten-3 {
- background-color: #ffab91 !important;
-}
-
-.deep-orange-text.text-lighten-3 {
- color: #ffab91 !important;
-}
-
-.deep-orange.lighten-2 {
- background-color: #ff8a65 !important;
-}
-
-.deep-orange-text.text-lighten-2 {
- color: #ff8a65 !important;
-}
-
-.deep-orange.lighten-1 {
- background-color: #ff7043 !important;
-}
-
-.deep-orange-text.text-lighten-1 {
- color: #ff7043 !important;
-}
-
-.deep-orange.darken-1 {
- background-color: #f4511e !important;
-}
-
-.deep-orange-text.text-darken-1 {
- color: #f4511e !important;
-}
-
-.deep-orange.darken-2 {
- background-color: #e64a19 !important;
-}
-
-.deep-orange-text.text-darken-2 {
- color: #e64a19 !important;
-}
-
-.deep-orange.darken-3 {
- background-color: #d84315 !important;
-}
-
-.deep-orange-text.text-darken-3 {
- color: #d84315 !important;
-}
-
-.deep-orange.darken-4 {
- background-color: #bf360c !important;
-}
-
-.deep-orange-text.text-darken-4 {
- color: #bf360c !important;
-}
-
-.deep-orange.accent-1 {
- background-color: #ff9e80 !important;
-}
-
-.deep-orange-text.text-accent-1 {
- color: #ff9e80 !important;
-}
-
-.deep-orange.accent-2 {
- background-color: #ff6e40 !important;
-}
-
-.deep-orange-text.text-accent-2 {
- color: #ff6e40 !important;
-}
-
-.deep-orange.accent-3 {
- background-color: #ff3d00 !important;
-}
-
-.deep-orange-text.text-accent-3 {
- color: #ff3d00 !important;
-}
-
-.deep-orange.accent-4 {
- background-color: #dd2c00 !important;
-}
-
-.deep-orange-text.text-accent-4 {
- color: #dd2c00 !important;
-}
-
-.brown {
- background-color: #795548 !important;
-}
-
-.brown-text {
- color: #795548 !important;
-}
-
-.brown.lighten-5 {
- background-color: #efebe9 !important;
-}
-
-.brown-text.text-lighten-5 {
- color: #efebe9 !important;
-}
-
-.brown.lighten-4 {
- background-color: #d7ccc8 !important;
-}
-
-.brown-text.text-lighten-4 {
- color: #d7ccc8 !important;
-}
-
-.brown.lighten-3 {
- background-color: #bcaaa4 !important;
-}
-
-.brown-text.text-lighten-3 {
- color: #bcaaa4 !important;
-}
-
-.brown.lighten-2 {
- background-color: #a1887f !important;
-}
-
-.brown-text.text-lighten-2 {
- color: #a1887f !important;
-}
-
-.brown.lighten-1 {
- background-color: #8d6e63 !important;
-}
-
-.brown-text.text-lighten-1 {
- color: #8d6e63 !important;
-}
-
-.brown.darken-1 {
- background-color: #6d4c41 !important;
-}
-
-.brown-text.text-darken-1 {
- color: #6d4c41 !important;
-}
-
-.brown.darken-2 {
- background-color: #5d4037 !important;
-}
-
-.brown-text.text-darken-2 {
- color: #5d4037 !important;
-}
-
-.brown.darken-3 {
- background-color: #4e342e !important;
-}
-
-.brown-text.text-darken-3 {
- color: #4e342e !important;
-}
-
-.brown.darken-4 {
- background-color: #3e2723 !important;
-}
-
-.brown-text.text-darken-4 {
- color: #3e2723 !important;
-}
-
-.blue-grey {
- background-color: #607d8b !important;
-}
-
-.blue-grey-text {
- color: #607d8b !important;
-}
-
-.blue-grey.lighten-5 {
- background-color: #eceff1 !important;
-}
-
-.blue-grey-text.text-lighten-5 {
- color: #eceff1 !important;
-}
-
-.blue-grey.lighten-4 {
- background-color: #cfd8dc !important;
-}
-
-.blue-grey-text.text-lighten-4 {
- color: #cfd8dc !important;
-}
-
-.blue-grey.lighten-3 {
- background-color: #b0bec5 !important;
-}
-
-.blue-grey-text.text-lighten-3 {
- color: #b0bec5 !important;
-}
-
-.blue-grey.lighten-2 {
- background-color: #90a4ae !important;
-}
-
-.blue-grey-text.text-lighten-2 {
- color: #90a4ae !important;
-}
-
-.blue-grey.lighten-1 {
- background-color: #78909c !important;
-}
-
-.blue-grey-text.text-lighten-1 {
- color: #78909c !important;
-}
-
-.blue-grey.darken-1 {
- background-color: #546e7a !important;
-}
-
-.blue-grey-text.text-darken-1 {
- color: #546e7a !important;
-}
-
-.blue-grey.darken-2 {
- background-color: #455a64 !important;
-}
-
-.blue-grey-text.text-darken-2 {
- color: #455a64 !important;
-}
-
-.blue-grey.darken-3 {
- background-color: #37474f !important;
-}
-
-.blue-grey-text.text-darken-3 {
- color: #37474f !important;
-}
-
-.blue-grey.darken-4 {
- background-color: #263238 !important;
-}
-
-.blue-grey-text.text-darken-4 {
- color: #263238 !important;
-}
-
-.grey {
- background-color: #9e9e9e !important;
-}
-
-.grey-text {
- color: #9e9e9e !important;
-}
-
-.grey.lighten-5 {
- background-color: #fafafa !important;
-}
-
-.grey-text.text-lighten-5 {
- color: #fafafa !important;
-}
-
-.grey.lighten-4 {
- background-color: #f5f5f5 !important;
-}
-
-.grey-text.text-lighten-4 {
- color: #f5f5f5 !important;
-}
-
-.grey.lighten-3 {
- background-color: #eeeeee !important;
-}
-
-.grey-text.text-lighten-3 {
- color: #eeeeee !important;
-}
-
-.grey.lighten-2 {
- background-color: #e0e0e0 !important;
-}
-
-.grey-text.text-lighten-2 {
- color: #e0e0e0 !important;
-}
-
-.grey.lighten-1 {
- background-color: #bdbdbd !important;
-}
-
-.grey-text.text-lighten-1 {
- color: #bdbdbd !important;
-}
-
-.grey.darken-1 {
- background-color: #757575 !important;
-}
-
-.grey-text.text-darken-1 {
- color: #757575 !important;
-}
-
-.grey.darken-2 {
- background-color: #616161 !important;
-}
-
-.grey-text.text-darken-2 {
- color: #616161 !important;
-}
-
-.grey.darken-3 {
- background-color: #424242 !important;
-}
-
-.grey-text.text-darken-3 {
- color: #424242 !important;
-}
-
-.grey.darken-4 {
- background-color: #212121 !important;
-}
-
-.grey-text.text-darken-4 {
- color: #212121 !important;
-}
-
-.black {
- background-color: #000000 !important;
-}
-
-.black-text {
- color: #000000 !important;
-}
-
-.white {
- background-color: #FFFFFF !important;
-}
-
-.white-text {
- color: #FFFFFF !important;
-}
-
-.transparent {
- background-color: transparent !important;
-}
-
-.transparent-text {
- color: transparent !important;
-}
-
-/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
-/* Document
- ========================================================================== */
-/**
- * 1. Correct the line height in all browsers.
- * 2. Prevent adjustments of font size after orientation changes in
- * IE on Windows Phone and in iOS.
- */
-html {
- line-height: 1.15;
- /* 1 */
- -ms-text-size-adjust: 100%;
- /* 2 */
- -webkit-text-size-adjust: 100%;
- /* 2 */
-}
-
-/* Sections
- ========================================================================== */
-/**
- * Remove the margin in all browsers (opinionated).
- */
-body {
- margin: 0;
-}
-
-/**
- * Add the correct display in IE 9-.
- */
-article,
-aside,
-footer,
-header,
-nav,
-section {
- display: block;
-}
-
-/**
- * Correct the font size and margin on `h1` elements within `section` and
- * `article` contexts in Chrome, Firefox, and Safari.
- */
-h1 {
- font-size: 2em;
- margin: 0.67em 0;
-}
-
-/* Grouping content
- ========================================================================== */
-/**
- * Add the correct display in IE 9-.
- * 1. Add the correct display in IE.
- */
-figcaption,
-figure,
-main {
- /* 1 */
- display: block;
-}
-
-/**
- * Add the correct margin in IE 8.
- */
-figure {
- margin: 1em 40px;
-}
-
-/**
- * 1. Add the correct box sizing in Firefox.
- * 2. Show the overflow in Edge and IE.
- */
-hr {
- -webkit-box-sizing: content-box;
- box-sizing: content-box;
- /* 1 */
- height: 0;
- /* 1 */
- overflow: visible;
- /* 2 */
-}
-
-/**
- * 1. Correct the inheritance and scaling of font size in all browsers.
- * 2. Correct the odd `em` font sizing in all browsers.
- */
-pre {
- font-family: monospace, monospace;
- /* 1 */
- font-size: 1em;
- /* 2 */
-}
-
-/* Text-level semantics
- ========================================================================== */
-/**
- * 1. Remove the gray background on active links in IE 10.
- * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
- */
-a {
- background-color: transparent;
- /* 1 */
- -webkit-text-decoration-skip: objects;
- /* 2 */
-}
-
-/**
- * 1. Remove the bottom border in Chrome 57- and Firefox 39-.
- * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
- */
-abbr[title] {
- border-bottom: none;
- /* 1 */
- text-decoration: underline;
- /* 2 */
- -webkit-text-decoration: underline dotted;
- -moz-text-decoration: underline dotted;
- text-decoration: underline dotted;
- /* 2 */
-}
-
-/**
- * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
- */
-b,
-strong {
- font-weight: inherit;
-}
-
-/**
- * Add the correct font weight in Chrome, Edge, and Safari.
- */
-b,
-strong {
- font-weight: bolder;
-}
-
-/**
- * 1. Correct the inheritance and scaling of font size in all browsers.
- * 2. Correct the odd `em` font sizing in all browsers.
- */
-code,
-kbd,
-samp {
- font-family: monospace, monospace;
- /* 1 */
- font-size: 1em;
- /* 2 */
-}
-
-/**
- * Add the correct font style in Android 4.3-.
- */
-dfn {
- font-style: italic;
-}
-
-/**
- * Add the correct background and color in IE 9-.
- */
-mark {
- background-color: #ff0;
- color: #000;
-}
-
-/**
- * Add the correct font size in all browsers.
- */
-small {
- font-size: 80%;
-}
-
-/**
- * Prevent `sub` and `sup` elements from affecting the line height in
- * all browsers.
- */
-sub,
-sup {
- font-size: 75%;
- line-height: 0;
- position: relative;
- vertical-align: baseline;
-}
-
-sub {
- bottom: -0.25em;
-}
-
-sup {
- top: -0.5em;
-}
-
-/* Embedded content
- ========================================================================== */
-/**
- * Add the correct display in IE 9-.
- */
-audio,
-video {
- display: inline-block;
-}
-
-/**
- * Add the correct display in iOS 4-7.
- */
-audio:not([controls]) {
- display: none;
- height: 0;
-}
-
-/**
- * Remove the border on images inside links in IE 10-.
- */
-img {
- border-style: none;
-}
-
-/**
- * Hide the overflow in IE.
- */
-svg:not(:root) {
- overflow: hidden;
-}
-
-/* Forms
- ========================================================================== */
-/**
- * 1. Change the font styles in all browsers (opinionated).
- * 2. Remove the margin in Firefox and Safari.
- */
-button,
-input,
-optgroup,
-select,
-textarea {
- font-family: sans-serif;
- /* 1 */
- font-size: 100%;
- /* 1 */
- line-height: 1.15;
- /* 1 */
- margin: 0;
- /* 2 */
-}
-
-/**
- * Show the overflow in IE.
- * 1. Show the overflow in Edge.
- */
-button,
-input {
- /* 1 */
- overflow: visible;
-}
-
-/**
- * Remove the inheritance of text transform in Edge, Firefox, and IE.
- * 1. Remove the inheritance of text transform in Firefox.
- */
-button,
-select {
- /* 1 */
- text-transform: none;
-}
-
-/**
- * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
- * controls in Android 4.
- * 2. Correct the inability to style clickable types in iOS and Safari.
- */
-button,
-html [type="button"],
-[type="reset"],
-[type="submit"] {
- -webkit-appearance: button;
- /* 2 */
-}
-
-/**
- * Remove the inner border and padding in Firefox.
- */
-button::-moz-focus-inner,
-[type="button"]::-moz-focus-inner,
-[type="reset"]::-moz-focus-inner,
-[type="submit"]::-moz-focus-inner {
- border-style: none;
- padding: 0;
-}
-
-/**
- * Restore the focus styles unset by the previous rule.
- */
-button:-moz-focusring,
-[type="button"]:-moz-focusring,
-[type="reset"]:-moz-focusring,
-[type="submit"]:-moz-focusring {
- outline: 1px dotted ButtonText;
-}
-
-/**
- * Correct the padding in Firefox.
- */
-fieldset {
- padding: 0.35em 0.75em 0.625em;
-}
-
-/**
- * 1. Correct the text wrapping in Edge and IE.
- * 2. Correct the color inheritance from `fieldset` elements in IE.
- * 3. Remove the padding so developers are not caught out when they zero out
- * `fieldset` elements in all browsers.
- */
-legend {
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
- /* 1 */
- color: inherit;
- /* 2 */
- display: table;
- /* 1 */
- max-width: 100%;
- /* 1 */
- padding: 0;
- /* 3 */
- white-space: normal;
- /* 1 */
-}
-
-/**
- * 1. Add the correct display in IE 9-.
- * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
- */
-progress {
- display: inline-block;
- /* 1 */
- vertical-align: baseline;
- /* 2 */
-}
-
-/**
- * Remove the default vertical scrollbar in IE.
- */
-textarea {
- overflow: auto;
-}
-
-/**
- * 1. Add the correct box sizing in IE 10-.
- * 2. Remove the padding in IE 10-.
- */
-[type="checkbox"],
-[type="radio"] {
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
- /* 1 */
- padding: 0;
- /* 2 */
-}
-
-/**
- * Correct the cursor style of increment and decrement buttons in Chrome.
- */
-[type="number"]::-webkit-inner-spin-button,
-[type="number"]::-webkit-outer-spin-button {
- height: auto;
-}
-
-/**
- * 1. Correct the odd appearance in Chrome and Safari.
- * 2. Correct the outline style in Safari.
- */
-[type="search"] {
- -webkit-appearance: textfield;
- /* 1 */
- outline-offset: -2px;
- /* 2 */
-}
-
-/**
- * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
- */
-[type="search"]::-webkit-search-cancel-button,
-[type="search"]::-webkit-search-decoration {
- -webkit-appearance: none;
-}
-
-/**
- * 1. Correct the inability to style clickable types in iOS and Safari.
- * 2. Change font properties to `inherit` in Safari.
- */
-::-webkit-file-upload-button {
- -webkit-appearance: button;
- /* 1 */
- font: inherit;
- /* 2 */
-}
-
-/* Interactive
- ========================================================================== */
-/*
- * Add the correct display in IE 9-.
- * 1. Add the correct display in Edge, IE, and Firefox.
- */
-details,
-menu {
- display: block;
-}
-
-/*
- * Add the correct display in all browsers.
- */
-summary {
- display: list-item;
-}
-
-/* Scripting
- ========================================================================== */
-/**
- * Add the correct display in IE 9-.
- */
-canvas {
- display: inline-block;
-}
-
-/**
- * Add the correct display in IE.
- */
-template {
- display: none;
-}
-
-/* Hidden
- ========================================================================== */
-/**
- * Add the correct display in IE 10-.
- */
-[hidden] {
- display: none;
-}
-
-html {
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
-}
-
-*, *:before, *:after {
- -webkit-box-sizing: inherit;
- box-sizing: inherit;
-}
-
-button,
-input,
-optgroup,
-select,
-textarea {
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
-}
-
-ul:not(.browser-default) {
- padding-left: 0;
- list-style-type: none;
-}
-
-ul:not(.browser-default) > li {
- list-style-type: none;
-}
-
-a {
- color: #039be5;
- text-decoration: none;
- -webkit-tap-highlight-color: transparent;
-}
-
-.valign-wrapper {
- display: -webkit-box;
- display: -webkit-flex;
- display: -ms-flexbox;
- display: flex;
- -webkit-box-align: center;
- -webkit-align-items: center;
- -ms-flex-align: center;
- align-items: center;
-}
-
-.clearfix {
- clear: both;
-}
-
-.z-depth-0 {
- -webkit-box-shadow: none !important;
- box-shadow: none !important;
-}
-
-/* 2dp elevation modified*/
-.z-depth-1, nav, .card-panel, .card, .toast, .btn, .btn-large, .btn-small, .btn-floating, .dropdown-content, .collapsible, .sidenav {
- -webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);
- box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.2);
-}
-
-.z-depth-1-half, .btn:hover, .btn-large:hover, .btn-small:hover, .btn-floating:hover {
- -webkit-box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.14), 0 1px 7px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -1px rgba(0, 0, 0, 0.2);
- box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.14), 0 1px 7px 0 rgba(0, 0, 0, 0.12), 0 3px 1px -1px rgba(0, 0, 0, 0.2);
-}
-
-/* 6dp elevation modified*/
-.z-depth-2 {
- -webkit-box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.3);
- box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.3);
-}
-
-/* 12dp elevation modified*/
-.z-depth-3 {
- -webkit-box-shadow: 0 8px 17px 2px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.2);
- box-shadow: 0 8px 17px 2px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.2);
-}
-
-/* 16dp elevation */
-.z-depth-4 {
- -webkit-box-shadow: 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12), 0 8px 10px -7px rgba(0, 0, 0, 0.2);
- box-shadow: 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12), 0 8px 10px -7px rgba(0, 0, 0, 0.2);
-}
-
-/* 24dp elevation */
-.z-depth-5, .modal {
- -webkit-box-shadow: 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12), 0 11px 15px -7px rgba(0, 0, 0, 0.2);
- box-shadow: 0 24px 38px 3px rgba(0, 0, 0, 0.14), 0 9px 46px 8px rgba(0, 0, 0, 0.12), 0 11px 15px -7px rgba(0, 0, 0, 0.2);
-}
-
-.hoverable {
- -webkit-transition: -webkit-box-shadow .25s;
- transition: -webkit-box-shadow .25s;
- transition: box-shadow .25s;
- transition: box-shadow .25s, -webkit-box-shadow .25s;
-}
-
-.hoverable:hover {
- -webkit-box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
- box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
-}
-
-.divider {
- height: 1px;
- overflow: hidden;
- background-color: #e0e0e0;
-}
-
-blockquote {
- margin: 20px 0;
- padding-left: 1.5rem;
- border-left: 5px solid #ee6e73;
-}
-
-i {
- line-height: inherit;
-}
-
-i.left {
- float: left;
- margin-right: 15px;
-}
-
-i.right {
- float: right;
- margin-left: 15px;
-}
-
-i.tiny {
- font-size: 1rem;
-}
-
-i.small {
- font-size: 2rem;
-}
-
-i.medium {
- font-size: 4rem;
-}
-
-i.large {
- font-size: 6rem;
-}
-
-img.responsive-img,
-video.responsive-video {
- max-width: 100%;
- height: auto;
-}
-
-.pagination li {
- display: inline-block;
- border-radius: 2px;
- text-align: center;
- vertical-align: top;
- height: 30px;
-}
-
-.pagination li a {
- color: #444;
- display: inline-block;
- font-size: 1.2rem;
- padding: 0 10px;
- line-height: 30px;
-}
-
-.pagination li.active a {
- color: #fff;
-}
-
-.pagination li.active {
- background-color: #ee6e73;
-}
-
-.pagination li.disabled a {
- cursor: default;
- color: #999;
-}
-
-.pagination li i {
- font-size: 2rem;
-}
-
-.pagination li.pages ul li {
- display: inline-block;
- float: none;
-}
-
-@media only screen and (max-width: 992px) {
- .pagination {
- width: 100%;
- }
- .pagination li.prev,
- .pagination li.next {
- width: 10%;
- }
- .pagination li.pages {
- width: 80%;
- overflow: hidden;
- white-space: nowrap;
- }
-}
-
-.breadcrumb {
- font-size: 18px;
- color: rgba(255, 255, 255, 0.7);
-}
-
-.breadcrumb i,
-.breadcrumb [class^="mdi-"], .breadcrumb [class*="mdi-"],
-.breadcrumb i.material-icons {
- display: inline-block;
- float: left;
- font-size: 24px;
-}
-
-.breadcrumb:before {
- content: '\E5CC';
- color: rgba(255, 255, 255, 0.7);
- vertical-align: top;
- display: inline-block;
- font-family: 'Material Icons';
- font-weight: normal;
- font-style: normal;
- font-size: 25px;
- margin: 0 10px 0 8px;
- -webkit-font-smoothing: antialiased;
-}
-
-.breadcrumb:first-child:before {
- display: none;
-}
-
-.breadcrumb:last-child {
- color: #fff;
-}
-
-.parallax-container {
- position: relative;
- overflow: hidden;
- height: 500px;
-}
-
-.parallax-container .parallax {
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- z-index: -1;
-}
-
-.parallax-container .parallax img {
- opacity: 0;
- position: absolute;
- left: 50%;
- bottom: 0;
- min-width: 100%;
- min-height: 100%;
- -webkit-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0);
- -webkit-transform: translateX(-50%);
- transform: translateX(-50%);
-}
-
-.pin-top, .pin-bottom {
- position: relative;
-}
-
-.pinned {
- position: fixed !important;
-}
-
-/*********************
- Transition Classes
-**********************/
-ul.staggered-list li {
- opacity: 0;
-}
-
-.fade-in {
- opacity: 0;
- -webkit-transform-origin: 0 50%;
- transform-origin: 0 50%;
-}
-
-/*********************
- Media Query Classes
-**********************/
-@media only screen and (max-width: 600px) {
- .hide-on-small-only, .hide-on-small-and-down {
- display: none !important;
- }
-}
-
-@media only screen and (max-width: 992px) {
- .hide-on-med-and-down {
- display: none !important;
- }
-}
-
-@media only screen and (min-width: 601px) {
- .hide-on-med-and-up {
- display: none !important;
- }
-}
-
-@media only screen and (min-width: 600px) and (max-width: 992px) {
- .hide-on-med-only {
- display: none !important;
- }
-}
-
-@media only screen and (min-width: 993px) {
- .hide-on-large-only {
- display: none !important;
- }
-}
-
-@media only screen and (min-width: 1201px) {
- .hide-on-extra-large-only {
- display: none !important;
- }
-}
-
-@media only screen and (min-width: 1201px) {
- .show-on-extra-large {
- display: block !important;
- }
-}
-
-@media only screen and (min-width: 993px) {
- .show-on-large {
- display: block !important;
- }
-}
-
-@media only screen and (min-width: 600px) and (max-width: 992px) {
- .show-on-medium {
- display: block !important;
- }
-}
-
-@media only screen and (max-width: 600px) {
- .show-on-small {
- display: block !important;
- }
-}
-
-@media only screen and (min-width: 601px) {
- .show-on-medium-and-up {
- display: block !important;
- }
-}
-
-@media only screen and (max-width: 992px) {
- .show-on-medium-and-down {
- display: block !important;
- }
-}
-
-@media only screen and (max-width: 600px) {
- .center-on-small-only {
- text-align: center;
- }
-}
-
-.page-footer {
- padding-top: 20px;
- color: #fff;
- background-color: #ee6e73;
-}
-
-.page-footer .footer-copyright {
- overflow: hidden;
- min-height: 50px;
- display: -webkit-box;
- display: -webkit-flex;
- display: -ms-flexbox;
- display: flex;
- -webkit-box-align: center;
- -webkit-align-items: center;
- -ms-flex-align: center;
- align-items: center;
- -webkit-box-pack: justify;
- -webkit-justify-content: space-between;
- -ms-flex-pack: justify;
- justify-content: space-between;
- padding: 10px 0px;
- color: rgba(255, 255, 255, 0.8);
- background-color: rgba(51, 51, 51, 0.08);
-}
-
-table, th, td {
- border: none;
-}
-
-table {
- width: 100%;
- display: table;
- border-collapse: collapse;
- border-spacing: 0;
-}
-
-table.striped tr {
- border-bottom: none;
-}
-
-table.striped > tbody > tr:nth-child(odd) {
- background-color: rgba(242, 242, 242, 0.5);
-}
-
-table.striped > tbody > tr > td {
- border-radius: 0;
-}
-
-table.highlight > tbody > tr {
- -webkit-transition: background-color .25s ease;
- transition: background-color .25s ease;
-}
-
-table.highlight > tbody > tr:hover {
- background-color: rgba(242, 242, 242, 0.5);
-}
-
-table.centered thead tr th, table.centered tbody tr td {
- text-align: center;
-}
-
-tr {
- border-bottom: 1px solid rgba(0, 0, 0, 0.12);
-}
-
-td, th {
- padding: 15px 5px;
- display: table-cell;
- text-align: left;
- vertical-align: middle;
- border-radius: 2px;
-}
-
-@media only screen and (max-width: 992px) {
- table.responsive-table {
- width: 100%;
- border-collapse: collapse;
- border-spacing: 0;
- display: block;
- position: relative;
- /* sort out borders */
- }
- table.responsive-table td:empty:before {
- content: '\00a0';
- }
- table.responsive-table th,
- table.responsive-table td {
- margin: 0;
- vertical-align: top;
- }
- table.responsive-table th {
- text-align: left;
- }
- table.responsive-table thead {
- display: block;
- float: left;
- }
- table.responsive-table thead tr {
- display: block;
- padding: 0 10px 0 0;
- }
- table.responsive-table thead tr th::before {
- content: "\00a0";
- }
- table.responsive-table tbody {
- display: block;
- width: auto;
- position: relative;
- overflow-x: auto;
- white-space: nowrap;
- }
- table.responsive-table tbody tr {
- display: inline-block;
- vertical-align: top;
- }
- table.responsive-table th {
- display: block;
- text-align: right;
- }
- table.responsive-table td {
- display: block;
- min-height: 1.25em;
- text-align: left;
- }
- table.responsive-table tr {
- border-bottom: none;
- padding: 0 10px;
- }
- table.responsive-table thead {
- border: 0;
- border-right: 1px solid rgba(0, 0, 0, 0.12);
- }
-}
-
-.collection {
- margin: 0.5rem 0 1rem 0;
- border: 1px solid #e0e0e0;
- border-radius: 2px;
- overflow: hidden;
- position: relative;
-}
-
-.collection .collection-item {
- background-color: #fff;
- line-height: 1.5rem;
- padding: 10px 20px;
- margin: 0;
- border-bottom: 1px solid #e0e0e0;
-}
-
-.collection .collection-item.avatar {
- min-height: 84px;
- padding-left: 72px;
- position: relative;
-}
-
-.collection .collection-item.avatar:not(.circle-clipper) > .circle,
-.collection .collection-item.avatar :not(.circle-clipper) > .circle {
- position: absolute;
- width: 42px;
- height: 42px;
- overflow: hidden;
- left: 15px;
- display: inline-block;
- vertical-align: middle;
-}
-
-.collection .collection-item.avatar i.circle {
- font-size: 18px;
- line-height: 42px;
- color: #fff;
- background-color: #999;
- text-align: center;
-}
-
-.collection .collection-item.avatar .title {
- font-size: 16px;
-}
-
-.collection .collection-item.avatar p {
- margin: 0;
-}
-
-.collection .collection-item.avatar .secondary-content {
- position: absolute;
- top: 16px;
- right: 16px;
-}
-
-.collection .collection-item:last-child {
- border-bottom: none;
-}
-
-.collection .collection-item.active {
- background-color: #26a69a;
- color: #eafaf9;
-}
-
-.collection .collection-item.active .secondary-content {
- color: #fff;
-}
-
-.collection a.collection-item {
- display: block;
- -webkit-transition: .25s;
- transition: .25s;
- color: #26a69a;
-}
-
-.collection a.collection-item:not(.active):hover {
- background-color: #ddd;
-}
-
-.collection.with-header .collection-header {
- background-color: #fff;
- border-bottom: 1px solid #e0e0e0;
- padding: 10px 20px;
-}
-
-.collection.with-header .collection-item {
- padding-left: 30px;
-}
-
-.collection.with-header .collection-item.avatar {
- padding-left: 72px;
-}
-
-.secondary-content {
- float: right;
- color: #26a69a;
-}
-
-.collapsible .collection {
- margin: 0;
- border: none;
-}
-
-.video-container {
- position: relative;
- padding-bottom: 56.25%;
- height: 0;
- overflow: hidden;
-}
-
-.video-container iframe, .video-container object, .video-container embed {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
-}
-
-.progress {
- position: relative;
- height: 4px;
- display: block;
- width: 100%;
- background-color: #acece6;
- border-radius: 2px;
- margin: 0.5rem 0 1rem 0;
- overflow: hidden;
-}
-
-.progress .determinate {
- position: absolute;
- top: 0;
- left: 0;
- bottom: 0;
- background-color: #26a69a;
- -webkit-transition: width .3s linear;
- transition: width .3s linear;
-}
-
-.progress .indeterminate {
- background-color: #26a69a;
-}
-
-.progress .indeterminate:before {
- content: '';
- position: absolute;
- background-color: inherit;
- top: 0;
- left: 0;
- bottom: 0;
- will-change: left, right;
- -webkit-animation: indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;
- animation: indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;
-}
-
-.progress .indeterminate:after {
- content: '';
- position: absolute;
- background-color: inherit;
- top: 0;
- left: 0;
- bottom: 0;
- will-change: left, right;
- -webkit-animation: indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;
- animation: indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;
- -webkit-animation-delay: 1.15s;
- animation-delay: 1.15s;
-}
-
-@-webkit-keyframes indeterminate {
- 0% {
- left: -35%;
- right: 100%;
- }
- 60% {
- left: 100%;
- right: -90%;
- }
- 100% {
- left: 100%;
- right: -90%;
- }
-}
-
-@keyframes indeterminate {
- 0% {
- left: -35%;
- right: 100%;
- }
- 60% {
- left: 100%;
- right: -90%;
- }
- 100% {
- left: 100%;
- right: -90%;
- }
-}
-
-@-webkit-keyframes indeterminate-short {
- 0% {
- left: -200%;
- right: 100%;
- }
- 60% {
- left: 107%;
- right: -8%;
- }
- 100% {
- left: 107%;
- right: -8%;
- }
-}
-
-@keyframes indeterminate-short {
- 0% {
- left: -200%;
- right: 100%;
- }
- 60% {
- left: 107%;
- right: -8%;
- }
- 100% {
- left: 107%;
- right: -8%;
- }
-}
-
-/*******************
- Utility Classes
-*******************/
-.hide {
- display: none !important;
-}
-
-.left-align {
- text-align: left;
-}
-
-.right-align {
- text-align: right;
-}
-
-.center, .center-align {
- text-align: center;
-}
-
-.left {
- float: left !important;
-}
-
-.right {
- float: right !important;
-}
-
-.no-select, input[type=range],
-input[type=range] + .thumb {
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
-}
-
-.circle {
- border-radius: 50%;
-}
-
-.center-block {
- display: block;
- margin-left: auto;
- margin-right: auto;
-}
-
-.truncate {
- display: block;
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
-}
-
-.no-padding {
- padding: 0 !important;
-}
-
-span.badge {
- min-width: 3rem;
- padding: 0 6px;
- margin-left: 14px;
- text-align: center;
- font-size: 1rem;
- line-height: 22px;
- height: 22px;
- color: #757575;
- float: right;
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
-}
-
-span.badge.new {
- font-weight: 300;
- font-size: 0.8rem;
- color: #fff;
- background-color: #26a69a;
- border-radius: 2px;
-}
-
-span.badge.new:after {
- content: " new";
-}
-
-span.badge[data-badge-caption]::after {
- content: " " attr(data-badge-caption);
-}
-
-nav ul a span.badge {
- display: inline-block;
- float: none;
- margin-left: 4px;
- line-height: 22px;
- height: 22px;
- -webkit-font-smoothing: auto;
-}
-
-.collection-item span.badge {
- margin-top: calc(0.75rem - 11px);
-}
-
-.collapsible span.badge {
- margin-left: auto;
-}
-
-.sidenav span.badge {
- margin-top: calc(24px - 11px);
-}
-
-table span.badge {
- display: inline-block;
- float: none;
- margin-left: auto;
-}
-
-/* This is needed for some mobile phones to display the Google Icon font properly */
-.material-icons {
- text-rendering: optimizeLegibility;
- -webkit-font-feature-settings: 'liga';
- -moz-font-feature-settings: 'liga';
- font-feature-settings: 'liga';
-}
-
-.container {
- margin: 0 auto;
- max-width: 1280px;
- width: 90%;
-}
-
-@media only screen and (min-width: 601px) {
- .container {
- width: 85%;
- }
-}
-
-@media only screen and (min-width: 993px) {
- .container {
- width: 70%;
- }
-}
-
-.col .row {
- margin-left: -0.75rem;
- margin-right: -0.75rem;
-}
-
-.section {
- padding-top: 1rem;
- padding-bottom: 1rem;
-}
-
-.section.no-pad {
- padding: 0;
-}
-
-.section.no-pad-bot {
- padding-bottom: 0;
-}
-
-.section.no-pad-top {
- padding-top: 0;
-}
-
-.row {
- margin-left: auto;
- margin-right: auto;
- margin-bottom: 20px;
-}
-
-.row:after {
- content: "";
- display: table;
- clear: both;
-}
-
-.row .col {
- float: left;
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
- padding: 0 0.75rem;
- min-height: 1px;
-}
-
-.row .col[class*="push-"], .row .col[class*="pull-"] {
- position: relative;
-}
-
-.row .col.s1 {
- width: 8.3333333333%;
- margin-left: auto;
- left: auto;
- right: auto;
-}
-
-.row .col.s2 {
- width: 16.6666666667%;
- margin-left: auto;
- left: auto;
- right: auto;
-}
-
-.row .col.s3 {
- width: 25%;
- margin-left: auto;
- left: auto;
- right: auto;
-}
-
-.row .col.s4 {
- width: 33.3333333333%;
- margin-left: auto;
- left: auto;
- right: auto;
-}
-
-.row .col.s5 {
- width: 41.6666666667%;
- margin-left: auto;
- left: auto;
- right: auto;
-}
-
-.row .col.s6 {
- width: 50%;
- margin-left: auto;
- left: auto;
- right: auto;
-}
-
-.row .col.s7 {
- width: 58.3333333333%;
- margin-left: auto;
- left: auto;
- right: auto;
-}
-
-.row .col.s8 {
- width: 66.6666666667%;
- margin-left: auto;
- left: auto;
- right: auto;
-}
-
-.row .col.s9 {
- width: 75%;
- margin-left: auto;
- left: auto;
- right: auto;
-}
-
-.row .col.s10 {
- width: 83.3333333333%;
- margin-left: auto;
- left: auto;
- right: auto;
-}
-
-.row .col.s11 {
- width: 91.6666666667%;
- margin-left: auto;
- left: auto;
- right: auto;
-}
-
-.row .col.s12 {
- width: 100%;
- margin-left: auto;
- left: auto;
- right: auto;
-}
-
-.row .col.offset-s1 {
- margin-left: 8.3333333333%;
-}
-
-.row .col.pull-s1 {
- right: 8.3333333333%;
-}
-
-.row .col.push-s1 {
- left: 8.3333333333%;
-}
-
-.row .col.offset-s2 {
- margin-left: 16.6666666667%;
-}
-
-.row .col.pull-s2 {
- right: 16.6666666667%;
-}
-
-.row .col.push-s2 {
- left: 16.6666666667%;
-}
-
-.row .col.offset-s3 {
- margin-left: 25%;
-}
-
-.row .col.pull-s3 {
- right: 25%;
-}
-
-.row .col.push-s3 {
- left: 25%;
-}
-
-.row .col.offset-s4 {
- margin-left: 33.3333333333%;
-}
-
-.row .col.pull-s4 {
- right: 33.3333333333%;
-}
-
-.row .col.push-s4 {
- left: 33.3333333333%;
-}
-
-.row .col.offset-s5 {
- margin-left: 41.6666666667%;
-}
-
-.row .col.pull-s5 {
- right: 41.6666666667%;
-}
-
-.row .col.push-s5 {
- left: 41.6666666667%;
-}
-
-.row .col.offset-s6 {
- margin-left: 50%;
-}
-
-.row .col.pull-s6 {
- right: 50%;
-}
-
-.row .col.push-s6 {
- left: 50%;
-}
-
-.row .col.offset-s7 {
- margin-left: 58.3333333333%;
-}
-
-.row .col.pull-s7 {
- right: 58.3333333333%;
-}
-
-.row .col.push-s7 {
- left: 58.3333333333%;
-}
-
-.row .col.offset-s8 {
- margin-left: 66.6666666667%;
-}
-
-.row .col.pull-s8 {
- right: 66.6666666667%;
-}
-
-.row .col.push-s8 {
- left: 66.6666666667%;
-}
-
-.row .col.offset-s9 {
- margin-left: 75%;
-}
-
-.row .col.pull-s9 {
- right: 75%;
-}
-
-.row .col.push-s9 {
- left: 75%;
-}
-
-.row .col.offset-s10 {
- margin-left: 83.3333333333%;
-}
-
-.row .col.pull-s10 {
- right: 83.3333333333%;
-}
-
-.row .col.push-s10 {
- left: 83.3333333333%;
-}
-
-.row .col.offset-s11 {
- margin-left: 91.6666666667%;
-}
-
-.row .col.pull-s11 {
- right: 91.6666666667%;
-}
-
-.row .col.push-s11 {
- left: 91.6666666667%;
-}
-
-.row .col.offset-s12 {
- margin-left: 100%;
-}
-
-.row .col.pull-s12 {
- right: 100%;
-}
-
-.row .col.push-s12 {
- left: 100%;
-}
-
-@media only screen and (min-width: 601px) {
- .row .col.m1 {
- width: 8.3333333333%;
- margin-left: auto;
- left: auto;
- right: auto;
- }
- .row .col.m2 {
- width: 16.6666666667%;
- margin-left: auto;
- left: auto;
- right: auto;
- }
- .row .col.m3 {
- width: 25%;
- margin-left: auto;
- left: auto;
- right: auto;
- }
- .row .col.m4 {
- width: 33.3333333333%;
- margin-left: auto;
- left: auto;
- right: auto;
- }
- .row .col.m5 {
- width: 41.6666666667%;
- margin-left: auto;
- left: auto;
- right: auto;
- }
- .row .col.m6 {
- width: 50%;
- margin-left: auto;
- left: auto;
- right: auto;
- }
- .row .col.m7 {
- width: 58.3333333333%;
- margin-left: auto;
- left: auto;
- right: auto;
- }
- .row .col.m8 {
- width: 66.6666666667%;
- margin-left: auto;
- left: auto;
- right: auto;
- }
- .row .col.m9 {
- width: 75%;
- margin-left: auto;
- left: auto;
- right: auto;
- }
- .row .col.m10 {
- width: 83.3333333333%;
- margin-left: auto;
- left: auto;
- right: auto;
- }
- .row .col.m11 {
- width: 91.6666666667%;
- margin-left: auto;
- left: auto;
- right: auto;
- }
- .row .col.m12 {
- width: 100%;
- margin-left: auto;
- left: auto;
- right: auto;
- }
- .row .col.offset-m1 {
- margin-left: 8.3333333333%;
- }
- .row .col.pull-m1 {
- right: 8.3333333333%;
- }
- .row .col.push-m1 {
- left: 8.3333333333%;
- }
- .row .col.offset-m2 {
- margin-left: 16.6666666667%;
- }
- .row .col.pull-m2 {
- right: 16.6666666667%;
- }
- .row .col.push-m2 {
- left: 16.6666666667%;
- }
- .row .col.offset-m3 {
- margin-left: 25%;
- }
- .row .col.pull-m3 {
- right: 25%;
- }
- .row .col.push-m3 {
- left: 25%;
- }
- .row .col.offset-m4 {
- margin-left: 33.3333333333%;
- }
- .row .col.pull-m4 {
- right: 33.3333333333%;
- }
- .row .col.push-m4 {
- left: 33.3333333333%;
- }
- .row .col.offset-m5 {
- margin-left: 41.6666666667%;
- }
- .row .col.pull-m5 {
- right: 41.6666666667%;
- }
- .row .col.push-m5 {
- left: 41.6666666667%;
- }
- .row .col.offset-m6 {
- margin-left: 50%;
- }
- .row .col.pull-m6 {
- right: 50%;
- }
- .row .col.push-m6 {
- left: 50%;
- }
- .row .col.offset-m7 {
- margin-left: 58.3333333333%;
- }
- .row .col.pull-m7 {
- right: 58.3333333333%;
- }
- .row .col.push-m7 {
- left: 58.3333333333%;
- }
- .row .col.offset-m8 {
- margin-left: 66.6666666667%;
- }
- .row .col.pull-m8 {
- right: 66.6666666667%;
- }
- .row .col.push-m8 {
- left: 66.6666666667%;
- }
- .row .col.offset-m9 {
- margin-left: 75%;
- }
- .row .col.pull-m9 {
- right: 75%;
- }
- .row .col.push-m9 {
- left: 75%;
- }
- .row .col.offset-m10 {
- margin-left: 83.3333333333%;
- }
- .row .col.pull-m10 {
- right: 83.3333333333%;
- }
- .row .col.push-m10 {
- left: 83.3333333333%;
- }
- .row .col.offset-m11 {
- margin-left: 91.6666666667%;
- }
- .row .col.pull-m11 {
- right: 91.6666666667%;
- }
- .row .col.push-m11 {
- left: 91.6666666667%;
- }
- .row .col.offset-m12 {
- margin-left: 100%;
- }
- .row .col.pull-m12 {
- right: 100%;
- }
- .row .col.push-m12 {
- left: 100%;
- }
-}
-
-@media only screen and (min-width: 993px) {
- .row .col.l1 {
- width: 8.3333333333%;
- margin-left: auto;
- left: auto;
- right: auto;
- }
- .row .col.l2 {
- width: 16.6666666667%;
- margin-left: auto;
- left: auto;
- right: auto;
- }
- .row .col.l3 {
- width: 25%;
- margin-left: auto;
- left: auto;
- right: auto;
- }
- .row .col.l4 {
- width: 33.3333333333%;
- margin-left: auto;
- left: auto;
- right: auto;
- }
- .row .col.l5 {
- width: 41.6666666667%;
- margin-left: auto;
- left: auto;
- right: auto;
- }
- .row .col.l6 {
- width: 50%;
- margin-left: auto;
- left: auto;
- right: auto;
- }
- .row .col.l7 {
- width: 58.3333333333%;
- margin-left: auto;
- left: auto;
- right: auto;
- }
- .row .col.l8 {
- width: 66.6666666667%;
- margin-left: auto;
- left: auto;
- right: auto;
- }
- .row .col.l9 {
- width: 75%;
- margin-left: auto;
- left: auto;
- right: auto;
- }
- .row .col.l10 {
- width: 83.3333333333%;
- margin-left: auto;
- left: auto;
- right: auto;
- }
- .row .col.l11 {
- width: 91.6666666667%;
- margin-left: auto;
- left: auto;
- right: auto;
- }
- .row .col.l12 {
- width: 100%;
- margin-left: auto;
- left: auto;
- right: auto;
- }
- .row .col.offset-l1 {
- margin-left: 8.3333333333%;
- }
- .row .col.pull-l1 {
- right: 8.3333333333%;
- }
- .row .col.push-l1 {
- left: 8.3333333333%;
- }
- .row .col.offset-l2 {
- margin-left: 16.6666666667%;
- }
- .row .col.pull-l2 {
- right: 16.6666666667%;
- }
- .row .col.push-l2 {
- left: 16.6666666667%;
- }
- .row .col.offset-l3 {
- margin-left: 25%;
- }
- .row .col.pull-l3 {
- right: 25%;
- }
- .row .col.push-l3 {
- left: 25%;
- }
- .row .col.offset-l4 {
- margin-left: 33.3333333333%;
- }
- .row .col.pull-l4 {
- right: 33.3333333333%;
- }
- .row .col.push-l4 {
- left: 33.3333333333%;
- }
- .row .col.offset-l5 {
- margin-left: 41.6666666667%;
- }
- .row .col.pull-l5 {
- right: 41.6666666667%;
- }
- .row .col.push-l5 {
- left: 41.6666666667%;
- }
- .row .col.offset-l6 {
- margin-left: 50%;
- }
- .row .col.pull-l6 {
- right: 50%;
- }
- .row .col.push-l6 {
- left: 50%;
- }
- .row .col.offset-l7 {
- margin-left: 58.3333333333%;
- }
- .row .col.pull-l7 {
- right: 58.3333333333%;
- }
- .row .col.push-l7 {
- left: 58.3333333333%;
- }
- .row .col.offset-l8 {
- margin-left: 66.6666666667%;
- }
- .row .col.pull-l8 {
- right: 66.6666666667%;
- }
- .row .col.push-l8 {
- left: 66.6666666667%;
- }
- .row .col.offset-l9 {
- margin-left: 75%;
- }
- .row .col.pull-l9 {
- right: 75%;
- }
- .row .col.push-l9 {
- left: 75%;
- }
- .row .col.offset-l10 {
- margin-left: 83.3333333333%;
- }
- .row .col.pull-l10 {
- right: 83.3333333333%;
- }
- .row .col.push-l10 {
- left: 83.3333333333%;
- }
- .row .col.offset-l11 {
- margin-left: 91.6666666667%;
- }
- .row .col.pull-l11 {
- right: 91.6666666667%;
- }
- .row .col.push-l11 {
- left: 91.6666666667%;
- }
- .row .col.offset-l12 {
- margin-left: 100%;
- }
- .row .col.pull-l12 {
- right: 100%;
- }
- .row .col.push-l12 {
- left: 100%;
- }
-}
-
-@media only screen and (min-width: 1201px) {
- .row .col.xl1 {
- width: 8.3333333333%;
- margin-left: auto;
- left: auto;
- right: auto;
- }
- .row .col.xl2 {
- width: 16.6666666667%;
- margin-left: auto;
- left: auto;
- right: auto;
- }
- .row .col.xl3 {
- width: 25%;
- margin-left: auto;
- left: auto;
- right: auto;
- }
- .row .col.xl4 {
- width: 33.3333333333%;
- margin-left: auto;
- left: auto;
- right: auto;
- }
- .row .col.xl5 {
- width: 41.6666666667%;
- margin-left: auto;
- left: auto;
- right: auto;
- }
- .row .col.xl6 {
- width: 50%;
- margin-left: auto;
- left: auto;
- right: auto;
- }
- .row .col.xl7 {
- width: 58.3333333333%;
- margin-left: auto;
- left: auto;
- right: auto;
- }
- .row .col.xl8 {
- width: 66.6666666667%;
- margin-left: auto;
- left: auto;
- right: auto;
- }
- .row .col.xl9 {
- width: 75%;
- margin-left: auto;
- left: auto;
- right: auto;
- }
- .row .col.xl10 {
- width: 83.3333333333%;
- margin-left: auto;
- left: auto;
- right: auto;
- }
- .row .col.xl11 {
- width: 91.6666666667%;
- margin-left: auto;
- left: auto;
- right: auto;
- }
- .row .col.xl12 {
- width: 100%;
- margin-left: auto;
- left: auto;
- right: auto;
- }
- .row .col.offset-xl1 {
- margin-left: 8.3333333333%;
- }
- .row .col.pull-xl1 {
- right: 8.3333333333%;
- }
- .row .col.push-xl1 {
- left: 8.3333333333%;
- }
- .row .col.offset-xl2 {
- margin-left: 16.6666666667%;
- }
- .row .col.pull-xl2 {
- right: 16.6666666667%;
- }
- .row .col.push-xl2 {
- left: 16.6666666667%;
- }
- .row .col.offset-xl3 {
- margin-left: 25%;
- }
- .row .col.pull-xl3 {
- right: 25%;
- }
- .row .col.push-xl3 {
- left: 25%;
- }
- .row .col.offset-xl4 {
- margin-left: 33.3333333333%;
- }
- .row .col.pull-xl4 {
- right: 33.3333333333%;
- }
- .row .col.push-xl4 {
- left: 33.3333333333%;
- }
- .row .col.offset-xl5 {
- margin-left: 41.6666666667%;
- }
- .row .col.pull-xl5 {
- right: 41.6666666667%;
- }
- .row .col.push-xl5 {
- left: 41.6666666667%;
- }
- .row .col.offset-xl6 {
- margin-left: 50%;
- }
- .row .col.pull-xl6 {
- right: 50%;
- }
- .row .col.push-xl6 {
- left: 50%;
- }
- .row .col.offset-xl7 {
- margin-left: 58.3333333333%;
- }
- .row .col.pull-xl7 {
- right: 58.3333333333%;
- }
- .row .col.push-xl7 {
- left: 58.3333333333%;
- }
- .row .col.offset-xl8 {
- margin-left: 66.6666666667%;
- }
- .row .col.pull-xl8 {
- right: 66.6666666667%;
- }
- .row .col.push-xl8 {
- left: 66.6666666667%;
- }
- .row .col.offset-xl9 {
- margin-left: 75%;
- }
- .row .col.pull-xl9 {
- right: 75%;
- }
- .row .col.push-xl9 {
- left: 75%;
- }
- .row .col.offset-xl10 {
- margin-left: 83.3333333333%;
- }
- .row .col.pull-xl10 {
- right: 83.3333333333%;
- }
- .row .col.push-xl10 {
- left: 83.3333333333%;
- }
- .row .col.offset-xl11 {
- margin-left: 91.6666666667%;
- }
- .row .col.pull-xl11 {
- right: 91.6666666667%;
- }
- .row .col.push-xl11 {
- left: 91.6666666667%;
- }
- .row .col.offset-xl12 {
- margin-left: 100%;
- }
- .row .col.pull-xl12 {
- right: 100%;
- }
- .row .col.push-xl12 {
- left: 100%;
- }
-}
-
-nav {
- color: #fff;
- background-color: #ee6e73;
- width: 100%;
- height: 56px;
- line-height: 56px;
-}
-
-nav.nav-extended {
- height: auto;
-}
-
-nav.nav-extended .nav-wrapper {
- min-height: 56px;
- height: auto;
-}
-
-nav.nav-extended .nav-content {
- position: relative;
- line-height: normal;
-}
-
-nav a {
- color: #fff;
-}
-
-nav i,
-nav [class^="mdi-"], nav [class*="mdi-"],
-nav i.material-icons {
- display: block;
- font-size: 24px;
- height: 56px;
- line-height: 56px;
-}
-
-nav .nav-wrapper {
- position: relative;
- height: 100%;
-}
-
-@media only screen and (min-width: 993px) {
- nav a.sidenav-trigger {
- display: none;
- }
-}
-
-nav .sidenav-trigger {
- float: left;
- position: relative;
- z-index: 1;
- height: 56px;
- margin: 0 18px;
-}
-
-nav .sidenav-trigger i {
- height: 56px;
- line-height: 56px;
-}
-
-nav .brand-logo {
- position: absolute;
- color: #fff;
- display: inline-block;
- font-size: 2.1rem;
- padding: 0;
-}
-
-nav .brand-logo.center {
- left: 50%;
- -webkit-transform: translateX(-50%);
- transform: translateX(-50%);
-}
-
-@media only screen and (max-width: 992px) {
- nav .brand-logo {
- left: 50%;
- -webkit-transform: translateX(-50%);
- transform: translateX(-50%);
- }
- nav .brand-logo.left, nav .brand-logo.right {
- padding: 0;
- -webkit-transform: none;
- transform: none;
- }
- nav .brand-logo.left {
- left: 0.5rem;
- }
- nav .brand-logo.right {
- right: 0.5rem;
- left: auto;
- }
-}
-
-nav .brand-logo.right {
- right: 0.5rem;
- padding: 0;
-}
-
-nav .brand-logo i,
-nav .brand-logo [class^="mdi-"], nav .brand-logo [class*="mdi-"],
-nav .brand-logo i.material-icons {
- float: left;
- margin-right: 15px;
-}
-
-nav .nav-title {
- display: inline-block;
- font-size: 32px;
- padding: 28px 0;
-}
-
-nav ul {
- margin: 0;
-}
-
-nav ul li {
- -webkit-transition: background-color .3s;
- transition: background-color .3s;
- float: left;
- padding: 0;
-}
-
-nav ul li.active {
- background-color: rgba(0, 0, 0, 0.1);
-}
-
-nav ul a {
- -webkit-transition: background-color .3s;
- transition: background-color .3s;
- font-size: 1rem;
- color: #fff;
- display: block;
- padding: 0 15px;
- cursor: pointer;
-}
-
-nav ul a.btn, nav ul a.btn-large, nav ul a.btn-small, nav ul a.btn-large, nav ul a.btn-flat, nav ul a.btn-floating {
- margin-top: -2px;
- margin-left: 15px;
- margin-right: 15px;
-}
-
-nav ul a.btn > .material-icons, nav ul a.btn-large > .material-icons, nav ul a.btn-small > .material-icons, nav ul a.btn-large > .material-icons, nav ul a.btn-flat > .material-icons, nav ul a.btn-floating > .material-icons {
- height: inherit;
- line-height: inherit;
-}
-
-nav ul a:hover {
- background-color: rgba(0, 0, 0, 0.1);
-}
-
-nav ul.left {
- float: left;
-}
-
-nav form {
- height: 100%;
-}
-
-nav .input-field {
- margin: 0;
- height: 100%;
-}
-
-nav .input-field input {
- height: 100%;
- font-size: 1.2rem;
- border: none;
- padding-left: 2rem;
-}
-
-nav .input-field input:focus, nav .input-field input[type=text]:valid, nav .input-field input[type=password]:valid, nav .input-field input[type=email]:valid, nav .input-field input[type=url]:valid, nav .input-field input[type=date]:valid {
- border: none;
- -webkit-box-shadow: none;
- box-shadow: none;
-}
-
-nav .input-field label {
- top: 0;
- left: 0;
-}
-
-nav .input-field label i {
- color: rgba(255, 255, 255, 0.7);
- -webkit-transition: color .3s;
- transition: color .3s;
-}
-
-nav .input-field label.active i {
- color: #fff;
-}
-
-.navbar-fixed {
- position: relative;
- height: 56px;
- z-index: 997;
-}
-
-.navbar-fixed nav {
- position: fixed;
-}
-
-@media only screen and (min-width: 601px) {
- nav.nav-extended .nav-wrapper {
- min-height: 64px;
- }
- nav, nav .nav-wrapper i, nav a.sidenav-trigger, nav a.sidenav-trigger i {
- height: 64px;
- line-height: 64px;
- }
- .navbar-fixed {
- height: 64px;
- }
-}
-
-a {
- text-decoration: none;
-}
-
-html {
- line-height: 1.5;
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
- font-weight: normal;
- color: rgba(0, 0, 0, 0.87);
-}
-
-@media only screen and (min-width: 0) {
- html {
- font-size: 14px;
- }
-}
-
-@media only screen and (min-width: 992px) {
- html {
- font-size: 14.5px;
- }
-}
-
-@media only screen and (min-width: 1200px) {
- html {
- font-size: 15px;
- }
-}
-
-h1, h2, h3, h4, h5, h6 {
- font-weight: 400;
- line-height: 1.3;
-}
-
-h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
- font-weight: inherit;
-}
-
-h1 {
- font-size: 4.2rem;
- line-height: 110%;
- margin: 2.8rem 0 1.68rem 0;
-}
-
-h2 {
- font-size: 3.56rem;
- line-height: 110%;
- margin: 2.3733333333rem 0 1.424rem 0;
-}
-
-h3 {
- font-size: 2.92rem;
- line-height: 110%;
- margin: 1.9466666667rem 0 1.168rem 0;
-}
-
-h4 {
- font-size: 2.28rem;
- line-height: 110%;
- margin: 1.52rem 0 0.912rem 0;
-}
-
-h5 {
- font-size: 1.64rem;
- line-height: 110%;
- margin: 1.0933333333rem 0 0.656rem 0;
-}
-
-h6 {
- font-size: 1.15rem;
- line-height: 110%;
- margin: 0.7666666667rem 0 0.46rem 0;
-}
-
-em {
- font-style: italic;
-}
-
-strong {
- font-weight: 500;
-}
-
-small {
- font-size: 75%;
-}
-
-.light {
- font-weight: 300;
-}
-
-.thin {
- font-weight: 200;
-}
-
-@media only screen and (min-width: 360px) {
- .flow-text {
- font-size: 1.2rem;
- }
-}
-
-@media only screen and (min-width: 390px) {
- .flow-text {
- font-size: 1.224rem;
- }
-}
-
-@media only screen and (min-width: 420px) {
- .flow-text {
- font-size: 1.248rem;
- }
-}
-
-@media only screen and (min-width: 450px) {
- .flow-text {
- font-size: 1.272rem;
- }
-}
-
-@media only screen and (min-width: 480px) {
- .flow-text {
- font-size: 1.296rem;
- }
-}
-
-@media only screen and (min-width: 510px) {
- .flow-text {
- font-size: 1.32rem;
- }
-}
-
-@media only screen and (min-width: 540px) {
- .flow-text {
- font-size: 1.344rem;
- }
-}
-
-@media only screen and (min-width: 570px) {
- .flow-text {
- font-size: 1.368rem;
- }
-}
-
-@media only screen and (min-width: 600px) {
- .flow-text {
- font-size: 1.392rem;
- }
-}
-
-@media only screen and (min-width: 630px) {
- .flow-text {
- font-size: 1.416rem;
- }
-}
-
-@media only screen and (min-width: 660px) {
- .flow-text {
- font-size: 1.44rem;
- }
-}
-
-@media only screen and (min-width: 690px) {
- .flow-text {
- font-size: 1.464rem;
- }
-}
-
-@media only screen and (min-width: 720px) {
- .flow-text {
- font-size: 1.488rem;
- }
-}
-
-@media only screen and (min-width: 750px) {
- .flow-text {
- font-size: 1.512rem;
- }
-}
-
-@media only screen and (min-width: 780px) {
- .flow-text {
- font-size: 1.536rem;
- }
-}
-
-@media only screen and (min-width: 810px) {
- .flow-text {
- font-size: 1.56rem;
- }
-}
-
-@media only screen and (min-width: 840px) {
- .flow-text {
- font-size: 1.584rem;
- }
-}
-
-@media only screen and (min-width: 870px) {
- .flow-text {
- font-size: 1.608rem;
- }
-}
-
-@media only screen and (min-width: 900px) {
- .flow-text {
- font-size: 1.632rem;
- }
-}
-
-@media only screen and (min-width: 930px) {
- .flow-text {
- font-size: 1.656rem;
- }
-}
-
-@media only screen and (min-width: 960px) {
- .flow-text {
- font-size: 1.68rem;
- }
-}
-
-@media only screen and (max-width: 360px) {
- .flow-text {
- font-size: 1.2rem;
- }
-}
-
-.scale-transition {
- -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63) !important;
- transition: -webkit-transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63) !important;
- transition: transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63) !important;
- transition: transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63), -webkit-transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63) !important;
-}
-
-.scale-transition.scale-out {
- -webkit-transform: scale(0);
- transform: scale(0);
- -webkit-transition: -webkit-transform .2s !important;
- transition: -webkit-transform .2s !important;
- transition: transform .2s !important;
- transition: transform .2s, -webkit-transform .2s !important;
-}
-
-.scale-transition.scale-in {
- -webkit-transform: scale(1);
- transform: scale(1);
-}
-
-.card-panel {
- -webkit-transition: -webkit-box-shadow .25s;
- transition: -webkit-box-shadow .25s;
- transition: box-shadow .25s;
- transition: box-shadow .25s, -webkit-box-shadow .25s;
- padding: 24px;
- margin: 0.5rem 0 1rem 0;
- border-radius: 2px;
- background-color: #fff;
-}
-
-.card {
- position: relative;
- margin: 0.5rem 0 1rem 0;
- background-color: #fff;
- -webkit-transition: -webkit-box-shadow .25s;
- transition: -webkit-box-shadow .25s;
- transition: box-shadow .25s;
- transition: box-shadow .25s, -webkit-box-shadow .25s;
- border-radius: 2px;
-}
-
-.card .card-title {
- font-size: 24px;
- font-weight: 300;
-}
-
-.card .card-title.activator {
- cursor: pointer;
-}
-
-.card.small, .card.medium, .card.large {
- position: relative;
-}
-
-.card.small .card-image, .card.medium .card-image, .card.large .card-image {
- max-height: 60%;
- overflow: hidden;
-}
-
-.card.small .card-image + .card-content, .card.medium .card-image + .card-content, .card.large .card-image + .card-content {
- max-height: 40%;
-}
-
-.card.small .card-content, .card.medium .card-content, .card.large .card-content {
- max-height: 100%;
- overflow: hidden;
-}
-
-.card.small .card-action, .card.medium .card-action, .card.large .card-action {
- position: absolute;
- bottom: 0;
- left: 0;
- right: 0;
-}
-
-.card.small {
- height: 300px;
-}
-
-.card.medium {
- height: 400px;
-}
-
-.card.large {
- height: 500px;
-}
-
-.card.horizontal {
- display: -webkit-box;
- display: -webkit-flex;
- display: -ms-flexbox;
- display: flex;
-}
-
-.card.horizontal.small .card-image, .card.horizontal.medium .card-image, .card.horizontal.large .card-image {
- height: 100%;
- max-height: none;
- overflow: visible;
-}
-
-.card.horizontal.small .card-image img, .card.horizontal.medium .card-image img, .card.horizontal.large .card-image img {
- height: 100%;
-}
-
-.card.horizontal .card-image {
- max-width: 50%;
-}
-
-.card.horizontal .card-image img {
- border-radius: 2px 0 0 2px;
- max-width: 100%;
- width: auto;
-}
-
-.card.horizontal .card-stacked {
- display: -webkit-box;
- display: -webkit-flex;
- display: -ms-flexbox;
- display: flex;
- -webkit-box-orient: vertical;
- -webkit-box-direction: normal;
- -webkit-flex-direction: column;
- -ms-flex-direction: column;
- flex-direction: column;
- -webkit-box-flex: 1;
- -webkit-flex: 1;
- -ms-flex: 1;
- flex: 1;
- position: relative;
-}
-
-.card.horizontal .card-stacked .card-content {
- -webkit-box-flex: 1;
- -webkit-flex-grow: 1;
- -ms-flex-positive: 1;
- flex-grow: 1;
-}
-
-.card.sticky-action .card-action {
- z-index: 2;
-}
-
-.card.sticky-action .card-reveal {
- z-index: 1;
- padding-bottom: 64px;
-}
-
-.card .card-image {
- position: relative;
-}
-
-.card .card-image img {
- display: block;
- border-radius: 2px 2px 0 0;
- position: relative;
- left: 0;
- right: 0;
- top: 0;
- bottom: 0;
- width: 100%;
-}
-
-.card .card-image .card-title {
- color: #fff;
- position: absolute;
- bottom: 0;
- left: 0;
- max-width: 100%;
- padding: 24px;
-}
-
-.card .card-content {
- padding: 24px;
- border-radius: 0 0 2px 2px;
-}
-
-.card .card-content p {
- margin: 0;
-}
-
-.card .card-content .card-title {
- display: block;
- line-height: 32px;
- margin-bottom: 8px;
-}
-
-.card .card-content .card-title i {
- line-height: 32px;
-}
-
-.card .card-action {
- background-color: inherit;
- border-top: 1px solid rgba(160, 160, 160, 0.2);
- position: relative;
- padding: 16px 24px;
-}
-
-.card .card-action:last-child {
- border-radius: 0 0 2px 2px;
-}
-
-.card .card-action a:not(.btn):not(.btn-large):not(.btn-small):not(.btn-large):not(.btn-floating) {
- color: #ffab40;
- margin-right: 24px;
- -webkit-transition: color .3s ease;
- transition: color .3s ease;
- text-transform: uppercase;
-}
-
-.card .card-action a:not(.btn):not(.btn-large):not(.btn-small):not(.btn-large):not(.btn-floating):hover {
- color: #ffd8a6;
-}
-
-.card .card-reveal {
- padding: 24px;
- position: absolute;
- background-color: #fff;
- width: 100%;
- overflow-y: auto;
- left: 0;
- top: 100%;
- height: 100%;
- z-index: 3;
- display: none;
-}
-
-.card .card-reveal .card-title {
- cursor: pointer;
- display: block;
-}
-
-#toast-container {
- display: block;
- position: fixed;
- z-index: 10000;
-}
-
-@media only screen and (max-width: 600px) {
- #toast-container {
- min-width: 100%;
- bottom: 0%;
- }
-}
-
-@media only screen and (min-width: 601px) and (max-width: 992px) {
- #toast-container {
- left: 5%;
- bottom: 7%;
- max-width: 90%;
- }
-}
-
-@media only screen and (min-width: 993px) {
- #toast-container {
- top: 10%;
- right: 7%;
- max-width: 86%;
- }
-}
-
-.toast {
- border-radius: 2px;
- top: 35px;
- width: auto;
- margin-top: 10px;
- position: relative;
- max-width: 100%;
- height: auto;
- min-height: 48px;
- line-height: 1.5em;
- background-color: #323232;
- padding: 10px 25px;
- font-size: 1.1rem;
- font-weight: 300;
- color: #fff;
- display: -webkit-box;
- display: -webkit-flex;
- display: -ms-flexbox;
- display: flex;
- -webkit-box-align: center;
- -webkit-align-items: center;
- -ms-flex-align: center;
- align-items: center;
- -webkit-box-pack: justify;
- -webkit-justify-content: space-between;
- -ms-flex-pack: justify;
- justify-content: space-between;
- cursor: default;
-}
-
-.toast .toast-action {
- color: #eeff41;
- font-weight: 500;
- margin-right: -25px;
- margin-left: 3rem;
-}
-
-.toast.rounded {
- border-radius: 24px;
-}
-
-@media only screen and (max-width: 600px) {
- .toast {
- width: 100%;
- border-radius: 0;
- }
-}
-
-.tabs {
- position: relative;
- overflow-x: auto;
- overflow-y: hidden;
- height: 48px;
- width: 100%;
- background-color: #fff;
- margin: 0 auto;
- white-space: nowrap;
-}
-
-.tabs.tabs-transparent {
- background-color: transparent;
-}
-
-.tabs.tabs-transparent .tab a,
-.tabs.tabs-transparent .tab.disabled a,
-.tabs.tabs-transparent .tab.disabled a:hover {
- color: rgba(255, 255, 255, 0.7);
-}
-
-.tabs.tabs-transparent .tab a:hover,
-.tabs.tabs-transparent .tab a.active {
- color: #fff;
-}
-
-.tabs.tabs-transparent .indicator {
- background-color: #fff;
-}
-
-.tabs.tabs-fixed-width {
- display: -webkit-box;
- display: -webkit-flex;
- display: -ms-flexbox;
- display: flex;
-}
-
-.tabs.tabs-fixed-width .tab {
- -webkit-box-flex: 1;
- -webkit-flex-grow: 1;
- -ms-flex-positive: 1;
- flex-grow: 1;
-}
-
-.tabs .tab {
- display: inline-block;
- text-align: center;
- line-height: 48px;
- height: 48px;
- padding: 0;
- margin: 0;
- text-transform: uppercase;
-}
-
-.tabs .tab a {
- color: rgba(238, 110, 115, 0.7);
- display: block;
- width: 100%;
- height: 100%;
- padding: 0 24px;
- font-size: 14px;
- text-overflow: ellipsis;
- overflow: hidden;
- -webkit-transition: color .28s ease, background-color .28s ease;
- transition: color .28s ease, background-color .28s ease;
-}
-
-.tabs .tab a:focus, .tabs .tab a:focus.active {
- background-color: rgba(246, 178, 181, 0.2);
- outline: none;
-}
-
-.tabs .tab a:hover, .tabs .tab a.active {
- background-color: transparent;
- color: #ee6e73;
-}
-
-.tabs .tab.disabled a,
-.tabs .tab.disabled a:hover {
- color: rgba(238, 110, 115, 0.4);
- cursor: default;
-}
-
-.tabs .indicator {
- position: absolute;
- bottom: 0;
- height: 2px;
- background-color: #f6b2b5;
- will-change: left, right;
-}
-
-@media only screen and (max-width: 992px) {
- .tabs {
- display: -webkit-box;
- display: -webkit-flex;
- display: -ms-flexbox;
- display: flex;
- }
- .tabs .tab {
- -webkit-box-flex: 1;
- -webkit-flex-grow: 1;
- -ms-flex-positive: 1;
- flex-grow: 1;
- }
- .tabs .tab a {
- padding: 0 12px;
- }
-}
-
-.material-tooltip {
- padding: 10px 8px;
- font-size: 1rem;
- z-index: 2000;
- background-color: transparent;
- border-radius: 2px;
- color: #fff;
- min-height: 36px;
- line-height: 120%;
- opacity: 0;
- position: absolute;
- text-align: center;
- max-width: calc(100% - 4px);
- overflow: hidden;
- left: 0;
- top: 0;
- pointer-events: none;
- visibility: hidden;
- background-color: #323232;
-}
-
-.backdrop {
- position: absolute;
- opacity: 0;
- height: 7px;
- width: 14px;
- border-radius: 0 0 50% 50%;
- background-color: #323232;
- z-index: -1;
- -webkit-transform-origin: 50% 0%;
- transform-origin: 50% 0%;
- visibility: hidden;
-}
-
-.btn, .btn-large, .btn-small,
-.btn-flat {
- border: none;
- border-radius: 2px;
- display: inline-block;
- height: 36px;
- line-height: 36px;
- padding: 0 16px;
- text-transform: uppercase;
- vertical-align: middle;
- -webkit-tap-highlight-color: transparent;
-}
-
-.btn.disabled, .disabled.btn-large, .disabled.btn-small,
-.btn-floating.disabled,
-.btn-large.disabled,
-.btn-small.disabled,
-.btn-flat.disabled,
-.btn:disabled,
-.btn-large:disabled,
-.btn-small:disabled,
-.btn-floating:disabled,
-.btn-large:disabled,
-.btn-small:disabled,
-.btn-flat:disabled,
-.btn[disabled],
-.btn-large[disabled],
-.btn-small[disabled],
-.btn-floating[disabled],
-.btn-large[disabled],
-.btn-small[disabled],
-.btn-flat[disabled] {
- pointer-events: none;
- background-color: #DFDFDF !important;
- -webkit-box-shadow: none;
- box-shadow: none;
- color: #9F9F9F !important;
- cursor: default;
-}
-
-.btn.disabled:hover, .disabled.btn-large:hover, .disabled.btn-small:hover,
-.btn-floating.disabled:hover,
-.btn-large.disabled:hover,
-.btn-small.disabled:hover,
-.btn-flat.disabled:hover,
-.btn:disabled:hover,
-.btn-large:disabled:hover,
-.btn-small:disabled:hover,
-.btn-floating:disabled:hover,
-.btn-large:disabled:hover,
-.btn-small:disabled:hover,
-.btn-flat:disabled:hover,
-.btn[disabled]:hover,
-.btn-large[disabled]:hover,
-.btn-small[disabled]:hover,
-.btn-floating[disabled]:hover,
-.btn-large[disabled]:hover,
-.btn-small[disabled]:hover,
-.btn-flat[disabled]:hover {
- background-color: #DFDFDF !important;
- color: #9F9F9F !important;
-}
-
-.btn, .btn-large, .btn-small,
-.btn-floating,
-.btn-large,
-.btn-small,
-.btn-flat {
- font-size: 14px;
- outline: 0;
-}
-
-.btn i, .btn-large i, .btn-small i,
-.btn-floating i,
-.btn-large i,
-.btn-small i,
-.btn-flat i {
- font-size: 1.3rem;
- line-height: inherit;
-}
-
-.btn:focus, .btn-large:focus, .btn-small:focus,
-.btn-floating:focus {
- background-color: #1d7d74;
-}
-
-.btn, .btn-large, .btn-small {
- text-decoration: none;
- color: #fff;
- background-color: #26a69a;
- text-align: center;
- letter-spacing: .5px;
- -webkit-transition: background-color .2s ease-out;
- transition: background-color .2s ease-out;
- cursor: pointer;
-}
-
-.btn:hover, .btn-large:hover, .btn-small:hover {
- background-color: #2bbbad;
-}
-
-.btn-floating {
- display: inline-block;
- color: #fff;
- position: relative;
- overflow: hidden;
- z-index: 1;
- width: 40px;
- height: 40px;
- line-height: 40px;
- padding: 0;
- background-color: #26a69a;
- border-radius: 50%;
- -webkit-transition: background-color .3s;
- transition: background-color .3s;
- cursor: pointer;
- vertical-align: middle;
-}
-
-.btn-floating:hover {
- background-color: #26a69a;
-}
-
-.btn-floating:before {
- border-radius: 0;
-}
-
-.btn-floating.btn-large {
- width: 56px;
- height: 56px;
- padding: 0;
-}
-
-.btn-floating.btn-large.halfway-fab {
- bottom: -28px;
-}
-
-.btn-floating.btn-large i {
- line-height: 56px;
-}
-
-.btn-floating.btn-small {
- width: 32.4px;
- height: 32.4px;
-}
-
-.btn-floating.btn-small.halfway-fab {
- bottom: -16.2px;
-}
-
-.btn-floating.btn-small i {
- line-height: 32.4px;
-}
-
-.btn-floating.halfway-fab {
- position: absolute;
- right: 24px;
- bottom: -20px;
-}
-
-.btn-floating.halfway-fab.left {
- right: auto;
- left: 24px;
-}
-
-.btn-floating i {
- width: inherit;
- display: inline-block;
- text-align: center;
- color: #fff;
- font-size: 1.6rem;
- line-height: 40px;
-}
-
-button.btn-floating {
- border: none;
-}
-
-.fixed-action-btn {
- position: fixed;
- right: 23px;
- bottom: 23px;
- padding-top: 15px;
- margin-bottom: 0;
- z-index: 997;
-}
-
-.fixed-action-btn.active ul {
- visibility: visible;
-}
-
-.fixed-action-btn.direction-left, .fixed-action-btn.direction-right {
- padding: 0 0 0 15px;
-}
-
-.fixed-action-btn.direction-left ul, .fixed-action-btn.direction-right ul {
- text-align: right;
- right: 64px;
- top: 50%;
- -webkit-transform: translateY(-50%);
- transform: translateY(-50%);
- height: 100%;
- left: auto;
- /*width 100% only goes to width of button container */
- width: 500px;
-}
-
-.fixed-action-btn.direction-left ul li, .fixed-action-btn.direction-right ul li {
- display: inline-block;
- margin: 7.5px 15px 0 0;
-}
-
-.fixed-action-btn.direction-right {
- padding: 0 15px 0 0;
-}
-
-.fixed-action-btn.direction-right ul {
- text-align: left;
- direction: rtl;
- left: 64px;
- right: auto;
-}
-
-.fixed-action-btn.direction-right ul li {
- margin: 7.5px 0 0 15px;
-}
-
-.fixed-action-btn.direction-bottom {
- padding: 0 0 15px 0;
-}
-
-.fixed-action-btn.direction-bottom ul {
- top: 64px;
- bottom: auto;
- display: -webkit-box;
- display: -webkit-flex;
- display: -ms-flexbox;
- display: flex;
- -webkit-box-orient: vertical;
- -webkit-box-direction: reverse;
- -webkit-flex-direction: column-reverse;
- -ms-flex-direction: column-reverse;
- flex-direction: column-reverse;
-}
-
-.fixed-action-btn.direction-bottom ul li {
- margin: 15px 0 0 0;
-}
-
-.fixed-action-btn.toolbar {
- padding: 0;
- height: 56px;
-}
-
-.fixed-action-btn.toolbar.active > a i {
- opacity: 0;
-}
-
-.fixed-action-btn.toolbar ul {
- display: -webkit-box;
- display: -webkit-flex;
- display: -ms-flexbox;
- display: flex;
- top: 0;
- bottom: 0;
- z-index: 1;
-}
-
-.fixed-action-btn.toolbar ul li {
- -webkit-box-flex: 1;
- -webkit-flex: 1;
- -ms-flex: 1;
- flex: 1;
- display: inline-block;
- margin: 0;
- height: 100%;
- -webkit-transition: none;
- transition: none;
-}
-
-.fixed-action-btn.toolbar ul li a {
- display: block;
- overflow: hidden;
- position: relative;
- width: 100%;
- height: 100%;
- background-color: transparent;
- -webkit-box-shadow: none;
- box-shadow: none;
- color: #fff;
- line-height: 56px;
- z-index: 1;
-}
-
-.fixed-action-btn.toolbar ul li a i {
- line-height: inherit;
-}
-
-.fixed-action-btn ul {
- left: 0;
- right: 0;
- text-align: center;
- position: absolute;
- bottom: 64px;
- margin: 0;
- visibility: hidden;
-}
-
-.fixed-action-btn ul li {
- margin-bottom: 15px;
-}
-
-.fixed-action-btn ul a.btn-floating {
- opacity: 0;
-}
-
-.fixed-action-btn .fab-backdrop {
- position: absolute;
- top: 0;
- left: 0;
- z-index: -1;
- width: 40px;
- height: 40px;
- background-color: #26a69a;
- border-radius: 50%;
- -webkit-transform: scale(0);
- transform: scale(0);
-}
-
-.btn-flat {
- -webkit-box-shadow: none;
- box-shadow: none;
- background-color: transparent;
- color: #343434;
- cursor: pointer;
- -webkit-transition: background-color .2s;
- transition: background-color .2s;
-}
-
-.btn-flat:focus, .btn-flat:hover {
- -webkit-box-shadow: none;
- box-shadow: none;
-}
-
-.btn-flat:focus {
- background-color: rgba(0, 0, 0, 0.1);
-}
-
-.btn-flat.disabled, .btn-flat.btn-flat[disabled] {
- background-color: transparent !important;
- color: #b3b2b2 !important;
- cursor: default;
-}
-
-.btn-large {
- height: 54px;
- line-height: 54px;
- font-size: 15px;
- padding: 0 28px;
-}
-
-.btn-large i {
- font-size: 1.6rem;
-}
-
-.btn-small {
- height: 32.4px;
- line-height: 32.4px;
- font-size: 13px;
-}
-
-.btn-small i {
- font-size: 1.2rem;
-}
-
-.btn-block {
- display: block;
-}
-
-.dropdown-content {
- background-color: #fff;
- margin: 0;
- display: none;
- min-width: 100px;
- overflow-y: auto;
- opacity: 0;
- position: absolute;
- left: 0;
- top: 0;
- z-index: 9999;
- -webkit-transform-origin: 0 0;
- transform-origin: 0 0;
-}
-
-.dropdown-content:focus {
- outline: 0;
-}
-
-.dropdown-content li {
- clear: both;
- color: rgba(0, 0, 0, 0.87);
- cursor: pointer;
- min-height: 50px;
- line-height: 1.5rem;
- width: 100%;
- text-align: left;
-}
-
-.dropdown-content li:hover, .dropdown-content li.active {
- background-color: #eee;
-}
-
-.dropdown-content li:focus {
- outline: none;
-}
-
-.dropdown-content li.divider {
- min-height: 0;
- height: 1px;
-}
-
-.dropdown-content li > a, .dropdown-content li > span {
- font-size: 16px;
- color: #26a69a;
- display: block;
- line-height: 22px;
- padding: 14px 16px;
-}
-
-.dropdown-content li > span > label {
- top: 1px;
- left: 0;
- height: 18px;
-}
-
-.dropdown-content li > a > i {
- height: inherit;
- line-height: inherit;
- float: left;
- margin: 0 24px 0 0;
- width: 24px;
-}
-
-body.keyboard-focused .dropdown-content li:focus {
- background-color: #dadada;
-}
-
-.input-field.col .dropdown-content [type="checkbox"] + label {
- top: 1px;
- left: 0;
- height: 18px;
- -webkit-transform: none;
- transform: none;
-}
-
-.dropdown-trigger {
- cursor: pointer;
-}
-
-/*!
- * Waves v0.6.0
- * http://fian.my.id/Waves
- *
- * Copyright 2014 Alfiana E. Sibuea and other contributors
- * Released under the MIT license
- * https://github.com/fians/Waves/blob/master/LICENSE
- */
-.waves-effect {
- position: relative;
- cursor: pointer;
- display: inline-block;
- overflow: hidden;
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
- -webkit-tap-highlight-color: transparent;
- vertical-align: middle;
- z-index: 1;
- -webkit-transition: .3s ease-out;
- transition: .3s ease-out;
-}
-
-.waves-effect .waves-ripple {
- position: absolute;
- border-radius: 50%;
- width: 20px;
- height: 20px;
- margin-top: -10px;
- margin-left: -10px;
- opacity: 0;
- background: rgba(0, 0, 0, 0.2);
- -webkit-transition: all 0.7s ease-out;
- transition: all 0.7s ease-out;
- -webkit-transition-property: opacity, -webkit-transform;
- transition-property: opacity, -webkit-transform;
- transition-property: transform, opacity;
- transition-property: transform, opacity, -webkit-transform;
- -webkit-transform: scale(0);
- transform: scale(0);
- pointer-events: none;
-}
-
-.waves-effect.waves-light .waves-ripple {
- background-color: rgba(255, 255, 255, 0.45);
-}
-
-.waves-effect.waves-red .waves-ripple {
- background-color: rgba(244, 67, 54, 0.7);
-}
-
-.waves-effect.waves-yellow .waves-ripple {
- background-color: rgba(255, 235, 59, 0.7);
-}
-
-.waves-effect.waves-orange .waves-ripple {
- background-color: rgba(255, 152, 0, 0.7);
-}
-
-.waves-effect.waves-purple .waves-ripple {
- background-color: rgba(156, 39, 176, 0.7);
-}
-
-.waves-effect.waves-green .waves-ripple {
- background-color: rgba(76, 175, 80, 0.7);
-}
-
-.waves-effect.waves-teal .waves-ripple {
- background-color: rgba(0, 150, 136, 0.7);
-}
-
-.waves-effect input[type="button"], .waves-effect input[type="reset"], .waves-effect input[type="submit"] {
- border: 0;
- font-style: normal;
- font-size: inherit;
- text-transform: inherit;
- background: none;
-}
-
-.waves-effect img {
- position: relative;
- z-index: -1;
-}
-
-.waves-notransition {
- -webkit-transition: none !important;
- transition: none !important;
-}
-
-.waves-circle {
- -webkit-transform: translateZ(0);
- transform: translateZ(0);
- -webkit-mask-image: -webkit-radial-gradient(circle, white 100%, black 100%);
-}
-
-.waves-input-wrapper {
- border-radius: 0.2em;
- vertical-align: bottom;
-}
-
-.waves-input-wrapper .waves-button-input {
- position: relative;
- top: 0;
- left: 0;
- z-index: 1;
-}
-
-.waves-circle {
- text-align: center;
- width: 2.5em;
- height: 2.5em;
- line-height: 2.5em;
- border-radius: 50%;
- -webkit-mask-image: none;
-}
-
-.waves-block {
- display: block;
-}
-
-/* Firefox Bug: link not triggered */
-.waves-effect .waves-ripple {
- z-index: -1;
-}
-
-.modal {
- display: none;
- position: fixed;
- left: 0;
- right: 0;
- background-color: #fafafa;
- padding: 0;
- max-height: 70%;
- width: 55%;
- margin: auto;
- overflow-y: auto;
- border-radius: 2px;
- will-change: top, opacity;
-}
-
-.modal:focus {
- outline: none;
-}
-
-@media only screen and (max-width: 992px) {
- .modal {
- width: 80%;
- }
-}
-
-.modal h1, .modal h2, .modal h3, .modal h4 {
- margin-top: 0;
-}
-
-.modal .modal-content {
- padding: 24px;
-}
-
-.modal .modal-close {
- cursor: pointer;
-}
-
-.modal .modal-footer {
- border-radius: 0 0 2px 2px;
- background-color: #fafafa;
- padding: 4px 6px;
- height: 56px;
- width: 100%;
- text-align: right;
-}
-
-.modal .modal-footer .btn, .modal .modal-footer .btn-large, .modal .modal-footer .btn-small, .modal .modal-footer .btn-flat {
- margin: 6px 0;
-}
-
-.modal-overlay {
- position: fixed;
- z-index: 999;
- top: -25%;
- left: 0;
- bottom: 0;
- right: 0;
- height: 125%;
- width: 100%;
- background: #000;
- display: none;
- will-change: opacity;
-}
-
-.modal.modal-fixed-footer {
- padding: 0;
- height: 70%;
-}
-
-.modal.modal-fixed-footer .modal-content {
- position: absolute;
- height: calc(100% - 56px);
- max-height: 100%;
- width: 100%;
- overflow-y: auto;
-}
-
-.modal.modal-fixed-footer .modal-footer {
- border-top: 1px solid rgba(0, 0, 0, 0.1);
- position: absolute;
- bottom: 0;
-}
-
-.modal.bottom-sheet {
- top: auto;
- bottom: -100%;
- margin: 0;
- width: 100%;
- max-height: 45%;
- border-radius: 0;
- will-change: bottom, opacity;
-}
-
-.collapsible {
- border-top: 1px solid #ddd;
- border-right: 1px solid #ddd;
- border-left: 1px solid #ddd;
- margin: 0.5rem 0 1rem 0;
-}
-
-.collapsible-header {
- display: -webkit-box;
- display: -webkit-flex;
- display: -ms-flexbox;
- display: flex;
- cursor: pointer;
- -webkit-tap-highlight-color: transparent;
- line-height: 1.5;
- padding: 1rem;
- background-color: #fff;
- border-bottom: 1px solid #ddd;
-}
-
-.collapsible-header:focus {
- outline: 0;
-}
-
-.collapsible-header i {
- width: 2rem;
- font-size: 1.6rem;
- display: inline-block;
- text-align: center;
- margin-right: 1rem;
-}
-
-.keyboard-focused .collapsible-header:focus {
- background-color: #eee;
-}
-
-.collapsible-body {
- display: none;
- border-bottom: 1px solid #ddd;
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
- padding: 2rem;
-}
-
-.sidenav .collapsible,
-.sidenav.fixed .collapsible {
- border: none;
- -webkit-box-shadow: none;
- box-shadow: none;
-}
-
-.sidenav .collapsible li,
-.sidenav.fixed .collapsible li {
- padding: 0;
-}
-
-.sidenav .collapsible-header,
-.sidenav.fixed .collapsible-header {
- background-color: transparent;
- border: none;
- line-height: inherit;
- height: inherit;
- padding: 0 16px;
-}
-
-.sidenav .collapsible-header:hover,
-.sidenav.fixed .collapsible-header:hover {
- background-color: rgba(0, 0, 0, 0.05);
-}
-
-.sidenav .collapsible-header i,
-.sidenav.fixed .collapsible-header i {
- line-height: inherit;
-}
-
-.sidenav .collapsible-body,
-.sidenav.fixed .collapsible-body {
- border: 0;
- background-color: #fff;
-}
-
-.sidenav .collapsible-body li a,
-.sidenav.fixed .collapsible-body li a {
- padding: 0 23.5px 0 31px;
-}
-
-.collapsible.popout {
- border: none;
- -webkit-box-shadow: none;
- box-shadow: none;
-}
-
-.collapsible.popout > li {
- -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
- box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
- margin: 0 24px;
- -webkit-transition: margin 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
- transition: margin 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
-}
-
-.collapsible.popout > li.active {
- -webkit-box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
- box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.18), 0 4px 15px 0 rgba(0, 0, 0, 0.15);
- margin: 16px 0;
-}
-
-.chip {
- display: inline-block;
- height: 32px;
- font-size: 13px;
- font-weight: 500;
- color: rgba(0, 0, 0, 0.6);
- line-height: 32px;
- padding: 0 12px;
- border-radius: 16px;
- background-color: #e4e4e4;
- margin-bottom: 5px;
- margin-right: 5px;
-}
-
-.chip:focus {
- outline: none;
- background-color: #26a69a;
- color: #fff;
-}
-
-.chip > img {
- float: left;
- margin: 0 8px 0 -12px;
- height: 32px;
- width: 32px;
- border-radius: 50%;
-}
-
-.chip .close {
- cursor: pointer;
- float: right;
- font-size: 16px;
- line-height: 32px;
- padding-left: 8px;
-}
-
-.chips {
- border: none;
- border-bottom: 1px solid #9e9e9e;
- -webkit-box-shadow: none;
- box-shadow: none;
- margin: 0 0 8px 0;
- min-height: 45px;
- outline: none;
- -webkit-transition: all .3s;
- transition: all .3s;
-}
-
-.chips.focus {
- border-bottom: 1px solid #26a69a;
- -webkit-box-shadow: 0 1px 0 0 #26a69a;
- box-shadow: 0 1px 0 0 #26a69a;
-}
-
-.chips:hover {
- cursor: text;
-}
-
-.chips .input {
- background: none;
- border: 0;
- color: rgba(0, 0, 0, 0.6);
- display: inline-block;
- font-size: 16px;
- height: 3rem;
- line-height: 32px;
- outline: 0;
- margin: 0;
- padding: 0 !important;
- width: 120px !important;
-}
-
-.chips .input:focus {
- border: 0 !important;
- -webkit-box-shadow: none !important;
- box-shadow: none !important;
-}
-
-.chips .autocomplete-content {
- margin-top: 0;
- margin-bottom: 0;
-}
-
-.prefix ~ .chips {
- margin-left: 3rem;
- width: 92%;
- width: calc(100% - 3rem);
-}
-
-.chips:empty ~ label {
- font-size: 0.8rem;
- -webkit-transform: translateY(-140%);
- transform: translateY(-140%);
-}
-
-.materialboxed {
- display: block;
- cursor: -webkit-zoom-in;
- cursor: zoom-in;
- position: relative;
- -webkit-transition: opacity .4s;
- transition: opacity .4s;
- -webkit-backface-visibility: hidden;
-}
-
-.materialboxed:hover:not(.active) {
- opacity: .8;
-}
-
-.materialboxed.active {
- cursor: -webkit-zoom-out;
- cursor: zoom-out;
-}
-
-#materialbox-overlay {
- position: fixed;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- background-color: #292929;
- z-index: 1000;
- will-change: opacity;
-}
-
-.materialbox-caption {
- position: fixed;
- display: none;
- color: #fff;
- line-height: 50px;
- bottom: 0;
- left: 0;
- width: 100%;
- text-align: center;
- padding: 0% 15%;
- height: 50px;
- z-index: 1000;
- -webkit-font-smoothing: antialiased;
-}
-
-select:focus {
- outline: 1px solid #c9f3ef;
-}
-
-button:focus {
- outline: none;
- background-color: #2ab7a9;
-}
-
-label {
- font-size: 0.8rem;
- color: #9e9e9e;
-}
-
-/* Text Inputs + Textarea
- ========================================================================== */
-/* Style Placeholders */
-::-webkit-input-placeholder {
- color: #d1d1d1;
-}
-::-moz-placeholder {
- color: #d1d1d1;
-}
-:-ms-input-placeholder {
- color: #d1d1d1;
-}
-::-ms-input-placeholder {
- color: #d1d1d1;
-}
-::placeholder {
- color: #d1d1d1;
-}
-
-/* Text inputs */
-input:not([type]),
-input[type=text]:not(.browser-default),
-input[type=password]:not(.browser-default),
-input[type=email]:not(.browser-default),
-input[type=url]:not(.browser-default),
-input[type=time]:not(.browser-default),
-input[type=date]:not(.browser-default),
-input[type=datetime]:not(.browser-default),
-input[type=datetime-local]:not(.browser-default),
-input[type=tel]:not(.browser-default),
-input[type=number]:not(.browser-default),
-input[type=search]:not(.browser-default),
-textarea.materialize-textarea {
- background-color: transparent;
- border: none;
- border-bottom: 1px solid #9e9e9e;
- border-radius: 0;
- outline: none;
- height: 3rem;
- width: 100%;
- font-size: 16px;
- margin: 0 0 8px 0;
- padding: 0;
- -webkit-box-shadow: none;
- box-shadow: none;
- -webkit-box-sizing: content-box;
- box-sizing: content-box;
- -webkit-transition: border .3s, -webkit-box-shadow .3s;
- transition: border .3s, -webkit-box-shadow .3s;
- transition: box-shadow .3s, border .3s;
- transition: box-shadow .3s, border .3s, -webkit-box-shadow .3s;
-}
-
-input:not([type]):disabled, input:not([type])[readonly="readonly"],
-input[type=text]:not(.browser-default):disabled,
-input[type=text]:not(.browser-default)[readonly="readonly"],
-input[type=password]:not(.browser-default):disabled,
-input[type=password]:not(.browser-default)[readonly="readonly"],
-input[type=email]:not(.browser-default):disabled,
-input[type=email]:not(.browser-default)[readonly="readonly"],
-input[type=url]:not(.browser-default):disabled,
-input[type=url]:not(.browser-default)[readonly="readonly"],
-input[type=time]:not(.browser-default):disabled,
-input[type=time]:not(.browser-default)[readonly="readonly"],
-input[type=date]:not(.browser-default):disabled,
-input[type=date]:not(.browser-default)[readonly="readonly"],
-input[type=datetime]:not(.browser-default):disabled,
-input[type=datetime]:not(.browser-default)[readonly="readonly"],
-input[type=datetime-local]:not(.browser-default):disabled,
-input[type=datetime-local]:not(.browser-default)[readonly="readonly"],
-input[type=tel]:not(.browser-default):disabled,
-input[type=tel]:not(.browser-default)[readonly="readonly"],
-input[type=number]:not(.browser-default):disabled,
-input[type=number]:not(.browser-default)[readonly="readonly"],
-input[type=search]:not(.browser-default):disabled,
-input[type=search]:not(.browser-default)[readonly="readonly"],
-textarea.materialize-textarea:disabled,
-textarea.materialize-textarea[readonly="readonly"] {
- color: rgba(0, 0, 0, 0.42);
- border-bottom: 1px dotted rgba(0, 0, 0, 0.42);
-}
-
-input:not([type]):disabled + label,
-input:not([type])[readonly="readonly"] + label,
-input[type=text]:not(.browser-default):disabled + label,
-input[type=text]:not(.browser-default)[readonly="readonly"] + label,
-input[type=password]:not(.browser-default):disabled + label,
-input[type=password]:not(.browser-default)[readonly="readonly"] + label,
-input[type=email]:not(.browser-default):disabled + label,
-input[type=email]:not(.browser-default)[readonly="readonly"] + label,
-input[type=url]:not(.browser-default):disabled + label,
-input[type=url]:not(.browser-default)[readonly="readonly"] + label,
-input[type=time]:not(.browser-default):disabled + label,
-input[type=time]:not(.browser-default)[readonly="readonly"] + label,
-input[type=date]:not(.browser-default):disabled + label,
-input[type=date]:not(.browser-default)[readonly="readonly"] + label,
-input[type=datetime]:not(.browser-default):disabled + label,
-input[type=datetime]:not(.browser-default)[readonly="readonly"] + label,
-input[type=datetime-local]:not(.browser-default):disabled + label,
-input[type=datetime-local]:not(.browser-default)[readonly="readonly"] + label,
-input[type=tel]:not(.browser-default):disabled + label,
-input[type=tel]:not(.browser-default)[readonly="readonly"] + label,
-input[type=number]:not(.browser-default):disabled + label,
-input[type=number]:not(.browser-default)[readonly="readonly"] + label,
-input[type=search]:not(.browser-default):disabled + label,
-input[type=search]:not(.browser-default)[readonly="readonly"] + label,
-textarea.materialize-textarea:disabled + label,
-textarea.materialize-textarea[readonly="readonly"] + label {
- color: rgba(0, 0, 0, 0.42);
-}
-
-input:not([type]):focus:not([readonly]),
-input[type=text]:not(.browser-default):focus:not([readonly]),
-input[type=password]:not(.browser-default):focus:not([readonly]),
-input[type=email]:not(.browser-default):focus:not([readonly]),
-input[type=url]:not(.browser-default):focus:not([readonly]),
-input[type=time]:not(.browser-default):focus:not([readonly]),
-input[type=date]:not(.browser-default):focus:not([readonly]),
-input[type=datetime]:not(.browser-default):focus:not([readonly]),
-input[type=datetime-local]:not(.browser-default):focus:not([readonly]),
-input[type=tel]:not(.browser-default):focus:not([readonly]),
-input[type=number]:not(.browser-default):focus:not([readonly]),
-input[type=search]:not(.browser-default):focus:not([readonly]),
-textarea.materialize-textarea:focus:not([readonly]) {
- border-bottom: 1px solid #26a69a;
- -webkit-box-shadow: 0 1px 0 0 #26a69a;
- box-shadow: 0 1px 0 0 #26a69a;
-}
-
-input:not([type]):focus:not([readonly]) + label,
-input[type=text]:not(.browser-default):focus:not([readonly]) + label,
-input[type=password]:not(.browser-default):focus:not([readonly]) + label,
-input[type=email]:not(.browser-default):focus:not([readonly]) + label,
-input[type=url]:not(.browser-default):focus:not([readonly]) + label,
-input[type=time]:not(.browser-default):focus:not([readonly]) + label,
-input[type=date]:not(.browser-default):focus:not([readonly]) + label,
-input[type=datetime]:not(.browser-default):focus:not([readonly]) + label,
-input[type=datetime-local]:not(.browser-default):focus:not([readonly]) + label,
-input[type=tel]:not(.browser-default):focus:not([readonly]) + label,
-input[type=number]:not(.browser-default):focus:not([readonly]) + label,
-input[type=search]:not(.browser-default):focus:not([readonly]) + label,
-textarea.materialize-textarea:focus:not([readonly]) + label {
- color: #26a69a;
-}
-
-input:not([type]):focus.valid ~ label,
-input[type=text]:not(.browser-default):focus.valid ~ label,
-input[type=password]:not(.browser-default):focus.valid ~ label,
-input[type=email]:not(.browser-default):focus.valid ~ label,
-input[type=url]:not(.browser-default):focus.valid ~ label,
-input[type=time]:not(.browser-default):focus.valid ~ label,
-input[type=date]:not(.browser-default):focus.valid ~ label,
-input[type=datetime]:not(.browser-default):focus.valid ~ label,
-input[type=datetime-local]:not(.browser-default):focus.valid ~ label,
-input[type=tel]:not(.browser-default):focus.valid ~ label,
-input[type=number]:not(.browser-default):focus.valid ~ label,
-input[type=search]:not(.browser-default):focus.valid ~ label,
-textarea.materialize-textarea:focus.valid ~ label {
- color: #4CAF50;
-}
-
-input:not([type]):focus.invalid ~ label,
-input[type=text]:not(.browser-default):focus.invalid ~ label,
-input[type=password]:not(.browser-default):focus.invalid ~ label,
-input[type=email]:not(.browser-default):focus.invalid ~ label,
-input[type=url]:not(.browser-default):focus.invalid ~ label,
-input[type=time]:not(.browser-default):focus.invalid ~ label,
-input[type=date]:not(.browser-default):focus.invalid ~ label,
-input[type=datetime]:not(.browser-default):focus.invalid ~ label,
-input[type=datetime-local]:not(.browser-default):focus.invalid ~ label,
-input[type=tel]:not(.browser-default):focus.invalid ~ label,
-input[type=number]:not(.browser-default):focus.invalid ~ label,
-input[type=search]:not(.browser-default):focus.invalid ~ label,
-textarea.materialize-textarea:focus.invalid ~ label {
- color: #F44336;
-}
-
-input:not([type]).validate + label,
-input[type=text]:not(.browser-default).validate + label,
-input[type=password]:not(.browser-default).validate + label,
-input[type=email]:not(.browser-default).validate + label,
-input[type=url]:not(.browser-default).validate + label,
-input[type=time]:not(.browser-default).validate + label,
-input[type=date]:not(.browser-default).validate + label,
-input[type=datetime]:not(.browser-default).validate + label,
-input[type=datetime-local]:not(.browser-default).validate + label,
-input[type=tel]:not(.browser-default).validate + label,
-input[type=number]:not(.browser-default).validate + label,
-input[type=search]:not(.browser-default).validate + label,
-textarea.materialize-textarea.validate + label {
- width: 100%;
-}
-
-/* Validation Sass Placeholders */
-input.valid:not([type]), input.valid:not([type]):focus,
-input.valid[type=text]:not(.browser-default),
-input.valid[type=text]:not(.browser-default):focus,
-input.valid[type=password]:not(.browser-default),
-input.valid[type=password]:not(.browser-default):focus,
-input.valid[type=email]:not(.browser-default),
-input.valid[type=email]:not(.browser-default):focus,
-input.valid[type=url]:not(.browser-default),
-input.valid[type=url]:not(.browser-default):focus,
-input.valid[type=time]:not(.browser-default),
-input.valid[type=time]:not(.browser-default):focus,
-input.valid[type=date]:not(.browser-default),
-input.valid[type=date]:not(.browser-default):focus,
-input.valid[type=datetime]:not(.browser-default),
-input.valid[type=datetime]:not(.browser-default):focus,
-input.valid[type=datetime-local]:not(.browser-default),
-input.valid[type=datetime-local]:not(.browser-default):focus,
-input.valid[type=tel]:not(.browser-default),
-input.valid[type=tel]:not(.browser-default):focus,
-input.valid[type=number]:not(.browser-default),
-input.valid[type=number]:not(.browser-default):focus,
-input.valid[type=search]:not(.browser-default),
-input.valid[type=search]:not(.browser-default):focus,
-textarea.materialize-textarea.valid,
-textarea.materialize-textarea.valid:focus, .select-wrapper.valid > input.select-dropdown {
- border-bottom: 1px solid #4CAF50;
- -webkit-box-shadow: 0 1px 0 0 #4CAF50;
- box-shadow: 0 1px 0 0 #4CAF50;
-}
-
-input.invalid:not([type]), input.invalid:not([type]):focus,
-input.invalid[type=text]:not(.browser-default),
-input.invalid[type=text]:not(.browser-default):focus,
-input.invalid[type=password]:not(.browser-default),
-input.invalid[type=password]:not(.browser-default):focus,
-input.invalid[type=email]:not(.browser-default),
-input.invalid[type=email]:not(.browser-default):focus,
-input.invalid[type=url]:not(.browser-default),
-input.invalid[type=url]:not(.browser-default):focus,
-input.invalid[type=time]:not(.browser-default),
-input.invalid[type=time]:not(.browser-default):focus,
-input.invalid[type=date]:not(.browser-default),
-input.invalid[type=date]:not(.browser-default):focus,
-input.invalid[type=datetime]:not(.browser-default),
-input.invalid[type=datetime]:not(.browser-default):focus,
-input.invalid[type=datetime-local]:not(.browser-default),
-input.invalid[type=datetime-local]:not(.browser-default):focus,
-input.invalid[type=tel]:not(.browser-default),
-input.invalid[type=tel]:not(.browser-default):focus,
-input.invalid[type=number]:not(.browser-default),
-input.invalid[type=number]:not(.browser-default):focus,
-input.invalid[type=search]:not(.browser-default),
-input.invalid[type=search]:not(.browser-default):focus,
-textarea.materialize-textarea.invalid,
-textarea.materialize-textarea.invalid:focus, .select-wrapper.invalid > input.select-dropdown,
-.select-wrapper.invalid > input.select-dropdown:focus {
- border-bottom: 1px solid #F44336;
- -webkit-box-shadow: 0 1px 0 0 #F44336;
- box-shadow: 0 1px 0 0 #F44336;
-}
-
-input:not([type]).valid ~ .helper-text[data-success],
-input:not([type]):focus.valid ~ .helper-text[data-success],
-input:not([type]).invalid ~ .helper-text[data-error],
-input:not([type]):focus.invalid ~ .helper-text[data-error],
-input[type=text]:not(.browser-default).valid ~ .helper-text[data-success],
-input[type=text]:not(.browser-default):focus.valid ~ .helper-text[data-success],
-input[type=text]:not(.browser-default).invalid ~ .helper-text[data-error],
-input[type=text]:not(.browser-default):focus.invalid ~ .helper-text[data-error],
-input[type=password]:not(.browser-default).valid ~ .helper-text[data-success],
-input[type=password]:not(.browser-default):focus.valid ~ .helper-text[data-success],
-input[type=password]:not(.browser-default).invalid ~ .helper-text[data-error],
-input[type=password]:not(.browser-default):focus.invalid ~ .helper-text[data-error],
-input[type=email]:not(.browser-default).valid ~ .helper-text[data-success],
-input[type=email]:not(.browser-default):focus.valid ~ .helper-text[data-success],
-input[type=email]:not(.browser-default).invalid ~ .helper-text[data-error],
-input[type=email]:not(.browser-default):focus.invalid ~ .helper-text[data-error],
-input[type=url]:not(.browser-default).valid ~ .helper-text[data-success],
-input[type=url]:not(.browser-default):focus.valid ~ .helper-text[data-success],
-input[type=url]:not(.browser-default).invalid ~ .helper-text[data-error],
-input[type=url]:not(.browser-default):focus.invalid ~ .helper-text[data-error],
-input[type=time]:not(.browser-default).valid ~ .helper-text[data-success],
-input[type=time]:not(.browser-default):focus.valid ~ .helper-text[data-success],
-input[type=time]:not(.browser-default).invalid ~ .helper-text[data-error],
-input[type=time]:not(.browser-default):focus.invalid ~ .helper-text[data-error],
-input[type=date]:not(.browser-default).valid ~ .helper-text[data-success],
-input[type=date]:not(.browser-default):focus.valid ~ .helper-text[data-success],
-input[type=date]:not(.browser-default).invalid ~ .helper-text[data-error],
-input[type=date]:not(.browser-default):focus.invalid ~ .helper-text[data-error],
-input[type=datetime]:not(.browser-default).valid ~ .helper-text[data-success],
-input[type=datetime]:not(.browser-default):focus.valid ~ .helper-text[data-success],
-input[type=datetime]:not(.browser-default).invalid ~ .helper-text[data-error],
-input[type=datetime]:not(.browser-default):focus.invalid ~ .helper-text[data-error],
-input[type=datetime-local]:not(.browser-default).valid ~ .helper-text[data-success],
-input[type=datetime-local]:not(.browser-default):focus.valid ~ .helper-text[data-success],
-input[type=datetime-local]:not(.browser-default).invalid ~ .helper-text[data-error],
-input[type=datetime-local]:not(.browser-default):focus.invalid ~ .helper-text[data-error],
-input[type=tel]:not(.browser-default).valid ~ .helper-text[data-success],
-input[type=tel]:not(.browser-default):focus.valid ~ .helper-text[data-success],
-input[type=tel]:not(.browser-default).invalid ~ .helper-text[data-error],
-input[type=tel]:not(.browser-default):focus.invalid ~ .helper-text[data-error],
-input[type=number]:not(.browser-default).valid ~ .helper-text[data-success],
-input[type=number]:not(.browser-default):focus.valid ~ .helper-text[data-success],
-input[type=number]:not(.browser-default).invalid ~ .helper-text[data-error],
-input[type=number]:not(.browser-default):focus.invalid ~ .helper-text[data-error],
-input[type=search]:not(.browser-default).valid ~ .helper-text[data-success],
-input[type=search]:not(.browser-default):focus.valid ~ .helper-text[data-success],
-input[type=search]:not(.browser-default).invalid ~ .helper-text[data-error],
-input[type=search]:not(.browser-default):focus.invalid ~ .helper-text[data-error],
-textarea.materialize-textarea.valid ~ .helper-text[data-success],
-textarea.materialize-textarea:focus.valid ~ .helper-text[data-success],
-textarea.materialize-textarea.invalid ~ .helper-text[data-error],
-textarea.materialize-textarea:focus.invalid ~ .helper-text[data-error], .select-wrapper.valid .helper-text[data-success],
-.select-wrapper.invalid ~ .helper-text[data-error] {
- color: transparent;
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
- pointer-events: none;
-}
-
-input:not([type]).valid ~ .helper-text:after,
-input:not([type]):focus.valid ~ .helper-text:after,
-input[type=text]:not(.browser-default).valid ~ .helper-text:after,
-input[type=text]:not(.browser-default):focus.valid ~ .helper-text:after,
-input[type=password]:not(.browser-default).valid ~ .helper-text:after,
-input[type=password]:not(.browser-default):focus.valid ~ .helper-text:after,
-input[type=email]:not(.browser-default).valid ~ .helper-text:after,
-input[type=email]:not(.browser-default):focus.valid ~ .helper-text:after,
-input[type=url]:not(.browser-default).valid ~ .helper-text:after,
-input[type=url]:not(.browser-default):focus.valid ~ .helper-text:after,
-input[type=time]:not(.browser-default).valid ~ .helper-text:after,
-input[type=time]:not(.browser-default):focus.valid ~ .helper-text:after,
-input[type=date]:not(.browser-default).valid ~ .helper-text:after,
-input[type=date]:not(.browser-default):focus.valid ~ .helper-text:after,
-input[type=datetime]:not(.browser-default).valid ~ .helper-text:after,
-input[type=datetime]:not(.browser-default):focus.valid ~ .helper-text:after,
-input[type=datetime-local]:not(.browser-default).valid ~ .helper-text:after,
-input[type=datetime-local]:not(.browser-default):focus.valid ~ .helper-text:after,
-input[type=tel]:not(.browser-default).valid ~ .helper-text:after,
-input[type=tel]:not(.browser-default):focus.valid ~ .helper-text:after,
-input[type=number]:not(.browser-default).valid ~ .helper-text:after,
-input[type=number]:not(.browser-default):focus.valid ~ .helper-text:after,
-input[type=search]:not(.browser-default).valid ~ .helper-text:after,
-input[type=search]:not(.browser-default):focus.valid ~ .helper-text:after,
-textarea.materialize-textarea.valid ~ .helper-text:after,
-textarea.materialize-textarea:focus.valid ~ .helper-text:after, .select-wrapper.valid ~ .helper-text:after {
- content: attr(data-success);
- color: #4CAF50;
-}
-
-input:not([type]).invalid ~ .helper-text:after,
-input:not([type]):focus.invalid ~ .helper-text:after,
-input[type=text]:not(.browser-default).invalid ~ .helper-text:after,
-input[type=text]:not(.browser-default):focus.invalid ~ .helper-text:after,
-input[type=password]:not(.browser-default).invalid ~ .helper-text:after,
-input[type=password]:not(.browser-default):focus.invalid ~ .helper-text:after,
-input[type=email]:not(.browser-default).invalid ~ .helper-text:after,
-input[type=email]:not(.browser-default):focus.invalid ~ .helper-text:after,
-input[type=url]:not(.browser-default).invalid ~ .helper-text:after,
-input[type=url]:not(.browser-default):focus.invalid ~ .helper-text:after,
-input[type=time]:not(.browser-default).invalid ~ .helper-text:after,
-input[type=time]:not(.browser-default):focus.invalid ~ .helper-text:after,
-input[type=date]:not(.browser-default).invalid ~ .helper-text:after,
-input[type=date]:not(.browser-default):focus.invalid ~ .helper-text:after,
-input[type=datetime]:not(.browser-default).invalid ~ .helper-text:after,
-input[type=datetime]:not(.browser-default):focus.invalid ~ .helper-text:after,
-input[type=datetime-local]:not(.browser-default).invalid ~ .helper-text:after,
-input[type=datetime-local]:not(.browser-default):focus.invalid ~ .helper-text:after,
-input[type=tel]:not(.browser-default).invalid ~ .helper-text:after,
-input[type=tel]:not(.browser-default):focus.invalid ~ .helper-text:after,
-input[type=number]:not(.browser-default).invalid ~ .helper-text:after,
-input[type=number]:not(.browser-default):focus.invalid ~ .helper-text:after,
-input[type=search]:not(.browser-default).invalid ~ .helper-text:after,
-input[type=search]:not(.browser-default):focus.invalid ~ .helper-text:after,
-textarea.materialize-textarea.invalid ~ .helper-text:after,
-textarea.materialize-textarea:focus.invalid ~ .helper-text:after, .select-wrapper.invalid ~ .helper-text:after {
- content: attr(data-error);
- color: #F44336;
-}
-
-input:not([type]) + label:after,
-input[type=text]:not(.browser-default) + label:after,
-input[type=password]:not(.browser-default) + label:after,
-input[type=email]:not(.browser-default) + label:after,
-input[type=url]:not(.browser-default) + label:after,
-input[type=time]:not(.browser-default) + label:after,
-input[type=date]:not(.browser-default) + label:after,
-input[type=datetime]:not(.browser-default) + label:after,
-input[type=datetime-local]:not(.browser-default) + label:after,
-input[type=tel]:not(.browser-default) + label:after,
-input[type=number]:not(.browser-default) + label:after,
-input[type=search]:not(.browser-default) + label:after,
-textarea.materialize-textarea + label:after, .select-wrapper + label:after {
- display: block;
- content: "";
- position: absolute;
- top: 100%;
- left: 0;
- opacity: 0;
- -webkit-transition: .2s opacity ease-out, .2s color ease-out;
- transition: .2s opacity ease-out, .2s color ease-out;
-}
-
-.input-field {
- position: relative;
- margin-top: 1rem;
- margin-bottom: 1rem;
-}
-
-.input-field.inline {
- display: inline-block;
- vertical-align: middle;
- margin-left: 5px;
-}
-
-.input-field.inline input,
-.input-field.inline .select-dropdown {
- margin-bottom: 1rem;
-}
-
-.input-field.col label {
- left: 0.75rem;
-}
-
-.input-field.col .prefix ~ label,
-.input-field.col .prefix ~ .validate ~ label {
- width: calc(100% - 3rem - 1.5rem);
-}
-
-.input-field > label {
- color: #9e9e9e;
- position: absolute;
- top: 0;
- left: 0;
- font-size: 1rem;
- cursor: text;
- -webkit-transition: color .2s ease-out, -webkit-transform .2s ease-out;
- transition: color .2s ease-out, -webkit-transform .2s ease-out;
- transition: transform .2s ease-out, color .2s ease-out;
- transition: transform .2s ease-out, color .2s ease-out, -webkit-transform .2s ease-out;
- -webkit-transform-origin: 0% 100%;
- transform-origin: 0% 100%;
- text-align: initial;
- -webkit-transform: translateY(12px);
- transform: translateY(12px);
-}
-
-.input-field > label:not(.label-icon).active {
- -webkit-transform: translateY(-14px) scale(0.8);
- transform: translateY(-14px) scale(0.8);
- -webkit-transform-origin: 0 0;
- transform-origin: 0 0;
-}
-
-.input-field > input[type]:-webkit-autofill:not(.browser-default):not([type="search"]) + label,
-.input-field > input[type=date]:not(.browser-default) + label,
-.input-field > input[type=time]:not(.browser-default) + label {
- -webkit-transform: translateY(-14px) scale(0.8);
- transform: translateY(-14px) scale(0.8);
- -webkit-transform-origin: 0 0;
- transform-origin: 0 0;
-}
-
-.input-field .helper-text {
- position: relative;
- min-height: 18px;
- display: block;
- font-size: 12px;
- color: rgba(0, 0, 0, 0.54);
-}
-
-.input-field .helper-text::after {
- opacity: 1;
- position: absolute;
- top: 0;
- left: 0;
-}
-
-.input-field .prefix {
- position: absolute;
- width: 3rem;
- font-size: 2rem;
- -webkit-transition: color .2s;
- transition: color .2s;
- top: 0.5rem;
-}
-
-.input-field .prefix.active {
- color: #26a69a;
-}
-
-.input-field .prefix ~ input,
-.input-field .prefix ~ textarea,
-.input-field .prefix ~ label,
-.input-field .prefix ~ .validate ~ label,
-.input-field .prefix ~ .helper-text,
-.input-field .prefix ~ .autocomplete-content {
- margin-left: 3rem;
- width: 92%;
- width: calc(100% - 3rem);
-}
-
-.input-field .prefix ~ label {
- margin-left: 3rem;
-}
-
-@media only screen and (max-width: 992px) {
- .input-field .prefix ~ input {
- width: 86%;
- width: calc(100% - 3rem);
- }
-}
-
-@media only screen and (max-width: 600px) {
- .input-field .prefix ~ input {
- width: 80%;
- width: calc(100% - 3rem);
- }
-}
-
-/* Search Field */
-.input-field input[type=search] {
- display: block;
- line-height: inherit;
- -webkit-transition: .3s background-color;
- transition: .3s background-color;
-}
-
-.nav-wrapper .input-field input[type=search] {
- height: inherit;
- padding-left: 4rem;
- width: calc(100% - 4rem);
- border: 0;
- -webkit-box-shadow: none;
- box-shadow: none;
-}
-
-.input-field input[type=search]:focus:not(.browser-default) {
- background-color: #fff;
- border: 0;
- -webkit-box-shadow: none;
- box-shadow: none;
- color: #444;
-}
-
-.input-field input[type=search]:focus:not(.browser-default) + label i,
-.input-field input[type=search]:focus:not(.browser-default) ~ .mdi-navigation-close,
-.input-field input[type=search]:focus:not(.browser-default) ~ .material-icons {
- color: #444;
-}
-
-.input-field input[type=search] + .label-icon {
- -webkit-transform: none;
- transform: none;
- left: 1rem;
-}
-
-.input-field input[type=search] ~ .mdi-navigation-close,
-.input-field input[type=search] ~ .material-icons {
- position: absolute;
- top: 0;
- right: 1rem;
- color: transparent;
- cursor: pointer;
- font-size: 2rem;
- -webkit-transition: .3s color;
- transition: .3s color;
-}
-
-/* Textarea */
-textarea {
- width: 100%;
- height: 3rem;
- background-color: transparent;
-}
-
-textarea.materialize-textarea {
- line-height: normal;
- overflow-y: hidden;
- /* prevents scroll bar flash */
- padding: .8rem 0 .8rem 0;
- /* prevents text jump on Enter keypress */
- resize: none;
- min-height: 3rem;
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
-}
-
-.hiddendiv {
- visibility: hidden;
- white-space: pre-wrap;
- word-wrap: break-word;
- overflow-wrap: break-word;
- /* future version of deprecated 'word-wrap' */
- padding-top: 1.2rem;
- /* prevents text jump on Enter keypress */
- position: absolute;
- top: 0;
- z-index: -1;
-}
-
-/* Autocomplete */
-.autocomplete-content li .highlight {
- color: #444;
-}
-
-.autocomplete-content li img {
- height: 40px;
- width: 40px;
- margin: 5px 15px;
-}
-
-/* Character Counter */
-.character-counter {
- min-height: 18px;
-}
-
-/* Radio Buttons
- ========================================================================== */
-[type="radio"]:not(:checked),
-[type="radio"]:checked {
- position: absolute;
- opacity: 0;
- pointer-events: none;
-}
-
-[type="radio"]:not(:checked) + span,
-[type="radio"]:checked + span {
- position: relative;
- padding-left: 35px;
- cursor: pointer;
- display: inline-block;
- height: 25px;
- line-height: 25px;
- font-size: 1rem;
- -webkit-transition: .28s ease;
- transition: .28s ease;
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
-}
-
-[type="radio"] + span:before,
-[type="radio"] + span:after {
- content: '';
- position: absolute;
- left: 0;
- top: 0;
- margin: 4px;
- width: 16px;
- height: 16px;
- z-index: 0;
- -webkit-transition: .28s ease;
- transition: .28s ease;
-}
-
-/* Unchecked styles */
-[type="radio"]:not(:checked) + span:before,
-[type="radio"]:not(:checked) + span:after,
-[type="radio"]:checked + span:before,
-[type="radio"]:checked + span:after,
-[type="radio"].with-gap:checked + span:before,
-[type="radio"].with-gap:checked + span:after {
- border-radius: 50%;
-}
-
-[type="radio"]:not(:checked) + span:before,
-[type="radio"]:not(:checked) + span:after {
- border: 2px solid #5a5a5a;
-}
-
-[type="radio"]:not(:checked) + span:after {
- -webkit-transform: scale(0);
- transform: scale(0);
-}
-
-/* Checked styles */
-[type="radio"]:checked + span:before {
- border: 2px solid transparent;
-}
-
-[type="radio"]:checked + span:after,
-[type="radio"].with-gap:checked + span:before,
-[type="radio"].with-gap:checked + span:after {
- border: 2px solid #26a69a;
-}
-
-[type="radio"]:checked + span:after,
-[type="radio"].with-gap:checked + span:after {
- background-color: #26a69a;
-}
-
-[type="radio"]:checked + span:after {
- -webkit-transform: scale(1.02);
- transform: scale(1.02);
-}
-
-/* Radio With gap */
-[type="radio"].with-gap:checked + span:after {
- -webkit-transform: scale(0.5);
- transform: scale(0.5);
-}
-
-/* Focused styles */
-[type="radio"].tabbed:focus + span:before {
- -webkit-box-shadow: 0 0 0 10px rgba(0, 0, 0, 0.1);
- box-shadow: 0 0 0 10px rgba(0, 0, 0, 0.1);
-}
-
-/* Disabled Radio With gap */
-[type="radio"].with-gap:disabled:checked + span:before {
- border: 2px solid rgba(0, 0, 0, 0.42);
-}
-
-[type="radio"].with-gap:disabled:checked + span:after {
- border: none;
- background-color: rgba(0, 0, 0, 0.42);
-}
-
-/* Disabled style */
-[type="radio"]:disabled:not(:checked) + span:before,
-[type="radio"]:disabled:checked + span:before {
- background-color: transparent;
- border-color: rgba(0, 0, 0, 0.42);
-}
-
-[type="radio"]:disabled + span {
- color: rgba(0, 0, 0, 0.42);
-}
-
-[type="radio"]:disabled:not(:checked) + span:before {
- border-color: rgba(0, 0, 0, 0.42);
-}
-
-[type="radio"]:disabled:checked + span:after {
- background-color: rgba(0, 0, 0, 0.42);
- border-color: #949494;
-}
-
-/* Checkboxes
- ========================================================================== */
-/* Remove default checkbox */
-[type="checkbox"]:not(:checked),
-[type="checkbox"]:checked {
- position: absolute;
- opacity: 0;
- pointer-events: none;
-}
-
-[type="checkbox"] {
- /* checkbox aspect */
-}
-
-[type="checkbox"] + span:not(.lever) {
- position: relative;
- padding-left: 35px;
- cursor: pointer;
- display: inline-block;
- height: 25px;
- line-height: 25px;
- font-size: 1rem;
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
-}
-
-[type="checkbox"] + span:not(.lever):before,
-[type="checkbox"]:not(.filled-in) + span:not(.lever):after {
- content: '';
- position: absolute;
- top: 0;
- left: 0;
- width: 18px;
- height: 18px;
- z-index: 0;
- border: 2px solid #5a5a5a;
- border-radius: 1px;
- margin-top: 3px;
- -webkit-transition: .2s;
- transition: .2s;
-}
-
-[type="checkbox"]:not(.filled-in) + span:not(.lever):after {
- border: 0;
- -webkit-transform: scale(0);
- transform: scale(0);
-}
-
-[type="checkbox"]:not(:checked):disabled + span:not(.lever):before {
- border: none;
- background-color: rgba(0, 0, 0, 0.42);
-}
-
-[type="checkbox"].tabbed:focus + span:not(.lever):after {
- -webkit-transform: scale(1);
- transform: scale(1);
- border: 0;
- border-radius: 50%;
- -webkit-box-shadow: 0 0 0 10px rgba(0, 0, 0, 0.1);
- box-shadow: 0 0 0 10px rgba(0, 0, 0, 0.1);
- background-color: rgba(0, 0, 0, 0.1);
-}
-
-[type="checkbox"]:checked + span:not(.lever):before {
- top: -4px;
- left: -5px;
- width: 12px;
- height: 22px;
- border-top: 2px solid transparent;
- border-left: 2px solid transparent;
- border-right: 2px solid #26a69a;
- border-bottom: 2px solid #26a69a;
- -webkit-transform: rotate(40deg);
- transform: rotate(40deg);
- -webkit-backface-visibility: hidden;
- backface-visibility: hidden;
- -webkit-transform-origin: 100% 100%;
- transform-origin: 100% 100%;
-}
-
-[type="checkbox"]:checked:disabled + span:before {
- border-right: 2px solid rgba(0, 0, 0, 0.42);
- border-bottom: 2px solid rgba(0, 0, 0, 0.42);
-}
-
-/* Indeterminate checkbox */
-[type="checkbox"]:indeterminate + span:not(.lever):before {
- top: -11px;
- left: -12px;
- width: 10px;
- height: 22px;
- border-top: none;
- border-left: none;
- border-right: 2px solid #26a69a;
- border-bottom: none;
- -webkit-transform: rotate(90deg);
- transform: rotate(90deg);
- -webkit-backface-visibility: hidden;
- backface-visibility: hidden;
- -webkit-transform-origin: 100% 100%;
- transform-origin: 100% 100%;
-}
-
-[type="checkbox"]:indeterminate:disabled + span:not(.lever):before {
- border-right: 2px solid rgba(0, 0, 0, 0.42);
- background-color: transparent;
-}
-
-[type="checkbox"].filled-in + span:not(.lever):after {
- border-radius: 2px;
-}
-
-[type="checkbox"].filled-in + span:not(.lever):before,
-[type="checkbox"].filled-in + span:not(.lever):after {
- content: '';
- left: 0;
- position: absolute;
- /* .1s delay is for check animation */
- -webkit-transition: border .25s, background-color .25s, width .20s .1s, height .20s .1s, top .20s .1s, left .20s .1s;
- transition: border .25s, background-color .25s, width .20s .1s, height .20s .1s, top .20s .1s, left .20s .1s;
- z-index: 1;
-}
-
-[type="checkbox"].filled-in:not(:checked) + span:not(.lever):before {
- width: 0;
- height: 0;
- border: 3px solid transparent;
- left: 6px;
- top: 10px;
- -webkit-transform: rotateZ(37deg);
- transform: rotateZ(37deg);
- -webkit-transform-origin: 100% 100%;
- transform-origin: 100% 100%;
-}
-
-[type="checkbox"].filled-in:not(:checked) + span:not(.lever):after {
- height: 20px;
- width: 20px;
- background-color: transparent;
- border: 2px solid #5a5a5a;
- top: 0px;
- z-index: 0;
-}
-
-[type="checkbox"].filled-in:checked + span:not(.lever):before {
- top: 0;
- left: 1px;
- width: 8px;
- height: 13px;
- border-top: 2px solid transparent;
- border-left: 2px solid transparent;
- border-right: 2px solid #fff;
- border-bottom: 2px solid #fff;
- -webkit-transform: rotateZ(37deg);
- transform: rotateZ(37deg);
- -webkit-transform-origin: 100% 100%;
- transform-origin: 100% 100%;
-}
-
-[type="checkbox"].filled-in:checked + span:not(.lever):after {
- top: 0;
- width: 20px;
- height: 20px;
- border: 2px solid #26a69a;
- background-color: #26a69a;
- z-index: 0;
-}
-
-[type="checkbox"].filled-in.tabbed:focus + span:not(.lever):after {
- border-radius: 2px;
- border-color: #5a5a5a;
- background-color: rgba(0, 0, 0, 0.1);
-}
-
-[type="checkbox"].filled-in.tabbed:checked:focus + span:not(.lever):after {
- border-radius: 2px;
- background-color: #26a69a;
- border-color: #26a69a;
-}
-
-[type="checkbox"].filled-in:disabled:not(:checked) + span:not(.lever):before {
- background-color: transparent;
- border: 2px solid transparent;
-}
-
-[type="checkbox"].filled-in:disabled:not(:checked) + span:not(.lever):after {
- border-color: transparent;
- background-color: #949494;
-}
-
-[type="checkbox"].filled-in:disabled:checked + span:not(.lever):before {
- background-color: transparent;
-}
-
-[type="checkbox"].filled-in:disabled:checked + span:not(.lever):after {
- background-color: #949494;
- border-color: #949494;
-}
-
-/* Switch
- ========================================================================== */
-.switch,
-.switch * {
- -webkit-tap-highlight-color: transparent;
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
-}
-
-.switch label {
- cursor: pointer;
-}
-
-.switch label input[type=checkbox] {
- opacity: 0;
- width: 0;
- height: 0;
-}
-
-.switch label input[type=checkbox]:checked + .lever {
- background-color: #84c7c1;
-}
-
-.switch label input[type=checkbox]:checked + .lever:before, .switch label input[type=checkbox]:checked + .lever:after {
- left: 18px;
-}
-
-.switch label input[type=checkbox]:checked + .lever:after {
- background-color: #26a69a;
-}
-
-.switch label .lever {
- content: "";
- display: inline-block;
- position: relative;
- width: 36px;
- height: 14px;
- background-color: rgba(0, 0, 0, 0.38);
- border-radius: 15px;
- margin-right: 10px;
- -webkit-transition: background 0.3s ease;
- transition: background 0.3s ease;
- vertical-align: middle;
- margin: 0 16px;
-}
-
-.switch label .lever:before, .switch label .lever:after {
- content: "";
- position: absolute;
- display: inline-block;
- width: 20px;
- height: 20px;
- border-radius: 50%;
- left: 0;
- top: -3px;
- -webkit-transition: left 0.3s ease, background .3s ease, -webkit-box-shadow 0.1s ease, -webkit-transform .1s ease;
- transition: left 0.3s ease, background .3s ease, -webkit-box-shadow 0.1s ease, -webkit-transform .1s ease;
- transition: left 0.3s ease, background .3s ease, box-shadow 0.1s ease, transform .1s ease;
- transition: left 0.3s ease, background .3s ease, box-shadow 0.1s ease, transform .1s ease, -webkit-box-shadow 0.1s ease, -webkit-transform .1s ease;
-}
-
-.switch label .lever:before {
- background-color: rgba(38, 166, 154, 0.15);
-}
-
-.switch label .lever:after {
- background-color: #F1F1F1;
- -webkit-box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
- box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
-}
-
-input[type=checkbox]:checked:not(:disabled) ~ .lever:active::before,
-input[type=checkbox]:checked:not(:disabled).tabbed:focus ~ .lever::before {
- -webkit-transform: scale(2.4);
- transform: scale(2.4);
- background-color: rgba(38, 166, 154, 0.15);
-}
-
-input[type=checkbox]:not(:disabled) ~ .lever:active:before,
-input[type=checkbox]:not(:disabled).tabbed:focus ~ .lever::before {
- -webkit-transform: scale(2.4);
- transform: scale(2.4);
- background-color: rgba(0, 0, 0, 0.08);
-}
-
-.switch input[type=checkbox][disabled] + .lever {
- cursor: default;
- background-color: rgba(0, 0, 0, 0.12);
-}
-
-.switch label input[type=checkbox][disabled] + .lever:after,
-.switch label input[type=checkbox][disabled]:checked + .lever:after {
- background-color: #949494;
-}
-
-/* Select Field
- ========================================================================== */
-select {
- display: none;
-}
-
-select.browser-default {
- display: block;
-}
-
-select {
- background-color: rgba(255, 255, 255, 0.9);
- width: 100%;
- padding: 5px;
- border: 1px solid #f2f2f2;
- border-radius: 2px;
- height: 3rem;
-}
-
-.select-label {
- position: absolute;
-}
-
-.select-wrapper {
- position: relative;
-}
-
-.select-wrapper.valid + label,
-.select-wrapper.invalid + label {
- width: 100%;
- pointer-events: none;
-}
-
-.select-wrapper input.select-dropdown {
- position: relative;
- cursor: pointer;
- background-color: transparent;
- border: none;
- border-bottom: 1px solid #9e9e9e;
- outline: none;
- height: 3rem;
- line-height: 3rem;
- width: 100%;
- font-size: 16px;
- margin: 0 0 8px 0;
- padding: 0;
- display: block;
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
- z-index: 1;
-}
-
-.select-wrapper input.select-dropdown:focus {
- border-bottom: 1px solid #26a69a;
-}
-
-.select-wrapper .caret {
- position: absolute;
- right: 0;
- top: 0;
- bottom: 0;
- margin: auto 0;
- z-index: 0;
- fill: rgba(0, 0, 0, 0.87);
-}
-
-.select-wrapper + label {
- position: absolute;
- top: -26px;
- font-size: 0.8rem;
-}
-
-select:disabled {
- color: rgba(0, 0, 0, 0.42);
-}
-
-.select-wrapper.disabled + label {
- color: rgba(0, 0, 0, 0.42);
-}
-
-.select-wrapper.disabled .caret {
- fill: rgba(0, 0, 0, 0.42);
-}
-
-.select-wrapper input.select-dropdown:disabled {
- color: rgba(0, 0, 0, 0.42);
- cursor: default;
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
-}
-
-.select-wrapper i {
- color: rgba(0, 0, 0, 0.3);
-}
-
-.select-dropdown li.disabled,
-.select-dropdown li.disabled > span,
-.select-dropdown li.optgroup {
- color: rgba(0, 0, 0, 0.3);
- background-color: transparent;
-}
-
-body.keyboard-focused .select-dropdown.dropdown-content li:focus {
- background-color: rgba(0, 0, 0, 0.08);
-}
-
-.select-dropdown.dropdown-content li:hover {
- background-color: rgba(0, 0, 0, 0.08);
-}
-
-.select-dropdown.dropdown-content li.selected {
- background-color: rgba(0, 0, 0, 0.03);
-}
-
-.prefix ~ .select-wrapper {
- margin-left: 3rem;
- width: 92%;
- width: calc(100% - 3rem);
-}
-
-.prefix ~ label {
- margin-left: 3rem;
-}
-
-.select-dropdown li img {
- height: 40px;
- width: 40px;
- margin: 5px 15px;
- float: right;
-}
-
-.select-dropdown li.optgroup {
- border-top: 1px solid #eee;
-}
-
-.select-dropdown li.optgroup.selected > span {
- color: rgba(0, 0, 0, 0.7);
-}
-
-.select-dropdown li.optgroup > span {
- color: rgba(0, 0, 0, 0.4);
-}
-
-.select-dropdown li.optgroup ~ li.optgroup-option {
- padding-left: 1rem;
-}
-
-/* File Input
- ========================================================================== */
-.file-field {
- position: relative;
-}
-
-.file-field .file-path-wrapper {
- overflow: hidden;
- padding-left: 10px;
-}
-
-.file-field input.file-path {
- width: 100%;
-}
-
-.file-field .btn, .file-field .btn-large, .file-field .btn-small {
- float: left;
- height: 3rem;
- line-height: 3rem;
-}
-
-.file-field span {
- cursor: pointer;
-}
-
-.file-field input[type=file] {
- position: absolute;
- top: 0;
- right: 0;
- left: 0;
- bottom: 0;
- width: 100%;
- margin: 0;
- padding: 0;
- font-size: 20px;
- cursor: pointer;
- opacity: 0;
- filter: alpha(opacity=0);
-}
-
-.file-field input[type=file]::-webkit-file-upload-button {
- display: none;
-}
-
-/* Range
- ========================================================================== */
-.range-field {
- position: relative;
-}
-
-input[type=range],
-input[type=range] + .thumb {
- cursor: pointer;
-}
-
-input[type=range] {
- position: relative;
- background-color: transparent;
- border: none;
- outline: none;
- width: 100%;
- margin: 15px 0;
- padding: 0;
-}
-
-input[type=range]:focus {
- outline: none;
-}
-
-input[type=range] + .thumb {
- position: absolute;
- top: 10px;
- left: 0;
- border: none;
- height: 0;
- width: 0;
- border-radius: 50%;
- background-color: #26a69a;
- margin-left: 7px;
- -webkit-transform-origin: 50% 50%;
- transform-origin: 50% 50%;
- -webkit-transform: rotate(-45deg);
- transform: rotate(-45deg);
-}
-
-input[type=range] + .thumb .value {
- display: block;
- width: 30px;
- text-align: center;
- color: #26a69a;
- font-size: 0;
- -webkit-transform: rotate(45deg);
- transform: rotate(45deg);
-}
-
-input[type=range] + .thumb.active {
- border-radius: 50% 50% 50% 0;
-}
-
-input[type=range] + .thumb.active .value {
- color: #fff;
- margin-left: -1px;
- margin-top: 8px;
- font-size: 10px;
-}
-
-input[type=range] {
- -webkit-appearance: none;
-}
-
-input[type=range]::-webkit-slider-runnable-track {
- height: 3px;
- background: #c2c0c2;
- border: none;
-}
-
-input[type=range]::-webkit-slider-thumb {
- border: none;
- height: 14px;
- width: 14px;
- border-radius: 50%;
- background: #26a69a;
- -webkit-transition: -webkit-box-shadow .3s;
- transition: -webkit-box-shadow .3s;
- transition: box-shadow .3s;
- transition: box-shadow .3s, -webkit-box-shadow .3s;
- -webkit-appearance: none;
- background-color: #26a69a;
- -webkit-transform-origin: 50% 50%;
- transform-origin: 50% 50%;
- margin: -5px 0 0 0;
-}
-
-.keyboard-focused input[type=range]:focus:not(.active)::-webkit-slider-thumb {
- -webkit-box-shadow: 0 0 0 10px rgba(38, 166, 154, 0.26);
- box-shadow: 0 0 0 10px rgba(38, 166, 154, 0.26);
-}
-
-input[type=range] {
- /* fix for FF unable to apply focus style bug */
- border: 1px solid white;
- /*required for proper track sizing in FF*/
-}
-
-input[type=range]::-moz-range-track {
- height: 3px;
- background: #c2c0c2;
- border: none;
-}
-
-input[type=range]::-moz-focus-inner {
- border: 0;
-}
-
-input[type=range]::-moz-range-thumb {
- border: none;
- height: 14px;
- width: 14px;
- border-radius: 50%;
- background: #26a69a;
- -webkit-transition: -webkit-box-shadow .3s;
- transition: -webkit-box-shadow .3s;
- transition: box-shadow .3s;
- transition: box-shadow .3s, -webkit-box-shadow .3s;
- margin-top: -5px;
-}
-
-input[type=range]:-moz-focusring {
- outline: 1px solid #fff;
- outline-offset: -1px;
-}
-
-.keyboard-focused input[type=range]:focus:not(.active)::-moz-range-thumb {
- box-shadow: 0 0 0 10px rgba(38, 166, 154, 0.26);
-}
-
-input[type=range]::-ms-track {
- height: 3px;
- background: transparent;
- border-color: transparent;
- border-width: 6px 0;
- /*remove default tick marks*/
- color: transparent;
-}
-
-input[type=range]::-ms-fill-lower {
- background: #777;
-}
-
-input[type=range]::-ms-fill-upper {
- background: #ddd;
-}
-
-input[type=range]::-ms-thumb {
- border: none;
- height: 14px;
- width: 14px;
- border-radius: 50%;
- background: #26a69a;
- -webkit-transition: -webkit-box-shadow .3s;
- transition: -webkit-box-shadow .3s;
- transition: box-shadow .3s;
- transition: box-shadow .3s, -webkit-box-shadow .3s;
-}
-
-.keyboard-focused input[type=range]:focus:not(.active)::-ms-thumb {
- box-shadow: 0 0 0 10px rgba(38, 166, 154, 0.26);
-}
-
-/***************
- Nav List
-***************/
-.table-of-contents.fixed {
- position: fixed;
-}
-
-.table-of-contents li {
- padding: 2px 0;
-}
-
-.table-of-contents a {
- display: inline-block;
- font-weight: 300;
- color: #757575;
- padding-left: 16px;
- height: 1.5rem;
- line-height: 1.5rem;
- letter-spacing: .4;
- display: inline-block;
-}
-
-.table-of-contents a:hover {
- color: #a8a8a8;
- padding-left: 15px;
- border-left: 1px solid #ee6e73;
-}
-
-.table-of-contents a.active {
- font-weight: 500;
- padding-left: 14px;
- border-left: 2px solid #ee6e73;
-}
-
-.sidenav {
- position: fixed;
- width: 300px;
- left: 0;
- top: 0;
- margin: 0;
- -webkit-transform: translateX(-100%);
- transform: translateX(-100%);
- height: 100%;
- height: calc(100% + 60px);
- height: -moz-calc(100%);
- padding-bottom: 60px;
- background-color: #fff;
- z-index: 999;
- overflow-y: auto;
- will-change: transform;
- -webkit-backface-visibility: hidden;
- backface-visibility: hidden;
- -webkit-transform: translateX(-105%);
- transform: translateX(-105%);
-}
-
-.sidenav.right-aligned {
- right: 0;
- -webkit-transform: translateX(105%);
- transform: translateX(105%);
- left: auto;
- -webkit-transform: translateX(100%);
- transform: translateX(100%);
-}
-
-.sidenav .collapsible {
- margin: 0;
-}
-
-.sidenav li {
- float: none;
- line-height: 48px;
-}
-
-.sidenav li.active {
- background-color: rgba(0, 0, 0, 0.05);
-}
-
-.sidenav li > a {
- color: rgba(0, 0, 0, 0.87);
- display: block;
- font-size: 14px;
- font-weight: 500;
- height: 48px;
- line-height: 48px;
- padding: 0 32px;
-}
-
-.sidenav li > a:hover {
- background-color: rgba(0, 0, 0, 0.05);
-}
-
-.sidenav li > a.btn, .sidenav li > a.btn-large, .sidenav li > a.btn-small, .sidenav li > a.btn-large, .sidenav li > a.btn-flat, .sidenav li > a.btn-floating {
- margin: 10px 15px;
-}
-
-.sidenav li > a.btn, .sidenav li > a.btn-large, .sidenav li > a.btn-small, .sidenav li > a.btn-large, .sidenav li > a.btn-floating {
- color: #fff;
-}
-
-.sidenav li > a.btn-flat {
- color: #343434;
-}
-
-.sidenav li > a.btn:hover, .sidenav li > a.btn-large:hover, .sidenav li > a.btn-small:hover, .sidenav li > a.btn-large:hover {
- background-color: #2bbbad;
-}
-
-.sidenav li > a.btn-floating:hover {
- background-color: #26a69a;
-}
-
-.sidenav li > a > i,
-.sidenav li > a > [class^="mdi-"], .sidenav li > a li > a > [class*="mdi-"],
-.sidenav li > a > i.material-icons {
- float: left;
- height: 48px;
- line-height: 48px;
- margin: 0 32px 0 0;
- width: 24px;
- color: rgba(0, 0, 0, 0.54);
-}
-
-.sidenav .divider {
- margin: 8px 0 0 0;
-}
-
-.sidenav .subheader {
- cursor: initial;
- pointer-events: none;
- color: rgba(0, 0, 0, 0.54);
- font-size: 14px;
- font-weight: 500;
- line-height: 48px;
-}
-
-.sidenav .subheader:hover {
- background-color: transparent;
-}
-
-.sidenav .user-view {
- position: relative;
- padding: 32px 32px 0;
- margin-bottom: 8px;
-}
-
-.sidenav .user-view > a {
- height: auto;
- padding: 0;
-}
-
-.sidenav .user-view > a:hover {
- background-color: transparent;
-}
-
-.sidenav .user-view .background {
- overflow: hidden;
- position: absolute;
- top: 0;
- right: 0;
- bottom: 0;
- left: 0;
- z-index: -1;
-}
-
-.sidenav .user-view .circle, .sidenav .user-view .name, .sidenav .user-view .email {
- display: block;
-}
-
-.sidenav .user-view .circle {
- height: 64px;
- width: 64px;
-}
-
-.sidenav .user-view .name,
-.sidenav .user-view .email {
- font-size: 14px;
- line-height: 24px;
-}
-
-.sidenav .user-view .name {
- margin-top: 16px;
- font-weight: 500;
-}
-
-.sidenav .user-view .email {
- padding-bottom: 16px;
- font-weight: 400;
-}
-
-.drag-target {
- height: 100%;
- width: 10px;
- position: fixed;
- top: 0;
- z-index: 998;
-}
-
-.drag-target.right-aligned {
- right: 0;
-}
-
-.sidenav.sidenav-fixed {
- left: 0;
- -webkit-transform: translateX(0);
- transform: translateX(0);
- position: fixed;
-}
-
-.sidenav.sidenav-fixed.right-aligned {
- right: 0;
- left: auto;
-}
-
-@media only screen and (max-width: 992px) {
- .sidenav.sidenav-fixed {
- -webkit-transform: translateX(-105%);
- transform: translateX(-105%);
- }
- .sidenav.sidenav-fixed.right-aligned {
- -webkit-transform: translateX(105%);
- transform: translateX(105%);
- }
- .sidenav > a {
- padding: 0 16px;
- }
- .sidenav .user-view {
- padding: 16px 16px 0;
- }
-}
-
-.sidenav .collapsible-body > ul:not(.collapsible) > li.active,
-.sidenav.sidenav-fixed .collapsible-body > ul:not(.collapsible) > li.active {
- background-color: #ee6e73;
-}
-
-.sidenav .collapsible-body > ul:not(.collapsible) > li.active a,
-.sidenav.sidenav-fixed .collapsible-body > ul:not(.collapsible) > li.active a {
- color: #fff;
-}
-
-.sidenav .collapsible-body {
- padding: 0;
-}
-
-.sidenav-overlay {
- position: fixed;
- top: 0;
- left: 0;
- right: 0;
- opacity: 0;
- height: 120vh;
- background-color: rgba(0, 0, 0, 0.5);
- z-index: 997;
- display: none;
-}
-
-/*
- @license
- Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
- This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
- The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
- The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
- Code distributed by Google as part of the polymer project is also
- subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
- */
-/**************************/
-/* STYLES FOR THE SPINNER */
-/**************************/
-/*
- * Constants:
- * STROKEWIDTH = 3px
- * ARCSIZE = 270 degrees (amount of circle the arc takes up)
- * ARCTIME = 1333ms (time it takes to expand and contract arc)
- * ARCSTARTROT = 216 degrees (how much the start location of the arc
- * should rotate each time, 216 gives us a
- * 5 pointed star shape (it's 360/5 * 3).
- * For a 7 pointed star, we might do
- * 360/7 * 3 = 154.286)
- * CONTAINERWIDTH = 28px
- * SHRINK_TIME = 400ms
- */
-.preloader-wrapper {
- display: inline-block;
- position: relative;
- width: 50px;
- height: 50px;
-}
-
-.preloader-wrapper.small {
- width: 36px;
- height: 36px;
-}
-
-.preloader-wrapper.big {
- width: 64px;
- height: 64px;
-}
-
-.preloader-wrapper.active {
- /* duration: 360 * ARCTIME / (ARCSTARTROT + (360-ARCSIZE)) */
- -webkit-animation: container-rotate 1568ms linear infinite;
- animation: container-rotate 1568ms linear infinite;
-}
-
-@-webkit-keyframes container-rotate {
- to {
- -webkit-transform: rotate(360deg);
- }
-}
-
-@keyframes container-rotate {
- to {
- -webkit-transform: rotate(360deg);
- transform: rotate(360deg);
- }
-}
-
-.spinner-layer {
- position: absolute;
- width: 100%;
- height: 100%;
- opacity: 0;
- border-color: #26a69a;
-}
-
-.spinner-blue,
-.spinner-blue-only {
- border-color: #4285f4;
-}
-
-.spinner-red,
-.spinner-red-only {
- border-color: #db4437;
-}
-
-.spinner-yellow,
-.spinner-yellow-only {
- border-color: #f4b400;
-}
-
-.spinner-green,
-.spinner-green-only {
- border-color: #0f9d58;
-}
-
-/**
- * IMPORTANT NOTE ABOUT CSS ANIMATION PROPERTIES (keanulee):
- *
- * iOS Safari (tested on iOS 8.1) does not handle animation-delay very well - it doesn't
- * guarantee that the animation will start _exactly_ after that value. So we avoid using
- * animation-delay and instead set custom keyframes for each color (as redundant as it
- * seems).
- *
- * We write out each animation in full (instead of separating animation-name,
- * animation-duration, etc.) because under the polyfill, Safari does not recognize those
- * specific properties properly, treats them as -webkit-animation, and overrides the
- * other animation rules. See https://github.com/Polymer/platform/issues/53.
- */
-.active .spinner-layer.spinner-blue {
- /* durations: 4 * ARCTIME */
- -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, blue-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
- animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, blue-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
-}
-
-.active .spinner-layer.spinner-red {
- /* durations: 4 * ARCTIME */
- -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, red-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
- animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, red-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
-}
-
-.active .spinner-layer.spinner-yellow {
- /* durations: 4 * ARCTIME */
- -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, yellow-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
- animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, yellow-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
-}
-
-.active .spinner-layer.spinner-green {
- /* durations: 4 * ARCTIME */
- -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, green-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
- animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both, green-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
-}
-
-.active .spinner-layer,
-.active .spinner-layer.spinner-blue-only,
-.active .spinner-layer.spinner-red-only,
-.active .spinner-layer.spinner-yellow-only,
-.active .spinner-layer.spinner-green-only {
- /* durations: 4 * ARCTIME */
- opacity: 1;
- -webkit-animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
- animation: fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
-}
-
-@-webkit-keyframes fill-unfill-rotate {
- 12.5% {
- -webkit-transform: rotate(135deg);
- }
- /* 0.5 * ARCSIZE */
- 25% {
- -webkit-transform: rotate(270deg);
- }
- /* 1 * ARCSIZE */
- 37.5% {
- -webkit-transform: rotate(405deg);
- }
- /* 1.5 * ARCSIZE */
- 50% {
- -webkit-transform: rotate(540deg);
- }
- /* 2 * ARCSIZE */
- 62.5% {
- -webkit-transform: rotate(675deg);
- }
- /* 2.5 * ARCSIZE */
- 75% {
- -webkit-transform: rotate(810deg);
- }
- /* 3 * ARCSIZE */
- 87.5% {
- -webkit-transform: rotate(945deg);
- }
- /* 3.5 * ARCSIZE */
- to {
- -webkit-transform: rotate(1080deg);
- }
- /* 4 * ARCSIZE */
-}
-
-@keyframes fill-unfill-rotate {
- 12.5% {
- -webkit-transform: rotate(135deg);
- transform: rotate(135deg);
- }
- /* 0.5 * ARCSIZE */
- 25% {
- -webkit-transform: rotate(270deg);
- transform: rotate(270deg);
- }
- /* 1 * ARCSIZE */
- 37.5% {
- -webkit-transform: rotate(405deg);
- transform: rotate(405deg);
- }
- /* 1.5 * ARCSIZE */
- 50% {
- -webkit-transform: rotate(540deg);
- transform: rotate(540deg);
- }
- /* 2 * ARCSIZE */
- 62.5% {
- -webkit-transform: rotate(675deg);
- transform: rotate(675deg);
- }
- /* 2.5 * ARCSIZE */
- 75% {
- -webkit-transform: rotate(810deg);
- transform: rotate(810deg);
- }
- /* 3 * ARCSIZE */
- 87.5% {
- -webkit-transform: rotate(945deg);
- transform: rotate(945deg);
- }
- /* 3.5 * ARCSIZE */
- to {
- -webkit-transform: rotate(1080deg);
- transform: rotate(1080deg);
- }
- /* 4 * ARCSIZE */
-}
-
-@-webkit-keyframes blue-fade-in-out {
- from {
- opacity: 1;
- }
- 25% {
- opacity: 1;
- }
- 26% {
- opacity: 0;
- }
- 89% {
- opacity: 0;
- }
- 90% {
- opacity: 1;
- }
- 100% {
- opacity: 1;
- }
-}
-
-@keyframes blue-fade-in-out {
- from {
- opacity: 1;
- }
- 25% {
- opacity: 1;
- }
- 26% {
- opacity: 0;
- }
- 89% {
- opacity: 0;
- }
- 90% {
- opacity: 1;
- }
- 100% {
- opacity: 1;
- }
-}
-
-@-webkit-keyframes red-fade-in-out {
- from {
- opacity: 0;
- }
- 15% {
- opacity: 0;
- }
- 25% {
- opacity: 1;
- }
- 50% {
- opacity: 1;
- }
- 51% {
- opacity: 0;
- }
-}
-
-@keyframes red-fade-in-out {
- from {
- opacity: 0;
- }
- 15% {
- opacity: 0;
- }
- 25% {
- opacity: 1;
- }
- 50% {
- opacity: 1;
- }
- 51% {
- opacity: 0;
- }
-}
-
-@-webkit-keyframes yellow-fade-in-out {
- from {
- opacity: 0;
- }
- 40% {
- opacity: 0;
- }
- 50% {
- opacity: 1;
- }
- 75% {
- opacity: 1;
- }
- 76% {
- opacity: 0;
- }
-}
-
-@keyframes yellow-fade-in-out {
- from {
- opacity: 0;
- }
- 40% {
- opacity: 0;
- }
- 50% {
- opacity: 1;
- }
- 75% {
- opacity: 1;
- }
- 76% {
- opacity: 0;
- }
-}
-
-@-webkit-keyframes green-fade-in-out {
- from {
- opacity: 0;
- }
- 65% {
- opacity: 0;
- }
- 75% {
- opacity: 1;
- }
- 90% {
- opacity: 1;
- }
- 100% {
- opacity: 0;
- }
-}
-
-@keyframes green-fade-in-out {
- from {
- opacity: 0;
- }
- 65% {
- opacity: 0;
- }
- 75% {
- opacity: 1;
- }
- 90% {
- opacity: 1;
- }
- 100% {
- opacity: 0;
- }
-}
-
-/**
- * Patch the gap that appear between the two adjacent div.circle-clipper while the
- * spinner is rotating (appears on Chrome 38, Safari 7.1, and IE 11).
- */
-.gap-patch {
- position: absolute;
- top: 0;
- left: 45%;
- width: 10%;
- height: 100%;
- overflow: hidden;
- border-color: inherit;
-}
-
-.gap-patch .circle {
- width: 1000%;
- left: -450%;
-}
-
-.circle-clipper {
- display: inline-block;
- position: relative;
- width: 50%;
- height: 100%;
- overflow: hidden;
- border-color: inherit;
-}
-
-.circle-clipper .circle {
- width: 200%;
- height: 100%;
- border-width: 3px;
- /* STROKEWIDTH */
- border-style: solid;
- border-color: inherit;
- border-bottom-color: transparent !important;
- border-radius: 50%;
- -webkit-animation: none;
- animation: none;
- position: absolute;
- top: 0;
- right: 0;
- bottom: 0;
-}
-
-.circle-clipper.left .circle {
- left: 0;
- border-right-color: transparent !important;
- -webkit-transform: rotate(129deg);
- transform: rotate(129deg);
-}
-
-.circle-clipper.right .circle {
- left: -100%;
- border-left-color: transparent !important;
- -webkit-transform: rotate(-129deg);
- transform: rotate(-129deg);
-}
-
-.active .circle-clipper.left .circle {
- /* duration: ARCTIME */
- -webkit-animation: left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
- animation: left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
-}
-
-.active .circle-clipper.right .circle {
- /* duration: ARCTIME */
- -webkit-animation: right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
- animation: right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;
-}
-
-@-webkit-keyframes left-spin {
- from {
- -webkit-transform: rotate(130deg);
- }
- 50% {
- -webkit-transform: rotate(-5deg);
- }
- to {
- -webkit-transform: rotate(130deg);
- }
-}
-
-@keyframes left-spin {
- from {
- -webkit-transform: rotate(130deg);
- transform: rotate(130deg);
- }
- 50% {
- -webkit-transform: rotate(-5deg);
- transform: rotate(-5deg);
- }
- to {
- -webkit-transform: rotate(130deg);
- transform: rotate(130deg);
- }
-}
-
-@-webkit-keyframes right-spin {
- from {
- -webkit-transform: rotate(-130deg);
- }
- 50% {
- -webkit-transform: rotate(5deg);
- }
- to {
- -webkit-transform: rotate(-130deg);
- }
-}
-
-@keyframes right-spin {
- from {
- -webkit-transform: rotate(-130deg);
- transform: rotate(-130deg);
- }
- 50% {
- -webkit-transform: rotate(5deg);
- transform: rotate(5deg);
- }
- to {
- -webkit-transform: rotate(-130deg);
- transform: rotate(-130deg);
- }
-}
-
-#spinnerContainer.cooldown {
- /* duration: SHRINK_TIME */
- -webkit-animation: container-rotate 1568ms linear infinite, fade-out 400ms cubic-bezier(0.4, 0, 0.2, 1);
- animation: container-rotate 1568ms linear infinite, fade-out 400ms cubic-bezier(0.4, 0, 0.2, 1);
-}
-
-@-webkit-keyframes fade-out {
- from {
- opacity: 1;
- }
- to {
- opacity: 0;
- }
-}
-
-@keyframes fade-out {
- from {
- opacity: 1;
- }
- to {
- opacity: 0;
- }
-}
-
-.slider {
- position: relative;
- height: 400px;
- width: 100%;
-}
-
-.slider.fullscreen {
- height: 100%;
- width: 100%;
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
-}
-
-.slider.fullscreen ul.slides {
- height: 100%;
-}
-
-.slider.fullscreen ul.indicators {
- z-index: 2;
- bottom: 30px;
-}
-
-.slider .slides {
- background-color: #9e9e9e;
- margin: 0;
- height: 400px;
-}
-
-.slider .slides li {
- opacity: 0;
- position: absolute;
- top: 0;
- left: 0;
- z-index: 1;
- width: 100%;
- height: inherit;
- overflow: hidden;
-}
-
-.slider .slides li img {
- height: 100%;
- width: 100%;
- background-size: cover;
- background-position: center;
-}
-
-.slider .slides li .caption {
- color: #fff;
- position: absolute;
- top: 15%;
- left: 15%;
- width: 70%;
- opacity: 0;
-}
-
-.slider .slides li .caption p {
- color: #e0e0e0;
-}
-
-.slider .slides li.active {
- z-index: 2;
-}
-
-.slider .indicators {
- position: absolute;
- text-align: center;
- left: 0;
- right: 0;
- bottom: 0;
- margin: 0;
-}
-
-.slider .indicators .indicator-item {
- display: inline-block;
- position: relative;
- cursor: pointer;
- height: 16px;
- width: 16px;
- margin: 0 12px;
- background-color: #e0e0e0;
- -webkit-transition: background-color .3s;
- transition: background-color .3s;
- border-radius: 50%;
-}
-
-.slider .indicators .indicator-item.active {
- background-color: #4CAF50;
-}
-
-.carousel {
- overflow: hidden;
- position: relative;
- width: 100%;
- height: 400px;
- -webkit-perspective: 500px;
- perspective: 500px;
- -webkit-transform-style: preserve-3d;
- transform-style: preserve-3d;
- -webkit-transform-origin: 0% 50%;
- transform-origin: 0% 50%;
-}
-
-.carousel.carousel-slider {
- top: 0;
- left: 0;
-}
-
-.carousel.carousel-slider .carousel-fixed-item {
- position: absolute;
- left: 0;
- right: 0;
- bottom: 20px;
- z-index: 1;
-}
-
-.carousel.carousel-slider .carousel-fixed-item.with-indicators {
- bottom: 68px;
-}
-
-.carousel.carousel-slider .carousel-item {
- width: 100%;
- height: 100%;
- min-height: 400px;
- position: absolute;
- top: 0;
- left: 0;
-}
-
-.carousel.carousel-slider .carousel-item h2 {
- font-size: 24px;
- font-weight: 500;
- line-height: 32px;
-}
-
-.carousel.carousel-slider .carousel-item p {
- font-size: 15px;
-}
-
-.carousel .carousel-item {
- visibility: hidden;
- width: 200px;
- height: 200px;
- position: absolute;
- top: 0;
- left: 0;
-}
-
-.carousel .carousel-item > img {
- width: 100%;
-}
-
-.carousel .indicators {
- position: absolute;
- text-align: center;
- left: 0;
- right: 0;
- bottom: 0;
- margin: 0;
-}
-
-.carousel .indicators .indicator-item {
- display: inline-block;
- position: relative;
- cursor: pointer;
- height: 8px;
- width: 8px;
- margin: 24px 4px;
- background-color: rgba(255, 255, 255, 0.5);
- -webkit-transition: background-color .3s;
- transition: background-color .3s;
- border-radius: 50%;
-}
-
-.carousel .indicators .indicator-item.active {
- background-color: #fff;
-}
-
-.carousel.scrolling .carousel-item .materialboxed,
-.carousel .carousel-item:not(.active) .materialboxed {
- pointer-events: none;
-}
-
-.tap-target-wrapper {
- width: 800px;
- height: 800px;
- position: fixed;
- z-index: 1000;
- visibility: hidden;
- -webkit-transition: visibility 0s .3s;
- transition: visibility 0s .3s;
-}
-
-.tap-target-wrapper.open {
- visibility: visible;
- -webkit-transition: visibility 0s;
- transition: visibility 0s;
-}
-
-.tap-target-wrapper.open .tap-target {
- -webkit-transform: scale(1);
- transform: scale(1);
- opacity: .95;
- -webkit-transition: opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1), -webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);
- transition: opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1), -webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);
- transition: transform 0.3s cubic-bezier(0.42, 0, 0.58, 1), opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1);
- transition: transform 0.3s cubic-bezier(0.42, 0, 0.58, 1), opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1), -webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);
-}
-
-.tap-target-wrapper.open .tap-target-wave::before {
- -webkit-transform: scale(1);
- transform: scale(1);
-}
-
-.tap-target-wrapper.open .tap-target-wave::after {
- visibility: visible;
- -webkit-animation: pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;
- animation: pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;
- -webkit-transition: opacity .3s,
visibility 0s 1s,
-webkit-transform .3s;
- transition: opacity .3s,
visibility 0s 1s,
-webkit-transform .3s;
- transition: opacity .3s,
transform .3s,
visibility 0s 1s;
- transition: opacity .3s,
transform .3s,
visibility 0s 1s,
-webkit-transform .3s;
-}
-
-.tap-target {
- position: absolute;
- font-size: 1rem;
- border-radius: 50%;
- background-color: #ee6e73;
- -webkit-box-shadow: 0 20px 20px 0 rgba(0, 0, 0, 0.14), 0 10px 50px 0 rgba(0, 0, 0, 0.12), 0 30px 10px -20px rgba(0, 0, 0, 0.2);
- box-shadow: 0 20px 20px 0 rgba(0, 0, 0, 0.14), 0 10px 50px 0 rgba(0, 0, 0, 0.12), 0 30px 10px -20px rgba(0, 0, 0, 0.2);
- width: 100%;
- height: 100%;
- opacity: 0;
- -webkit-transform: scale(0);
- transform: scale(0);
- -webkit-transition: opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1), -webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);
- transition: opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1), -webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);
- transition: transform 0.3s cubic-bezier(0.42, 0, 0.58, 1), opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1);
- transition: transform 0.3s cubic-bezier(0.42, 0, 0.58, 1), opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1), -webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);
-}
-
-.tap-target-content {
- position: relative;
- display: table-cell;
-}
-
-.tap-target-wave {
- position: absolute;
- border-radius: 50%;
- z-index: 10001;
-}
-
-.tap-target-wave::before, .tap-target-wave::after {
- content: '';
- display: block;
- position: absolute;
- width: 100%;
- height: 100%;
- border-radius: 50%;
- background-color: #ffffff;
-}
-
-.tap-target-wave::before {
- -webkit-transform: scale(0);
- transform: scale(0);
- -webkit-transition: -webkit-transform .3s;
- transition: -webkit-transform .3s;
- transition: transform .3s;
- transition: transform .3s, -webkit-transform .3s;
-}
-
-.tap-target-wave::after {
- visibility: hidden;
- -webkit-transition: opacity .3s,
visibility 0s,
-webkit-transform .3s;
- transition: opacity .3s,
visibility 0s,
-webkit-transform .3s;
- transition: opacity .3s,
transform .3s,
visibility 0s;
- transition: opacity .3s,
transform .3s,
visibility 0s,
-webkit-transform .3s;
- z-index: -1;
-}
-
-.tap-target-origin {
- top: 50%;
- left: 50%;
- -webkit-transform: translate(-50%, -50%);
- transform: translate(-50%, -50%);
- z-index: 10002;
- position: absolute !important;
-}
-
-.tap-target-origin:not(.btn):not(.btn-large):not(.btn-small), .tap-target-origin:not(.btn):not(.btn-large):not(.btn-small):hover {
- background: none;
-}
-
-@media only screen and (max-width: 600px) {
- .tap-target, .tap-target-wrapper {
- width: 600px;
- height: 600px;
- }
-}
-
-.pulse {
- overflow: visible;
- position: relative;
-}
-
-.pulse::before {
- content: '';
- display: block;
- position: absolute;
- width: 100%;
- height: 100%;
- top: 0;
- left: 0;
- background-color: inherit;
- border-radius: inherit;
- -webkit-transition: opacity .3s, -webkit-transform .3s;
- transition: opacity .3s, -webkit-transform .3s;
- transition: opacity .3s, transform .3s;
- transition: opacity .3s, transform .3s, -webkit-transform .3s;
- -webkit-animation: pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;
- animation: pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;
- z-index: -1;
-}
-
-@-webkit-keyframes pulse-animation {
- 0% {
- opacity: 1;
- -webkit-transform: scale(1);
- transform: scale(1);
- }
- 50% {
- opacity: 0;
- -webkit-transform: scale(1.5);
- transform: scale(1.5);
- }
- 100% {
- opacity: 0;
- -webkit-transform: scale(1.5);
- transform: scale(1.5);
- }
-}
-
-@keyframes pulse-animation {
- 0% {
- opacity: 1;
- -webkit-transform: scale(1);
- transform: scale(1);
- }
- 50% {
- opacity: 0;
- -webkit-transform: scale(1.5);
- transform: scale(1.5);
- }
- 100% {
- opacity: 0;
- -webkit-transform: scale(1.5);
- transform: scale(1.5);
- }
-}
-
-/* Modal */
-.datepicker-modal {
- max-width: 325px;
- min-width: 300px;
- max-height: none;
-}
-
-.datepicker-container.modal-content {
- display: -webkit-box;
- display: -webkit-flex;
- display: -ms-flexbox;
- display: flex;
- -webkit-box-orient: vertical;
- -webkit-box-direction: normal;
- -webkit-flex-direction: column;
- -ms-flex-direction: column;
- flex-direction: column;
- padding: 0;
-}
-
-.datepicker-controls {
- display: -webkit-box;
- display: -webkit-flex;
- display: -ms-flexbox;
- display: flex;
- -webkit-box-pack: justify;
- -webkit-justify-content: space-between;
- -ms-flex-pack: justify;
- justify-content: space-between;
- width: 280px;
- margin: 0 auto;
-}
-
-.datepicker-controls .selects-container {
- display: -webkit-box;
- display: -webkit-flex;
- display: -ms-flexbox;
- display: flex;
-}
-
-.datepicker-controls .select-wrapper input {
- border-bottom: none;
- text-align: center;
- margin: 0;
-}
-
-.datepicker-controls .select-wrapper input:focus {
- border-bottom: none;
-}
-
-.datepicker-controls .select-wrapper .caret {
- display: none;
-}
-
-.datepicker-controls .select-year input {
- width: 50px;
-}
-
-.datepicker-controls .select-month input {
- width: 70px;
-}
-
-.month-prev, .month-next {
- margin-top: 4px;
- cursor: pointer;
- background-color: transparent;
- border: none;
-}
-
-/* Date Display */
-.datepicker-date-display {
- -webkit-box-flex: 1;
- -webkit-flex: 1 auto;
- -ms-flex: 1 auto;
- flex: 1 auto;
- background-color: #26a69a;
- color: #fff;
- padding: 20px 22px;
- font-weight: 500;
-}
-
-.datepicker-date-display .year-text {
- display: block;
- font-size: 1.5rem;
- line-height: 25px;
- color: rgba(255, 255, 255, 0.7);
-}
-
-.datepicker-date-display .date-text {
- display: block;
- font-size: 2.8rem;
- line-height: 47px;
- font-weight: 500;
-}
-
-/* Calendar */
-.datepicker-calendar-container {
- -webkit-box-flex: 2.5;
- -webkit-flex: 2.5 auto;
- -ms-flex: 2.5 auto;
- flex: 2.5 auto;
-}
-
-.datepicker-table {
- width: 280px;
- font-size: 1rem;
- margin: 0 auto;
-}
-
-.datepicker-table thead {
- border-bottom: none;
-}
-
-.datepicker-table th {
- padding: 10px 5px;
- text-align: center;
-}
-
-.datepicker-table tr {
- border: none;
-}
-
-.datepicker-table abbr {
- text-decoration: none;
- color: #999;
-}
-
-.datepicker-table td {
- border-radius: 50%;
- padding: 0;
-}
-
-.datepicker-table td.is-today {
- color: #26a69a;
-}
-
-.datepicker-table td.is-selected {
- background-color: #26a69a;
- color: #fff;
-}
-
-.datepicker-table td.is-outside-current-month, .datepicker-table td.is-disabled {
- color: rgba(0, 0, 0, 0.3);
- pointer-events: none;
-}
-
-.datepicker-day-button {
- background-color: transparent;
- border: none;
- line-height: 38px;
- display: block;
- width: 100%;
- border-radius: 50%;
- padding: 0 5px;
- cursor: pointer;
- color: inherit;
-}
-
-.datepicker-day-button:focus {
- background-color: rgba(43, 161, 150, 0.25);
-}
-
-/* Footer */
-.datepicker-footer {
- width: 280px;
- margin: 0 auto;
- padding-bottom: 5px;
- display: -webkit-box;
- display: -webkit-flex;
- display: -ms-flexbox;
- display: flex;
- -webkit-box-pack: justify;
- -webkit-justify-content: space-between;
- -ms-flex-pack: justify;
- justify-content: space-between;
-}
-
-.datepicker-cancel,
-.datepicker-clear,
-.datepicker-today,
-.datepicker-done {
- color: #26a69a;
- padding: 0 1rem;
-}
-
-.datepicker-clear {
- color: #F44336;
-}
-
-/* Media Queries */
-@media only screen and (min-width: 601px) {
- .datepicker-modal {
- max-width: 625px;
- }
- .datepicker-container.modal-content {
- -webkit-box-orient: horizontal;
- -webkit-box-direction: normal;
- -webkit-flex-direction: row;
- -ms-flex-direction: row;
- flex-direction: row;
- }
- .datepicker-date-display {
- -webkit-box-flex: 0;
- -webkit-flex: 0 1 270px;
- -ms-flex: 0 1 270px;
- flex: 0 1 270px;
- }
- .datepicker-controls,
- .datepicker-table,
- .datepicker-footer {
- width: 320px;
- }
- .datepicker-day-button {
- line-height: 44px;
- }
-}
-
-/* Timepicker Containers */
-.timepicker-modal {
- max-width: 325px;
- max-height: none;
-}
-
-.timepicker-container.modal-content {
- display: -webkit-box;
- display: -webkit-flex;
- display: -ms-flexbox;
- display: flex;
- -webkit-box-orient: vertical;
- -webkit-box-direction: normal;
- -webkit-flex-direction: column;
- -ms-flex-direction: column;
- flex-direction: column;
- padding: 0;
-}
-
-.text-primary {
- color: white;
-}
-
-/* Clock Digital Display */
-.timepicker-digital-display {
- -webkit-box-flex: 1;
- -webkit-flex: 1 auto;
- -ms-flex: 1 auto;
- flex: 1 auto;
- background-color: #26a69a;
- padding: 10px;
- font-weight: 300;
-}
-
-.timepicker-text-container {
- font-size: 4rem;
- font-weight: bold;
- text-align: center;
- color: rgba(255, 255, 255, 0.6);
- font-weight: 400;
- position: relative;
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
-}
-
-.timepicker-span-hours,
-.timepicker-span-minutes,
-.timepicker-span-am-pm div {
- cursor: pointer;
-}
-
-.timepicker-span-hours {
- margin-right: 3px;
-}
-
-.timepicker-span-minutes {
- margin-left: 3px;
-}
-
-.timepicker-display-am-pm {
- font-size: 1.3rem;
- position: absolute;
- right: 1rem;
- bottom: 1rem;
- font-weight: 400;
-}
-
-/* Analog Clock Display */
-.timepicker-analog-display {
- -webkit-box-flex: 2.5;
- -webkit-flex: 2.5 auto;
- -ms-flex: 2.5 auto;
- flex: 2.5 auto;
-}
-
-.timepicker-plate {
- background-color: #eee;
- border-radius: 50%;
- width: 270px;
- height: 270px;
- overflow: visible;
- position: relative;
- margin: auto;
- margin-top: 25px;
- margin-bottom: 5px;
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
-}
-
-.timepicker-canvas,
-.timepicker-dial {
- position: absolute;
- left: 0;
- right: 0;
- top: 0;
- bottom: 0;
-}
-
-.timepicker-minutes {
- visibility: hidden;
-}
-
-.timepicker-tick {
- border-radius: 50%;
- color: rgba(0, 0, 0, 0.87);
- line-height: 40px;
- text-align: center;
- width: 40px;
- height: 40px;
- position: absolute;
- cursor: pointer;
- font-size: 15px;
-}
-
-.timepicker-tick.active,
-.timepicker-tick:hover {
- background-color: rgba(38, 166, 154, 0.25);
-}
-
-.timepicker-dial {
- -webkit-transition: opacity 350ms, -webkit-transform 350ms;
- transition: opacity 350ms, -webkit-transform 350ms;
- transition: transform 350ms, opacity 350ms;
- transition: transform 350ms, opacity 350ms, -webkit-transform 350ms;
-}
-
-.timepicker-dial-out {
- opacity: 0;
-}
-
-.timepicker-dial-out.timepicker-hours {
- -webkit-transform: scale(1.1, 1.1);
- transform: scale(1.1, 1.1);
-}
-
-.timepicker-dial-out.timepicker-minutes {
- -webkit-transform: scale(0.8, 0.8);
- transform: scale(0.8, 0.8);
-}
-
-.timepicker-canvas {
- -webkit-transition: opacity 175ms;
- transition: opacity 175ms;
-}
-
-.timepicker-canvas line {
- stroke: #26a69a;
- stroke-width: 4;
- stroke-linecap: round;
-}
-
-.timepicker-canvas-out {
- opacity: 0.25;
-}
-
-.timepicker-canvas-bearing {
- stroke: none;
- fill: #26a69a;
-}
-
-.timepicker-canvas-bg {
- stroke: none;
- fill: #26a69a;
-}
-
-/* Footer */
-.timepicker-footer {
- margin: 0 auto;
- padding: 5px 1rem;
- display: -webkit-box;
- display: -webkit-flex;
- display: -ms-flexbox;
- display: flex;
- -webkit-box-pack: justify;
- -webkit-justify-content: space-between;
- -ms-flex-pack: justify;
- justify-content: space-between;
-}
-
-.timepicker-clear {
- color: #F44336;
-}
-
-.timepicker-close {
- color: #26a69a;
-}
-
-.timepicker-clear,
-.timepicker-close {
- padding: 0 20px;
-}
-
-/* Media Queries */
-@media only screen and (min-width: 601px) {
- .timepicker-modal {
- max-width: 600px;
- }
- .timepicker-container.modal-content {
- -webkit-box-orient: horizontal;
- -webkit-box-direction: normal;
- -webkit-flex-direction: row;
- -ms-flex-direction: row;
- flex-direction: row;
- }
- .timepicker-text-container {
- top: 32%;
- }
- .timepicker-display-am-pm {
- position: relative;
- right: auto;
- bottom: auto;
- text-align: center;
- margin-top: 1.2rem;
- }
-}
diff --git a/themes/cmd/source/materialize/css/materialize.min.css b/themes/cmd/source/materialize/css/materialize.min.css
deleted file mode 100644
index 74b1741..0000000
--- a/themes/cmd/source/materialize/css/materialize.min.css
+++ /dev/null
@@ -1,13 +0,0 @@
-/*!
- * Materialize v1.0.0 (http://materializecss.com)
- * Copyright 2014-2017 Materialize
- * MIT License (https://raw.githubusercontent.com/Dogfalo/materialize/master/LICENSE)
- */
-.materialize-red{background-color:#e51c23 !important}.materialize-red-text{color:#e51c23 !important}.materialize-red.lighten-5{background-color:#fdeaeb !important}.materialize-red-text.text-lighten-5{color:#fdeaeb !important}.materialize-red.lighten-4{background-color:#f8c1c3 !important}.materialize-red-text.text-lighten-4{color:#f8c1c3 !important}.materialize-red.lighten-3{background-color:#f3989b !important}.materialize-red-text.text-lighten-3{color:#f3989b !important}.materialize-red.lighten-2{background-color:#ee6e73 !important}.materialize-red-text.text-lighten-2{color:#ee6e73 !important}.materialize-red.lighten-1{background-color:#ea454b !important}.materialize-red-text.text-lighten-1{color:#ea454b !important}.materialize-red.darken-1{background-color:#d0181e !important}.materialize-red-text.text-darken-1{color:#d0181e !important}.materialize-red.darken-2{background-color:#b9151b !important}.materialize-red-text.text-darken-2{color:#b9151b !important}.materialize-red.darken-3{background-color:#a21318 !important}.materialize-red-text.text-darken-3{color:#a21318 !important}.materialize-red.darken-4{background-color:#8b1014 !important}.materialize-red-text.text-darken-4{color:#8b1014 !important}.red{background-color:#F44336 !important}.red-text{color:#F44336 !important}.red.lighten-5{background-color:#FFEBEE !important}.red-text.text-lighten-5{color:#FFEBEE !important}.red.lighten-4{background-color:#FFCDD2 !important}.red-text.text-lighten-4{color:#FFCDD2 !important}.red.lighten-3{background-color:#EF9A9A !important}.red-text.text-lighten-3{color:#EF9A9A !important}.red.lighten-2{background-color:#E57373 !important}.red-text.text-lighten-2{color:#E57373 !important}.red.lighten-1{background-color:#EF5350 !important}.red-text.text-lighten-1{color:#EF5350 !important}.red.darken-1{background-color:#E53935 !important}.red-text.text-darken-1{color:#E53935 !important}.red.darken-2{background-color:#D32F2F !important}.red-text.text-darken-2{color:#D32F2F !important}.red.darken-3{background-color:#C62828 !important}.red-text.text-darken-3{color:#C62828 !important}.red.darken-4{background-color:#B71C1C !important}.red-text.text-darken-4{color:#B71C1C !important}.red.accent-1{background-color:#FF8A80 !important}.red-text.text-accent-1{color:#FF8A80 !important}.red.accent-2{background-color:#FF5252 !important}.red-text.text-accent-2{color:#FF5252 !important}.red.accent-3{background-color:#FF1744 !important}.red-text.text-accent-3{color:#FF1744 !important}.red.accent-4{background-color:#D50000 !important}.red-text.text-accent-4{color:#D50000 !important}.pink{background-color:#e91e63 !important}.pink-text{color:#e91e63 !important}.pink.lighten-5{background-color:#fce4ec !important}.pink-text.text-lighten-5{color:#fce4ec !important}.pink.lighten-4{background-color:#f8bbd0 !important}.pink-text.text-lighten-4{color:#f8bbd0 !important}.pink.lighten-3{background-color:#f48fb1 !important}.pink-text.text-lighten-3{color:#f48fb1 !important}.pink.lighten-2{background-color:#f06292 !important}.pink-text.text-lighten-2{color:#f06292 !important}.pink.lighten-1{background-color:#ec407a !important}.pink-text.text-lighten-1{color:#ec407a !important}.pink.darken-1{background-color:#d81b60 !important}.pink-text.text-darken-1{color:#d81b60 !important}.pink.darken-2{background-color:#c2185b !important}.pink-text.text-darken-2{color:#c2185b !important}.pink.darken-3{background-color:#ad1457 !important}.pink-text.text-darken-3{color:#ad1457 !important}.pink.darken-4{background-color:#880e4f !important}.pink-text.text-darken-4{color:#880e4f !important}.pink.accent-1{background-color:#ff80ab !important}.pink-text.text-accent-1{color:#ff80ab !important}.pink.accent-2{background-color:#ff4081 !important}.pink-text.text-accent-2{color:#ff4081 !important}.pink.accent-3{background-color:#f50057 !important}.pink-text.text-accent-3{color:#f50057 !important}.pink.accent-4{background-color:#c51162 !important}.pink-text.text-accent-4{color:#c51162 !important}.purple{background-color:#9c27b0 !important}.purple-text{color:#9c27b0 !important}.purple.lighten-5{background-color:#f3e5f5 !important}.purple-text.text-lighten-5{color:#f3e5f5 !important}.purple.lighten-4{background-color:#e1bee7 !important}.purple-text.text-lighten-4{color:#e1bee7 !important}.purple.lighten-3{background-color:#ce93d8 !important}.purple-text.text-lighten-3{color:#ce93d8 !important}.purple.lighten-2{background-color:#ba68c8 !important}.purple-text.text-lighten-2{color:#ba68c8 !important}.purple.lighten-1{background-color:#ab47bc !important}.purple-text.text-lighten-1{color:#ab47bc !important}.purple.darken-1{background-color:#8e24aa !important}.purple-text.text-darken-1{color:#8e24aa !important}.purple.darken-2{background-color:#7b1fa2 !important}.purple-text.text-darken-2{color:#7b1fa2 !important}.purple.darken-3{background-color:#6a1b9a !important}.purple-text.text-darken-3{color:#6a1b9a !important}.purple.darken-4{background-color:#4a148c !important}.purple-text.text-darken-4{color:#4a148c !important}.purple.accent-1{background-color:#ea80fc !important}.purple-text.text-accent-1{color:#ea80fc !important}.purple.accent-2{background-color:#e040fb !important}.purple-text.text-accent-2{color:#e040fb !important}.purple.accent-3{background-color:#d500f9 !important}.purple-text.text-accent-3{color:#d500f9 !important}.purple.accent-4{background-color:#a0f !important}.purple-text.text-accent-4{color:#a0f !important}.deep-purple{background-color:#673ab7 !important}.deep-purple-text{color:#673ab7 !important}.deep-purple.lighten-5{background-color:#ede7f6 !important}.deep-purple-text.text-lighten-5{color:#ede7f6 !important}.deep-purple.lighten-4{background-color:#d1c4e9 !important}.deep-purple-text.text-lighten-4{color:#d1c4e9 !important}.deep-purple.lighten-3{background-color:#b39ddb !important}.deep-purple-text.text-lighten-3{color:#b39ddb !important}.deep-purple.lighten-2{background-color:#9575cd !important}.deep-purple-text.text-lighten-2{color:#9575cd !important}.deep-purple.lighten-1{background-color:#7e57c2 !important}.deep-purple-text.text-lighten-1{color:#7e57c2 !important}.deep-purple.darken-1{background-color:#5e35b1 !important}.deep-purple-text.text-darken-1{color:#5e35b1 !important}.deep-purple.darken-2{background-color:#512da8 !important}.deep-purple-text.text-darken-2{color:#512da8 !important}.deep-purple.darken-3{background-color:#4527a0 !important}.deep-purple-text.text-darken-3{color:#4527a0 !important}.deep-purple.darken-4{background-color:#311b92 !important}.deep-purple-text.text-darken-4{color:#311b92 !important}.deep-purple.accent-1{background-color:#b388ff !important}.deep-purple-text.text-accent-1{color:#b388ff !important}.deep-purple.accent-2{background-color:#7c4dff !important}.deep-purple-text.text-accent-2{color:#7c4dff !important}.deep-purple.accent-3{background-color:#651fff !important}.deep-purple-text.text-accent-3{color:#651fff !important}.deep-purple.accent-4{background-color:#6200ea !important}.deep-purple-text.text-accent-4{color:#6200ea !important}.indigo{background-color:#3f51b5 !important}.indigo-text{color:#3f51b5 !important}.indigo.lighten-5{background-color:#e8eaf6 !important}.indigo-text.text-lighten-5{color:#e8eaf6 !important}.indigo.lighten-4{background-color:#c5cae9 !important}.indigo-text.text-lighten-4{color:#c5cae9 !important}.indigo.lighten-3{background-color:#9fa8da !important}.indigo-text.text-lighten-3{color:#9fa8da !important}.indigo.lighten-2{background-color:#7986cb !important}.indigo-text.text-lighten-2{color:#7986cb !important}.indigo.lighten-1{background-color:#5c6bc0 !important}.indigo-text.text-lighten-1{color:#5c6bc0 !important}.indigo.darken-1{background-color:#3949ab !important}.indigo-text.text-darken-1{color:#3949ab !important}.indigo.darken-2{background-color:#303f9f !important}.indigo-text.text-darken-2{color:#303f9f !important}.indigo.darken-3{background-color:#283593 !important}.indigo-text.text-darken-3{color:#283593 !important}.indigo.darken-4{background-color:#1a237e !important}.indigo-text.text-darken-4{color:#1a237e !important}.indigo.accent-1{background-color:#8c9eff !important}.indigo-text.text-accent-1{color:#8c9eff !important}.indigo.accent-2{background-color:#536dfe !important}.indigo-text.text-accent-2{color:#536dfe !important}.indigo.accent-3{background-color:#3d5afe !important}.indigo-text.text-accent-3{color:#3d5afe !important}.indigo.accent-4{background-color:#304ffe !important}.indigo-text.text-accent-4{color:#304ffe !important}.blue{background-color:#2196F3 !important}.blue-text{color:#2196F3 !important}.blue.lighten-5{background-color:#E3F2FD !important}.blue-text.text-lighten-5{color:#E3F2FD !important}.blue.lighten-4{background-color:#BBDEFB !important}.blue-text.text-lighten-4{color:#BBDEFB !important}.blue.lighten-3{background-color:#90CAF9 !important}.blue-text.text-lighten-3{color:#90CAF9 !important}.blue.lighten-2{background-color:#64B5F6 !important}.blue-text.text-lighten-2{color:#64B5F6 !important}.blue.lighten-1{background-color:#42A5F5 !important}.blue-text.text-lighten-1{color:#42A5F5 !important}.blue.darken-1{background-color:#1E88E5 !important}.blue-text.text-darken-1{color:#1E88E5 !important}.blue.darken-2{background-color:#1976D2 !important}.blue-text.text-darken-2{color:#1976D2 !important}.blue.darken-3{background-color:#1565C0 !important}.blue-text.text-darken-3{color:#1565C0 !important}.blue.darken-4{background-color:#0D47A1 !important}.blue-text.text-darken-4{color:#0D47A1 !important}.blue.accent-1{background-color:#82B1FF !important}.blue-text.text-accent-1{color:#82B1FF !important}.blue.accent-2{background-color:#448AFF !important}.blue-text.text-accent-2{color:#448AFF !important}.blue.accent-3{background-color:#2979FF !important}.blue-text.text-accent-3{color:#2979FF !important}.blue.accent-4{background-color:#2962FF !important}.blue-text.text-accent-4{color:#2962FF !important}.light-blue{background-color:#03a9f4 !important}.light-blue-text{color:#03a9f4 !important}.light-blue.lighten-5{background-color:#e1f5fe !important}.light-blue-text.text-lighten-5{color:#e1f5fe !important}.light-blue.lighten-4{background-color:#b3e5fc !important}.light-blue-text.text-lighten-4{color:#b3e5fc !important}.light-blue.lighten-3{background-color:#81d4fa !important}.light-blue-text.text-lighten-3{color:#81d4fa !important}.light-blue.lighten-2{background-color:#4fc3f7 !important}.light-blue-text.text-lighten-2{color:#4fc3f7 !important}.light-blue.lighten-1{background-color:#29b6f6 !important}.light-blue-text.text-lighten-1{color:#29b6f6 !important}.light-blue.darken-1{background-color:#039be5 !important}.light-blue-text.text-darken-1{color:#039be5 !important}.light-blue.darken-2{background-color:#0288d1 !important}.light-blue-text.text-darken-2{color:#0288d1 !important}.light-blue.darken-3{background-color:#0277bd !important}.light-blue-text.text-darken-3{color:#0277bd !important}.light-blue.darken-4{background-color:#01579b !important}.light-blue-text.text-darken-4{color:#01579b !important}.light-blue.accent-1{background-color:#80d8ff !important}.light-blue-text.text-accent-1{color:#80d8ff !important}.light-blue.accent-2{background-color:#40c4ff !important}.light-blue-text.text-accent-2{color:#40c4ff !important}.light-blue.accent-3{background-color:#00b0ff !important}.light-blue-text.text-accent-3{color:#00b0ff !important}.light-blue.accent-4{background-color:#0091ea !important}.light-blue-text.text-accent-4{color:#0091ea !important}.cyan{background-color:#00bcd4 !important}.cyan-text{color:#00bcd4 !important}.cyan.lighten-5{background-color:#e0f7fa !important}.cyan-text.text-lighten-5{color:#e0f7fa !important}.cyan.lighten-4{background-color:#b2ebf2 !important}.cyan-text.text-lighten-4{color:#b2ebf2 !important}.cyan.lighten-3{background-color:#80deea !important}.cyan-text.text-lighten-3{color:#80deea !important}.cyan.lighten-2{background-color:#4dd0e1 !important}.cyan-text.text-lighten-2{color:#4dd0e1 !important}.cyan.lighten-1{background-color:#26c6da !important}.cyan-text.text-lighten-1{color:#26c6da !important}.cyan.darken-1{background-color:#00acc1 !important}.cyan-text.text-darken-1{color:#00acc1 !important}.cyan.darken-2{background-color:#0097a7 !important}.cyan-text.text-darken-2{color:#0097a7 !important}.cyan.darken-3{background-color:#00838f !important}.cyan-text.text-darken-3{color:#00838f !important}.cyan.darken-4{background-color:#006064 !important}.cyan-text.text-darken-4{color:#006064 !important}.cyan.accent-1{background-color:#84ffff !important}.cyan-text.text-accent-1{color:#84ffff !important}.cyan.accent-2{background-color:#18ffff !important}.cyan-text.text-accent-2{color:#18ffff !important}.cyan.accent-3{background-color:#00e5ff !important}.cyan-text.text-accent-3{color:#00e5ff !important}.cyan.accent-4{background-color:#00b8d4 !important}.cyan-text.text-accent-4{color:#00b8d4 !important}.teal{background-color:#009688 !important}.teal-text{color:#009688 !important}.teal.lighten-5{background-color:#e0f2f1 !important}.teal-text.text-lighten-5{color:#e0f2f1 !important}.teal.lighten-4{background-color:#b2dfdb !important}.teal-text.text-lighten-4{color:#b2dfdb !important}.teal.lighten-3{background-color:#80cbc4 !important}.teal-text.text-lighten-3{color:#80cbc4 !important}.teal.lighten-2{background-color:#4db6ac !important}.teal-text.text-lighten-2{color:#4db6ac !important}.teal.lighten-1{background-color:#26a69a !important}.teal-text.text-lighten-1{color:#26a69a !important}.teal.darken-1{background-color:#00897b !important}.teal-text.text-darken-1{color:#00897b !important}.teal.darken-2{background-color:#00796b !important}.teal-text.text-darken-2{color:#00796b !important}.teal.darken-3{background-color:#00695c !important}.teal-text.text-darken-3{color:#00695c !important}.teal.darken-4{background-color:#004d40 !important}.teal-text.text-darken-4{color:#004d40 !important}.teal.accent-1{background-color:#a7ffeb !important}.teal-text.text-accent-1{color:#a7ffeb !important}.teal.accent-2{background-color:#64ffda !important}.teal-text.text-accent-2{color:#64ffda !important}.teal.accent-3{background-color:#1de9b6 !important}.teal-text.text-accent-3{color:#1de9b6 !important}.teal.accent-4{background-color:#00bfa5 !important}.teal-text.text-accent-4{color:#00bfa5 !important}.green{background-color:#4CAF50 !important}.green-text{color:#4CAF50 !important}.green.lighten-5{background-color:#E8F5E9 !important}.green-text.text-lighten-5{color:#E8F5E9 !important}.green.lighten-4{background-color:#C8E6C9 !important}.green-text.text-lighten-4{color:#C8E6C9 !important}.green.lighten-3{background-color:#A5D6A7 !important}.green-text.text-lighten-3{color:#A5D6A7 !important}.green.lighten-2{background-color:#81C784 !important}.green-text.text-lighten-2{color:#81C784 !important}.green.lighten-1{background-color:#66BB6A !important}.green-text.text-lighten-1{color:#66BB6A !important}.green.darken-1{background-color:#43A047 !important}.green-text.text-darken-1{color:#43A047 !important}.green.darken-2{background-color:#388E3C !important}.green-text.text-darken-2{color:#388E3C !important}.green.darken-3{background-color:#2E7D32 !important}.green-text.text-darken-3{color:#2E7D32 !important}.green.darken-4{background-color:#1B5E20 !important}.green-text.text-darken-4{color:#1B5E20 !important}.green.accent-1{background-color:#B9F6CA !important}.green-text.text-accent-1{color:#B9F6CA !important}.green.accent-2{background-color:#69F0AE !important}.green-text.text-accent-2{color:#69F0AE !important}.green.accent-3{background-color:#00E676 !important}.green-text.text-accent-3{color:#00E676 !important}.green.accent-4{background-color:#00C853 !important}.green-text.text-accent-4{color:#00C853 !important}.light-green{background-color:#8bc34a !important}.light-green-text{color:#8bc34a !important}.light-green.lighten-5{background-color:#f1f8e9 !important}.light-green-text.text-lighten-5{color:#f1f8e9 !important}.light-green.lighten-4{background-color:#dcedc8 !important}.light-green-text.text-lighten-4{color:#dcedc8 !important}.light-green.lighten-3{background-color:#c5e1a5 !important}.light-green-text.text-lighten-3{color:#c5e1a5 !important}.light-green.lighten-2{background-color:#aed581 !important}.light-green-text.text-lighten-2{color:#aed581 !important}.light-green.lighten-1{background-color:#9ccc65 !important}.light-green-text.text-lighten-1{color:#9ccc65 !important}.light-green.darken-1{background-color:#7cb342 !important}.light-green-text.text-darken-1{color:#7cb342 !important}.light-green.darken-2{background-color:#689f38 !important}.light-green-text.text-darken-2{color:#689f38 !important}.light-green.darken-3{background-color:#558b2f !important}.light-green-text.text-darken-3{color:#558b2f !important}.light-green.darken-4{background-color:#33691e !important}.light-green-text.text-darken-4{color:#33691e !important}.light-green.accent-1{background-color:#ccff90 !important}.light-green-text.text-accent-1{color:#ccff90 !important}.light-green.accent-2{background-color:#b2ff59 !important}.light-green-text.text-accent-2{color:#b2ff59 !important}.light-green.accent-3{background-color:#76ff03 !important}.light-green-text.text-accent-3{color:#76ff03 !important}.light-green.accent-4{background-color:#64dd17 !important}.light-green-text.text-accent-4{color:#64dd17 !important}.lime{background-color:#cddc39 !important}.lime-text{color:#cddc39 !important}.lime.lighten-5{background-color:#f9fbe7 !important}.lime-text.text-lighten-5{color:#f9fbe7 !important}.lime.lighten-4{background-color:#f0f4c3 !important}.lime-text.text-lighten-4{color:#f0f4c3 !important}.lime.lighten-3{background-color:#e6ee9c !important}.lime-text.text-lighten-3{color:#e6ee9c !important}.lime.lighten-2{background-color:#dce775 !important}.lime-text.text-lighten-2{color:#dce775 !important}.lime.lighten-1{background-color:#d4e157 !important}.lime-text.text-lighten-1{color:#d4e157 !important}.lime.darken-1{background-color:#c0ca33 !important}.lime-text.text-darken-1{color:#c0ca33 !important}.lime.darken-2{background-color:#afb42b !important}.lime-text.text-darken-2{color:#afb42b !important}.lime.darken-3{background-color:#9e9d24 !important}.lime-text.text-darken-3{color:#9e9d24 !important}.lime.darken-4{background-color:#827717 !important}.lime-text.text-darken-4{color:#827717 !important}.lime.accent-1{background-color:#f4ff81 !important}.lime-text.text-accent-1{color:#f4ff81 !important}.lime.accent-2{background-color:#eeff41 !important}.lime-text.text-accent-2{color:#eeff41 !important}.lime.accent-3{background-color:#c6ff00 !important}.lime-text.text-accent-3{color:#c6ff00 !important}.lime.accent-4{background-color:#aeea00 !important}.lime-text.text-accent-4{color:#aeea00 !important}.yellow{background-color:#ffeb3b !important}.yellow-text{color:#ffeb3b !important}.yellow.lighten-5{background-color:#fffde7 !important}.yellow-text.text-lighten-5{color:#fffde7 !important}.yellow.lighten-4{background-color:#fff9c4 !important}.yellow-text.text-lighten-4{color:#fff9c4 !important}.yellow.lighten-3{background-color:#fff59d !important}.yellow-text.text-lighten-3{color:#fff59d !important}.yellow.lighten-2{background-color:#fff176 !important}.yellow-text.text-lighten-2{color:#fff176 !important}.yellow.lighten-1{background-color:#ffee58 !important}.yellow-text.text-lighten-1{color:#ffee58 !important}.yellow.darken-1{background-color:#fdd835 !important}.yellow-text.text-darken-1{color:#fdd835 !important}.yellow.darken-2{background-color:#fbc02d !important}.yellow-text.text-darken-2{color:#fbc02d !important}.yellow.darken-3{background-color:#f9a825 !important}.yellow-text.text-darken-3{color:#f9a825 !important}.yellow.darken-4{background-color:#f57f17 !important}.yellow-text.text-darken-4{color:#f57f17 !important}.yellow.accent-1{background-color:#ffff8d !important}.yellow-text.text-accent-1{color:#ffff8d !important}.yellow.accent-2{background-color:#ff0 !important}.yellow-text.text-accent-2{color:#ff0 !important}.yellow.accent-3{background-color:#ffea00 !important}.yellow-text.text-accent-3{color:#ffea00 !important}.yellow.accent-4{background-color:#ffd600 !important}.yellow-text.text-accent-4{color:#ffd600 !important}.amber{background-color:#ffc107 !important}.amber-text{color:#ffc107 !important}.amber.lighten-5{background-color:#fff8e1 !important}.amber-text.text-lighten-5{color:#fff8e1 !important}.amber.lighten-4{background-color:#ffecb3 !important}.amber-text.text-lighten-4{color:#ffecb3 !important}.amber.lighten-3{background-color:#ffe082 !important}.amber-text.text-lighten-3{color:#ffe082 !important}.amber.lighten-2{background-color:#ffd54f !important}.amber-text.text-lighten-2{color:#ffd54f !important}.amber.lighten-1{background-color:#ffca28 !important}.amber-text.text-lighten-1{color:#ffca28 !important}.amber.darken-1{background-color:#ffb300 !important}.amber-text.text-darken-1{color:#ffb300 !important}.amber.darken-2{background-color:#ffa000 !important}.amber-text.text-darken-2{color:#ffa000 !important}.amber.darken-3{background-color:#ff8f00 !important}.amber-text.text-darken-3{color:#ff8f00 !important}.amber.darken-4{background-color:#ff6f00 !important}.amber-text.text-darken-4{color:#ff6f00 !important}.amber.accent-1{background-color:#ffe57f !important}.amber-text.text-accent-1{color:#ffe57f !important}.amber.accent-2{background-color:#ffd740 !important}.amber-text.text-accent-2{color:#ffd740 !important}.amber.accent-3{background-color:#ffc400 !important}.amber-text.text-accent-3{color:#ffc400 !important}.amber.accent-4{background-color:#ffab00 !important}.amber-text.text-accent-4{color:#ffab00 !important}.orange{background-color:#ff9800 !important}.orange-text{color:#ff9800 !important}.orange.lighten-5{background-color:#fff3e0 !important}.orange-text.text-lighten-5{color:#fff3e0 !important}.orange.lighten-4{background-color:#ffe0b2 !important}.orange-text.text-lighten-4{color:#ffe0b2 !important}.orange.lighten-3{background-color:#ffcc80 !important}.orange-text.text-lighten-3{color:#ffcc80 !important}.orange.lighten-2{background-color:#ffb74d !important}.orange-text.text-lighten-2{color:#ffb74d !important}.orange.lighten-1{background-color:#ffa726 !important}.orange-text.text-lighten-1{color:#ffa726 !important}.orange.darken-1{background-color:#fb8c00 !important}.orange-text.text-darken-1{color:#fb8c00 !important}.orange.darken-2{background-color:#f57c00 !important}.orange-text.text-darken-2{color:#f57c00 !important}.orange.darken-3{background-color:#ef6c00 !important}.orange-text.text-darken-3{color:#ef6c00 !important}.orange.darken-4{background-color:#e65100 !important}.orange-text.text-darken-4{color:#e65100 !important}.orange.accent-1{background-color:#ffd180 !important}.orange-text.text-accent-1{color:#ffd180 !important}.orange.accent-2{background-color:#ffab40 !important}.orange-text.text-accent-2{color:#ffab40 !important}.orange.accent-3{background-color:#ff9100 !important}.orange-text.text-accent-3{color:#ff9100 !important}.orange.accent-4{background-color:#ff6d00 !important}.orange-text.text-accent-4{color:#ff6d00 !important}.deep-orange{background-color:#ff5722 !important}.deep-orange-text{color:#ff5722 !important}.deep-orange.lighten-5{background-color:#fbe9e7 !important}.deep-orange-text.text-lighten-5{color:#fbe9e7 !important}.deep-orange.lighten-4{background-color:#ffccbc !important}.deep-orange-text.text-lighten-4{color:#ffccbc !important}.deep-orange.lighten-3{background-color:#ffab91 !important}.deep-orange-text.text-lighten-3{color:#ffab91 !important}.deep-orange.lighten-2{background-color:#ff8a65 !important}.deep-orange-text.text-lighten-2{color:#ff8a65 !important}.deep-orange.lighten-1{background-color:#ff7043 !important}.deep-orange-text.text-lighten-1{color:#ff7043 !important}.deep-orange.darken-1{background-color:#f4511e !important}.deep-orange-text.text-darken-1{color:#f4511e !important}.deep-orange.darken-2{background-color:#e64a19 !important}.deep-orange-text.text-darken-2{color:#e64a19 !important}.deep-orange.darken-3{background-color:#d84315 !important}.deep-orange-text.text-darken-3{color:#d84315 !important}.deep-orange.darken-4{background-color:#bf360c !important}.deep-orange-text.text-darken-4{color:#bf360c !important}.deep-orange.accent-1{background-color:#ff9e80 !important}.deep-orange-text.text-accent-1{color:#ff9e80 !important}.deep-orange.accent-2{background-color:#ff6e40 !important}.deep-orange-text.text-accent-2{color:#ff6e40 !important}.deep-orange.accent-3{background-color:#ff3d00 !important}.deep-orange-text.text-accent-3{color:#ff3d00 !important}.deep-orange.accent-4{background-color:#dd2c00 !important}.deep-orange-text.text-accent-4{color:#dd2c00 !important}.brown{background-color:#795548 !important}.brown-text{color:#795548 !important}.brown.lighten-5{background-color:#efebe9 !important}.brown-text.text-lighten-5{color:#efebe9 !important}.brown.lighten-4{background-color:#d7ccc8 !important}.brown-text.text-lighten-4{color:#d7ccc8 !important}.brown.lighten-3{background-color:#bcaaa4 !important}.brown-text.text-lighten-3{color:#bcaaa4 !important}.brown.lighten-2{background-color:#a1887f !important}.brown-text.text-lighten-2{color:#a1887f !important}.brown.lighten-1{background-color:#8d6e63 !important}.brown-text.text-lighten-1{color:#8d6e63 !important}.brown.darken-1{background-color:#6d4c41 !important}.brown-text.text-darken-1{color:#6d4c41 !important}.brown.darken-2{background-color:#5d4037 !important}.brown-text.text-darken-2{color:#5d4037 !important}.brown.darken-3{background-color:#4e342e !important}.brown-text.text-darken-3{color:#4e342e !important}.brown.darken-4{background-color:#3e2723 !important}.brown-text.text-darken-4{color:#3e2723 !important}.blue-grey{background-color:#607d8b !important}.blue-grey-text{color:#607d8b !important}.blue-grey.lighten-5{background-color:#eceff1 !important}.blue-grey-text.text-lighten-5{color:#eceff1 !important}.blue-grey.lighten-4{background-color:#cfd8dc !important}.blue-grey-text.text-lighten-4{color:#cfd8dc !important}.blue-grey.lighten-3{background-color:#b0bec5 !important}.blue-grey-text.text-lighten-3{color:#b0bec5 !important}.blue-grey.lighten-2{background-color:#90a4ae !important}.blue-grey-text.text-lighten-2{color:#90a4ae !important}.blue-grey.lighten-1{background-color:#78909c !important}.blue-grey-text.text-lighten-1{color:#78909c !important}.blue-grey.darken-1{background-color:#546e7a !important}.blue-grey-text.text-darken-1{color:#546e7a !important}.blue-grey.darken-2{background-color:#455a64 !important}.blue-grey-text.text-darken-2{color:#455a64 !important}.blue-grey.darken-3{background-color:#37474f !important}.blue-grey-text.text-darken-3{color:#37474f !important}.blue-grey.darken-4{background-color:#263238 !important}.blue-grey-text.text-darken-4{color:#263238 !important}.grey{background-color:#9e9e9e !important}.grey-text{color:#9e9e9e !important}.grey.lighten-5{background-color:#fafafa !important}.grey-text.text-lighten-5{color:#fafafa !important}.grey.lighten-4{background-color:#f5f5f5 !important}.grey-text.text-lighten-4{color:#f5f5f5 !important}.grey.lighten-3{background-color:#eee !important}.grey-text.text-lighten-3{color:#eee !important}.grey.lighten-2{background-color:#e0e0e0 !important}.grey-text.text-lighten-2{color:#e0e0e0 !important}.grey.lighten-1{background-color:#bdbdbd !important}.grey-text.text-lighten-1{color:#bdbdbd !important}.grey.darken-1{background-color:#757575 !important}.grey-text.text-darken-1{color:#757575 !important}.grey.darken-2{background-color:#616161 !important}.grey-text.text-darken-2{color:#616161 !important}.grey.darken-3{background-color:#424242 !important}.grey-text.text-darken-3{color:#424242 !important}.grey.darken-4{background-color:#212121 !important}.grey-text.text-darken-4{color:#212121 !important}.black{background-color:#000 !important}.black-text{color:#000 !important}.white{background-color:#fff !important}.white-text{color:#fff !important}.transparent{background-color:rgba(0,0,0,0) !important}.transparent-text{color:rgba(0,0,0,0) !important}/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:0.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace, monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;-moz-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-cancel-button,[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}html{-webkit-box-sizing:border-box;box-sizing:border-box}*,*:before,*:after{-webkit-box-sizing:inherit;box-sizing:inherit}button,input,optgroup,select,textarea{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif}ul:not(.browser-default){padding-left:0;list-style-type:none}ul:not(.browser-default)>li{list-style-type:none}a{color:#039be5;text-decoration:none;-webkit-tap-highlight-color:transparent}.valign-wrapper{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.clearfix{clear:both}.z-depth-0{-webkit-box-shadow:none !important;box-shadow:none !important}.z-depth-1,nav,.card-panel,.card,.toast,.btn,.btn-large,.btn-small,.btn-floating,.dropdown-content,.collapsible,.sidenav{-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 3px 1px -2px rgba(0,0,0,0.12),0 1px 5px 0 rgba(0,0,0,0.2);box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 3px 1px -2px rgba(0,0,0,0.12),0 1px 5px 0 rgba(0,0,0,0.2)}.z-depth-1-half,.btn:hover,.btn-large:hover,.btn-small:hover,.btn-floating:hover{-webkit-box-shadow:0 3px 3px 0 rgba(0,0,0,0.14),0 1px 7px 0 rgba(0,0,0,0.12),0 3px 1px -1px rgba(0,0,0,0.2);box-shadow:0 3px 3px 0 rgba(0,0,0,0.14),0 1px 7px 0 rgba(0,0,0,0.12),0 3px 1px -1px rgba(0,0,0,0.2)}.z-depth-2{-webkit-box-shadow:0 4px 5px 0 rgba(0,0,0,0.14),0 1px 10px 0 rgba(0,0,0,0.12),0 2px 4px -1px rgba(0,0,0,0.3);box-shadow:0 4px 5px 0 rgba(0,0,0,0.14),0 1px 10px 0 rgba(0,0,0,0.12),0 2px 4px -1px rgba(0,0,0,0.3)}.z-depth-3{-webkit-box-shadow:0 8px 17px 2px rgba(0,0,0,0.14),0 3px 14px 2px rgba(0,0,0,0.12),0 5px 5px -3px rgba(0,0,0,0.2);box-shadow:0 8px 17px 2px rgba(0,0,0,0.14),0 3px 14px 2px rgba(0,0,0,0.12),0 5px 5px -3px rgba(0,0,0,0.2)}.z-depth-4{-webkit-box-shadow:0 16px 24px 2px rgba(0,0,0,0.14),0 6px 30px 5px rgba(0,0,0,0.12),0 8px 10px -7px rgba(0,0,0,0.2);box-shadow:0 16px 24px 2px rgba(0,0,0,0.14),0 6px 30px 5px rgba(0,0,0,0.12),0 8px 10px -7px rgba(0,0,0,0.2)}.z-depth-5,.modal{-webkit-box-shadow:0 24px 38px 3px rgba(0,0,0,0.14),0 9px 46px 8px rgba(0,0,0,0.12),0 11px 15px -7px rgba(0,0,0,0.2);box-shadow:0 24px 38px 3px rgba(0,0,0,0.14),0 9px 46px 8px rgba(0,0,0,0.12),0 11px 15px -7px rgba(0,0,0,0.2)}.hoverable{-webkit-transition:-webkit-box-shadow .25s;transition:-webkit-box-shadow .25s;transition:box-shadow .25s;transition:box-shadow .25s, -webkit-box-shadow .25s}.hoverable:hover{-webkit-box-shadow:0 8px 17px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19);box-shadow:0 8px 17px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19)}.divider{height:1px;overflow:hidden;background-color:#e0e0e0}blockquote{margin:20px 0;padding-left:1.5rem;border-left:5px solid #ee6e73}i{line-height:inherit}i.left{float:left;margin-right:15px}i.right{float:right;margin-left:15px}i.tiny{font-size:1rem}i.small{font-size:2rem}i.medium{font-size:4rem}i.large{font-size:6rem}img.responsive-img,video.responsive-video{max-width:100%;height:auto}.pagination li{display:inline-block;border-radius:2px;text-align:center;vertical-align:top;height:30px}.pagination li a{color:#444;display:inline-block;font-size:1.2rem;padding:0 10px;line-height:30px}.pagination li.active a{color:#fff}.pagination li.active{background-color:#ee6e73}.pagination li.disabled a{cursor:default;color:#999}.pagination li i{font-size:2rem}.pagination li.pages ul li{display:inline-block;float:none}@media only screen and (max-width: 992px){.pagination{width:100%}.pagination li.prev,.pagination li.next{width:10%}.pagination li.pages{width:80%;overflow:hidden;white-space:nowrap}}.breadcrumb{font-size:18px;color:rgba(255,255,255,0.7)}.breadcrumb i,.breadcrumb [class^="mdi-"],.breadcrumb [class*="mdi-"],.breadcrumb i.material-icons{display:inline-block;float:left;font-size:24px}.breadcrumb:before{content:'\E5CC';color:rgba(255,255,255,0.7);vertical-align:top;display:inline-block;font-family:'Material Icons';font-weight:normal;font-style:normal;font-size:25px;margin:0 10px 0 8px;-webkit-font-smoothing:antialiased}.breadcrumb:first-child:before{display:none}.breadcrumb:last-child{color:#fff}.parallax-container{position:relative;overflow:hidden;height:500px}.parallax-container .parallax{position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1}.parallax-container .parallax img{opacity:0;position:absolute;left:50%;bottom:0;min-width:100%;min-height:100%;-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);-webkit-transform:translateX(-50%);transform:translateX(-50%)}.pin-top,.pin-bottom{position:relative}.pinned{position:fixed !important}ul.staggered-list li{opacity:0}.fade-in{opacity:0;-webkit-transform-origin:0 50%;transform-origin:0 50%}@media only screen and (max-width: 600px){.hide-on-small-only,.hide-on-small-and-down{display:none !important}}@media only screen and (max-width: 992px){.hide-on-med-and-down{display:none !important}}@media only screen and (min-width: 601px){.hide-on-med-and-up{display:none !important}}@media only screen and (min-width: 600px) and (max-width: 992px){.hide-on-med-only{display:none !important}}@media only screen and (min-width: 993px){.hide-on-large-only{display:none !important}}@media only screen and (min-width: 1201px){.hide-on-extra-large-only{display:none !important}}@media only screen and (min-width: 1201px){.show-on-extra-large{display:block !important}}@media only screen and (min-width: 993px){.show-on-large{display:block !important}}@media only screen and (min-width: 600px) and (max-width: 992px){.show-on-medium{display:block !important}}@media only screen and (max-width: 600px){.show-on-small{display:block !important}}@media only screen and (min-width: 601px){.show-on-medium-and-up{display:block !important}}@media only screen and (max-width: 992px){.show-on-medium-and-down{display:block !important}}@media only screen and (max-width: 600px){.center-on-small-only{text-align:center}}.page-footer{padding-top:20px;color:#fff;background-color:#ee6e73}.page-footer .footer-copyright{overflow:hidden;min-height:50px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;padding:10px 0px;color:rgba(255,255,255,0.8);background-color:rgba(51,51,51,0.08)}table,th,td{border:none}table{width:100%;display:table;border-collapse:collapse;border-spacing:0}table.striped tr{border-bottom:none}table.striped>tbody>tr:nth-child(odd){background-color:rgba(242,242,242,0.5)}table.striped>tbody>tr>td{border-radius:0}table.highlight>tbody>tr{-webkit-transition:background-color .25s ease;transition:background-color .25s ease}table.highlight>tbody>tr:hover{background-color:rgba(242,242,242,0.5)}table.centered thead tr th,table.centered tbody tr td{text-align:center}tr{border-bottom:1px solid rgba(0,0,0,0.12)}td,th{padding:15px 5px;display:table-cell;text-align:left;vertical-align:middle;border-radius:2px}@media only screen and (max-width: 992px){table.responsive-table{width:100%;border-collapse:collapse;border-spacing:0;display:block;position:relative}table.responsive-table td:empty:before{content:'\00a0'}table.responsive-table th,table.responsive-table td{margin:0;vertical-align:top}table.responsive-table th{text-align:left}table.responsive-table thead{display:block;float:left}table.responsive-table thead tr{display:block;padding:0 10px 0 0}table.responsive-table thead tr th::before{content:"\00a0"}table.responsive-table tbody{display:block;width:auto;position:relative;overflow-x:auto;white-space:nowrap}table.responsive-table tbody tr{display:inline-block;vertical-align:top}table.responsive-table th{display:block;text-align:right}table.responsive-table td{display:block;min-height:1.25em;text-align:left}table.responsive-table tr{border-bottom:none;padding:0 10px}table.responsive-table thead{border:0;border-right:1px solid rgba(0,0,0,0.12)}}.collection{margin:.5rem 0 1rem 0;border:1px solid #e0e0e0;border-radius:2px;overflow:hidden;position:relative}.collection .collection-item{background-color:#fff;line-height:1.5rem;padding:10px 20px;margin:0;border-bottom:1px solid #e0e0e0}.collection .collection-item.avatar{min-height:84px;padding-left:72px;position:relative}.collection .collection-item.avatar:not(.circle-clipper)>.circle,.collection .collection-item.avatar :not(.circle-clipper)>.circle{position:absolute;width:42px;height:42px;overflow:hidden;left:15px;display:inline-block;vertical-align:middle}.collection .collection-item.avatar i.circle{font-size:18px;line-height:42px;color:#fff;background-color:#999;text-align:center}.collection .collection-item.avatar .title{font-size:16px}.collection .collection-item.avatar p{margin:0}.collection .collection-item.avatar .secondary-content{position:absolute;top:16px;right:16px}.collection .collection-item:last-child{border-bottom:none}.collection .collection-item.active{background-color:#26a69a;color:#eafaf9}.collection .collection-item.active .secondary-content{color:#fff}.collection a.collection-item{display:block;-webkit-transition:.25s;transition:.25s;color:#26a69a}.collection a.collection-item:not(.active):hover{background-color:#ddd}.collection.with-header .collection-header{background-color:#fff;border-bottom:1px solid #e0e0e0;padding:10px 20px}.collection.with-header .collection-item{padding-left:30px}.collection.with-header .collection-item.avatar{padding-left:72px}.secondary-content{float:right;color:#26a69a}.collapsible .collection{margin:0;border:none}.video-container{position:relative;padding-bottom:56.25%;height:0;overflow:hidden}.video-container iframe,.video-container object,.video-container embed{position:absolute;top:0;left:0;width:100%;height:100%}.progress{position:relative;height:4px;display:block;width:100%;background-color:#acece6;border-radius:2px;margin:.5rem 0 1rem 0;overflow:hidden}.progress .determinate{position:absolute;top:0;left:0;bottom:0;background-color:#26a69a;-webkit-transition:width .3s linear;transition:width .3s linear}.progress .indeterminate{background-color:#26a69a}.progress .indeterminate:before{content:'';position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left, right;-webkit-animation:indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;animation:indeterminate 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite}.progress .indeterminate:after{content:'';position:absolute;background-color:inherit;top:0;left:0;bottom:0;will-change:left, right;-webkit-animation:indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;animation:indeterminate-short 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) infinite;-webkit-animation-delay:1.15s;animation-delay:1.15s}@-webkit-keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}100%{left:100%;right:-90%}}@keyframes indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}100%{left:100%;right:-90%}}@-webkit-keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}100%{left:107%;right:-8%}}@keyframes indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}100%{left:107%;right:-8%}}.hide{display:none !important}.left-align{text-align:left}.right-align{text-align:right}.center,.center-align{text-align:center}.left{float:left !important}.right{float:right !important}.no-select,input[type=range],input[type=range]+.thumb{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.circle{border-radius:50%}.center-block{display:block;margin-left:auto;margin-right:auto}.truncate{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.no-padding{padding:0 !important}span.badge{min-width:3rem;padding:0 6px;margin-left:14px;text-align:center;font-size:1rem;line-height:22px;height:22px;color:#757575;float:right;-webkit-box-sizing:border-box;box-sizing:border-box}span.badge.new{font-weight:300;font-size:0.8rem;color:#fff;background-color:#26a69a;border-radius:2px}span.badge.new:after{content:" new"}span.badge[data-badge-caption]::after{content:" " attr(data-badge-caption)}nav ul a span.badge{display:inline-block;float:none;margin-left:4px;line-height:22px;height:22px;-webkit-font-smoothing:auto}.collection-item span.badge{margin-top:calc(.75rem - 11px)}.collapsible span.badge{margin-left:auto}.sidenav span.badge{margin-top:calc(24px - 11px)}table span.badge{display:inline-block;float:none;margin-left:auto}.material-icons{text-rendering:optimizeLegibility;-webkit-font-feature-settings:'liga';-moz-font-feature-settings:'liga';font-feature-settings:'liga'}.container{margin:0 auto;max-width:1280px;width:90%}@media only screen and (min-width: 601px){.container{width:85%}}@media only screen and (min-width: 993px){.container{width:70%}}.col .row{margin-left:-.75rem;margin-right:-.75rem}.section{padding-top:1rem;padding-bottom:1rem}.section.no-pad{padding:0}.section.no-pad-bot{padding-bottom:0}.section.no-pad-top{padding-top:0}.row{margin-left:auto;margin-right:auto;margin-bottom:20px}.row:after{content:"";display:table;clear:both}.row .col{float:left;-webkit-box-sizing:border-box;box-sizing:border-box;padding:0 .75rem;min-height:1px}.row .col[class*="push-"],.row .col[class*="pull-"]{position:relative}.row .col.s1{width:8.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.s2{width:16.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.s3{width:25%;margin-left:auto;left:auto;right:auto}.row .col.s4{width:33.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.s5{width:41.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.s6{width:50%;margin-left:auto;left:auto;right:auto}.row .col.s7{width:58.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.s8{width:66.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.s9{width:75%;margin-left:auto;left:auto;right:auto}.row .col.s10{width:83.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.s11{width:91.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.s12{width:100%;margin-left:auto;left:auto;right:auto}.row .col.offset-s1{margin-left:8.3333333333%}.row .col.pull-s1{right:8.3333333333%}.row .col.push-s1{left:8.3333333333%}.row .col.offset-s2{margin-left:16.6666666667%}.row .col.pull-s2{right:16.6666666667%}.row .col.push-s2{left:16.6666666667%}.row .col.offset-s3{margin-left:25%}.row .col.pull-s3{right:25%}.row .col.push-s3{left:25%}.row .col.offset-s4{margin-left:33.3333333333%}.row .col.pull-s4{right:33.3333333333%}.row .col.push-s4{left:33.3333333333%}.row .col.offset-s5{margin-left:41.6666666667%}.row .col.pull-s5{right:41.6666666667%}.row .col.push-s5{left:41.6666666667%}.row .col.offset-s6{margin-left:50%}.row .col.pull-s6{right:50%}.row .col.push-s6{left:50%}.row .col.offset-s7{margin-left:58.3333333333%}.row .col.pull-s7{right:58.3333333333%}.row .col.push-s7{left:58.3333333333%}.row .col.offset-s8{margin-left:66.6666666667%}.row .col.pull-s8{right:66.6666666667%}.row .col.push-s8{left:66.6666666667%}.row .col.offset-s9{margin-left:75%}.row .col.pull-s9{right:75%}.row .col.push-s9{left:75%}.row .col.offset-s10{margin-left:83.3333333333%}.row .col.pull-s10{right:83.3333333333%}.row .col.push-s10{left:83.3333333333%}.row .col.offset-s11{margin-left:91.6666666667%}.row .col.pull-s11{right:91.6666666667%}.row .col.push-s11{left:91.6666666667%}.row .col.offset-s12{margin-left:100%}.row .col.pull-s12{right:100%}.row .col.push-s12{left:100%}@media only screen and (min-width: 601px){.row .col.m1{width:8.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.m2{width:16.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.m3{width:25%;margin-left:auto;left:auto;right:auto}.row .col.m4{width:33.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.m5{width:41.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.m6{width:50%;margin-left:auto;left:auto;right:auto}.row .col.m7{width:58.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.m8{width:66.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.m9{width:75%;margin-left:auto;left:auto;right:auto}.row .col.m10{width:83.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.m11{width:91.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.m12{width:100%;margin-left:auto;left:auto;right:auto}.row .col.offset-m1{margin-left:8.3333333333%}.row .col.pull-m1{right:8.3333333333%}.row .col.push-m1{left:8.3333333333%}.row .col.offset-m2{margin-left:16.6666666667%}.row .col.pull-m2{right:16.6666666667%}.row .col.push-m2{left:16.6666666667%}.row .col.offset-m3{margin-left:25%}.row .col.pull-m3{right:25%}.row .col.push-m3{left:25%}.row .col.offset-m4{margin-left:33.3333333333%}.row .col.pull-m4{right:33.3333333333%}.row .col.push-m4{left:33.3333333333%}.row .col.offset-m5{margin-left:41.6666666667%}.row .col.pull-m5{right:41.6666666667%}.row .col.push-m5{left:41.6666666667%}.row .col.offset-m6{margin-left:50%}.row .col.pull-m6{right:50%}.row .col.push-m6{left:50%}.row .col.offset-m7{margin-left:58.3333333333%}.row .col.pull-m7{right:58.3333333333%}.row .col.push-m7{left:58.3333333333%}.row .col.offset-m8{margin-left:66.6666666667%}.row .col.pull-m8{right:66.6666666667%}.row .col.push-m8{left:66.6666666667%}.row .col.offset-m9{margin-left:75%}.row .col.pull-m9{right:75%}.row .col.push-m9{left:75%}.row .col.offset-m10{margin-left:83.3333333333%}.row .col.pull-m10{right:83.3333333333%}.row .col.push-m10{left:83.3333333333%}.row .col.offset-m11{margin-left:91.6666666667%}.row .col.pull-m11{right:91.6666666667%}.row .col.push-m11{left:91.6666666667%}.row .col.offset-m12{margin-left:100%}.row .col.pull-m12{right:100%}.row .col.push-m12{left:100%}}@media only screen and (min-width: 993px){.row .col.l1{width:8.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.l2{width:16.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.l3{width:25%;margin-left:auto;left:auto;right:auto}.row .col.l4{width:33.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.l5{width:41.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.l6{width:50%;margin-left:auto;left:auto;right:auto}.row .col.l7{width:58.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.l8{width:66.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.l9{width:75%;margin-left:auto;left:auto;right:auto}.row .col.l10{width:83.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.l11{width:91.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.l12{width:100%;margin-left:auto;left:auto;right:auto}.row .col.offset-l1{margin-left:8.3333333333%}.row .col.pull-l1{right:8.3333333333%}.row .col.push-l1{left:8.3333333333%}.row .col.offset-l2{margin-left:16.6666666667%}.row .col.pull-l2{right:16.6666666667%}.row .col.push-l2{left:16.6666666667%}.row .col.offset-l3{margin-left:25%}.row .col.pull-l3{right:25%}.row .col.push-l3{left:25%}.row .col.offset-l4{margin-left:33.3333333333%}.row .col.pull-l4{right:33.3333333333%}.row .col.push-l4{left:33.3333333333%}.row .col.offset-l5{margin-left:41.6666666667%}.row .col.pull-l5{right:41.6666666667%}.row .col.push-l5{left:41.6666666667%}.row .col.offset-l6{margin-left:50%}.row .col.pull-l6{right:50%}.row .col.push-l6{left:50%}.row .col.offset-l7{margin-left:58.3333333333%}.row .col.pull-l7{right:58.3333333333%}.row .col.push-l7{left:58.3333333333%}.row .col.offset-l8{margin-left:66.6666666667%}.row .col.pull-l8{right:66.6666666667%}.row .col.push-l8{left:66.6666666667%}.row .col.offset-l9{margin-left:75%}.row .col.pull-l9{right:75%}.row .col.push-l9{left:75%}.row .col.offset-l10{margin-left:83.3333333333%}.row .col.pull-l10{right:83.3333333333%}.row .col.push-l10{left:83.3333333333%}.row .col.offset-l11{margin-left:91.6666666667%}.row .col.pull-l11{right:91.6666666667%}.row .col.push-l11{left:91.6666666667%}.row .col.offset-l12{margin-left:100%}.row .col.pull-l12{right:100%}.row .col.push-l12{left:100%}}@media only screen and (min-width: 1201px){.row .col.xl1{width:8.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.xl2{width:16.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.xl3{width:25%;margin-left:auto;left:auto;right:auto}.row .col.xl4{width:33.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.xl5{width:41.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.xl6{width:50%;margin-left:auto;left:auto;right:auto}.row .col.xl7{width:58.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.xl8{width:66.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.xl9{width:75%;margin-left:auto;left:auto;right:auto}.row .col.xl10{width:83.3333333333%;margin-left:auto;left:auto;right:auto}.row .col.xl11{width:91.6666666667%;margin-left:auto;left:auto;right:auto}.row .col.xl12{width:100%;margin-left:auto;left:auto;right:auto}.row .col.offset-xl1{margin-left:8.3333333333%}.row .col.pull-xl1{right:8.3333333333%}.row .col.push-xl1{left:8.3333333333%}.row .col.offset-xl2{margin-left:16.6666666667%}.row .col.pull-xl2{right:16.6666666667%}.row .col.push-xl2{left:16.6666666667%}.row .col.offset-xl3{margin-left:25%}.row .col.pull-xl3{right:25%}.row .col.push-xl3{left:25%}.row .col.offset-xl4{margin-left:33.3333333333%}.row .col.pull-xl4{right:33.3333333333%}.row .col.push-xl4{left:33.3333333333%}.row .col.offset-xl5{margin-left:41.6666666667%}.row .col.pull-xl5{right:41.6666666667%}.row .col.push-xl5{left:41.6666666667%}.row .col.offset-xl6{margin-left:50%}.row .col.pull-xl6{right:50%}.row .col.push-xl6{left:50%}.row .col.offset-xl7{margin-left:58.3333333333%}.row .col.pull-xl7{right:58.3333333333%}.row .col.push-xl7{left:58.3333333333%}.row .col.offset-xl8{margin-left:66.6666666667%}.row .col.pull-xl8{right:66.6666666667%}.row .col.push-xl8{left:66.6666666667%}.row .col.offset-xl9{margin-left:75%}.row .col.pull-xl9{right:75%}.row .col.push-xl9{left:75%}.row .col.offset-xl10{margin-left:83.3333333333%}.row .col.pull-xl10{right:83.3333333333%}.row .col.push-xl10{left:83.3333333333%}.row .col.offset-xl11{margin-left:91.6666666667%}.row .col.pull-xl11{right:91.6666666667%}.row .col.push-xl11{left:91.6666666667%}.row .col.offset-xl12{margin-left:100%}.row .col.pull-xl12{right:100%}.row .col.push-xl12{left:100%}}nav{color:#fff;background-color:#ee6e73;width:100%;height:56px;line-height:56px}nav.nav-extended{height:auto}nav.nav-extended .nav-wrapper{min-height:56px;height:auto}nav.nav-extended .nav-content{position:relative;line-height:normal}nav a{color:#fff}nav i,nav [class^="mdi-"],nav [class*="mdi-"],nav i.material-icons{display:block;font-size:24px;height:56px;line-height:56px}nav .nav-wrapper{position:relative;height:100%}@media only screen and (min-width: 993px){nav a.sidenav-trigger{display:none}}nav .sidenav-trigger{float:left;position:relative;z-index:1;height:56px;margin:0 18px}nav .sidenav-trigger i{height:56px;line-height:56px}nav .brand-logo{position:absolute;color:#fff;display:inline-block;font-size:2.1rem;padding:0}nav .brand-logo.center{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}@media only screen and (max-width: 992px){nav .brand-logo{left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}nav .brand-logo.left,nav .brand-logo.right{padding:0;-webkit-transform:none;transform:none}nav .brand-logo.left{left:0.5rem}nav .brand-logo.right{right:0.5rem;left:auto}}nav .brand-logo.right{right:0.5rem;padding:0}nav .brand-logo i,nav .brand-logo [class^="mdi-"],nav .brand-logo [class*="mdi-"],nav .brand-logo i.material-icons{float:left;margin-right:15px}nav .nav-title{display:inline-block;font-size:32px;padding:28px 0}nav ul{margin:0}nav ul li{-webkit-transition:background-color .3s;transition:background-color .3s;float:left;padding:0}nav ul li.active{background-color:rgba(0,0,0,0.1)}nav ul a{-webkit-transition:background-color .3s;transition:background-color .3s;font-size:1rem;color:#fff;display:block;padding:0 15px;cursor:pointer}nav ul a.btn,nav ul a.btn-large,nav ul a.btn-small,nav ul a.btn-large,nav ul a.btn-flat,nav ul a.btn-floating{margin-top:-2px;margin-left:15px;margin-right:15px}nav ul a.btn>.material-icons,nav ul a.btn-large>.material-icons,nav ul a.btn-small>.material-icons,nav ul a.btn-large>.material-icons,nav ul a.btn-flat>.material-icons,nav ul a.btn-floating>.material-icons{height:inherit;line-height:inherit}nav ul a:hover{background-color:rgba(0,0,0,0.1)}nav ul.left{float:left}nav form{height:100%}nav .input-field{margin:0;height:100%}nav .input-field input{height:100%;font-size:1.2rem;border:none;padding-left:2rem}nav .input-field input:focus,nav .input-field input[type=text]:valid,nav .input-field input[type=password]:valid,nav .input-field input[type=email]:valid,nav .input-field input[type=url]:valid,nav .input-field input[type=date]:valid{border:none;-webkit-box-shadow:none;box-shadow:none}nav .input-field label{top:0;left:0}nav .input-field label i{color:rgba(255,255,255,0.7);-webkit-transition:color .3s;transition:color .3s}nav .input-field label.active i{color:#fff}.navbar-fixed{position:relative;height:56px;z-index:997}.navbar-fixed nav{position:fixed}@media only screen and (min-width: 601px){nav.nav-extended .nav-wrapper{min-height:64px}nav,nav .nav-wrapper i,nav a.sidenav-trigger,nav a.sidenav-trigger i{height:64px;line-height:64px}.navbar-fixed{height:64px}}a{text-decoration:none}html{line-height:1.5;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-weight:normal;color:rgba(0,0,0,0.87)}@media only screen and (min-width: 0){html{font-size:14px}}@media only screen and (min-width: 992px){html{font-size:14.5px}}@media only screen and (min-width: 1200px){html{font-size:15px}}h1,h2,h3,h4,h5,h6{font-weight:400;line-height:1.3}h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{font-weight:inherit}h1{font-size:4.2rem;line-height:110%;margin:2.8rem 0 1.68rem 0}h2{font-size:3.56rem;line-height:110%;margin:2.3733333333rem 0 1.424rem 0}h3{font-size:2.92rem;line-height:110%;margin:1.9466666667rem 0 1.168rem 0}h4{font-size:2.28rem;line-height:110%;margin:1.52rem 0 .912rem 0}h5{font-size:1.64rem;line-height:110%;margin:1.0933333333rem 0 .656rem 0}h6{font-size:1.15rem;line-height:110%;margin:.7666666667rem 0 .46rem 0}em{font-style:italic}strong{font-weight:500}small{font-size:75%}.light{font-weight:300}.thin{font-weight:200}@media only screen and (min-width: 360px){.flow-text{font-size:1.2rem}}@media only screen and (min-width: 390px){.flow-text{font-size:1.224rem}}@media only screen and (min-width: 420px){.flow-text{font-size:1.248rem}}@media only screen and (min-width: 450px){.flow-text{font-size:1.272rem}}@media only screen and (min-width: 480px){.flow-text{font-size:1.296rem}}@media only screen and (min-width: 510px){.flow-text{font-size:1.32rem}}@media only screen and (min-width: 540px){.flow-text{font-size:1.344rem}}@media only screen and (min-width: 570px){.flow-text{font-size:1.368rem}}@media only screen and (min-width: 600px){.flow-text{font-size:1.392rem}}@media only screen and (min-width: 630px){.flow-text{font-size:1.416rem}}@media only screen and (min-width: 660px){.flow-text{font-size:1.44rem}}@media only screen and (min-width: 690px){.flow-text{font-size:1.464rem}}@media only screen and (min-width: 720px){.flow-text{font-size:1.488rem}}@media only screen and (min-width: 750px){.flow-text{font-size:1.512rem}}@media only screen and (min-width: 780px){.flow-text{font-size:1.536rem}}@media only screen and (min-width: 810px){.flow-text{font-size:1.56rem}}@media only screen and (min-width: 840px){.flow-text{font-size:1.584rem}}@media only screen and (min-width: 870px){.flow-text{font-size:1.608rem}}@media only screen and (min-width: 900px){.flow-text{font-size:1.632rem}}@media only screen and (min-width: 930px){.flow-text{font-size:1.656rem}}@media only screen and (min-width: 960px){.flow-text{font-size:1.68rem}}@media only screen and (max-width: 360px){.flow-text{font-size:1.2rem}}.scale-transition{-webkit-transition:-webkit-transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63) !important;transition:-webkit-transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63) !important;transition:transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63) !important;transition:transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63), -webkit-transform 0.3s cubic-bezier(0.53, 0.01, 0.36, 1.63) !important}.scale-transition.scale-out{-webkit-transform:scale(0);transform:scale(0);-webkit-transition:-webkit-transform .2s !important;transition:-webkit-transform .2s !important;transition:transform .2s !important;transition:transform .2s, -webkit-transform .2s !important}.scale-transition.scale-in{-webkit-transform:scale(1);transform:scale(1)}.card-panel{-webkit-transition:-webkit-box-shadow .25s;transition:-webkit-box-shadow .25s;transition:box-shadow .25s;transition:box-shadow .25s, -webkit-box-shadow .25s;padding:24px;margin:.5rem 0 1rem 0;border-radius:2px;background-color:#fff}.card{position:relative;margin:.5rem 0 1rem 0;background-color:#fff;-webkit-transition:-webkit-box-shadow .25s;transition:-webkit-box-shadow .25s;transition:box-shadow .25s;transition:box-shadow .25s, -webkit-box-shadow .25s;border-radius:2px}.card .card-title{font-size:24px;font-weight:300}.card .card-title.activator{cursor:pointer}.card.small,.card.medium,.card.large{position:relative}.card.small .card-image,.card.medium .card-image,.card.large .card-image{max-height:60%;overflow:hidden}.card.small .card-image+.card-content,.card.medium .card-image+.card-content,.card.large .card-image+.card-content{max-height:40%}.card.small .card-content,.card.medium .card-content,.card.large .card-content{max-height:100%;overflow:hidden}.card.small .card-action,.card.medium .card-action,.card.large .card-action{position:absolute;bottom:0;left:0;right:0}.card.small{height:300px}.card.medium{height:400px}.card.large{height:500px}.card.horizontal{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.card.horizontal.small .card-image,.card.horizontal.medium .card-image,.card.horizontal.large .card-image{height:100%;max-height:none;overflow:visible}.card.horizontal.small .card-image img,.card.horizontal.medium .card-image img,.card.horizontal.large .card-image img{height:100%}.card.horizontal .card-image{max-width:50%}.card.horizontal .card-image img{border-radius:2px 0 0 2px;max-width:100%;width:auto}.card.horizontal .card-stacked{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;position:relative}.card.horizontal .card-stacked .card-content{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.card.sticky-action .card-action{z-index:2}.card.sticky-action .card-reveal{z-index:1;padding-bottom:64px}.card .card-image{position:relative}.card .card-image img{display:block;border-radius:2px 2px 0 0;position:relative;left:0;right:0;top:0;bottom:0;width:100%}.card .card-image .card-title{color:#fff;position:absolute;bottom:0;left:0;max-width:100%;padding:24px}.card .card-content{padding:24px;border-radius:0 0 2px 2px}.card .card-content p{margin:0}.card .card-content .card-title{display:block;line-height:32px;margin-bottom:8px}.card .card-content .card-title i{line-height:32px}.card .card-action{background-color:inherit;border-top:1px solid rgba(160,160,160,0.2);position:relative;padding:16px 24px}.card .card-action:last-child{border-radius:0 0 2px 2px}.card .card-action a:not(.btn):not(.btn-large):not(.btn-small):not(.btn-large):not(.btn-floating){color:#ffab40;margin-right:24px;-webkit-transition:color .3s ease;transition:color .3s ease;text-transform:uppercase}.card .card-action a:not(.btn):not(.btn-large):not(.btn-small):not(.btn-large):not(.btn-floating):hover{color:#ffd8a6}.card .card-reveal{padding:24px;position:absolute;background-color:#fff;width:100%;overflow-y:auto;left:0;top:100%;height:100%;z-index:3;display:none}.card .card-reveal .card-title{cursor:pointer;display:block}#toast-container{display:block;position:fixed;z-index:10000}@media only screen and (max-width: 600px){#toast-container{min-width:100%;bottom:0%}}@media only screen and (min-width: 601px) and (max-width: 992px){#toast-container{left:5%;bottom:7%;max-width:90%}}@media only screen and (min-width: 993px){#toast-container{top:10%;right:7%;max-width:86%}}.toast{border-radius:2px;top:35px;width:auto;margin-top:10px;position:relative;max-width:100%;height:auto;min-height:48px;line-height:1.5em;background-color:#323232;padding:10px 25px;font-size:1.1rem;font-weight:300;color:#fff;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;cursor:default}.toast .toast-action{color:#eeff41;font-weight:500;margin-right:-25px;margin-left:3rem}.toast.rounded{border-radius:24px}@media only screen and (max-width: 600px){.toast{width:100%;border-radius:0}}.tabs{position:relative;overflow-x:auto;overflow-y:hidden;height:48px;width:100%;background-color:#fff;margin:0 auto;white-space:nowrap}.tabs.tabs-transparent{background-color:transparent}.tabs.tabs-transparent .tab a,.tabs.tabs-transparent .tab.disabled a,.tabs.tabs-transparent .tab.disabled a:hover{color:rgba(255,255,255,0.7)}.tabs.tabs-transparent .tab a:hover,.tabs.tabs-transparent .tab a.active{color:#fff}.tabs.tabs-transparent .indicator{background-color:#fff}.tabs.tabs-fixed-width{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.tabs.tabs-fixed-width .tab{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.tabs .tab{display:inline-block;text-align:center;line-height:48px;height:48px;padding:0;margin:0;text-transform:uppercase}.tabs .tab a{color:rgba(238,110,115,0.7);display:block;width:100%;height:100%;padding:0 24px;font-size:14px;text-overflow:ellipsis;overflow:hidden;-webkit-transition:color .28s ease, background-color .28s ease;transition:color .28s ease, background-color .28s ease}.tabs .tab a:focus,.tabs .tab a:focus.active{background-color:rgba(246,178,181,0.2);outline:none}.tabs .tab a:hover,.tabs .tab a.active{background-color:transparent;color:#ee6e73}.tabs .tab.disabled a,.tabs .tab.disabled a:hover{color:rgba(238,110,115,0.4);cursor:default}.tabs .indicator{position:absolute;bottom:0;height:2px;background-color:#f6b2b5;will-change:left, right}@media only screen and (max-width: 992px){.tabs{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.tabs .tab{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.tabs .tab a{padding:0 12px}}.material-tooltip{padding:10px 8px;font-size:1rem;z-index:2000;background-color:transparent;border-radius:2px;color:#fff;min-height:36px;line-height:120%;opacity:0;position:absolute;text-align:center;max-width:calc(100% - 4px);overflow:hidden;left:0;top:0;pointer-events:none;visibility:hidden;background-color:#323232}.backdrop{position:absolute;opacity:0;height:7px;width:14px;border-radius:0 0 50% 50%;background-color:#323232;z-index:-1;-webkit-transform-origin:50% 0%;transform-origin:50% 0%;visibility:hidden}.btn,.btn-large,.btn-small,.btn-flat{border:none;border-radius:2px;display:inline-block;height:36px;line-height:36px;padding:0 16px;text-transform:uppercase;vertical-align:middle;-webkit-tap-highlight-color:transparent}.btn.disabled,.disabled.btn-large,.disabled.btn-small,.btn-floating.disabled,.btn-large.disabled,.btn-small.disabled,.btn-flat.disabled,.btn:disabled,.btn-large:disabled,.btn-small:disabled,.btn-floating:disabled,.btn-large:disabled,.btn-small:disabled,.btn-flat:disabled,.btn[disabled],.btn-large[disabled],.btn-small[disabled],.btn-floating[disabled],.btn-large[disabled],.btn-small[disabled],.btn-flat[disabled]{pointer-events:none;background-color:#DFDFDF !important;-webkit-box-shadow:none;box-shadow:none;color:#9F9F9F !important;cursor:default}.btn.disabled:hover,.disabled.btn-large:hover,.disabled.btn-small:hover,.btn-floating.disabled:hover,.btn-large.disabled:hover,.btn-small.disabled:hover,.btn-flat.disabled:hover,.btn:disabled:hover,.btn-large:disabled:hover,.btn-small:disabled:hover,.btn-floating:disabled:hover,.btn-large:disabled:hover,.btn-small:disabled:hover,.btn-flat:disabled:hover,.btn[disabled]:hover,.btn-large[disabled]:hover,.btn-small[disabled]:hover,.btn-floating[disabled]:hover,.btn-large[disabled]:hover,.btn-small[disabled]:hover,.btn-flat[disabled]:hover{background-color:#DFDFDF !important;color:#9F9F9F !important}.btn,.btn-large,.btn-small,.btn-floating,.btn-large,.btn-small,.btn-flat{font-size:14px;outline:0}.btn i,.btn-large i,.btn-small i,.btn-floating i,.btn-large i,.btn-small i,.btn-flat i{font-size:1.3rem;line-height:inherit}.btn:focus,.btn-large:focus,.btn-small:focus,.btn-floating:focus{background-color:#1d7d74}.btn,.btn-large,.btn-small{text-decoration:none;color:#fff;background-color:#26a69a;text-align:center;letter-spacing:.5px;-webkit-transition:background-color .2s ease-out;transition:background-color .2s ease-out;cursor:pointer}.btn:hover,.btn-large:hover,.btn-small:hover{background-color:#2bbbad}.btn-floating{display:inline-block;color:#fff;position:relative;overflow:hidden;z-index:1;width:40px;height:40px;line-height:40px;padding:0;background-color:#26a69a;border-radius:50%;-webkit-transition:background-color .3s;transition:background-color .3s;cursor:pointer;vertical-align:middle}.btn-floating:hover{background-color:#26a69a}.btn-floating:before{border-radius:0}.btn-floating.btn-large{width:56px;height:56px;padding:0}.btn-floating.btn-large.halfway-fab{bottom:-28px}.btn-floating.btn-large i{line-height:56px}.btn-floating.btn-small{width:32.4px;height:32.4px}.btn-floating.btn-small.halfway-fab{bottom:-16.2px}.btn-floating.btn-small i{line-height:32.4px}.btn-floating.halfway-fab{position:absolute;right:24px;bottom:-20px}.btn-floating.halfway-fab.left{right:auto;left:24px}.btn-floating i{width:inherit;display:inline-block;text-align:center;color:#fff;font-size:1.6rem;line-height:40px}button.btn-floating{border:none}.fixed-action-btn{position:fixed;right:23px;bottom:23px;padding-top:15px;margin-bottom:0;z-index:997}.fixed-action-btn.active ul{visibility:visible}.fixed-action-btn.direction-left,.fixed-action-btn.direction-right{padding:0 0 0 15px}.fixed-action-btn.direction-left ul,.fixed-action-btn.direction-right ul{text-align:right;right:64px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);height:100%;left:auto;width:500px}.fixed-action-btn.direction-left ul li,.fixed-action-btn.direction-right ul li{display:inline-block;margin:7.5px 15px 0 0}.fixed-action-btn.direction-right{padding:0 15px 0 0}.fixed-action-btn.direction-right ul{text-align:left;direction:rtl;left:64px;right:auto}.fixed-action-btn.direction-right ul li{margin:7.5px 0 0 15px}.fixed-action-btn.direction-bottom{padding:0 0 15px 0}.fixed-action-btn.direction-bottom ul{top:64px;bottom:auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:reverse;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.fixed-action-btn.direction-bottom ul li{margin:15px 0 0 0}.fixed-action-btn.toolbar{padding:0;height:56px}.fixed-action-btn.toolbar.active>a i{opacity:0}.fixed-action-btn.toolbar ul{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;top:0;bottom:0;z-index:1}.fixed-action-btn.toolbar ul li{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;display:inline-block;margin:0;height:100%;-webkit-transition:none;transition:none}.fixed-action-btn.toolbar ul li a{display:block;overflow:hidden;position:relative;width:100%;height:100%;background-color:transparent;-webkit-box-shadow:none;box-shadow:none;color:#fff;line-height:56px;z-index:1}.fixed-action-btn.toolbar ul li a i{line-height:inherit}.fixed-action-btn ul{left:0;right:0;text-align:center;position:absolute;bottom:64px;margin:0;visibility:hidden}.fixed-action-btn ul li{margin-bottom:15px}.fixed-action-btn ul a.btn-floating{opacity:0}.fixed-action-btn .fab-backdrop{position:absolute;top:0;left:0;z-index:-1;width:40px;height:40px;background-color:#26a69a;border-radius:50%;-webkit-transform:scale(0);transform:scale(0)}.btn-flat{-webkit-box-shadow:none;box-shadow:none;background-color:transparent;color:#343434;cursor:pointer;-webkit-transition:background-color .2s;transition:background-color .2s}.btn-flat:focus,.btn-flat:hover{-webkit-box-shadow:none;box-shadow:none}.btn-flat:focus{background-color:rgba(0,0,0,0.1)}.btn-flat.disabled,.btn-flat.btn-flat[disabled]{background-color:transparent !important;color:#b3b2b2 !important;cursor:default}.btn-large{height:54px;line-height:54px;font-size:15px;padding:0 28px}.btn-large i{font-size:1.6rem}.btn-small{height:32.4px;line-height:32.4px;font-size:13px}.btn-small i{font-size:1.2rem}.btn-block{display:block}.dropdown-content{background-color:#fff;margin:0;display:none;min-width:100px;overflow-y:auto;opacity:0;position:absolute;left:0;top:0;z-index:9999;-webkit-transform-origin:0 0;transform-origin:0 0}.dropdown-content:focus{outline:0}.dropdown-content li{clear:both;color:rgba(0,0,0,0.87);cursor:pointer;min-height:50px;line-height:1.5rem;width:100%;text-align:left}.dropdown-content li:hover,.dropdown-content li.active{background-color:#eee}.dropdown-content li:focus{outline:none}.dropdown-content li.divider{min-height:0;height:1px}.dropdown-content li>a,.dropdown-content li>span{font-size:16px;color:#26a69a;display:block;line-height:22px;padding:14px 16px}.dropdown-content li>span>label{top:1px;left:0;height:18px}.dropdown-content li>a>i{height:inherit;line-height:inherit;float:left;margin:0 24px 0 0;width:24px}body.keyboard-focused .dropdown-content li:focus{background-color:#dadada}.input-field.col .dropdown-content [type="checkbox"]+label{top:1px;left:0;height:18px;-webkit-transform:none;transform:none}.dropdown-trigger{cursor:pointer}/*!
- * Waves v0.6.0
- * http://fian.my.id/Waves
- *
- * Copyright 2014 Alfiana E. Sibuea and other contributors
- * Released under the MIT license
- * https://github.com/fians/Waves/blob/master/LICENSE
- */.waves-effect{position:relative;cursor:pointer;display:inline-block;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;vertical-align:middle;z-index:1;-webkit-transition:.3s ease-out;transition:.3s ease-out}.waves-effect .waves-ripple{position:absolute;border-radius:50%;width:20px;height:20px;margin-top:-10px;margin-left:-10px;opacity:0;background:rgba(0,0,0,0.2);-webkit-transition:all 0.7s ease-out;transition:all 0.7s ease-out;-webkit-transition-property:opacity, -webkit-transform;transition-property:opacity, -webkit-transform;transition-property:transform, opacity;transition-property:transform, opacity, -webkit-transform;-webkit-transform:scale(0);transform:scale(0);pointer-events:none}.waves-effect.waves-light .waves-ripple{background-color:rgba(255,255,255,0.45)}.waves-effect.waves-red .waves-ripple{background-color:rgba(244,67,54,0.7)}.waves-effect.waves-yellow .waves-ripple{background-color:rgba(255,235,59,0.7)}.waves-effect.waves-orange .waves-ripple{background-color:rgba(255,152,0,0.7)}.waves-effect.waves-purple .waves-ripple{background-color:rgba(156,39,176,0.7)}.waves-effect.waves-green .waves-ripple{background-color:rgba(76,175,80,0.7)}.waves-effect.waves-teal .waves-ripple{background-color:rgba(0,150,136,0.7)}.waves-effect input[type="button"],.waves-effect input[type="reset"],.waves-effect input[type="submit"]{border:0;font-style:normal;font-size:inherit;text-transform:inherit;background:none}.waves-effect img{position:relative;z-index:-1}.waves-notransition{-webkit-transition:none !important;transition:none !important}.waves-circle{-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-mask-image:-webkit-radial-gradient(circle, white 100%, black 100%)}.waves-input-wrapper{border-radius:0.2em;vertical-align:bottom}.waves-input-wrapper .waves-button-input{position:relative;top:0;left:0;z-index:1}.waves-circle{text-align:center;width:2.5em;height:2.5em;line-height:2.5em;border-radius:50%;-webkit-mask-image:none}.waves-block{display:block}.waves-effect .waves-ripple{z-index:-1}.modal{display:none;position:fixed;left:0;right:0;background-color:#fafafa;padding:0;max-height:70%;width:55%;margin:auto;overflow-y:auto;border-radius:2px;will-change:top, opacity}.modal:focus{outline:none}@media only screen and (max-width: 992px){.modal{width:80%}}.modal h1,.modal h2,.modal h3,.modal h4{margin-top:0}.modal .modal-content{padding:24px}.modal .modal-close{cursor:pointer}.modal .modal-footer{border-radius:0 0 2px 2px;background-color:#fafafa;padding:4px 6px;height:56px;width:100%;text-align:right}.modal .modal-footer .btn,.modal .modal-footer .btn-large,.modal .modal-footer .btn-small,.modal .modal-footer .btn-flat{margin:6px 0}.modal-overlay{position:fixed;z-index:999;top:-25%;left:0;bottom:0;right:0;height:125%;width:100%;background:#000;display:none;will-change:opacity}.modal.modal-fixed-footer{padding:0;height:70%}.modal.modal-fixed-footer .modal-content{position:absolute;height:calc(100% - 56px);max-height:100%;width:100%;overflow-y:auto}.modal.modal-fixed-footer .modal-footer{border-top:1px solid rgba(0,0,0,0.1);position:absolute;bottom:0}.modal.bottom-sheet{top:auto;bottom:-100%;margin:0;width:100%;max-height:45%;border-radius:0;will-change:bottom, opacity}.collapsible{border-top:1px solid #ddd;border-right:1px solid #ddd;border-left:1px solid #ddd;margin:.5rem 0 1rem 0}.collapsible-header{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;cursor:pointer;-webkit-tap-highlight-color:transparent;line-height:1.5;padding:1rem;background-color:#fff;border-bottom:1px solid #ddd}.collapsible-header:focus{outline:0}.collapsible-header i{width:2rem;font-size:1.6rem;display:inline-block;text-align:center;margin-right:1rem}.keyboard-focused .collapsible-header:focus{background-color:#eee}.collapsible-body{display:none;border-bottom:1px solid #ddd;-webkit-box-sizing:border-box;box-sizing:border-box;padding:2rem}.sidenav .collapsible,.sidenav.fixed .collapsible{border:none;-webkit-box-shadow:none;box-shadow:none}.sidenav .collapsible li,.sidenav.fixed .collapsible li{padding:0}.sidenav .collapsible-header,.sidenav.fixed .collapsible-header{background-color:transparent;border:none;line-height:inherit;height:inherit;padding:0 16px}.sidenav .collapsible-header:hover,.sidenav.fixed .collapsible-header:hover{background-color:rgba(0,0,0,0.05)}.sidenav .collapsible-header i,.sidenav.fixed .collapsible-header i{line-height:inherit}.sidenav .collapsible-body,.sidenav.fixed .collapsible-body{border:0;background-color:#fff}.sidenav .collapsible-body li a,.sidenav.fixed .collapsible-body li a{padding:0 23.5px 0 31px}.collapsible.popout{border:none;-webkit-box-shadow:none;box-shadow:none}.collapsible.popout>li{-webkit-box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12);margin:0 24px;-webkit-transition:margin 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);transition:margin 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94)}.collapsible.popout>li.active{-webkit-box-shadow:0 5px 11px 0 rgba(0,0,0,0.18),0 4px 15px 0 rgba(0,0,0,0.15);box-shadow:0 5px 11px 0 rgba(0,0,0,0.18),0 4px 15px 0 rgba(0,0,0,0.15);margin:16px 0}.chip{display:inline-block;height:32px;font-size:13px;font-weight:500;color:rgba(0,0,0,0.6);line-height:32px;padding:0 12px;border-radius:16px;background-color:#e4e4e4;margin-bottom:5px;margin-right:5px}.chip:focus{outline:none;background-color:#26a69a;color:#fff}.chip>img{float:left;margin:0 8px 0 -12px;height:32px;width:32px;border-radius:50%}.chip .close{cursor:pointer;float:right;font-size:16px;line-height:32px;padding-left:8px}.chips{border:none;border-bottom:1px solid #9e9e9e;-webkit-box-shadow:none;box-shadow:none;margin:0 0 8px 0;min-height:45px;outline:none;-webkit-transition:all .3s;transition:all .3s}.chips.focus{border-bottom:1px solid #26a69a;-webkit-box-shadow:0 1px 0 0 #26a69a;box-shadow:0 1px 0 0 #26a69a}.chips:hover{cursor:text}.chips .input{background:none;border:0;color:rgba(0,0,0,0.6);display:inline-block;font-size:16px;height:3rem;line-height:32px;outline:0;margin:0;padding:0 !important;width:120px !important}.chips .input:focus{border:0 !important;-webkit-box-shadow:none !important;box-shadow:none !important}.chips .autocomplete-content{margin-top:0;margin-bottom:0}.prefix ~ .chips{margin-left:3rem;width:92%;width:calc(100% - 3rem)}.chips:empty ~ label{font-size:0.8rem;-webkit-transform:translateY(-140%);transform:translateY(-140%)}.materialboxed{display:block;cursor:-webkit-zoom-in;cursor:zoom-in;position:relative;-webkit-transition:opacity .4s;transition:opacity .4s;-webkit-backface-visibility:hidden}.materialboxed:hover:not(.active){opacity:.8}.materialboxed.active{cursor:-webkit-zoom-out;cursor:zoom-out}#materialbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#292929;z-index:1000;will-change:opacity}.materialbox-caption{position:fixed;display:none;color:#fff;line-height:50px;bottom:0;left:0;width:100%;text-align:center;padding:0% 15%;height:50px;z-index:1000;-webkit-font-smoothing:antialiased}select:focus{outline:1px solid #c9f3ef}button:focus{outline:none;background-color:#2ab7a9}label{font-size:.8rem;color:#9e9e9e}::-webkit-input-placeholder{color:#d1d1d1}::-moz-placeholder{color:#d1d1d1}:-ms-input-placeholder{color:#d1d1d1}::-ms-input-placeholder{color:#d1d1d1}::placeholder{color:#d1d1d1}input:not([type]),input[type=text]:not(.browser-default),input[type=password]:not(.browser-default),input[type=email]:not(.browser-default),input[type=url]:not(.browser-default),input[type=time]:not(.browser-default),input[type=date]:not(.browser-default),input[type=datetime]:not(.browser-default),input[type=datetime-local]:not(.browser-default),input[type=tel]:not(.browser-default),input[type=number]:not(.browser-default),input[type=search]:not(.browser-default),textarea.materialize-textarea{background-color:transparent;border:none;border-bottom:1px solid #9e9e9e;border-radius:0;outline:none;height:3rem;width:100%;font-size:16px;margin:0 0 8px 0;padding:0;-webkit-box-shadow:none;box-shadow:none;-webkit-box-sizing:content-box;box-sizing:content-box;-webkit-transition:border .3s, -webkit-box-shadow .3s;transition:border .3s, -webkit-box-shadow .3s;transition:box-shadow .3s, border .3s;transition:box-shadow .3s, border .3s, -webkit-box-shadow .3s}input:not([type]):disabled,input:not([type])[readonly="readonly"],input[type=text]:not(.browser-default):disabled,input[type=text]:not(.browser-default)[readonly="readonly"],input[type=password]:not(.browser-default):disabled,input[type=password]:not(.browser-default)[readonly="readonly"],input[type=email]:not(.browser-default):disabled,input[type=email]:not(.browser-default)[readonly="readonly"],input[type=url]:not(.browser-default):disabled,input[type=url]:not(.browser-default)[readonly="readonly"],input[type=time]:not(.browser-default):disabled,input[type=time]:not(.browser-default)[readonly="readonly"],input[type=date]:not(.browser-default):disabled,input[type=date]:not(.browser-default)[readonly="readonly"],input[type=datetime]:not(.browser-default):disabled,input[type=datetime]:not(.browser-default)[readonly="readonly"],input[type=datetime-local]:not(.browser-default):disabled,input[type=datetime-local]:not(.browser-default)[readonly="readonly"],input[type=tel]:not(.browser-default):disabled,input[type=tel]:not(.browser-default)[readonly="readonly"],input[type=number]:not(.browser-default):disabled,input[type=number]:not(.browser-default)[readonly="readonly"],input[type=search]:not(.browser-default):disabled,input[type=search]:not(.browser-default)[readonly="readonly"],textarea.materialize-textarea:disabled,textarea.materialize-textarea[readonly="readonly"]{color:rgba(0,0,0,0.42);border-bottom:1px dotted rgba(0,0,0,0.42)}input:not([type]):disabled+label,input:not([type])[readonly="readonly"]+label,input[type=text]:not(.browser-default):disabled+label,input[type=text]:not(.browser-default)[readonly="readonly"]+label,input[type=password]:not(.browser-default):disabled+label,input[type=password]:not(.browser-default)[readonly="readonly"]+label,input[type=email]:not(.browser-default):disabled+label,input[type=email]:not(.browser-default)[readonly="readonly"]+label,input[type=url]:not(.browser-default):disabled+label,input[type=url]:not(.browser-default)[readonly="readonly"]+label,input[type=time]:not(.browser-default):disabled+label,input[type=time]:not(.browser-default)[readonly="readonly"]+label,input[type=date]:not(.browser-default):disabled+label,input[type=date]:not(.browser-default)[readonly="readonly"]+label,input[type=datetime]:not(.browser-default):disabled+label,input[type=datetime]:not(.browser-default)[readonly="readonly"]+label,input[type=datetime-local]:not(.browser-default):disabled+label,input[type=datetime-local]:not(.browser-default)[readonly="readonly"]+label,input[type=tel]:not(.browser-default):disabled+label,input[type=tel]:not(.browser-default)[readonly="readonly"]+label,input[type=number]:not(.browser-default):disabled+label,input[type=number]:not(.browser-default)[readonly="readonly"]+label,input[type=search]:not(.browser-default):disabled+label,input[type=search]:not(.browser-default)[readonly="readonly"]+label,textarea.materialize-textarea:disabled+label,textarea.materialize-textarea[readonly="readonly"]+label{color:rgba(0,0,0,0.42)}input:not([type]):focus:not([readonly]),input[type=text]:not(.browser-default):focus:not([readonly]),input[type=password]:not(.browser-default):focus:not([readonly]),input[type=email]:not(.browser-default):focus:not([readonly]),input[type=url]:not(.browser-default):focus:not([readonly]),input[type=time]:not(.browser-default):focus:not([readonly]),input[type=date]:not(.browser-default):focus:not([readonly]),input[type=datetime]:not(.browser-default):focus:not([readonly]),input[type=datetime-local]:not(.browser-default):focus:not([readonly]),input[type=tel]:not(.browser-default):focus:not([readonly]),input[type=number]:not(.browser-default):focus:not([readonly]),input[type=search]:not(.browser-default):focus:not([readonly]),textarea.materialize-textarea:focus:not([readonly]){border-bottom:1px solid #26a69a;-webkit-box-shadow:0 1px 0 0 #26a69a;box-shadow:0 1px 0 0 #26a69a}input:not([type]):focus:not([readonly])+label,input[type=text]:not(.browser-default):focus:not([readonly])+label,input[type=password]:not(.browser-default):focus:not([readonly])+label,input[type=email]:not(.browser-default):focus:not([readonly])+label,input[type=url]:not(.browser-default):focus:not([readonly])+label,input[type=time]:not(.browser-default):focus:not([readonly])+label,input[type=date]:not(.browser-default):focus:not([readonly])+label,input[type=datetime]:not(.browser-default):focus:not([readonly])+label,input[type=datetime-local]:not(.browser-default):focus:not([readonly])+label,input[type=tel]:not(.browser-default):focus:not([readonly])+label,input[type=number]:not(.browser-default):focus:not([readonly])+label,input[type=search]:not(.browser-default):focus:not([readonly])+label,textarea.materialize-textarea:focus:not([readonly])+label{color:#26a69a}input:not([type]):focus.valid ~ label,input[type=text]:not(.browser-default):focus.valid ~ label,input[type=password]:not(.browser-default):focus.valid ~ label,input[type=email]:not(.browser-default):focus.valid ~ label,input[type=url]:not(.browser-default):focus.valid ~ label,input[type=time]:not(.browser-default):focus.valid ~ label,input[type=date]:not(.browser-default):focus.valid ~ label,input[type=datetime]:not(.browser-default):focus.valid ~ label,input[type=datetime-local]:not(.browser-default):focus.valid ~ label,input[type=tel]:not(.browser-default):focus.valid ~ label,input[type=number]:not(.browser-default):focus.valid ~ label,input[type=search]:not(.browser-default):focus.valid ~ label,textarea.materialize-textarea:focus.valid ~ label{color:#4CAF50}input:not([type]):focus.invalid ~ label,input[type=text]:not(.browser-default):focus.invalid ~ label,input[type=password]:not(.browser-default):focus.invalid ~ label,input[type=email]:not(.browser-default):focus.invalid ~ label,input[type=url]:not(.browser-default):focus.invalid ~ label,input[type=time]:not(.browser-default):focus.invalid ~ label,input[type=date]:not(.browser-default):focus.invalid ~ label,input[type=datetime]:not(.browser-default):focus.invalid ~ label,input[type=datetime-local]:not(.browser-default):focus.invalid ~ label,input[type=tel]:not(.browser-default):focus.invalid ~ label,input[type=number]:not(.browser-default):focus.invalid ~ label,input[type=search]:not(.browser-default):focus.invalid ~ label,textarea.materialize-textarea:focus.invalid ~ label{color:#F44336}input:not([type]).validate+label,input[type=text]:not(.browser-default).validate+label,input[type=password]:not(.browser-default).validate+label,input[type=email]:not(.browser-default).validate+label,input[type=url]:not(.browser-default).validate+label,input[type=time]:not(.browser-default).validate+label,input[type=date]:not(.browser-default).validate+label,input[type=datetime]:not(.browser-default).validate+label,input[type=datetime-local]:not(.browser-default).validate+label,input[type=tel]:not(.browser-default).validate+label,input[type=number]:not(.browser-default).validate+label,input[type=search]:not(.browser-default).validate+label,textarea.materialize-textarea.validate+label{width:100%}input.valid:not([type]),input.valid:not([type]):focus,input.valid[type=text]:not(.browser-default),input.valid[type=text]:not(.browser-default):focus,input.valid[type=password]:not(.browser-default),input.valid[type=password]:not(.browser-default):focus,input.valid[type=email]:not(.browser-default),input.valid[type=email]:not(.browser-default):focus,input.valid[type=url]:not(.browser-default),input.valid[type=url]:not(.browser-default):focus,input.valid[type=time]:not(.browser-default),input.valid[type=time]:not(.browser-default):focus,input.valid[type=date]:not(.browser-default),input.valid[type=date]:not(.browser-default):focus,input.valid[type=datetime]:not(.browser-default),input.valid[type=datetime]:not(.browser-default):focus,input.valid[type=datetime-local]:not(.browser-default),input.valid[type=datetime-local]:not(.browser-default):focus,input.valid[type=tel]:not(.browser-default),input.valid[type=tel]:not(.browser-default):focus,input.valid[type=number]:not(.browser-default),input.valid[type=number]:not(.browser-default):focus,input.valid[type=search]:not(.browser-default),input.valid[type=search]:not(.browser-default):focus,textarea.materialize-textarea.valid,textarea.materialize-textarea.valid:focus,.select-wrapper.valid>input.select-dropdown{border-bottom:1px solid #4CAF50;-webkit-box-shadow:0 1px 0 0 #4CAF50;box-shadow:0 1px 0 0 #4CAF50}input.invalid:not([type]),input.invalid:not([type]):focus,input.invalid[type=text]:not(.browser-default),input.invalid[type=text]:not(.browser-default):focus,input.invalid[type=password]:not(.browser-default),input.invalid[type=password]:not(.browser-default):focus,input.invalid[type=email]:not(.browser-default),input.invalid[type=email]:not(.browser-default):focus,input.invalid[type=url]:not(.browser-default),input.invalid[type=url]:not(.browser-default):focus,input.invalid[type=time]:not(.browser-default),input.invalid[type=time]:not(.browser-default):focus,input.invalid[type=date]:not(.browser-default),input.invalid[type=date]:not(.browser-default):focus,input.invalid[type=datetime]:not(.browser-default),input.invalid[type=datetime]:not(.browser-default):focus,input.invalid[type=datetime-local]:not(.browser-default),input.invalid[type=datetime-local]:not(.browser-default):focus,input.invalid[type=tel]:not(.browser-default),input.invalid[type=tel]:not(.browser-default):focus,input.invalid[type=number]:not(.browser-default),input.invalid[type=number]:not(.browser-default):focus,input.invalid[type=search]:not(.browser-default),input.invalid[type=search]:not(.browser-default):focus,textarea.materialize-textarea.invalid,textarea.materialize-textarea.invalid:focus,.select-wrapper.invalid>input.select-dropdown,.select-wrapper.invalid>input.select-dropdown:focus{border-bottom:1px solid #F44336;-webkit-box-shadow:0 1px 0 0 #F44336;box-shadow:0 1px 0 0 #F44336}input:not([type]).valid ~ .helper-text[data-success],input:not([type]):focus.valid ~ .helper-text[data-success],input:not([type]).invalid ~ .helper-text[data-error],input:not([type]):focus.invalid ~ .helper-text[data-error],input[type=text]:not(.browser-default).valid ~ .helper-text[data-success],input[type=text]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=text]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=text]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=password]:not(.browser-default).valid ~ .helper-text[data-success],input[type=password]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=password]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=password]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=email]:not(.browser-default).valid ~ .helper-text[data-success],input[type=email]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=email]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=email]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=url]:not(.browser-default).valid ~ .helper-text[data-success],input[type=url]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=url]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=url]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=time]:not(.browser-default).valid ~ .helper-text[data-success],input[type=time]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=time]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=time]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=date]:not(.browser-default).valid ~ .helper-text[data-success],input[type=date]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=date]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=date]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=datetime]:not(.browser-default).valid ~ .helper-text[data-success],input[type=datetime]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=datetime]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=datetime]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=datetime-local]:not(.browser-default).valid ~ .helper-text[data-success],input[type=datetime-local]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=datetime-local]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=datetime-local]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=tel]:not(.browser-default).valid ~ .helper-text[data-success],input[type=tel]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=tel]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=tel]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=number]:not(.browser-default).valid ~ .helper-text[data-success],input[type=number]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=number]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=number]:not(.browser-default):focus.invalid ~ .helper-text[data-error],input[type=search]:not(.browser-default).valid ~ .helper-text[data-success],input[type=search]:not(.browser-default):focus.valid ~ .helper-text[data-success],input[type=search]:not(.browser-default).invalid ~ .helper-text[data-error],input[type=search]:not(.browser-default):focus.invalid ~ .helper-text[data-error],textarea.materialize-textarea.valid ~ .helper-text[data-success],textarea.materialize-textarea:focus.valid ~ .helper-text[data-success],textarea.materialize-textarea.invalid ~ .helper-text[data-error],textarea.materialize-textarea:focus.invalid ~ .helper-text[data-error],.select-wrapper.valid .helper-text[data-success],.select-wrapper.invalid ~ .helper-text[data-error]{color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}input:not([type]).valid ~ .helper-text:after,input:not([type]):focus.valid ~ .helper-text:after,input[type=text]:not(.browser-default).valid ~ .helper-text:after,input[type=text]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=password]:not(.browser-default).valid ~ .helper-text:after,input[type=password]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=email]:not(.browser-default).valid ~ .helper-text:after,input[type=email]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=url]:not(.browser-default).valid ~ .helper-text:after,input[type=url]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=time]:not(.browser-default).valid ~ .helper-text:after,input[type=time]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=date]:not(.browser-default).valid ~ .helper-text:after,input[type=date]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=datetime]:not(.browser-default).valid ~ .helper-text:after,input[type=datetime]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=datetime-local]:not(.browser-default).valid ~ .helper-text:after,input[type=datetime-local]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=tel]:not(.browser-default).valid ~ .helper-text:after,input[type=tel]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=number]:not(.browser-default).valid ~ .helper-text:after,input[type=number]:not(.browser-default):focus.valid ~ .helper-text:after,input[type=search]:not(.browser-default).valid ~ .helper-text:after,input[type=search]:not(.browser-default):focus.valid ~ .helper-text:after,textarea.materialize-textarea.valid ~ .helper-text:after,textarea.materialize-textarea:focus.valid ~ .helper-text:after,.select-wrapper.valid ~ .helper-text:after{content:attr(data-success);color:#4CAF50}input:not([type]).invalid ~ .helper-text:after,input:not([type]):focus.invalid ~ .helper-text:after,input[type=text]:not(.browser-default).invalid ~ .helper-text:after,input[type=text]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=password]:not(.browser-default).invalid ~ .helper-text:after,input[type=password]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=email]:not(.browser-default).invalid ~ .helper-text:after,input[type=email]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=url]:not(.browser-default).invalid ~ .helper-text:after,input[type=url]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=time]:not(.browser-default).invalid ~ .helper-text:after,input[type=time]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=date]:not(.browser-default).invalid ~ .helper-text:after,input[type=date]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=datetime]:not(.browser-default).invalid ~ .helper-text:after,input[type=datetime]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=datetime-local]:not(.browser-default).invalid ~ .helper-text:after,input[type=datetime-local]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=tel]:not(.browser-default).invalid ~ .helper-text:after,input[type=tel]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=number]:not(.browser-default).invalid ~ .helper-text:after,input[type=number]:not(.browser-default):focus.invalid ~ .helper-text:after,input[type=search]:not(.browser-default).invalid ~ .helper-text:after,input[type=search]:not(.browser-default):focus.invalid ~ .helper-text:after,textarea.materialize-textarea.invalid ~ .helper-text:after,textarea.materialize-textarea:focus.invalid ~ .helper-text:after,.select-wrapper.invalid ~ .helper-text:after{content:attr(data-error);color:#F44336}input:not([type])+label:after,input[type=text]:not(.browser-default)+label:after,input[type=password]:not(.browser-default)+label:after,input[type=email]:not(.browser-default)+label:after,input[type=url]:not(.browser-default)+label:after,input[type=time]:not(.browser-default)+label:after,input[type=date]:not(.browser-default)+label:after,input[type=datetime]:not(.browser-default)+label:after,input[type=datetime-local]:not(.browser-default)+label:after,input[type=tel]:not(.browser-default)+label:after,input[type=number]:not(.browser-default)+label:after,input[type=search]:not(.browser-default)+label:after,textarea.materialize-textarea+label:after,.select-wrapper+label:after{display:block;content:"";position:absolute;top:100%;left:0;opacity:0;-webkit-transition:.2s opacity ease-out, .2s color ease-out;transition:.2s opacity ease-out, .2s color ease-out}.input-field{position:relative;margin-top:1rem;margin-bottom:1rem}.input-field.inline{display:inline-block;vertical-align:middle;margin-left:5px}.input-field.inline input,.input-field.inline .select-dropdown{margin-bottom:1rem}.input-field.col label{left:.75rem}.input-field.col .prefix ~ label,.input-field.col .prefix ~ .validate ~ label{width:calc(100% - 3rem - 1.5rem)}.input-field>label{color:#9e9e9e;position:absolute;top:0;left:0;font-size:1rem;cursor:text;-webkit-transition:color .2s ease-out, -webkit-transform .2s ease-out;transition:color .2s ease-out, -webkit-transform .2s ease-out;transition:transform .2s ease-out, color .2s ease-out;transition:transform .2s ease-out, color .2s ease-out, -webkit-transform .2s ease-out;-webkit-transform-origin:0% 100%;transform-origin:0% 100%;text-align:initial;-webkit-transform:translateY(12px);transform:translateY(12px)}.input-field>label:not(.label-icon).active{-webkit-transform:translateY(-14px) scale(0.8);transform:translateY(-14px) scale(0.8);-webkit-transform-origin:0 0;transform-origin:0 0}.input-field>input[type]:-webkit-autofill:not(.browser-default):not([type="search"])+label,.input-field>input[type=date]:not(.browser-default)+label,.input-field>input[type=time]:not(.browser-default)+label{-webkit-transform:translateY(-14px) scale(0.8);transform:translateY(-14px) scale(0.8);-webkit-transform-origin:0 0;transform-origin:0 0}.input-field .helper-text{position:relative;min-height:18px;display:block;font-size:12px;color:rgba(0,0,0,0.54)}.input-field .helper-text::after{opacity:1;position:absolute;top:0;left:0}.input-field .prefix{position:absolute;width:3rem;font-size:2rem;-webkit-transition:color .2s;transition:color .2s;top:.5rem}.input-field .prefix.active{color:#26a69a}.input-field .prefix ~ input,.input-field .prefix ~ textarea,.input-field .prefix ~ label,.input-field .prefix ~ .validate ~ label,.input-field .prefix ~ .helper-text,.input-field .prefix ~ .autocomplete-content{margin-left:3rem;width:92%;width:calc(100% - 3rem)}.input-field .prefix ~ label{margin-left:3rem}@media only screen and (max-width: 992px){.input-field .prefix ~ input{width:86%;width:calc(100% - 3rem)}}@media only screen and (max-width: 600px){.input-field .prefix ~ input{width:80%;width:calc(100% - 3rem)}}.input-field input[type=search]{display:block;line-height:inherit;-webkit-transition:.3s background-color;transition:.3s background-color}.nav-wrapper .input-field input[type=search]{height:inherit;padding-left:4rem;width:calc(100% - 4rem);border:0;-webkit-box-shadow:none;box-shadow:none}.input-field input[type=search]:focus:not(.browser-default){background-color:#fff;border:0;-webkit-box-shadow:none;box-shadow:none;color:#444}.input-field input[type=search]:focus:not(.browser-default)+label i,.input-field input[type=search]:focus:not(.browser-default) ~ .mdi-navigation-close,.input-field input[type=search]:focus:not(.browser-default) ~ .material-icons{color:#444}.input-field input[type=search]+.label-icon{-webkit-transform:none;transform:none;left:1rem}.input-field input[type=search] ~ .mdi-navigation-close,.input-field input[type=search] ~ .material-icons{position:absolute;top:0;right:1rem;color:transparent;cursor:pointer;font-size:2rem;-webkit-transition:.3s color;transition:.3s color}textarea{width:100%;height:3rem;background-color:transparent}textarea.materialize-textarea{line-height:normal;overflow-y:hidden;padding:.8rem 0 .8rem 0;resize:none;min-height:3rem;-webkit-box-sizing:border-box;box-sizing:border-box}.hiddendiv{visibility:hidden;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;padding-top:1.2rem;position:absolute;top:0;z-index:-1}.autocomplete-content li .highlight{color:#444}.autocomplete-content li img{height:40px;width:40px;margin:5px 15px}.character-counter{min-height:18px}[type="radio"]:not(:checked),[type="radio"]:checked{position:absolute;opacity:0;pointer-events:none}[type="radio"]:not(:checked)+span,[type="radio"]:checked+span{position:relative;padding-left:35px;cursor:pointer;display:inline-block;height:25px;line-height:25px;font-size:1rem;-webkit-transition:.28s ease;transition:.28s ease;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}[type="radio"]+span:before,[type="radio"]+span:after{content:'';position:absolute;left:0;top:0;margin:4px;width:16px;height:16px;z-index:0;-webkit-transition:.28s ease;transition:.28s ease}[type="radio"]:not(:checked)+span:before,[type="radio"]:not(:checked)+span:after,[type="radio"]:checked+span:before,[type="radio"]:checked+span:after,[type="radio"].with-gap:checked+span:before,[type="radio"].with-gap:checked+span:after{border-radius:50%}[type="radio"]:not(:checked)+span:before,[type="radio"]:not(:checked)+span:after{border:2px solid #5a5a5a}[type="radio"]:not(:checked)+span:after{-webkit-transform:scale(0);transform:scale(0)}[type="radio"]:checked+span:before{border:2px solid transparent}[type="radio"]:checked+span:after,[type="radio"].with-gap:checked+span:before,[type="radio"].with-gap:checked+span:after{border:2px solid #26a69a}[type="radio"]:checked+span:after,[type="radio"].with-gap:checked+span:after{background-color:#26a69a}[type="radio"]:checked+span:after{-webkit-transform:scale(1.02);transform:scale(1.02)}[type="radio"].with-gap:checked+span:after{-webkit-transform:scale(0.5);transform:scale(0.5)}[type="radio"].tabbed:focus+span:before{-webkit-box-shadow:0 0 0 10px rgba(0,0,0,0.1);box-shadow:0 0 0 10px rgba(0,0,0,0.1)}[type="radio"].with-gap:disabled:checked+span:before{border:2px solid rgba(0,0,0,0.42)}[type="radio"].with-gap:disabled:checked+span:after{border:none;background-color:rgba(0,0,0,0.42)}[type="radio"]:disabled:not(:checked)+span:before,[type="radio"]:disabled:checked+span:before{background-color:transparent;border-color:rgba(0,0,0,0.42)}[type="radio"]:disabled+span{color:rgba(0,0,0,0.42)}[type="radio"]:disabled:not(:checked)+span:before{border-color:rgba(0,0,0,0.42)}[type="radio"]:disabled:checked+span:after{background-color:rgba(0,0,0,0.42);border-color:#949494}[type="checkbox"]:not(:checked),[type="checkbox"]:checked{position:absolute;opacity:0;pointer-events:none}[type="checkbox"]+span:not(.lever){position:relative;padding-left:35px;cursor:pointer;display:inline-block;height:25px;line-height:25px;font-size:1rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}[type="checkbox"]+span:not(.lever):before,[type="checkbox"]:not(.filled-in)+span:not(.lever):after{content:'';position:absolute;top:0;left:0;width:18px;height:18px;z-index:0;border:2px solid #5a5a5a;border-radius:1px;margin-top:3px;-webkit-transition:.2s;transition:.2s}[type="checkbox"]:not(.filled-in)+span:not(.lever):after{border:0;-webkit-transform:scale(0);transform:scale(0)}[type="checkbox"]:not(:checked):disabled+span:not(.lever):before{border:none;background-color:rgba(0,0,0,0.42)}[type="checkbox"].tabbed:focus+span:not(.lever):after{-webkit-transform:scale(1);transform:scale(1);border:0;border-radius:50%;-webkit-box-shadow:0 0 0 10px rgba(0,0,0,0.1);box-shadow:0 0 0 10px rgba(0,0,0,0.1);background-color:rgba(0,0,0,0.1)}[type="checkbox"]:checked+span:not(.lever):before{top:-4px;left:-5px;width:12px;height:22px;border-top:2px solid transparent;border-left:2px solid transparent;border-right:2px solid #26a69a;border-bottom:2px solid #26a69a;-webkit-transform:rotate(40deg);transform:rotate(40deg);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-origin:100% 100%;transform-origin:100% 100%}[type="checkbox"]:checked:disabled+span:before{border-right:2px solid rgba(0,0,0,0.42);border-bottom:2px solid rgba(0,0,0,0.42)}[type="checkbox"]:indeterminate+span:not(.lever):before{top:-11px;left:-12px;width:10px;height:22px;border-top:none;border-left:none;border-right:2px solid #26a69a;border-bottom:none;-webkit-transform:rotate(90deg);transform:rotate(90deg);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform-origin:100% 100%;transform-origin:100% 100%}[type="checkbox"]:indeterminate:disabled+span:not(.lever):before{border-right:2px solid rgba(0,0,0,0.42);background-color:transparent}[type="checkbox"].filled-in+span:not(.lever):after{border-radius:2px}[type="checkbox"].filled-in+span:not(.lever):before,[type="checkbox"].filled-in+span:not(.lever):after{content:'';left:0;position:absolute;-webkit-transition:border .25s, background-color .25s, width .20s .1s, height .20s .1s, top .20s .1s, left .20s .1s;transition:border .25s, background-color .25s, width .20s .1s, height .20s .1s, top .20s .1s, left .20s .1s;z-index:1}[type="checkbox"].filled-in:not(:checked)+span:not(.lever):before{width:0;height:0;border:3px solid transparent;left:6px;top:10px;-webkit-transform:rotateZ(37deg);transform:rotateZ(37deg);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}[type="checkbox"].filled-in:not(:checked)+span:not(.lever):after{height:20px;width:20px;background-color:transparent;border:2px solid #5a5a5a;top:0px;z-index:0}[type="checkbox"].filled-in:checked+span:not(.lever):before{top:0;left:1px;width:8px;height:13px;border-top:2px solid transparent;border-left:2px solid transparent;border-right:2px solid #fff;border-bottom:2px solid #fff;-webkit-transform:rotateZ(37deg);transform:rotateZ(37deg);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}[type="checkbox"].filled-in:checked+span:not(.lever):after{top:0;width:20px;height:20px;border:2px solid #26a69a;background-color:#26a69a;z-index:0}[type="checkbox"].filled-in.tabbed:focus+span:not(.lever):after{border-radius:2px;border-color:#5a5a5a;background-color:rgba(0,0,0,0.1)}[type="checkbox"].filled-in.tabbed:checked:focus+span:not(.lever):after{border-radius:2px;background-color:#26a69a;border-color:#26a69a}[type="checkbox"].filled-in:disabled:not(:checked)+span:not(.lever):before{background-color:transparent;border:2px solid transparent}[type="checkbox"].filled-in:disabled:not(:checked)+span:not(.lever):after{border-color:transparent;background-color:#949494}[type="checkbox"].filled-in:disabled:checked+span:not(.lever):before{background-color:transparent}[type="checkbox"].filled-in:disabled:checked+span:not(.lever):after{background-color:#949494;border-color:#949494}.switch,.switch *{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.switch label{cursor:pointer}.switch label input[type=checkbox]{opacity:0;width:0;height:0}.switch label input[type=checkbox]:checked+.lever{background-color:#84c7c1}.switch label input[type=checkbox]:checked+.lever:before,.switch label input[type=checkbox]:checked+.lever:after{left:18px}.switch label input[type=checkbox]:checked+.lever:after{background-color:#26a69a}.switch label .lever{content:"";display:inline-block;position:relative;width:36px;height:14px;background-color:rgba(0,0,0,0.38);border-radius:15px;margin-right:10px;-webkit-transition:background 0.3s ease;transition:background 0.3s ease;vertical-align:middle;margin:0 16px}.switch label .lever:before,.switch label .lever:after{content:"";position:absolute;display:inline-block;width:20px;height:20px;border-radius:50%;left:0;top:-3px;-webkit-transition:left 0.3s ease, background .3s ease, -webkit-box-shadow 0.1s ease, -webkit-transform .1s ease;transition:left 0.3s ease, background .3s ease, -webkit-box-shadow 0.1s ease, -webkit-transform .1s ease;transition:left 0.3s ease, background .3s ease, box-shadow 0.1s ease, transform .1s ease;transition:left 0.3s ease, background .3s ease, box-shadow 0.1s ease, transform .1s ease, -webkit-box-shadow 0.1s ease, -webkit-transform .1s ease}.switch label .lever:before{background-color:rgba(38,166,154,0.15)}.switch label .lever:after{background-color:#F1F1F1;-webkit-box-shadow:0px 3px 1px -2px rgba(0,0,0,0.2),0px 2px 2px 0px rgba(0,0,0,0.14),0px 1px 5px 0px rgba(0,0,0,0.12);box-shadow:0px 3px 1px -2px rgba(0,0,0,0.2),0px 2px 2px 0px rgba(0,0,0,0.14),0px 1px 5px 0px rgba(0,0,0,0.12)}input[type=checkbox]:checked:not(:disabled) ~ .lever:active::before,input[type=checkbox]:checked:not(:disabled).tabbed:focus ~ .lever::before{-webkit-transform:scale(2.4);transform:scale(2.4);background-color:rgba(38,166,154,0.15)}input[type=checkbox]:not(:disabled) ~ .lever:active:before,input[type=checkbox]:not(:disabled).tabbed:focus ~ .lever::before{-webkit-transform:scale(2.4);transform:scale(2.4);background-color:rgba(0,0,0,0.08)}.switch input[type=checkbox][disabled]+.lever{cursor:default;background-color:rgba(0,0,0,0.12)}.switch label input[type=checkbox][disabled]+.lever:after,.switch label input[type=checkbox][disabled]:checked+.lever:after{background-color:#949494}select{display:none}select.browser-default{display:block}select{background-color:rgba(255,255,255,0.9);width:100%;padding:5px;border:1px solid #f2f2f2;border-radius:2px;height:3rem}.select-label{position:absolute}.select-wrapper{position:relative}.select-wrapper.valid+label,.select-wrapper.invalid+label{width:100%;pointer-events:none}.select-wrapper input.select-dropdown{position:relative;cursor:pointer;background-color:transparent;border:none;border-bottom:1px solid #9e9e9e;outline:none;height:3rem;line-height:3rem;width:100%;font-size:16px;margin:0 0 8px 0;padding:0;display:block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1}.select-wrapper input.select-dropdown:focus{border-bottom:1px solid #26a69a}.select-wrapper .caret{position:absolute;right:0;top:0;bottom:0;margin:auto 0;z-index:0;fill:rgba(0,0,0,0.87)}.select-wrapper+label{position:absolute;top:-26px;font-size:.8rem}select:disabled{color:rgba(0,0,0,0.42)}.select-wrapper.disabled+label{color:rgba(0,0,0,0.42)}.select-wrapper.disabled .caret{fill:rgba(0,0,0,0.42)}.select-wrapper input.select-dropdown:disabled{color:rgba(0,0,0,0.42);cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.select-wrapper i{color:rgba(0,0,0,0.3)}.select-dropdown li.disabled,.select-dropdown li.disabled>span,.select-dropdown li.optgroup{color:rgba(0,0,0,0.3);background-color:transparent}body.keyboard-focused .select-dropdown.dropdown-content li:focus{background-color:rgba(0,0,0,0.08)}.select-dropdown.dropdown-content li:hover{background-color:rgba(0,0,0,0.08)}.select-dropdown.dropdown-content li.selected{background-color:rgba(0,0,0,0.03)}.prefix ~ .select-wrapper{margin-left:3rem;width:92%;width:calc(100% - 3rem)}.prefix ~ label{margin-left:3rem}.select-dropdown li img{height:40px;width:40px;margin:5px 15px;float:right}.select-dropdown li.optgroup{border-top:1px solid #eee}.select-dropdown li.optgroup.selected>span{color:rgba(0,0,0,0.7)}.select-dropdown li.optgroup>span{color:rgba(0,0,0,0.4)}.select-dropdown li.optgroup ~ li.optgroup-option{padding-left:1rem}.file-field{position:relative}.file-field .file-path-wrapper{overflow:hidden;padding-left:10px}.file-field input.file-path{width:100%}.file-field .btn,.file-field .btn-large,.file-field .btn-small{float:left;height:3rem;line-height:3rem}.file-field span{cursor:pointer}.file-field input[type=file]{position:absolute;top:0;right:0;left:0;bottom:0;width:100%;margin:0;padding:0;font-size:20px;cursor:pointer;opacity:0;filter:alpha(opacity=0)}.file-field input[type=file]::-webkit-file-upload-button{display:none}.range-field{position:relative}input[type=range],input[type=range]+.thumb{cursor:pointer}input[type=range]{position:relative;background-color:transparent;border:none;outline:none;width:100%;margin:15px 0;padding:0}input[type=range]:focus{outline:none}input[type=range]+.thumb{position:absolute;top:10px;left:0;border:none;height:0;width:0;border-radius:50%;background-color:#26a69a;margin-left:7px;-webkit-transform-origin:50% 50%;transform-origin:50% 50%;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}input[type=range]+.thumb .value{display:block;width:30px;text-align:center;color:#26a69a;font-size:0;-webkit-transform:rotate(45deg);transform:rotate(45deg)}input[type=range]+.thumb.active{border-radius:50% 50% 50% 0}input[type=range]+.thumb.active .value{color:#fff;margin-left:-1px;margin-top:8px;font-size:10px}input[type=range]{-webkit-appearance:none}input[type=range]::-webkit-slider-runnable-track{height:3px;background:#c2c0c2;border:none}input[type=range]::-webkit-slider-thumb{border:none;height:14px;width:14px;border-radius:50%;background:#26a69a;-webkit-transition:-webkit-box-shadow .3s;transition:-webkit-box-shadow .3s;transition:box-shadow .3s;transition:box-shadow .3s, -webkit-box-shadow .3s;-webkit-appearance:none;background-color:#26a69a;-webkit-transform-origin:50% 50%;transform-origin:50% 50%;margin:-5px 0 0 0}.keyboard-focused input[type=range]:focus:not(.active)::-webkit-slider-thumb{-webkit-box-shadow:0 0 0 10px rgba(38,166,154,0.26);box-shadow:0 0 0 10px rgba(38,166,154,0.26)}input[type=range]{border:1px solid white}input[type=range]::-moz-range-track{height:3px;background:#c2c0c2;border:none}input[type=range]::-moz-focus-inner{border:0}input[type=range]::-moz-range-thumb{border:none;height:14px;width:14px;border-radius:50%;background:#26a69a;-webkit-transition:-webkit-box-shadow .3s;transition:-webkit-box-shadow .3s;transition:box-shadow .3s;transition:box-shadow .3s, -webkit-box-shadow .3s;margin-top:-5px}input[type=range]:-moz-focusring{outline:1px solid #fff;outline-offset:-1px}.keyboard-focused input[type=range]:focus:not(.active)::-moz-range-thumb{box-shadow:0 0 0 10px rgba(38,166,154,0.26)}input[type=range]::-ms-track{height:3px;background:transparent;border-color:transparent;border-width:6px 0;color:transparent}input[type=range]::-ms-fill-lower{background:#777}input[type=range]::-ms-fill-upper{background:#ddd}input[type=range]::-ms-thumb{border:none;height:14px;width:14px;border-radius:50%;background:#26a69a;-webkit-transition:-webkit-box-shadow .3s;transition:-webkit-box-shadow .3s;transition:box-shadow .3s;transition:box-shadow .3s, -webkit-box-shadow .3s}.keyboard-focused input[type=range]:focus:not(.active)::-ms-thumb{box-shadow:0 0 0 10px rgba(38,166,154,0.26)}.table-of-contents.fixed{position:fixed}.table-of-contents li{padding:2px 0}.table-of-contents a{display:inline-block;font-weight:300;color:#757575;padding-left:16px;height:1.5rem;line-height:1.5rem;letter-spacing:.4;display:inline-block}.table-of-contents a:hover{color:#a8a8a8;padding-left:15px;border-left:1px solid #ee6e73}.table-of-contents a.active{font-weight:500;padding-left:14px;border-left:2px solid #ee6e73}.sidenav{position:fixed;width:300px;left:0;top:0;margin:0;-webkit-transform:translateX(-100%);transform:translateX(-100%);height:100%;height:calc(100% + 60px);height:-moz-calc(100%);padding-bottom:60px;background-color:#fff;z-index:999;overflow-y:auto;will-change:transform;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translateX(-105%);transform:translateX(-105%)}.sidenav.right-aligned{right:0;-webkit-transform:translateX(105%);transform:translateX(105%);left:auto;-webkit-transform:translateX(100%);transform:translateX(100%)}.sidenav .collapsible{margin:0}.sidenav li{float:none;line-height:48px}.sidenav li.active{background-color:rgba(0,0,0,0.05)}.sidenav li>a{color:rgba(0,0,0,0.87);display:block;font-size:14px;font-weight:500;height:48px;line-height:48px;padding:0 32px}.sidenav li>a:hover{background-color:rgba(0,0,0,0.05)}.sidenav li>a.btn,.sidenav li>a.btn-large,.sidenav li>a.btn-small,.sidenav li>a.btn-large,.sidenav li>a.btn-flat,.sidenav li>a.btn-floating{margin:10px 15px}.sidenav li>a.btn,.sidenav li>a.btn-large,.sidenav li>a.btn-small,.sidenav li>a.btn-large,.sidenav li>a.btn-floating{color:#fff}.sidenav li>a.btn-flat{color:#343434}.sidenav li>a.btn:hover,.sidenav li>a.btn-large:hover,.sidenav li>a.btn-small:hover,.sidenav li>a.btn-large:hover{background-color:#2bbbad}.sidenav li>a.btn-floating:hover{background-color:#26a69a}.sidenav li>a>i,.sidenav li>a>[class^="mdi-"],.sidenav li>a li>a>[class*="mdi-"],.sidenav li>a>i.material-icons{float:left;height:48px;line-height:48px;margin:0 32px 0 0;width:24px;color:rgba(0,0,0,0.54)}.sidenav .divider{margin:8px 0 0 0}.sidenav .subheader{cursor:initial;pointer-events:none;color:rgba(0,0,0,0.54);font-size:14px;font-weight:500;line-height:48px}.sidenav .subheader:hover{background-color:transparent}.sidenav .user-view{position:relative;padding:32px 32px 0;margin-bottom:8px}.sidenav .user-view>a{height:auto;padding:0}.sidenav .user-view>a:hover{background-color:transparent}.sidenav .user-view .background{overflow:hidden;position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1}.sidenav .user-view .circle,.sidenav .user-view .name,.sidenav .user-view .email{display:block}.sidenav .user-view .circle{height:64px;width:64px}.sidenav .user-view .name,.sidenav .user-view .email{font-size:14px;line-height:24px}.sidenav .user-view .name{margin-top:16px;font-weight:500}.sidenav .user-view .email{padding-bottom:16px;font-weight:400}.drag-target{height:100%;width:10px;position:fixed;top:0;z-index:998}.drag-target.right-aligned{right:0}.sidenav.sidenav-fixed{left:0;-webkit-transform:translateX(0);transform:translateX(0);position:fixed}.sidenav.sidenav-fixed.right-aligned{right:0;left:auto}@media only screen and (max-width: 992px){.sidenav.sidenav-fixed{-webkit-transform:translateX(-105%);transform:translateX(-105%)}.sidenav.sidenav-fixed.right-aligned{-webkit-transform:translateX(105%);transform:translateX(105%)}.sidenav>a{padding:0 16px}.sidenav .user-view{padding:16px 16px 0}}.sidenav .collapsible-body>ul:not(.collapsible)>li.active,.sidenav.sidenav-fixed .collapsible-body>ul:not(.collapsible)>li.active{background-color:#ee6e73}.sidenav .collapsible-body>ul:not(.collapsible)>li.active a,.sidenav.sidenav-fixed .collapsible-body>ul:not(.collapsible)>li.active a{color:#fff}.sidenav .collapsible-body{padding:0}.sidenav-overlay{position:fixed;top:0;left:0;right:0;opacity:0;height:120vh;background-color:rgba(0,0,0,0.5);z-index:997;display:none}.preloader-wrapper{display:inline-block;position:relative;width:50px;height:50px}.preloader-wrapper.small{width:36px;height:36px}.preloader-wrapper.big{width:64px;height:64px}.preloader-wrapper.active{-webkit-animation:container-rotate 1568ms linear infinite;animation:container-rotate 1568ms linear infinite}@-webkit-keyframes container-rotate{to{-webkit-transform:rotate(360deg)}}@keyframes container-rotate{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.spinner-layer{position:absolute;width:100%;height:100%;opacity:0;border-color:#26a69a}.spinner-blue,.spinner-blue-only{border-color:#4285f4}.spinner-red,.spinner-red-only{border-color:#db4437}.spinner-yellow,.spinner-yellow-only{border-color:#f4b400}.spinner-green,.spinner-green-only{border-color:#0f9d58}.active .spinner-layer.spinner-blue{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,blue-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,blue-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.active .spinner-layer.spinner-red{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,red-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,red-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.active .spinner-layer.spinner-yellow{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,yellow-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,yellow-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.active .spinner-layer.spinner-green{-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,green-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,green-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.active .spinner-layer,.active .spinner-layer.spinner-blue-only,.active .spinner-layer.spinner-red-only,.active .spinner-layer.spinner-yellow-only,.active .spinner-layer.spinner-green-only{opacity:1;-webkit-animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:fill-unfill-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}@-webkit-keyframes fill-unfill-rotate{12.5%{-webkit-transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg)}to{-webkit-transform:rotate(1080deg)}}@keyframes fill-unfill-rotate{12.5%{-webkit-transform:rotate(135deg);transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg);transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg);transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg);transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg);transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg);transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg);transform:rotate(945deg)}to{-webkit-transform:rotate(1080deg);transform:rotate(1080deg)}}@-webkit-keyframes blue-fade-in-out{from{opacity:1}25%{opacity:1}26%{opacity:0}89%{opacity:0}90%{opacity:1}100%{opacity:1}}@keyframes blue-fade-in-out{from{opacity:1}25%{opacity:1}26%{opacity:0}89%{opacity:0}90%{opacity:1}100%{opacity:1}}@-webkit-keyframes red-fade-in-out{from{opacity:0}15%{opacity:0}25%{opacity:1}50%{opacity:1}51%{opacity:0}}@keyframes red-fade-in-out{from{opacity:0}15%{opacity:0}25%{opacity:1}50%{opacity:1}51%{opacity:0}}@-webkit-keyframes yellow-fade-in-out{from{opacity:0}40%{opacity:0}50%{opacity:1}75%{opacity:1}76%{opacity:0}}@keyframes yellow-fade-in-out{from{opacity:0}40%{opacity:0}50%{opacity:1}75%{opacity:1}76%{opacity:0}}@-webkit-keyframes green-fade-in-out{from{opacity:0}65%{opacity:0}75%{opacity:1}90%{opacity:1}100%{opacity:0}}@keyframes green-fade-in-out{from{opacity:0}65%{opacity:0}75%{opacity:1}90%{opacity:1}100%{opacity:0}}.gap-patch{position:absolute;top:0;left:45%;width:10%;height:100%;overflow:hidden;border-color:inherit}.gap-patch .circle{width:1000%;left:-450%}.circle-clipper{display:inline-block;position:relative;width:50%;height:100%;overflow:hidden;border-color:inherit}.circle-clipper .circle{width:200%;height:100%;border-width:3px;border-style:solid;border-color:inherit;border-bottom-color:transparent !important;border-radius:50%;-webkit-animation:none;animation:none;position:absolute;top:0;right:0;bottom:0}.circle-clipper.left .circle{left:0;border-right-color:transparent !important;-webkit-transform:rotate(129deg);transform:rotate(129deg)}.circle-clipper.right .circle{left:-100%;border-left-color:transparent !important;-webkit-transform:rotate(-129deg);transform:rotate(-129deg)}.active .circle-clipper.left .circle{-webkit-animation:left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.active .circle-clipper.right .circle{-webkit-animation:right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both;animation:right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}@-webkit-keyframes left-spin{from{-webkit-transform:rotate(130deg)}50%{-webkit-transform:rotate(-5deg)}to{-webkit-transform:rotate(130deg)}}@keyframes left-spin{from{-webkit-transform:rotate(130deg);transform:rotate(130deg)}50%{-webkit-transform:rotate(-5deg);transform:rotate(-5deg)}to{-webkit-transform:rotate(130deg);transform:rotate(130deg)}}@-webkit-keyframes right-spin{from{-webkit-transform:rotate(-130deg)}50%{-webkit-transform:rotate(5deg)}to{-webkit-transform:rotate(-130deg)}}@keyframes right-spin{from{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}50%{-webkit-transform:rotate(5deg);transform:rotate(5deg)}to{-webkit-transform:rotate(-130deg);transform:rotate(-130deg)}}#spinnerContainer.cooldown{-webkit-animation:container-rotate 1568ms linear infinite,fade-out 400ms cubic-bezier(0.4, 0, 0.2, 1);animation:container-rotate 1568ms linear infinite,fade-out 400ms cubic-bezier(0.4, 0, 0.2, 1)}@-webkit-keyframes fade-out{from{opacity:1}to{opacity:0}}@keyframes fade-out{from{opacity:1}to{opacity:0}}.slider{position:relative;height:400px;width:100%}.slider.fullscreen{height:100%;width:100%;position:absolute;top:0;left:0;right:0;bottom:0}.slider.fullscreen ul.slides{height:100%}.slider.fullscreen ul.indicators{z-index:2;bottom:30px}.slider .slides{background-color:#9e9e9e;margin:0;height:400px}.slider .slides li{opacity:0;position:absolute;top:0;left:0;z-index:1;width:100%;height:inherit;overflow:hidden}.slider .slides li img{height:100%;width:100%;background-size:cover;background-position:center}.slider .slides li .caption{color:#fff;position:absolute;top:15%;left:15%;width:70%;opacity:0}.slider .slides li .caption p{color:#e0e0e0}.slider .slides li.active{z-index:2}.slider .indicators{position:absolute;text-align:center;left:0;right:0;bottom:0;margin:0}.slider .indicators .indicator-item{display:inline-block;position:relative;cursor:pointer;height:16px;width:16px;margin:0 12px;background-color:#e0e0e0;-webkit-transition:background-color .3s;transition:background-color .3s;border-radius:50%}.slider .indicators .indicator-item.active{background-color:#4CAF50}.carousel{overflow:hidden;position:relative;width:100%;height:400px;-webkit-perspective:500px;perspective:500px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-transform-origin:0% 50%;transform-origin:0% 50%}.carousel.carousel-slider{top:0;left:0}.carousel.carousel-slider .carousel-fixed-item{position:absolute;left:0;right:0;bottom:20px;z-index:1}.carousel.carousel-slider .carousel-fixed-item.with-indicators{bottom:68px}.carousel.carousel-slider .carousel-item{width:100%;height:100%;min-height:400px;position:absolute;top:0;left:0}.carousel.carousel-slider .carousel-item h2{font-size:24px;font-weight:500;line-height:32px}.carousel.carousel-slider .carousel-item p{font-size:15px}.carousel .carousel-item{visibility:hidden;width:200px;height:200px;position:absolute;top:0;left:0}.carousel .carousel-item>img{width:100%}.carousel .indicators{position:absolute;text-align:center;left:0;right:0;bottom:0;margin:0}.carousel .indicators .indicator-item{display:inline-block;position:relative;cursor:pointer;height:8px;width:8px;margin:24px 4px;background-color:rgba(255,255,255,0.5);-webkit-transition:background-color .3s;transition:background-color .3s;border-radius:50%}.carousel .indicators .indicator-item.active{background-color:#fff}.carousel.scrolling .carousel-item .materialboxed,.carousel .carousel-item:not(.active) .materialboxed{pointer-events:none}.tap-target-wrapper{width:800px;height:800px;position:fixed;z-index:1000;visibility:hidden;-webkit-transition:visibility 0s .3s;transition:visibility 0s .3s}.tap-target-wrapper.open{visibility:visible;-webkit-transition:visibility 0s;transition:visibility 0s}.tap-target-wrapper.open .tap-target{-webkit-transform:scale(1);transform:scale(1);opacity:.95;-webkit-transition:opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1),-webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);transition:opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1),-webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);transition:transform 0.3s cubic-bezier(0.42, 0, 0.58, 1),opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1);transition:transform 0.3s cubic-bezier(0.42, 0, 0.58, 1),opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1),-webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1)}.tap-target-wrapper.open .tap-target-wave::before{-webkit-transform:scale(1);transform:scale(1)}.tap-target-wrapper.open .tap-target-wave::after{visibility:visible;-webkit-animation:pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;animation:pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;-webkit-transition:opacity .3s,
visibility 0s 1s,
-webkit-transform .3s;transition:opacity .3s,
visibility 0s 1s,
-webkit-transform .3s;transition:opacity .3s,
transform .3s,
visibility 0s 1s;transition:opacity .3s,
transform .3s,
visibility 0s 1s,
-webkit-transform .3s}.tap-target{position:absolute;font-size:1rem;border-radius:50%;background-color:#ee6e73;-webkit-box-shadow:0 20px 20px 0 rgba(0,0,0,0.14),0 10px 50px 0 rgba(0,0,0,0.12),0 30px 10px -20px rgba(0,0,0,0.2);box-shadow:0 20px 20px 0 rgba(0,0,0,0.14),0 10px 50px 0 rgba(0,0,0,0.12),0 30px 10px -20px rgba(0,0,0,0.2);width:100%;height:100%;opacity:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transition:opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1),-webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);transition:opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1),-webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1);transition:transform 0.3s cubic-bezier(0.42, 0, 0.58, 1),opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1);transition:transform 0.3s cubic-bezier(0.42, 0, 0.58, 1),opacity 0.3s cubic-bezier(0.42, 0, 0.58, 1),-webkit-transform 0.3s cubic-bezier(0.42, 0, 0.58, 1)}.tap-target-content{position:relative;display:table-cell}.tap-target-wave{position:absolute;border-radius:50%;z-index:10001}.tap-target-wave::before,.tap-target-wave::after{content:'';display:block;position:absolute;width:100%;height:100%;border-radius:50%;background-color:#ffffff}.tap-target-wave::before{-webkit-transform:scale(0);transform:scale(0);-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s, -webkit-transform .3s}.tap-target-wave::after{visibility:hidden;-webkit-transition:opacity .3s,
visibility 0s,
-webkit-transform .3s;transition:opacity .3s,
visibility 0s,
-webkit-transform .3s;transition:opacity .3s,
transform .3s,
visibility 0s;transition:opacity .3s,
transform .3s,
visibility 0s,
-webkit-transform .3s;z-index:-1}.tap-target-origin{top:50%;left:50%;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);z-index:10002;position:absolute !important}.tap-target-origin:not(.btn):not(.btn-large):not(.btn-small),.tap-target-origin:not(.btn):not(.btn-large):not(.btn-small):hover{background:none}@media only screen and (max-width: 600px){.tap-target,.tap-target-wrapper{width:600px;height:600px}}.pulse{overflow:visible;position:relative}.pulse::before{content:'';display:block;position:absolute;width:100%;height:100%;top:0;left:0;background-color:inherit;border-radius:inherit;-webkit-transition:opacity .3s, -webkit-transform .3s;transition:opacity .3s, -webkit-transform .3s;transition:opacity .3s, transform .3s;transition:opacity .3s, transform .3s, -webkit-transform .3s;-webkit-animation:pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;animation:pulse-animation 1s cubic-bezier(0.24, 0, 0.38, 1) infinite;z-index:-1}@-webkit-keyframes pulse-animation{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:0;-webkit-transform:scale(1.5);transform:scale(1.5)}100%{opacity:0;-webkit-transform:scale(1.5);transform:scale(1.5)}}@keyframes pulse-animation{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:0;-webkit-transform:scale(1.5);transform:scale(1.5)}100%{opacity:0;-webkit-transform:scale(1.5);transform:scale(1.5)}}.datepicker-modal{max-width:325px;min-width:300px;max-height:none}.datepicker-container.modal-content{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding:0}.datepicker-controls{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;width:280px;margin:0 auto}.datepicker-controls .selects-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.datepicker-controls .select-wrapper input{border-bottom:none;text-align:center;margin:0}.datepicker-controls .select-wrapper input:focus{border-bottom:none}.datepicker-controls .select-wrapper .caret{display:none}.datepicker-controls .select-year input{width:50px}.datepicker-controls .select-month input{width:70px}.month-prev,.month-next{margin-top:4px;cursor:pointer;background-color:transparent;border:none}.datepicker-date-display{-webkit-box-flex:1;-webkit-flex:1 auto;-ms-flex:1 auto;flex:1 auto;background-color:#26a69a;color:#fff;padding:20px 22px;font-weight:500}.datepicker-date-display .year-text{display:block;font-size:1.5rem;line-height:25px;color:rgba(255,255,255,0.7)}.datepicker-date-display .date-text{display:block;font-size:2.8rem;line-height:47px;font-weight:500}.datepicker-calendar-container{-webkit-box-flex:2.5;-webkit-flex:2.5 auto;-ms-flex:2.5 auto;flex:2.5 auto}.datepicker-table{width:280px;font-size:1rem;margin:0 auto}.datepicker-table thead{border-bottom:none}.datepicker-table th{padding:10px 5px;text-align:center}.datepicker-table tr{border:none}.datepicker-table abbr{text-decoration:none;color:#999}.datepicker-table td{border-radius:50%;padding:0}.datepicker-table td.is-today{color:#26a69a}.datepicker-table td.is-selected{background-color:#26a69a;color:#fff}.datepicker-table td.is-outside-current-month,.datepicker-table td.is-disabled{color:rgba(0,0,0,0.3);pointer-events:none}.datepicker-day-button{background-color:transparent;border:none;line-height:38px;display:block;width:100%;border-radius:50%;padding:0 5px;cursor:pointer;color:inherit}.datepicker-day-button:focus{background-color:rgba(43,161,150,0.25)}.datepicker-footer{width:280px;margin:0 auto;padding-bottom:5px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.datepicker-cancel,.datepicker-clear,.datepicker-today,.datepicker-done{color:#26a69a;padding:0 1rem}.datepicker-clear{color:#F44336}@media only screen and (min-width: 601px){.datepicker-modal{max-width:625px}.datepicker-container.modal-content{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.datepicker-date-display{-webkit-box-flex:0;-webkit-flex:0 1 270px;-ms-flex:0 1 270px;flex:0 1 270px}.datepicker-controls,.datepicker-table,.datepicker-footer{width:320px}.datepicker-day-button{line-height:44px}}.timepicker-modal{max-width:325px;max-height:none}.timepicker-container.modal-content{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;padding:0}.text-primary{color:#fff}.timepicker-digital-display{-webkit-box-flex:1;-webkit-flex:1 auto;-ms-flex:1 auto;flex:1 auto;background-color:#26a69a;padding:10px;font-weight:300}.timepicker-text-container{font-size:4rem;font-weight:bold;text-align:center;color:rgba(255,255,255,0.6);font-weight:400;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.timepicker-span-hours,.timepicker-span-minutes,.timepicker-span-am-pm div{cursor:pointer}.timepicker-span-hours{margin-right:3px}.timepicker-span-minutes{margin-left:3px}.timepicker-display-am-pm{font-size:1.3rem;position:absolute;right:1rem;bottom:1rem;font-weight:400}.timepicker-analog-display{-webkit-box-flex:2.5;-webkit-flex:2.5 auto;-ms-flex:2.5 auto;flex:2.5 auto}.timepicker-plate{background-color:#eee;border-radius:50%;width:270px;height:270px;overflow:visible;position:relative;margin:auto;margin-top:25px;margin-bottom:5px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.timepicker-canvas,.timepicker-dial{position:absolute;left:0;right:0;top:0;bottom:0}.timepicker-minutes{visibility:hidden}.timepicker-tick{border-radius:50%;color:rgba(0,0,0,0.87);line-height:40px;text-align:center;width:40px;height:40px;position:absolute;cursor:pointer;font-size:15px}.timepicker-tick.active,.timepicker-tick:hover{background-color:rgba(38,166,154,0.25)}.timepicker-dial{-webkit-transition:opacity 350ms, -webkit-transform 350ms;transition:opacity 350ms, -webkit-transform 350ms;transition:transform 350ms, opacity 350ms;transition:transform 350ms, opacity 350ms, -webkit-transform 350ms}.timepicker-dial-out{opacity:0}.timepicker-dial-out.timepicker-hours{-webkit-transform:scale(1.1, 1.1);transform:scale(1.1, 1.1)}.timepicker-dial-out.timepicker-minutes{-webkit-transform:scale(0.8, 0.8);transform:scale(0.8, 0.8)}.timepicker-canvas{-webkit-transition:opacity 175ms;transition:opacity 175ms}.timepicker-canvas line{stroke:#26a69a;stroke-width:4;stroke-linecap:round}.timepicker-canvas-out{opacity:0.25}.timepicker-canvas-bearing{stroke:none;fill:#26a69a}.timepicker-canvas-bg{stroke:none;fill:#26a69a}.timepicker-footer{margin:0 auto;padding:5px 1rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.timepicker-clear{color:#F44336}.timepicker-close{color:#26a69a}.timepicker-clear,.timepicker-close{padding:0 20px}@media only screen and (min-width: 601px){.timepicker-modal{max-width:600px}.timepicker-container.modal-content{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.timepicker-text-container{top:32%}.timepicker-display-am-pm{position:relative;right:auto;bottom:auto;text-align:center;margin-top:1.2rem}}
diff --git a/themes/cmd/source/materialize/js/materialize.js b/themes/cmd/source/materialize/js/materialize.js
deleted file mode 100644
index 1e18382..0000000
--- a/themes/cmd/source/materialize/js/materialize.js
+++ /dev/null
@@ -1,12374 +0,0 @@
-/*!
- * Materialize v1.0.0 (http://materializecss.com)
- * Copyright 2014-2017 Materialize
- * MIT License (https://raw.githubusercontent.com/Dogfalo/materialize/master/LICENSE)
- */
-var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };
-
-var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
-
-function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
-
-function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
-
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
-/*! cash-dom 1.3.5, https://github.com/kenwheeler/cash @license MIT */
-(function (factory) {
- window.cash = factory();
-})(function () {
- var doc = document,
- win = window,
- ArrayProto = Array.prototype,
- slice = ArrayProto.slice,
- filter = ArrayProto.filter,
- push = ArrayProto.push;
-
- var noop = function () {},
- isFunction = function (item) {
- // @see https://crbug.com/568448
- return typeof item === typeof noop && item.call;
- },
- isString = function (item) {
- return typeof item === typeof "";
- };
-
- var idMatch = /^#[\w-]*$/,
- classMatch = /^\.[\w-]*$/,
- htmlMatch = /<.+>/,
- singlet = /^\w+$/;
-
- function find(selector, context) {
- context = context || doc;
- var elems = classMatch.test(selector) ? context.getElementsByClassName(selector.slice(1)) : singlet.test(selector) ? context.getElementsByTagName(selector) : context.querySelectorAll(selector);
- return elems;
- }
-
- var frag;
- function parseHTML(str) {
- if (!frag) {
- frag = doc.implementation.createHTMLDocument(null);
- var base = frag.createElement("base");
- base.href = doc.location.href;
- frag.head.appendChild(base);
- }
-
- frag.body.innerHTML = str;
-
- return frag.body.childNodes;
- }
-
- function onReady(fn) {
- if (doc.readyState !== "loading") {
- fn();
- } else {
- doc.addEventListener("DOMContentLoaded", fn);
- }
- }
-
- function Init(selector, context) {
- if (!selector) {
- return this;
- }
-
- // If already a cash collection, don't do any further processing
- if (selector.cash && selector !== win) {
- return selector;
- }
-
- var elems = selector,
- i = 0,
- length;
-
- if (isString(selector)) {
- elems = idMatch.test(selector) ?
- // If an ID use the faster getElementById check
- doc.getElementById(selector.slice(1)) : htmlMatch.test(selector) ?
- // If HTML, parse it into real elements
- parseHTML(selector) :
- // else use `find`
- find(selector, context);
-
- // If function, use as shortcut for DOM ready
- } else if (isFunction(selector)) {
- onReady(selector);return this;
- }
-
- if (!elems) {
- return this;
- }
-
- // If a single DOM element is passed in or received via ID, return the single element
- if (elems.nodeType || elems === win) {
- this[0] = elems;
- this.length = 1;
- } else {
- // Treat like an array and loop through each item.
- length = this.length = elems.length;
- for (; i < length; i++) {
- this[i] = elems[i];
- }
- }
-
- return this;
- }
-
- function cash(selector, context) {
- return new Init(selector, context);
- }
-
- var fn = cash.fn = cash.prototype = Init.prototype = { // jshint ignore:line
- cash: true,
- length: 0,
- push: push,
- splice: ArrayProto.splice,
- map: ArrayProto.map,
- init: Init
- };
-
- Object.defineProperty(fn, "constructor", { value: cash });
-
- cash.parseHTML = parseHTML;
- cash.noop = noop;
- cash.isFunction = isFunction;
- cash.isString = isString;
-
- cash.extend = fn.extend = function (target) {
- target = target || {};
-
- var args = slice.call(arguments),
- length = args.length,
- i = 1;
-
- if (args.length === 1) {
- target = this;
- i = 0;
- }
-
- for (; i < length; i++) {
- if (!args[i]) {
- continue;
- }
- for (var key in args[i]) {
- if (args[i].hasOwnProperty(key)) {
- target[key] = args[i][key];
- }
- }
- }
-
- return target;
- };
-
- function each(collection, callback) {
- var l = collection.length,
- i = 0;
-
- for (; i < l; i++) {
- if (callback.call(collection[i], collection[i], i, collection) === false) {
- break;
- }
- }
- }
-
- function matches(el, selector) {
- var m = el && (el.matches || el.webkitMatchesSelector || el.mozMatchesSelector || el.msMatchesSelector || el.oMatchesSelector);
- return !!m && m.call(el, selector);
- }
-
- function getCompareFunction(selector) {
- return (
- /* Use browser's `matches` function if string */
- isString(selector) ? matches :
- /* Match a cash element */
- selector.cash ? function (el) {
- return selector.is(el);
- } :
- /* Direct comparison */
- function (el, selector) {
- return el === selector;
- }
- );
- }
-
- function unique(collection) {
- return cash(slice.call(collection).filter(function (item, index, self) {
- return self.indexOf(item) === index;
- }));
- }
-
- cash.extend({
- merge: function (first, second) {
- var len = +second.length,
- i = first.length,
- j = 0;
-
- for (; j < len; i++, j++) {
- first[i] = second[j];
- }
-
- first.length = i;
- return first;
- },
-
- each: each,
- matches: matches,
- unique: unique,
- isArray: Array.isArray,
- isNumeric: function (n) {
- return !isNaN(parseFloat(n)) && isFinite(n);
- }
-
- });
-
- var uid = cash.uid = "_cash" + Date.now();
-
- function getDataCache(node) {
- return node[uid] = node[uid] || {};
- }
-
- function setData(node, key, value) {
- return getDataCache(node)[key] = value;
- }
-
- function getData(node, key) {
- var c = getDataCache(node);
- if (c[key] === undefined) {
- c[key] = node.dataset ? node.dataset[key] : cash(node).attr("data-" + key);
- }
- return c[key];
- }
-
- function removeData(node, key) {
- var c = getDataCache(node);
- if (c) {
- delete c[key];
- } else if (node.dataset) {
- delete node.dataset[key];
- } else {
- cash(node).removeAttr("data-" + name);
- }
- }
-
- fn.extend({
- data: function (name, value) {
- if (isString(name)) {
- return value === undefined ? getData(this[0], name) : this.each(function (v) {
- return setData(v, name, value);
- });
- }
-
- for (var key in name) {
- this.data(key, name[key]);
- }
-
- return this;
- },
-
- removeData: function (key) {
- return this.each(function (v) {
- return removeData(v, key);
- });
- }
-
- });
-
- var notWhiteMatch = /\S+/g;
-
- function getClasses(c) {
- return isString(c) && c.match(notWhiteMatch);
- }
-
- function hasClass(v, c) {
- return v.classList ? v.classList.contains(c) : new RegExp("(^| )" + c + "( |$)", "gi").test(v.className);
- }
-
- function addClass(v, c, spacedName) {
- if (v.classList) {
- v.classList.add(c);
- } else if (spacedName.indexOf(" " + c + " ")) {
- v.className += " " + c;
- }
- }
-
- function removeClass(v, c) {
- if (v.classList) {
- v.classList.remove(c);
- } else {
- v.className = v.className.replace(c, "");
- }
- }
-
- fn.extend({
- addClass: function (c) {
- var classes = getClasses(c);
-
- return classes ? this.each(function (v) {
- var spacedName = " " + v.className + " ";
- each(classes, function (c) {
- addClass(v, c, spacedName);
- });
- }) : this;
- },
-
- attr: function (name, value) {
- if (!name) {
- return undefined;
- }
-
- if (isString(name)) {
- if (value === undefined) {
- return this[0] ? this[0].getAttribute ? this[0].getAttribute(name) : this[0][name] : undefined;
- }
-
- return this.each(function (v) {
- if (v.setAttribute) {
- v.setAttribute(name, value);
- } else {
- v[name] = value;
- }
- });
- }
-
- for (var key in name) {
- this.attr(key, name[key]);
- }
-
- return this;
- },
-
- hasClass: function (c) {
- var check = false,
- classes = getClasses(c);
- if (classes && classes.length) {
- this.each(function (v) {
- check = hasClass(v, classes[0]);
- return !check;
- });
- }
- return check;
- },
-
- prop: function (name, value) {
- if (isString(name)) {
- return value === undefined ? this[0][name] : this.each(function (v) {
- v[name] = value;
- });
- }
-
- for (var key in name) {
- this.prop(key, name[key]);
- }
-
- return this;
- },
-
- removeAttr: function (name) {
- return this.each(function (v) {
- if (v.removeAttribute) {
- v.removeAttribute(name);
- } else {
- delete v[name];
- }
- });
- },
-
- removeClass: function (c) {
- if (!arguments.length) {
- return this.attr("class", "");
- }
- var classes = getClasses(c);
- return classes ? this.each(function (v) {
- each(classes, function (c) {
- removeClass(v, c);
- });
- }) : this;
- },
-
- removeProp: function (name) {
- return this.each(function (v) {
- delete v[name];
- });
- },
-
- toggleClass: function (c, state) {
- if (state !== undefined) {
- return this[state ? "addClass" : "removeClass"](c);
- }
- var classes = getClasses(c);
- return classes ? this.each(function (v) {
- var spacedName = " " + v.className + " ";
- each(classes, function (c) {
- if (hasClass(v, c)) {
- removeClass(v, c);
- } else {
- addClass(v, c, spacedName);
- }
- });
- }) : this;
- } });
-
- fn.extend({
- add: function (selector, context) {
- return unique(cash.merge(this, cash(selector, context)));
- },
-
- each: function (callback) {
- each(this, callback);
- return this;
- },
-
- eq: function (index) {
- return cash(this.get(index));
- },
-
- filter: function (selector) {
- if (!selector) {
- return this;
- }
-
- var comparator = isFunction(selector) ? selector : getCompareFunction(selector);
-
- return cash(filter.call(this, function (e) {
- return comparator(e, selector);
- }));
- },
-
- first: function () {
- return this.eq(0);
- },
-
- get: function (index) {
- if (index === undefined) {
- return slice.call(this);
- }
- return index < 0 ? this[index + this.length] : this[index];
- },
-
- index: function (elem) {
- var child = elem ? cash(elem)[0] : this[0],
- collection = elem ? this : cash(child).parent().children();
- return slice.call(collection).indexOf(child);
- },
-
- last: function () {
- return this.eq(-1);
- }
-
- });
-
- var camelCase = function () {
- var camelRegex = /(?:^\w|[A-Z]|\b\w)/g,
- whiteSpace = /[\s-_]+/g;
- return function (str) {
- return str.replace(camelRegex, function (letter, index) {
- return letter[index === 0 ? "toLowerCase" : "toUpperCase"]();
- }).replace(whiteSpace, "");
- };
- }();
-
- var getPrefixedProp = function () {
- var cache = {},
- doc = document,
- div = doc.createElement("div"),
- style = div.style;
-
- return function (prop) {
- prop = camelCase(prop);
- if (cache[prop]) {
- return cache[prop];
- }
-
- var ucProp = prop.charAt(0).toUpperCase() + prop.slice(1),
- prefixes = ["webkit", "moz", "ms", "o"],
- props = (prop + " " + prefixes.join(ucProp + " ") + ucProp).split(" ");
-
- each(props, function (p) {
- if (p in style) {
- cache[p] = prop = cache[prop] = p;
- return false;
- }
- });
-
- return cache[prop];
- };
- }();
-
- cash.prefixedProp = getPrefixedProp;
- cash.camelCase = camelCase;
-
- fn.extend({
- css: function (prop, value) {
- if (isString(prop)) {
- prop = getPrefixedProp(prop);
- return arguments.length > 1 ? this.each(function (v) {
- return v.style[prop] = value;
- }) : win.getComputedStyle(this[0])[prop];
- }
-
- for (var key in prop) {
- this.css(key, prop[key]);
- }
-
- return this;
- }
-
- });
-
- function compute(el, prop) {
- return parseInt(win.getComputedStyle(el[0], null)[prop], 10) || 0;
- }
-
- each(["Width", "Height"], function (v) {
- var lower = v.toLowerCase();
-
- fn[lower] = function () {
- return this[0].getBoundingClientRect()[lower];
- };
-
- fn["inner" + v] = function () {
- return this[0]["client" + v];
- };
-
- fn["outer" + v] = function (margins) {
- return this[0]["offset" + v] + (margins ? compute(this, "margin" + (v === "Width" ? "Left" : "Top")) + compute(this, "margin" + (v === "Width" ? "Right" : "Bottom")) : 0);
- };
- });
-
- function registerEvent(node, eventName, callback) {
- var eventCache = getData(node, "_cashEvents") || setData(node, "_cashEvents", {});
- eventCache[eventName] = eventCache[eventName] || [];
- eventCache[eventName].push(callback);
- node.addEventListener(eventName, callback);
- }
-
- function removeEvent(node, eventName, callback) {
- var events = getData(node, "_cashEvents"),
- eventCache = events && events[eventName],
- index;
-
- if (!eventCache) {
- return;
- }
-
- if (callback) {
- node.removeEventListener(eventName, callback);
- index = eventCache.indexOf(callback);
- if (index >= 0) {
- eventCache.splice(index, 1);
- }
- } else {
- each(eventCache, function (event) {
- node.removeEventListener(eventName, event);
- });
- eventCache = [];
- }
- }
-
- fn.extend({
- off: function (eventName, callback) {
- return this.each(function (v) {
- return removeEvent(v, eventName, callback);
- });
- },
-
- on: function (eventName, delegate, callback, runOnce) {
- // jshint ignore:line
- var originalCallback;
- if (!isString(eventName)) {
- for (var key in eventName) {
- this.on(key, delegate, eventName[key]);
- }
- return this;
- }
-
- if (isFunction(delegate)) {
- callback = delegate;
- delegate = null;
- }
-
- if (eventName === "ready") {
- onReady(callback);
- return this;
- }
-
- if (delegate) {
- originalCallback = callback;
- callback = function (e) {
- var t = e.target;
- while (!matches(t, delegate)) {
- if (t === this || t === null) {
- return t = false;
- }
-
- t = t.parentNode;
- }
-
- if (t) {
- originalCallback.call(t, e);
- }
- };
- }
-
- return this.each(function (v) {
- var finalCallback = callback;
- if (runOnce) {
- finalCallback = function () {
- callback.apply(this, arguments);
- removeEvent(v, eventName, finalCallback);
- };
- }
- registerEvent(v, eventName, finalCallback);
- });
- },
-
- one: function (eventName, delegate, callback) {
- return this.on(eventName, delegate, callback, true);
- },
-
- ready: onReady,
-
- /**
- * Modified
- * Triggers browser event
- * @param String eventName
- * @param Object data - Add properties to event object
- */
- trigger: function (eventName, data) {
- if (document.createEvent) {
- var evt = document.createEvent('HTMLEvents');
- evt.initEvent(eventName, true, false);
- evt = this.extend(evt, data);
- return this.each(function (v) {
- return v.dispatchEvent(evt);
- });
- }
- }
-
- });
-
- function encode(name, value) {
- return "&" + encodeURIComponent(name) + "=" + encodeURIComponent(value).replace(/%20/g, "+");
- }
-
- function getSelectMultiple_(el) {
- var values = [];
- each(el.options, function (o) {
- if (o.selected) {
- values.push(o.value);
- }
- });
- return values.length ? values : null;
- }
-
- function getSelectSingle_(el) {
- var selectedIndex = el.selectedIndex;
- return selectedIndex >= 0 ? el.options[selectedIndex].value : null;
- }
-
- function getValue(el) {
- var type = el.type;
- if (!type) {
- return null;
- }
- switch (type.toLowerCase()) {
- case "select-one":
- return getSelectSingle_(el);
- case "select-multiple":
- return getSelectMultiple_(el);
- case "radio":
- return el.checked ? el.value : null;
- case "checkbox":
- return el.checked ? el.value : null;
- default:
- return el.value ? el.value : null;
- }
- }
-
- fn.extend({
- serialize: function () {
- var query = "";
-
- each(this[0].elements || this, function (el) {
- if (el.disabled || el.tagName === "FIELDSET") {
- return;
- }
- var name = el.name;
- switch (el.type.toLowerCase()) {
- case "file":
- case "reset":
- case "submit":
- case "button":
- break;
- case "select-multiple":
- var values = getValue(el);
- if (values !== null) {
- each(values, function (value) {
- query += encode(name, value);
- });
- }
- break;
- default:
- var value = getValue(el);
- if (value !== null) {
- query += encode(name, value);
- }
- }
- });
-
- return query.substr(1);
- },
-
- val: function (value) {
- if (value === undefined) {
- return getValue(this[0]);
- }
-
- return this.each(function (v) {
- return v.value = value;
- });
- }
-
- });
-
- function insertElement(el, child, prepend) {
- if (prepend) {
- var first = el.childNodes[0];
- el.insertBefore(child, first);
- } else {
- el.appendChild(child);
- }
- }
-
- function insertContent(parent, child, prepend) {
- var str = isString(child);
-
- if (!str && child.length) {
- each(child, function (v) {
- return insertContent(parent, v, prepend);
- });
- return;
- }
-
- each(parent, str ? function (v) {
- return v.insertAdjacentHTML(prepend ? "afterbegin" : "beforeend", child);
- } : function (v, i) {
- return insertElement(v, i === 0 ? child : child.cloneNode(true), prepend);
- });
- }
-
- fn.extend({
- after: function (selector) {
- cash(selector).insertAfter(this);
- return this;
- },
-
- append: function (content) {
- insertContent(this, content);
- return this;
- },
-
- appendTo: function (parent) {
- insertContent(cash(parent), this);
- return this;
- },
-
- before: function (selector) {
- cash(selector).insertBefore(this);
- return this;
- },
-
- clone: function () {
- return cash(this.map(function (v) {
- return v.cloneNode(true);
- }));
- },
-
- empty: function () {
- this.html("");
- return this;
- },
-
- html: function (content) {
- if (content === undefined) {
- return this[0].innerHTML;
- }
- var source = content.nodeType ? content[0].outerHTML : content;
- return this.each(function (v) {
- return v.innerHTML = source;
- });
- },
-
- insertAfter: function (selector) {
- var _this = this;
-
- cash(selector).each(function (el, i) {
- var parent = el.parentNode,
- sibling = el.nextSibling;
- _this.each(function (v) {
- parent.insertBefore(i === 0 ? v : v.cloneNode(true), sibling);
- });
- });
-
- return this;
- },
-
- insertBefore: function (selector) {
- var _this2 = this;
- cash(selector).each(function (el, i) {
- var parent = el.parentNode;
- _this2.each(function (v) {
- parent.insertBefore(i === 0 ? v : v.cloneNode(true), el);
- });
- });
- return this;
- },
-
- prepend: function (content) {
- insertContent(this, content, true);
- return this;
- },
-
- prependTo: function (parent) {
- insertContent(cash(parent), this, true);
- return this;
- },
-
- remove: function () {
- return this.each(function (v) {
- if (!!v.parentNode) {
- return v.parentNode.removeChild(v);
- }
- });
- },
-
- text: function (content) {
- if (content === undefined) {
- return this[0].textContent;
- }
- return this.each(function (v) {
- return v.textContent = content;
- });
- }
-
- });
-
- var docEl = doc.documentElement;
-
- fn.extend({
- position: function () {
- var el = this[0];
- return {
- left: el.offsetLeft,
- top: el.offsetTop
- };
- },
-
- offset: function () {
- var rect = this[0].getBoundingClientRect();
- return {
- top: rect.top + win.pageYOffset - docEl.clientTop,
- left: rect.left + win.pageXOffset - docEl.clientLeft
- };
- },
-
- offsetParent: function () {
- return cash(this[0].offsetParent);
- }
-
- });
-
- fn.extend({
- children: function (selector) {
- var elems = [];
- this.each(function (el) {
- push.apply(elems, el.children);
- });
- elems = unique(elems);
-
- return !selector ? elems : elems.filter(function (v) {
- return matches(v, selector);
- });
- },
-
- closest: function (selector) {
- if (!selector || this.length < 1) {
- return cash();
- }
- if (this.is(selector)) {
- return this.filter(selector);
- }
- return this.parent().closest(selector);
- },
-
- is: function (selector) {
- if (!selector) {
- return false;
- }
-
- var match = false,
- comparator = getCompareFunction(selector);
-
- this.each(function (el) {
- match = comparator(el, selector);
- return !match;
- });
-
- return match;
- },
-
- find: function (selector) {
- if (!selector || selector.nodeType) {
- return cash(selector && this.has(selector).length ? selector : null);
- }
-
- var elems = [];
- this.each(function (el) {
- push.apply(elems, find(selector, el));
- });
-
- return unique(elems);
- },
-
- has: function (selector) {
- var comparator = isString(selector) ? function (el) {
- return find(selector, el).length !== 0;
- } : function (el) {
- return el.contains(selector);
- };
-
- return this.filter(comparator);
- },
-
- next: function () {
- return cash(this[0].nextElementSibling);
- },
-
- not: function (selector) {
- if (!selector) {
- return this;
- }
-
- var comparator = getCompareFunction(selector);
-
- return this.filter(function (el) {
- return !comparator(el, selector);
- });
- },
-
- parent: function () {
- var result = [];
-
- this.each(function (item) {
- if (item && item.parentNode) {
- result.push(item.parentNode);
- }
- });
-
- return unique(result);
- },
-
- parents: function (selector) {
- var last,
- result = [];
-
- this.each(function (item) {
- last = item;
-
- while (last && last.parentNode && last !== doc.body.parentNode) {
- last = last.parentNode;
-
- if (!selector || selector && matches(last, selector)) {
- result.push(last);
- }
- }
- });
-
- return unique(result);
- },
-
- prev: function () {
- return cash(this[0].previousElementSibling);
- },
-
- siblings: function (selector) {
- var collection = this.parent().children(selector),
- el = this[0];
-
- return collection.filter(function (i) {
- return i !== el;
- });
- }
-
- });
-
- return cash;
-});
-;
-var Component = function () {
- /**
- * Generic constructor for all components
- * @constructor
- * @param {Element} el
- * @param {Object} options
- */
- function Component(classDef, el, options) {
- _classCallCheck(this, Component);
-
- // Display error if el is valid HTML Element
- if (!(el instanceof Element)) {
- console.error(Error(el + ' is not an HTML Element'));
- }
-
- // If exists, destroy and reinitialize in child
- var ins = classDef.getInstance(el);
- if (!!ins) {
- ins.destroy();
- }
-
- this.el = el;
- this.$el = cash(el);
- }
-
- /**
- * Initializes components
- * @param {class} classDef
- * @param {Element | NodeList | jQuery} els
- * @param {Object} options
- */
-
-
- _createClass(Component, null, [{
- key: "init",
- value: function init(classDef, els, options) {
- var instances = null;
- if (els instanceof Element) {
- instances = new classDef(els, options);
- } else if (!!els && (els.jquery || els.cash || els instanceof NodeList)) {
- var instancesArr = [];
- for (var i = 0; i < els.length; i++) {
- instancesArr.push(new classDef(els[i], options));
- }
- instances = instancesArr;
- }
-
- return instances;
- }
- }]);
-
- return Component;
-}();
-
-; // Required for Meteor package, the use of window prevents export by Meteor
-(function (window) {
- if (window.Package) {
- M = {};
- } else {
- window.M = {};
- }
-
- // Check for jQuery
- M.jQueryLoaded = !!window.jQuery;
-})(window);
-
-// AMD
-if (typeof define === 'function' && define.amd) {
- define('M', [], function () {
- return M;
- });
-
- // Common JS
-} else if (typeof exports !== 'undefined' && !exports.nodeType) {
- if (typeof module !== 'undefined' && !module.nodeType && module.exports) {
- exports = module.exports = M;
- }
- exports.default = M;
-}
-
-M.version = '1.0.0';
-
-M.keys = {
- TAB: 9,
- ENTER: 13,
- ESC: 27,
- ARROW_UP: 38,
- ARROW_DOWN: 40
-};
-
-/**
- * TabPress Keydown handler
- */
-M.tabPressed = false;
-M.keyDown = false;
-var docHandleKeydown = function (e) {
- M.keyDown = true;
- if (e.which === M.keys.TAB || e.which === M.keys.ARROW_DOWN || e.which === M.keys.ARROW_UP) {
- M.tabPressed = true;
- }
-};
-var docHandleKeyup = function (e) {
- M.keyDown = false;
- if (e.which === M.keys.TAB || e.which === M.keys.ARROW_DOWN || e.which === M.keys.ARROW_UP) {
- M.tabPressed = false;
- }
-};
-var docHandleFocus = function (e) {
- if (M.keyDown) {
- document.body.classList.add('keyboard-focused');
- }
-};
-var docHandleBlur = function (e) {
- document.body.classList.remove('keyboard-focused');
-};
-document.addEventListener('keydown', docHandleKeydown, true);
-document.addEventListener('keyup', docHandleKeyup, true);
-document.addEventListener('focus', docHandleFocus, true);
-document.addEventListener('blur', docHandleBlur, true);
-
-/**
- * Initialize jQuery wrapper for plugin
- * @param {Class} plugin javascript class
- * @param {string} pluginName jQuery plugin name
- * @param {string} classRef Class reference name
- */
-M.initializeJqueryWrapper = function (plugin, pluginName, classRef) {
- jQuery.fn[pluginName] = function (methodOrOptions) {
- // Call plugin method if valid method name is passed in
- if (plugin.prototype[methodOrOptions]) {
- var params = Array.prototype.slice.call(arguments, 1);
-
- // Getter methods
- if (methodOrOptions.slice(0, 3) === 'get') {
- var instance = this.first()[0][classRef];
- return instance[methodOrOptions].apply(instance, params);
- }
-
- // Void methods
- return this.each(function () {
- var instance = this[classRef];
- instance[methodOrOptions].apply(instance, params);
- });
-
- // Initialize plugin if options or no argument is passed in
- } else if (typeof methodOrOptions === 'object' || !methodOrOptions) {
- plugin.init(this, arguments[0]);
- return this;
- }
-
- // Return error if an unrecognized method name is passed in
- jQuery.error("Method " + methodOrOptions + " does not exist on jQuery." + pluginName);
- };
-};
-
-/**
- * Automatically initialize components
- * @param {Element} context DOM Element to search within for components
- */
-M.AutoInit = function (context) {
- // Use document.body if no context is given
- var root = !!context ? context : document.body;
-
- var registry = {
- Autocomplete: root.querySelectorAll('.autocomplete:not(.no-autoinit)'),
- Carousel: root.querySelectorAll('.carousel:not(.no-autoinit)'),
- Chips: root.querySelectorAll('.chips:not(.no-autoinit)'),
- Collapsible: root.querySelectorAll('.collapsible:not(.no-autoinit)'),
- Datepicker: root.querySelectorAll('.datepicker:not(.no-autoinit)'),
- Dropdown: root.querySelectorAll('.dropdown-trigger:not(.no-autoinit)'),
- Materialbox: root.querySelectorAll('.materialboxed:not(.no-autoinit)'),
- Modal: root.querySelectorAll('.modal:not(.no-autoinit)'),
- Parallax: root.querySelectorAll('.parallax:not(.no-autoinit)'),
- Pushpin: root.querySelectorAll('.pushpin:not(.no-autoinit)'),
- ScrollSpy: root.querySelectorAll('.scrollspy:not(.no-autoinit)'),
- FormSelect: root.querySelectorAll('select:not(.no-autoinit)'),
- Sidenav: root.querySelectorAll('.sidenav:not(.no-autoinit)'),
- Tabs: root.querySelectorAll('.tabs:not(.no-autoinit)'),
- TapTarget: root.querySelectorAll('.tap-target:not(.no-autoinit)'),
- Timepicker: root.querySelectorAll('.timepicker:not(.no-autoinit)'),
- Tooltip: root.querySelectorAll('.tooltipped:not(.no-autoinit)'),
- FloatingActionButton: root.querySelectorAll('.fixed-action-btn:not(.no-autoinit)')
- };
-
- for (var pluginName in registry) {
- var plugin = M[pluginName];
- plugin.init(registry[pluginName]);
- }
-};
-
-/**
- * Generate approximated selector string for a jQuery object
- * @param {jQuery} obj jQuery object to be parsed
- * @returns {string}
- */
-M.objectSelectorString = function (obj) {
- var tagStr = obj.prop('tagName') || '';
- var idStr = obj.attr('id') || '';
- var classStr = obj.attr('class') || '';
- return (tagStr + idStr + classStr).replace(/\s/g, '');
-};
-
-// Unique Random ID
-M.guid = function () {
- function s4() {
- return Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1);
- }
- return function () {
- return s4() + s4() + '-' + s4() + '-' + s4() + '-' + s4() + '-' + s4() + s4() + s4();
- };
-}();
-
-/**
- * Escapes hash from special characters
- * @param {string} hash String returned from this.hash
- * @returns {string}
- */
-M.escapeHash = function (hash) {
- return hash.replace(/(:|\.|\[|\]|,|=|\/)/g, '\\$1');
-};
-
-M.elementOrParentIsFixed = function (element) {
- var $element = $(element);
- var $checkElements = $element.add($element.parents());
- var isFixed = false;
- $checkElements.each(function () {
- if ($(this).css('position') === 'fixed') {
- isFixed = true;
- return false;
- }
- });
- return isFixed;
-};
-
-/**
- * @typedef {Object} Edges
- * @property {Boolean} top If the top edge was exceeded
- * @property {Boolean} right If the right edge was exceeded
- * @property {Boolean} bottom If the bottom edge was exceeded
- * @property {Boolean} left If the left edge was exceeded
- */
-
-/**
- * @typedef {Object} Bounding
- * @property {Number} left left offset coordinate
- * @property {Number} top top offset coordinate
- * @property {Number} width
- * @property {Number} height
- */
-
-/**
- * Escapes hash from special characters
- * @param {Element} container Container element that acts as the boundary
- * @param {Bounding} bounding element bounding that is being checked
- * @param {Number} offset offset from edge that counts as exceeding
- * @returns {Edges}
- */
-M.checkWithinContainer = function (container, bounding, offset) {
- var edges = {
- top: false,
- right: false,
- bottom: false,
- left: false
- };
-
- var containerRect = container.getBoundingClientRect();
- // If body element is smaller than viewport, use viewport height instead.
- var containerBottom = container === document.body ? Math.max(containerRect.bottom, window.innerHeight) : containerRect.bottom;
-
- var scrollLeft = container.scrollLeft;
- var scrollTop = container.scrollTop;
-
- var scrolledX = bounding.left - scrollLeft;
- var scrolledY = bounding.top - scrollTop;
-
- // Check for container and viewport for each edge
- if (scrolledX < containerRect.left + offset || scrolledX < offset) {
- edges.left = true;
- }
-
- if (scrolledX + bounding.width > containerRect.right - offset || scrolledX + bounding.width > window.innerWidth - offset) {
- edges.right = true;
- }
-
- if (scrolledY < containerRect.top + offset || scrolledY < offset) {
- edges.top = true;
- }
-
- if (scrolledY + bounding.height > containerBottom - offset || scrolledY + bounding.height > window.innerHeight - offset) {
- edges.bottom = true;
- }
-
- return edges;
-};
-
-M.checkPossibleAlignments = function (el, container, bounding, offset) {
- var canAlign = {
- top: true,
- right: true,
- bottom: true,
- left: true,
- spaceOnTop: null,
- spaceOnRight: null,
- spaceOnBottom: null,
- spaceOnLeft: null
- };
-
- var containerAllowsOverflow = getComputedStyle(container).overflow === 'visible';
- var containerRect = container.getBoundingClientRect();
- var containerHeight = Math.min(containerRect.height, window.innerHeight);
- var containerWidth = Math.min(containerRect.width, window.innerWidth);
- var elOffsetRect = el.getBoundingClientRect();
-
- var scrollLeft = container.scrollLeft;
- var scrollTop = container.scrollTop;
-
- var scrolledX = bounding.left - scrollLeft;
- var scrolledYTopEdge = bounding.top - scrollTop;
- var scrolledYBottomEdge = bounding.top + elOffsetRect.height - scrollTop;
-
- // Check for container and viewport for left
- canAlign.spaceOnRight = !containerAllowsOverflow ? containerWidth - (scrolledX + bounding.width) : window.innerWidth - (elOffsetRect.left + bounding.width);
- if (canAlign.spaceOnRight < 0) {
- canAlign.left = false;
- }
-
- // Check for container and viewport for Right
- canAlign.spaceOnLeft = !containerAllowsOverflow ? scrolledX - bounding.width + elOffsetRect.width : elOffsetRect.right - bounding.width;
- if (canAlign.spaceOnLeft < 0) {
- canAlign.right = false;
- }
-
- // Check for container and viewport for Top
- canAlign.spaceOnBottom = !containerAllowsOverflow ? containerHeight - (scrolledYTopEdge + bounding.height + offset) : window.innerHeight - (elOffsetRect.top + bounding.height + offset);
- if (canAlign.spaceOnBottom < 0) {
- canAlign.top = false;
- }
-
- // Check for container and viewport for Bottom
- canAlign.spaceOnTop = !containerAllowsOverflow ? scrolledYBottomEdge - (bounding.height - offset) : elOffsetRect.bottom - (bounding.height + offset);
- if (canAlign.spaceOnTop < 0) {
- canAlign.bottom = false;
- }
-
- return canAlign;
-};
-
-M.getOverflowParent = function (element) {
- if (element == null) {
- return null;
- }
-
- if (element === document.body || getComputedStyle(element).overflow !== 'visible') {
- return element;
- }
-
- return M.getOverflowParent(element.parentElement);
-};
-
-/**
- * Gets id of component from a trigger
- * @param {Element} trigger trigger
- * @returns {string}
- */
-M.getIdFromTrigger = function (trigger) {
- var id = trigger.getAttribute('data-target');
- if (!id) {
- id = trigger.getAttribute('href');
- if (id) {
- id = id.slice(1);
- } else {
- id = '';
- }
- }
- return id;
-};
-
-/**
- * Multi browser support for document scroll top
- * @returns {Number}
- */
-M.getDocumentScrollTop = function () {
- return window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;
-};
-
-/**
- * Multi browser support for document scroll left
- * @returns {Number}
- */
-M.getDocumentScrollLeft = function () {
- return window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0;
-};
-
-/**
- * @typedef {Object} Edges
- * @property {Boolean} top If the top edge was exceeded
- * @property {Boolean} right If the right edge was exceeded
- * @property {Boolean} bottom If the bottom edge was exceeded
- * @property {Boolean} left If the left edge was exceeded
- */
-
-/**
- * @typedef {Object} Bounding
- * @property {Number} left left offset coordinate
- * @property {Number} top top offset coordinate
- * @property {Number} width
- * @property {Number} height
- */
-
-/**
- * Get time in ms
- * @license https://raw.github.com/jashkenas/underscore/master/LICENSE
- * @type {function}
- * @return {number}
- */
-var getTime = Date.now || function () {
- return new Date().getTime();
-};
-
-/**
- * Returns a function, that, when invoked, will only be triggered at most once
- * during a given window of time. Normally, the throttled function will run
- * as much as it can, without ever going more than once per `wait` duration;
- * but if you'd like to disable the execution on the leading edge, pass
- * `{leading: false}`. To disable execution on the trailing edge, ditto.
- * @license https://raw.github.com/jashkenas/underscore/master/LICENSE
- * @param {function} func
- * @param {number} wait
- * @param {Object=} options
- * @returns {Function}
- */
-M.throttle = function (func, wait, options) {
- var context = void 0,
- args = void 0,
- result = void 0;
- var timeout = null;
- var previous = 0;
- options || (options = {});
- var later = function () {
- previous = options.leading === false ? 0 : getTime();
- timeout = null;
- result = func.apply(context, args);
- context = args = null;
- };
- return function () {
- var now = getTime();
- if (!previous && options.leading === false) previous = now;
- var remaining = wait - (now - previous);
- context = this;
- args = arguments;
- if (remaining <= 0) {
- clearTimeout(timeout);
- timeout = null;
- previous = now;
- result = func.apply(context, args);
- context = args = null;
- } else if (!timeout && options.trailing !== false) {
- timeout = setTimeout(later, remaining);
- }
- return result;
- };
-};
-; /*
- v2.2.0
- 2017 Julian Garnier
- Released under the MIT license
- */
-var $jscomp = { scope: {} };$jscomp.defineProperty = "function" == typeof Object.defineProperties ? Object.defineProperty : function (e, r, p) {
- if (p.get || p.set) throw new TypeError("ES3 does not support getters and setters.");e != Array.prototype && e != Object.prototype && (e[r] = p.value);
-};$jscomp.getGlobal = function (e) {
- return "undefined" != typeof window && window === e ? e : "undefined" != typeof global && null != global ? global : e;
-};$jscomp.global = $jscomp.getGlobal(this);$jscomp.SYMBOL_PREFIX = "jscomp_symbol_";
-$jscomp.initSymbol = function () {
- $jscomp.initSymbol = function () {};$jscomp.global.Symbol || ($jscomp.global.Symbol = $jscomp.Symbol);
-};$jscomp.symbolCounter_ = 0;$jscomp.Symbol = function (e) {
- return $jscomp.SYMBOL_PREFIX + (e || "") + $jscomp.symbolCounter_++;
-};
-$jscomp.initSymbolIterator = function () {
- $jscomp.initSymbol();var e = $jscomp.global.Symbol.iterator;e || (e = $jscomp.global.Symbol.iterator = $jscomp.global.Symbol("iterator"));"function" != typeof Array.prototype[e] && $jscomp.defineProperty(Array.prototype, e, { configurable: !0, writable: !0, value: function () {
- return $jscomp.arrayIterator(this);
- } });$jscomp.initSymbolIterator = function () {};
-};$jscomp.arrayIterator = function (e) {
- var r = 0;return $jscomp.iteratorPrototype(function () {
- return r < e.length ? { done: !1, value: e[r++] } : { done: !0 };
- });
-};
-$jscomp.iteratorPrototype = function (e) {
- $jscomp.initSymbolIterator();e = { next: e };e[$jscomp.global.Symbol.iterator] = function () {
- return this;
- };return e;
-};$jscomp.array = $jscomp.array || {};$jscomp.iteratorFromArray = function (e, r) {
- $jscomp.initSymbolIterator();e instanceof String && (e += "");var p = 0,
- m = { next: function () {
- if (p < e.length) {
- var u = p++;return { value: r(u, e[u]), done: !1 };
- }m.next = function () {
- return { done: !0, value: void 0 };
- };return m.next();
- } };m[Symbol.iterator] = function () {
- return m;
- };return m;
-};
-$jscomp.polyfill = function (e, r, p, m) {
- if (r) {
- p = $jscomp.global;e = e.split(".");for (m = 0; m < e.length - 1; m++) {
- var u = e[m];u in p || (p[u] = {});p = p[u];
- }e = e[e.length - 1];m = p[e];r = r(m);r != m && null != r && $jscomp.defineProperty(p, e, { configurable: !0, writable: !0, value: r });
- }
-};$jscomp.polyfill("Array.prototype.keys", function (e) {
- return e ? e : function () {
- return $jscomp.iteratorFromArray(this, function (e) {
- return e;
- });
- };
-}, "es6-impl", "es3");var $jscomp$this = this;
-(function (r) {
- M.anime = r();
-})(function () {
- function e(a) {
- if (!h.col(a)) try {
- return document.querySelectorAll(a);
- } catch (c) {}
- }function r(a, c) {
- for (var d = a.length, b = 2 <= arguments.length ? arguments[1] : void 0, f = [], n = 0; n < d; n++) {
- if (n in a) {
- var k = a[n];c.call(b, k, n, a) && f.push(k);
- }
- }return f;
- }function p(a) {
- return a.reduce(function (a, d) {
- return a.concat(h.arr(d) ? p(d) : d);
- }, []);
- }function m(a) {
- if (h.arr(a)) return a;
- h.str(a) && (a = e(a) || a);return a instanceof NodeList || a instanceof HTMLCollection ? [].slice.call(a) : [a];
- }function u(a, c) {
- return a.some(function (a) {
- return a === c;
- });
- }function C(a) {
- var c = {},
- d;for (d in a) {
- c[d] = a[d];
- }return c;
- }function D(a, c) {
- var d = C(a),
- b;for (b in a) {
- d[b] = c.hasOwnProperty(b) ? c[b] : a[b];
- }return d;
- }function z(a, c) {
- var d = C(a),
- b;for (b in c) {
- d[b] = h.und(a[b]) ? c[b] : a[b];
- }return d;
- }function T(a) {
- a = a.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i, function (a, c, d, k) {
- return c + c + d + d + k + k;
- });var c = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(a);
- a = parseInt(c[1], 16);var d = parseInt(c[2], 16),
- c = parseInt(c[3], 16);return "rgba(" + a + "," + d + "," + c + ",1)";
- }function U(a) {
- function c(a, c, b) {
- 0 > b && (b += 1);1 < b && --b;return b < 1 / 6 ? a + 6 * (c - a) * b : .5 > b ? c : b < 2 / 3 ? a + (c - a) * (2 / 3 - b) * 6 : a;
- }var d = /hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(a) || /hsla\((\d+),\s*([\d.]+)%,\s*([\d.]+)%,\s*([\d.]+)\)/g.exec(a);a = parseInt(d[1]) / 360;var b = parseInt(d[2]) / 100,
- f = parseInt(d[3]) / 100,
- d = d[4] || 1;if (0 == b) f = b = a = f;else {
- var n = .5 > f ? f * (1 + b) : f + b - f * b,
- k = 2 * f - n,
- f = c(k, n, a + 1 / 3),
- b = c(k, n, a);a = c(k, n, a - 1 / 3);
- }return "rgba(" + 255 * f + "," + 255 * b + "," + 255 * a + "," + d + ")";
- }function y(a) {
- if (a = /([\+\-]?[0-9#\.]+)(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(a)) return a[2];
- }function V(a) {
- if (-1 < a.indexOf("translate") || "perspective" === a) return "px";if (-1 < a.indexOf("rotate") || -1 < a.indexOf("skew")) return "deg";
- }function I(a, c) {
- return h.fnc(a) ? a(c.target, c.id, c.total) : a;
- }function E(a, c) {
- if (c in a.style) return getComputedStyle(a).getPropertyValue(c.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase()) || "0";
- }function J(a, c) {
- if (h.dom(a) && u(W, c)) return "transform";if (h.dom(a) && (a.getAttribute(c) || h.svg(a) && a[c])) return "attribute";if (h.dom(a) && "transform" !== c && E(a, c)) return "css";if (null != a[c]) return "object";
- }function X(a, c) {
- var d = V(c),
- d = -1 < c.indexOf("scale") ? 1 : 0 + d;a = a.style.transform;if (!a) return d;for (var b = [], f = [], n = [], k = /(\w+)\((.+?)\)/g; b = k.exec(a);) {
- f.push(b[1]), n.push(b[2]);
- }a = r(n, function (a, b) {
- return f[b] === c;
- });return a.length ? a[0] : d;
- }function K(a, c) {
- switch (J(a, c)) {case "transform":
- return X(a, c);case "css":
- return E(a, c);case "attribute":
- return a.getAttribute(c);}return a[c] || 0;
- }function L(a, c) {
- var d = /^(\*=|\+=|-=)/.exec(a);if (!d) return a;var b = y(a) || 0;c = parseFloat(c);a = parseFloat(a.replace(d[0], ""));switch (d[0][0]) {case "+":
- return c + a + b;case "-":
- return c - a + b;case "*":
- return c * a + b;}
- }function F(a, c) {
- return Math.sqrt(Math.pow(c.x - a.x, 2) + Math.pow(c.y - a.y, 2));
- }function M(a) {
- a = a.points;for (var c = 0, d, b = 0; b < a.numberOfItems; b++) {
- var f = a.getItem(b);0 < b && (c += F(d, f));d = f;
- }return c;
- }function N(a) {
- if (a.getTotalLength) return a.getTotalLength();switch (a.tagName.toLowerCase()) {case "circle":
- return 2 * Math.PI * a.getAttribute("r");case "rect":
- return 2 * a.getAttribute("width") + 2 * a.getAttribute("height");case "line":
- return F({ x: a.getAttribute("x1"), y: a.getAttribute("y1") }, { x: a.getAttribute("x2"), y: a.getAttribute("y2") });case "polyline":
- return M(a);case "polygon":
- var c = a.points;return M(a) + F(c.getItem(c.numberOfItems - 1), c.getItem(0));}
- }function Y(a, c) {
- function d(b) {
- b = void 0 === b ? 0 : b;return a.el.getPointAtLength(1 <= c + b ? c + b : 0);
- }var b = d(),
- f = d(-1),
- n = d(1);switch (a.property) {case "x":
- return b.x;case "y":
- return b.y;
- case "angle":
- return 180 * Math.atan2(n.y - f.y, n.x - f.x) / Math.PI;}
- }function O(a, c) {
- var d = /-?\d*\.?\d+/g,
- b;b = h.pth(a) ? a.totalLength : a;if (h.col(b)) {
- if (h.rgb(b)) {
- var f = /rgb\((\d+,\s*[\d]+,\s*[\d]+)\)/g.exec(b);b = f ? "rgba(" + f[1] + ",1)" : b;
- } else b = h.hex(b) ? T(b) : h.hsl(b) ? U(b) : void 0;
- } else f = (f = y(b)) ? b.substr(0, b.length - f.length) : b, b = c && !/\s/g.test(b) ? f + c : f;b += "";return { original: b, numbers: b.match(d) ? b.match(d).map(Number) : [0], strings: h.str(a) || c ? b.split(d) : [] };
- }function P(a) {
- a = a ? p(h.arr(a) ? a.map(m) : m(a)) : [];return r(a, function (a, d, b) {
- return b.indexOf(a) === d;
- });
- }function Z(a) {
- var c = P(a);return c.map(function (a, b) {
- return { target: a, id: b, total: c.length };
- });
- }function aa(a, c) {
- var d = C(c);if (h.arr(a)) {
- var b = a.length;2 !== b || h.obj(a[0]) ? h.fnc(c.duration) || (d.duration = c.duration / b) : a = { value: a };
- }return m(a).map(function (a, b) {
- b = b ? 0 : c.delay;a = h.obj(a) && !h.pth(a) ? a : { value: a };h.und(a.delay) && (a.delay = b);return a;
- }).map(function (a) {
- return z(a, d);
- });
- }function ba(a, c) {
- var d = {},
- b;for (b in a) {
- var f = I(a[b], c);h.arr(f) && (f = f.map(function (a) {
- return I(a, c);
- }), 1 === f.length && (f = f[0]));d[b] = f;
- }d.duration = parseFloat(d.duration);d.delay = parseFloat(d.delay);return d;
- }function ca(a) {
- return h.arr(a) ? A.apply(this, a) : Q[a];
- }function da(a, c) {
- var d;return a.tweens.map(function (b) {
- b = ba(b, c);var f = b.value,
- e = K(c.target, a.name),
- k = d ? d.to.original : e,
- k = h.arr(f) ? f[0] : k,
- w = L(h.arr(f) ? f[1] : f, k),
- e = y(w) || y(k) || y(e);b.from = O(k, e);b.to = O(w, e);b.start = d ? d.end : a.offset;b.end = b.start + b.delay + b.duration;b.easing = ca(b.easing);b.elasticity = (1E3 - Math.min(Math.max(b.elasticity, 1), 999)) / 1E3;b.isPath = h.pth(f);b.isColor = h.col(b.from.original);b.isColor && (b.round = 1);return d = b;
- });
- }function ea(a, c) {
- return r(p(a.map(function (a) {
- return c.map(function (b) {
- var c = J(a.target, b.name);if (c) {
- var d = da(b, a);b = { type: c, property: b.name, animatable: a, tweens: d, duration: d[d.length - 1].end, delay: d[0].delay };
- } else b = void 0;return b;
- });
- })), function (a) {
- return !h.und(a);
- });
- }function R(a, c, d, b) {
- var f = "delay" === a;return c.length ? (f ? Math.min : Math.max).apply(Math, c.map(function (b) {
- return b[a];
- })) : f ? b.delay : d.offset + b.delay + b.duration;
- }function fa(a) {
- var c = D(ga, a),
- d = D(S, a),
- b = Z(a.targets),
- f = [],
- e = z(c, d),
- k;for (k in a) {
- e.hasOwnProperty(k) || "targets" === k || f.push({ name: k, offset: e.offset, tweens: aa(a[k], d) });
- }a = ea(b, f);return z(c, { children: [], animatables: b, animations: a, duration: R("duration", a, c, d), delay: R("delay", a, c, d) });
- }function q(a) {
- function c() {
- return window.Promise && new Promise(function (a) {
- return p = a;
- });
- }function d(a) {
- return g.reversed ? g.duration - a : a;
- }function b(a) {
- for (var b = 0, c = {}, d = g.animations, f = d.length; b < f;) {
- var e = d[b],
- k = e.animatable,
- h = e.tweens,
- n = h.length - 1,
- l = h[n];n && (l = r(h, function (b) {
- return a < b.end;
- })[0] || l);for (var h = Math.min(Math.max(a - l.start - l.delay, 0), l.duration) / l.duration, w = isNaN(h) ? 1 : l.easing(h, l.elasticity), h = l.to.strings, p = l.round, n = [], m = void 0, m = l.to.numbers.length, t = 0; t < m; t++) {
- var x = void 0,
- x = l.to.numbers[t],
- q = l.from.numbers[t],
- x = l.isPath ? Y(l.value, w * x) : q + w * (x - q);p && (l.isColor && 2 < t || (x = Math.round(x * p) / p));n.push(x);
- }if (l = h.length) for (m = h[0], w = 0; w < l; w++) {
- p = h[w + 1], t = n[w], isNaN(t) || (m = p ? m + (t + p) : m + (t + " "));
- } else m = n[0];ha[e.type](k.target, e.property, m, c, k.id);e.currentValue = m;b++;
- }if (b = Object.keys(c).length) for (d = 0; d < b; d++) {
- H || (H = E(document.body, "transform") ? "transform" : "-webkit-transform"), g.animatables[d].target.style[H] = c[d].join(" ");
- }g.currentTime = a;g.progress = a / g.duration * 100;
- }function f(a) {
- if (g[a]) g[a](g);
- }function e() {
- g.remaining && !0 !== g.remaining && g.remaining--;
- }function k(a) {
- var k = g.duration,
- n = g.offset,
- w = n + g.delay,
- r = g.currentTime,
- x = g.reversed,
- q = d(a);if (g.children.length) {
- var u = g.children,
- v = u.length;
- if (q >= g.currentTime) for (var G = 0; G < v; G++) {
- u[G].seek(q);
- } else for (; v--;) {
- u[v].seek(q);
- }
- }if (q >= w || !k) g.began || (g.began = !0, f("begin")), f("run");if (q > n && q < k) b(q);else if (q <= n && 0 !== r && (b(0), x && e()), q >= k && r !== k || !k) b(k), x || e();f("update");a >= k && (g.remaining ? (t = h, "alternate" === g.direction && (g.reversed = !g.reversed)) : (g.pause(), g.completed || (g.completed = !0, f("complete"), "Promise" in window && (p(), m = c()))), l = 0);
- }a = void 0 === a ? {} : a;var h,
- t,
- l = 0,
- p = null,
- m = c(),
- g = fa(a);g.reset = function () {
- var a = g.direction,
- c = g.loop;g.currentTime = 0;g.progress = 0;g.paused = !0;g.began = !1;g.completed = !1;g.reversed = "reverse" === a;g.remaining = "alternate" === a && 1 === c ? 2 : c;b(0);for (a = g.children.length; a--;) {
- g.children[a].reset();
- }
- };g.tick = function (a) {
- h = a;t || (t = h);k((l + h - t) * q.speed);
- };g.seek = function (a) {
- k(d(a));
- };g.pause = function () {
- var a = v.indexOf(g);-1 < a && v.splice(a, 1);g.paused = !0;
- };g.play = function () {
- g.paused && (g.paused = !1, t = 0, l = d(g.currentTime), v.push(g), B || ia());
- };g.reverse = function () {
- g.reversed = !g.reversed;t = 0;l = d(g.currentTime);
- };g.restart = function () {
- g.pause();
- g.reset();g.play();
- };g.finished = m;g.reset();g.autoplay && g.play();return g;
- }var ga = { update: void 0, begin: void 0, run: void 0, complete: void 0, loop: 1, direction: "normal", autoplay: !0, offset: 0 },
- S = { duration: 1E3, delay: 0, easing: "easeOutElastic", elasticity: 500, round: 0 },
- W = "translateX translateY translateZ rotate rotateX rotateY rotateZ scale scaleX scaleY scaleZ skewX skewY perspective".split(" "),
- H,
- h = { arr: function (a) {
- return Array.isArray(a);
- }, obj: function (a) {
- return -1 < Object.prototype.toString.call(a).indexOf("Object");
- },
- pth: function (a) {
- return h.obj(a) && a.hasOwnProperty("totalLength");
- }, svg: function (a) {
- return a instanceof SVGElement;
- }, dom: function (a) {
- return a.nodeType || h.svg(a);
- }, str: function (a) {
- return "string" === typeof a;
- }, fnc: function (a) {
- return "function" === typeof a;
- }, und: function (a) {
- return "undefined" === typeof a;
- }, hex: function (a) {
- return (/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(a)
- );
- }, rgb: function (a) {
- return (/^rgb/.test(a)
- );
- }, hsl: function (a) {
- return (/^hsl/.test(a)
- );
- }, col: function (a) {
- return h.hex(a) || h.rgb(a) || h.hsl(a);
- } },
- A = function () {
- function a(a, d, b) {
- return (((1 - 3 * b + 3 * d) * a + (3 * b - 6 * d)) * a + 3 * d) * a;
- }return function (c, d, b, f) {
- if (0 <= c && 1 >= c && 0 <= b && 1 >= b) {
- var e = new Float32Array(11);if (c !== d || b !== f) for (var k = 0; 11 > k; ++k) {
- e[k] = a(.1 * k, c, b);
- }return function (k) {
- if (c === d && b === f) return k;if (0 === k) return 0;if (1 === k) return 1;for (var h = 0, l = 1; 10 !== l && e[l] <= k; ++l) {
- h += .1;
- }--l;var l = h + (k - e[l]) / (e[l + 1] - e[l]) * .1,
- n = 3 * (1 - 3 * b + 3 * c) * l * l + 2 * (3 * b - 6 * c) * l + 3 * c;if (.001 <= n) {
- for (h = 0; 4 > h; ++h) {
- n = 3 * (1 - 3 * b + 3 * c) * l * l + 2 * (3 * b - 6 * c) * l + 3 * c;if (0 === n) break;var m = a(l, c, b) - k,
- l = l - m / n;
- }k = l;
- } else if (0 === n) k = l;else {
- var l = h,
- h = h + .1,
- g = 0;do {
- m = l + (h - l) / 2, n = a(m, c, b) - k, 0 < n ? h = m : l = m;
- } while (1e-7 < Math.abs(n) && 10 > ++g);k = m;
- }return a(k, d, f);
- };
- }
- };
- }(),
- Q = function () {
- function a(a, b) {
- return 0 === a || 1 === a ? a : -Math.pow(2, 10 * (a - 1)) * Math.sin(2 * (a - 1 - b / (2 * Math.PI) * Math.asin(1)) * Math.PI / b);
- }var c = "Quad Cubic Quart Quint Sine Expo Circ Back Elastic".split(" "),
- d = { In: [[.55, .085, .68, .53], [.55, .055, .675, .19], [.895, .03, .685, .22], [.755, .05, .855, .06], [.47, 0, .745, .715], [.95, .05, .795, .035], [.6, .04, .98, .335], [.6, -.28, .735, .045], a], Out: [[.25, .46, .45, .94], [.215, .61, .355, 1], [.165, .84, .44, 1], [.23, 1, .32, 1], [.39, .575, .565, 1], [.19, 1, .22, 1], [.075, .82, .165, 1], [.175, .885, .32, 1.275], function (b, c) {
- return 1 - a(1 - b, c);
- }], InOut: [[.455, .03, .515, .955], [.645, .045, .355, 1], [.77, 0, .175, 1], [.86, 0, .07, 1], [.445, .05, .55, .95], [1, 0, 0, 1], [.785, .135, .15, .86], [.68, -.55, .265, 1.55], function (b, c) {
- return .5 > b ? a(2 * b, c) / 2 : 1 - a(-2 * b + 2, c) / 2;
- }] },
- b = { linear: A(.25, .25, .75, .75) },
- f = {},
- e;for (e in d) {
- f.type = e, d[f.type].forEach(function (a) {
- return function (d, f) {
- b["ease" + a.type + c[f]] = h.fnc(d) ? d : A.apply($jscomp$this, d);
- };
- }(f)), f = { type: f.type };
- }return b;
- }(),
- ha = { css: function (a, c, d) {
- return a.style[c] = d;
- }, attribute: function (a, c, d) {
- return a.setAttribute(c, d);
- }, object: function (a, c, d) {
- return a[c] = d;
- }, transform: function (a, c, d, b, f) {
- b[f] || (b[f] = []);b[f].push(c + "(" + d + ")");
- } },
- v = [],
- B = 0,
- ia = function () {
- function a() {
- B = requestAnimationFrame(c);
- }function c(c) {
- var b = v.length;if (b) {
- for (var d = 0; d < b;) {
- v[d] && v[d].tick(c), d++;
- }a();
- } else cancelAnimationFrame(B), B = 0;
- }return a;
- }();q.version = "2.2.0";q.speed = 1;q.running = v;q.remove = function (a) {
- a = P(a);for (var c = v.length; c--;) {
- for (var d = v[c], b = d.animations, f = b.length; f--;) {
- u(a, b[f].animatable.target) && (b.splice(f, 1), b.length || d.pause());
- }
- }
- };q.getValue = K;q.path = function (a, c) {
- var d = h.str(a) ? e(a)[0] : a,
- b = c || 100;return function (a) {
- return { el: d, property: a, totalLength: N(d) * (b / 100) };
- };
- };q.setDashoffset = function (a) {
- var c = N(a);a.setAttribute("stroke-dasharray", c);return c;
- };q.bezier = A;q.easings = Q;q.timeline = function (a) {
- var c = q(a);c.pause();c.duration = 0;c.add = function (d) {
- c.children.forEach(function (a) {
- a.began = !0;a.completed = !0;
- });m(d).forEach(function (b) {
- var d = z(b, D(S, a || {}));d.targets = d.targets || a.targets;b = c.duration;var e = d.offset;d.autoplay = !1;d.direction = c.direction;d.offset = h.und(e) ? b : L(e, b);c.began = !0;c.completed = !0;c.seek(d.offset);d = q(d);d.began = !0;d.completed = !0;d.duration > b && (c.duration = d.duration);c.children.push(d);
- });c.seek(0);c.reset();c.autoplay && c.restart();return c;
- };return c;
- };q.random = function (a, c) {
- return Math.floor(Math.random() * (c - a + 1)) + a;
- };return q;
-});
-;(function ($, anim) {
- 'use strict';
-
- var _defaults = {
- accordion: true,
- onOpenStart: undefined,
- onOpenEnd: undefined,
- onCloseStart: undefined,
- onCloseEnd: undefined,
- inDuration: 300,
- outDuration: 300
- };
-
- /**
- * @class
- *
- */
-
- var Collapsible = function (_Component) {
- _inherits(Collapsible, _Component);
-
- /**
- * Construct Collapsible instance
- * @constructor
- * @param {Element} el
- * @param {Object} options
- */
- function Collapsible(el, options) {
- _classCallCheck(this, Collapsible);
-
- var _this3 = _possibleConstructorReturn(this, (Collapsible.__proto__ || Object.getPrototypeOf(Collapsible)).call(this, Collapsible, el, options));
-
- _this3.el.M_Collapsible = _this3;
-
- /**
- * Options for the collapsible
- * @member Collapsible#options
- * @prop {Boolean} [accordion=false] - Type of the collapsible
- * @prop {Function} onOpenStart - Callback function called before collapsible is opened
- * @prop {Function} onOpenEnd - Callback function called after collapsible is opened
- * @prop {Function} onCloseStart - Callback function called before collapsible is closed
- * @prop {Function} onCloseEnd - Callback function called after collapsible is closed
- * @prop {Number} inDuration - Transition in duration in milliseconds.
- * @prop {Number} outDuration - Transition duration in milliseconds.
- */
- _this3.options = $.extend({}, Collapsible.defaults, options);
-
- // Setup tab indices
- _this3.$headers = _this3.$el.children('li').children('.collapsible-header');
- _this3.$headers.attr('tabindex', 0);
-
- _this3._setupEventHandlers();
-
- // Open first active
- var $activeBodies = _this3.$el.children('li.active').children('.collapsible-body');
- if (_this3.options.accordion) {
- // Handle Accordion
- $activeBodies.first().css('display', 'block');
- } else {
- // Handle Expandables
- $activeBodies.css('display', 'block');
- }
- return _this3;
- }
-
- _createClass(Collapsible, [{
- key: "destroy",
-
-
- /**
- * Teardown component
- */
- value: function destroy() {
- this._removeEventHandlers();
- this.el.M_Collapsible = undefined;
- }
-
- /**
- * Setup Event Handlers
- */
-
- }, {
- key: "_setupEventHandlers",
- value: function _setupEventHandlers() {
- var _this4 = this;
-
- this._handleCollapsibleClickBound = this._handleCollapsibleClick.bind(this);
- this._handleCollapsibleKeydownBound = this._handleCollapsibleKeydown.bind(this);
- this.el.addEventListener('click', this._handleCollapsibleClickBound);
- this.$headers.each(function (header) {
- header.addEventListener('keydown', _this4._handleCollapsibleKeydownBound);
- });
- }
-
- /**
- * Remove Event Handlers
- */
-
- }, {
- key: "_removeEventHandlers",
- value: function _removeEventHandlers() {
- var _this5 = this;
-
- this.el.removeEventListener('click', this._handleCollapsibleClickBound);
- this.$headers.each(function (header) {
- header.removeEventListener('keydown', _this5._handleCollapsibleKeydownBound);
- });
- }
-
- /**
- * Handle Collapsible Click
- * @param {Event} e
- */
-
- }, {
- key: "_handleCollapsibleClick",
- value: function _handleCollapsibleClick(e) {
- var $header = $(e.target).closest('.collapsible-header');
- if (e.target && $header.length) {
- var $collapsible = $header.closest('.collapsible');
- if ($collapsible[0] === this.el) {
- var $collapsibleLi = $header.closest('li');
- var $collapsibleLis = $collapsible.children('li');
- var isActive = $collapsibleLi[0].classList.contains('active');
- var index = $collapsibleLis.index($collapsibleLi);
-
- if (isActive) {
- this.close(index);
- } else {
- this.open(index);
- }
- }
- }
- }
-
- /**
- * Handle Collapsible Keydown
- * @param {Event} e
- */
-
- }, {
- key: "_handleCollapsibleKeydown",
- value: function _handleCollapsibleKeydown(e) {
- if (e.keyCode === 13) {
- this._handleCollapsibleClickBound(e);
- }
- }
-
- /**
- * Animate in collapsible slide
- * @param {Number} index - 0th index of slide
- */
-
- }, {
- key: "_animateIn",
- value: function _animateIn(index) {
- var _this6 = this;
-
- var $collapsibleLi = this.$el.children('li').eq(index);
- if ($collapsibleLi.length) {
- var $body = $collapsibleLi.children('.collapsible-body');
-
- anim.remove($body[0]);
- $body.css({
- display: 'block',
- overflow: 'hidden',
- height: 0,
- paddingTop: '',
- paddingBottom: ''
- });
-
- var pTop = $body.css('padding-top');
- var pBottom = $body.css('padding-bottom');
- var finalHeight = $body[0].scrollHeight;
- $body.css({
- paddingTop: 0,
- paddingBottom: 0
- });
-
- anim({
- targets: $body[0],
- height: finalHeight,
- paddingTop: pTop,
- paddingBottom: pBottom,
- duration: this.options.inDuration,
- easing: 'easeInOutCubic',
- complete: function (anim) {
- $body.css({
- overflow: '',
- paddingTop: '',
- paddingBottom: '',
- height: ''
- });
-
- // onOpenEnd callback
- if (typeof _this6.options.onOpenEnd === 'function') {
- _this6.options.onOpenEnd.call(_this6, $collapsibleLi[0]);
- }
- }
- });
- }
- }
-
- /**
- * Animate out collapsible slide
- * @param {Number} index - 0th index of slide to open
- */
-
- }, {
- key: "_animateOut",
- value: function _animateOut(index) {
- var _this7 = this;
-
- var $collapsibleLi = this.$el.children('li').eq(index);
- if ($collapsibleLi.length) {
- var $body = $collapsibleLi.children('.collapsible-body');
- anim.remove($body[0]);
- $body.css('overflow', 'hidden');
- anim({
- targets: $body[0],
- height: 0,
- paddingTop: 0,
- paddingBottom: 0,
- duration: this.options.outDuration,
- easing: 'easeInOutCubic',
- complete: function () {
- $body.css({
- height: '',
- overflow: '',
- padding: '',
- display: ''
- });
-
- // onCloseEnd callback
- if (typeof _this7.options.onCloseEnd === 'function') {
- _this7.options.onCloseEnd.call(_this7, $collapsibleLi[0]);
- }
- }
- });
- }
- }
-
- /**
- * Open Collapsible
- * @param {Number} index - 0th index of slide
- */
-
- }, {
- key: "open",
- value: function open(index) {
- var _this8 = this;
-
- var $collapsibleLi = this.$el.children('li').eq(index);
- if ($collapsibleLi.length && !$collapsibleLi[0].classList.contains('active')) {
- // onOpenStart callback
- if (typeof this.options.onOpenStart === 'function') {
- this.options.onOpenStart.call(this, $collapsibleLi[0]);
- }
-
- // Handle accordion behavior
- if (this.options.accordion) {
- var $collapsibleLis = this.$el.children('li');
- var $activeLis = this.$el.children('li.active');
- $activeLis.each(function (el) {
- var index = $collapsibleLis.index($(el));
- _this8.close(index);
- });
- }
-
- // Animate in
- $collapsibleLi[0].classList.add('active');
- this._animateIn(index);
- }
- }
-
- /**
- * Close Collapsible
- * @param {Number} index - 0th index of slide
- */
-
- }, {
- key: "close",
- value: function close(index) {
- var $collapsibleLi = this.$el.children('li').eq(index);
- if ($collapsibleLi.length && $collapsibleLi[0].classList.contains('active')) {
- // onCloseStart callback
- if (typeof this.options.onCloseStart === 'function') {
- this.options.onCloseStart.call(this, $collapsibleLi[0]);
- }
-
- // Animate out
- $collapsibleLi[0].classList.remove('active');
- this._animateOut(index);
- }
- }
- }], [{
- key: "init",
- value: function init(els, options) {
- return _get(Collapsible.__proto__ || Object.getPrototypeOf(Collapsible), "init", this).call(this, this, els, options);
- }
-
- /**
- * Get Instance
- */
-
- }, {
- key: "getInstance",
- value: function getInstance(el) {
- var domElem = !!el.jquery ? el[0] : el;
- return domElem.M_Collapsible;
- }
- }, {
- key: "defaults",
- get: function () {
- return _defaults;
- }
- }]);
-
- return Collapsible;
- }(Component);
-
- M.Collapsible = Collapsible;
-
- if (M.jQueryLoaded) {
- M.initializeJqueryWrapper(Collapsible, 'collapsible', 'M_Collapsible');
- }
-})(cash, M.anime);
-;(function ($, anim) {
- 'use strict';
-
- var _defaults = {
- alignment: 'left',
- autoFocus: true,
- constrainWidth: true,
- container: null,
- coverTrigger: true,
- closeOnClick: true,
- hover: false,
- inDuration: 150,
- outDuration: 250,
- onOpenStart: null,
- onOpenEnd: null,
- onCloseStart: null,
- onCloseEnd: null,
- onItemClick: null
- };
-
- /**
- * @class
- */
-
- var Dropdown = function (_Component2) {
- _inherits(Dropdown, _Component2);
-
- function Dropdown(el, options) {
- _classCallCheck(this, Dropdown);
-
- var _this9 = _possibleConstructorReturn(this, (Dropdown.__proto__ || Object.getPrototypeOf(Dropdown)).call(this, Dropdown, el, options));
-
- _this9.el.M_Dropdown = _this9;
- Dropdown._dropdowns.push(_this9);
-
- _this9.id = M.getIdFromTrigger(el);
- _this9.dropdownEl = document.getElementById(_this9.id);
- _this9.$dropdownEl = $(_this9.dropdownEl);
-
- /**
- * Options for the dropdown
- * @member Dropdown#options
- * @prop {String} [alignment='left'] - Edge which the dropdown is aligned to
- * @prop {Boolean} [autoFocus=true] - Automatically focus dropdown el for keyboard
- * @prop {Boolean} [constrainWidth=true] - Constrain width to width of the button
- * @prop {Element} container - Container element to attach dropdown to (optional)
- * @prop {Boolean} [coverTrigger=true] - Place dropdown over trigger
- * @prop {Boolean} [closeOnClick=true] - Close on click of dropdown item
- * @prop {Boolean} [hover=false] - Open dropdown on hover
- * @prop {Number} [inDuration=150] - Duration of open animation in ms
- * @prop {Number} [outDuration=250] - Duration of close animation in ms
- * @prop {Function} onOpenStart - Function called when dropdown starts opening
- * @prop {Function} onOpenEnd - Function called when dropdown finishes opening
- * @prop {Function} onCloseStart - Function called when dropdown starts closing
- * @prop {Function} onCloseEnd - Function called when dropdown finishes closing
- */
- _this9.options = $.extend({}, Dropdown.defaults, options);
-
- /**
- * Describes open/close state of dropdown
- * @type {Boolean}
- */
- _this9.isOpen = false;
-
- /**
- * Describes if dropdown content is scrollable
- * @type {Boolean}
- */
- _this9.isScrollable = false;
-
- /**
- * Describes if touch moving on dropdown content
- * @type {Boolean}
- */
- _this9.isTouchMoving = false;
-
- _this9.focusedIndex = -1;
- _this9.filterQuery = [];
-
- // Move dropdown-content after dropdown-trigger
- if (!!_this9.options.container) {
- $(_this9.options.container).append(_this9.dropdownEl);
- } else {
- _this9.$el.after(_this9.dropdownEl);
- }
-
- _this9._makeDropdownFocusable();
- _this9._resetFilterQueryBound = _this9._resetFilterQuery.bind(_this9);
- _this9._handleDocumentClickBound = _this9._handleDocumentClick.bind(_this9);
- _this9._handleDocumentTouchmoveBound = _this9._handleDocumentTouchmove.bind(_this9);
- _this9._handleDropdownClickBound = _this9._handleDropdownClick.bind(_this9);
- _this9._handleDropdownKeydownBound = _this9._handleDropdownKeydown.bind(_this9);
- _this9._handleTriggerKeydownBound = _this9._handleTriggerKeydown.bind(_this9);
- _this9._setupEventHandlers();
- return _this9;
- }
-
- _createClass(Dropdown, [{
- key: "destroy",
-
-
- /**
- * Teardown component
- */
- value: function destroy() {
- this._resetDropdownStyles();
- this._removeEventHandlers();
- Dropdown._dropdowns.splice(Dropdown._dropdowns.indexOf(this), 1);
- this.el.M_Dropdown = undefined;
- }
-
- /**
- * Setup Event Handlers
- */
-
- }, {
- key: "_setupEventHandlers",
- value: function _setupEventHandlers() {
- // Trigger keydown handler
- this.el.addEventListener('keydown', this._handleTriggerKeydownBound);
-
- // Item click handler
- this.dropdownEl.addEventListener('click', this._handleDropdownClickBound);
-
- // Hover event handlers
- if (this.options.hover) {
- this._handleMouseEnterBound = this._handleMouseEnter.bind(this);
- this.el.addEventListener('mouseenter', this._handleMouseEnterBound);
- this._handleMouseLeaveBound = this._handleMouseLeave.bind(this);
- this.el.addEventListener('mouseleave', this._handleMouseLeaveBound);
- this.dropdownEl.addEventListener('mouseleave', this._handleMouseLeaveBound);
-
- // Click event handlers
- } else {
- this._handleClickBound = this._handleClick.bind(this);
- this.el.addEventListener('click', this._handleClickBound);
- }
- }
-
- /**
- * Remove Event Handlers
- */
-
- }, {
- key: "_removeEventHandlers",
- value: function _removeEventHandlers() {
- this.el.removeEventListener('keydown', this._handleTriggerKeydownBound);
- this.dropdownEl.removeEventListener('click', this._handleDropdownClickBound);
-
- if (this.options.hover) {
- this.el.removeEventListener('mouseenter', this._handleMouseEnterBound);
- this.el.removeEventListener('mouseleave', this._handleMouseLeaveBound);
- this.dropdownEl.removeEventListener('mouseleave', this._handleMouseLeaveBound);
- } else {
- this.el.removeEventListener('click', this._handleClickBound);
- }
- }
- }, {
- key: "_setupTemporaryEventHandlers",
- value: function _setupTemporaryEventHandlers() {
- // Use capture phase event handler to prevent click
- document.body.addEventListener('click', this._handleDocumentClickBound, true);
- document.body.addEventListener('touchend', this._handleDocumentClickBound);
- document.body.addEventListener('touchmove', this._handleDocumentTouchmoveBound);
- this.dropdownEl.addEventListener('keydown', this._handleDropdownKeydownBound);
- }
- }, {
- key: "_removeTemporaryEventHandlers",
- value: function _removeTemporaryEventHandlers() {
- // Use capture phase event handler to prevent click
- document.body.removeEventListener('click', this._handleDocumentClickBound, true);
- document.body.removeEventListener('touchend', this._handleDocumentClickBound);
- document.body.removeEventListener('touchmove', this._handleDocumentTouchmoveBound);
- this.dropdownEl.removeEventListener('keydown', this._handleDropdownKeydownBound);
- }
- }, {
- key: "_handleClick",
- value: function _handleClick(e) {
- e.preventDefault();
- this.open();
- }
- }, {
- key: "_handleMouseEnter",
- value: function _handleMouseEnter() {
- this.open();
- }
- }, {
- key: "_handleMouseLeave",
- value: function _handleMouseLeave(e) {
- var toEl = e.toElement || e.relatedTarget;
- var leaveToDropdownContent = !!$(toEl).closest('.dropdown-content').length;
- var leaveToActiveDropdownTrigger = false;
-
- var $closestTrigger = $(toEl).closest('.dropdown-trigger');
- if ($closestTrigger.length && !!$closestTrigger[0].M_Dropdown && $closestTrigger[0].M_Dropdown.isOpen) {
- leaveToActiveDropdownTrigger = true;
- }
-
- // Close hover dropdown if mouse did not leave to either active dropdown-trigger or dropdown-content
- if (!leaveToActiveDropdownTrigger && !leaveToDropdownContent) {
- this.close();
- }
- }
- }, {
- key: "_handleDocumentClick",
- value: function _handleDocumentClick(e) {
- var _this10 = this;
-
- var $target = $(e.target);
- if (this.options.closeOnClick && $target.closest('.dropdown-content').length && !this.isTouchMoving) {
- // isTouchMoving to check if scrolling on mobile.
- setTimeout(function () {
- _this10.close();
- }, 0);
- } else if ($target.closest('.dropdown-trigger').length || !$target.closest('.dropdown-content').length) {
- setTimeout(function () {
- _this10.close();
- }, 0);
- }
- this.isTouchMoving = false;
- }
- }, {
- key: "_handleTriggerKeydown",
- value: function _handleTriggerKeydown(e) {
- // ARROW DOWN OR ENTER WHEN SELECT IS CLOSED - open Dropdown
- if ((e.which === M.keys.ARROW_DOWN || e.which === M.keys.ENTER) && !this.isOpen) {
- e.preventDefault();
- this.open();
- }
- }
-
- /**
- * Handle Document Touchmove
- * @param {Event} e
- */
-
- }, {
- key: "_handleDocumentTouchmove",
- value: function _handleDocumentTouchmove(e) {
- var $target = $(e.target);
- if ($target.closest('.dropdown-content').length) {
- this.isTouchMoving = true;
- }
- }
-
- /**
- * Handle Dropdown Click
- * @param {Event} e
- */
-
- }, {
- key: "_handleDropdownClick",
- value: function _handleDropdownClick(e) {
- // onItemClick callback
- if (typeof this.options.onItemClick === 'function') {
- var itemEl = $(e.target).closest('li')[0];
- this.options.onItemClick.call(this, itemEl);
- }
- }
-
- /**
- * Handle Dropdown Keydown
- * @param {Event} e
- */
-
- }, {
- key: "_handleDropdownKeydown",
- value: function _handleDropdownKeydown(e) {
- if (e.which === M.keys.TAB) {
- e.preventDefault();
- this.close();
-
- // Navigate down dropdown list
- } else if ((e.which === M.keys.ARROW_DOWN || e.which === M.keys.ARROW_UP) && this.isOpen) {
- e.preventDefault();
- var direction = e.which === M.keys.ARROW_DOWN ? 1 : -1;
- var newFocusedIndex = this.focusedIndex;
- var foundNewIndex = false;
- do {
- newFocusedIndex = newFocusedIndex + direction;
-
- if (!!this.dropdownEl.children[newFocusedIndex] && this.dropdownEl.children[newFocusedIndex].tabIndex !== -1) {
- foundNewIndex = true;
- break;
- }
- } while (newFocusedIndex < this.dropdownEl.children.length && newFocusedIndex >= 0);
-
- if (foundNewIndex) {
- this.focusedIndex = newFocusedIndex;
- this._focusFocusedItem();
- }
-
- // ENTER selects choice on focused item
- } else if (e.which === M.keys.ENTER && this.isOpen) {
- // Search for and
- var focusedElement = this.dropdownEl.children[this.focusedIndex];
- var $activatableElement = $(focusedElement).find('a, button').first();
-
- // Click a or button tag if exists, otherwise click li tag
- if (!!$activatableElement.length) {
- $activatableElement[0].click();
- } else if (!!focusedElement) {
- focusedElement.click();
- }
-
- // Close dropdown on ESC
- } else if (e.which === M.keys.ESC && this.isOpen) {
- e.preventDefault();
- this.close();
- }
-
- // CASE WHEN USER TYPE LETTERS
- var letter = String.fromCharCode(e.which).toLowerCase(),
- nonLetters = [9, 13, 27, 38, 40];
- if (letter && nonLetters.indexOf(e.which) === -1) {
- this.filterQuery.push(letter);
-
- var string = this.filterQuery.join(''),
- newOptionEl = $(this.dropdownEl).find('li').filter(function (el) {
- return $(el).text().toLowerCase().indexOf(string) === 0;
- })[0];
-
- if (newOptionEl) {
- this.focusedIndex = $(newOptionEl).index();
- this._focusFocusedItem();
- }
- }
-
- this.filterTimeout = setTimeout(this._resetFilterQueryBound, 1000);
- }
-
- /**
- * Setup dropdown
- */
-
- }, {
- key: "_resetFilterQuery",
- value: function _resetFilterQuery() {
- this.filterQuery = [];
- }
- }, {
- key: "_resetDropdownStyles",
- value: function _resetDropdownStyles() {
- this.$dropdownEl.css({
- display: '',
- width: '',
- height: '',
- left: '',
- top: '',
- 'transform-origin': '',
- transform: '',
- opacity: ''
- });
- }
- }, {
- key: "_makeDropdownFocusable",
- value: function _makeDropdownFocusable() {
- // Needed for arrow key navigation
- this.dropdownEl.tabIndex = 0;
-
- // Only set tabindex if it hasn't been set by user
- $(this.dropdownEl).children().each(function (el) {
- if (!el.getAttribute('tabindex')) {
- el.setAttribute('tabindex', 0);
- }
- });
- }
- }, {
- key: "_focusFocusedItem",
- value: function _focusFocusedItem() {
- if (this.focusedIndex >= 0 && this.focusedIndex < this.dropdownEl.children.length && this.options.autoFocus) {
- this.dropdownEl.children[this.focusedIndex].focus();
- }
- }
- }, {
- key: "_getDropdownPosition",
- value: function _getDropdownPosition() {
- var offsetParentBRect = this.el.offsetParent.getBoundingClientRect();
- var triggerBRect = this.el.getBoundingClientRect();
- var dropdownBRect = this.dropdownEl.getBoundingClientRect();
-
- var idealHeight = dropdownBRect.height;
- var idealWidth = dropdownBRect.width;
- var idealXPos = triggerBRect.left - dropdownBRect.left;
- var idealYPos = triggerBRect.top - dropdownBRect.top;
-
- var dropdownBounds = {
- left: idealXPos,
- top: idealYPos,
- height: idealHeight,
- width: idealWidth
- };
-
- // Countainer here will be closest ancestor with overflow: hidden
- var closestOverflowParent = !!this.dropdownEl.offsetParent ? this.dropdownEl.offsetParent : this.dropdownEl.parentNode;
-
- var alignments = M.checkPossibleAlignments(this.el, closestOverflowParent, dropdownBounds, this.options.coverTrigger ? 0 : triggerBRect.height);
-
- var verticalAlignment = 'top';
- var horizontalAlignment = this.options.alignment;
- idealYPos += this.options.coverTrigger ? 0 : triggerBRect.height;
-
- // Reset isScrollable
- this.isScrollable = false;
-
- if (!alignments.top) {
- if (alignments.bottom) {
- verticalAlignment = 'bottom';
- } else {
- this.isScrollable = true;
-
- // Determine which side has most space and cutoff at correct height
- if (alignments.spaceOnTop > alignments.spaceOnBottom) {
- verticalAlignment = 'bottom';
- idealHeight += alignments.spaceOnTop;
- idealYPos -= alignments.spaceOnTop;
- } else {
- idealHeight += alignments.spaceOnBottom;
- }
- }
- }
-
- // If preferred horizontal alignment is possible
- if (!alignments[horizontalAlignment]) {
- var oppositeAlignment = horizontalAlignment === 'left' ? 'right' : 'left';
- if (alignments[oppositeAlignment]) {
- horizontalAlignment = oppositeAlignment;
- } else {
- // Determine which side has most space and cutoff at correct height
- if (alignments.spaceOnLeft > alignments.spaceOnRight) {
- horizontalAlignment = 'right';
- idealWidth += alignments.spaceOnLeft;
- idealXPos -= alignments.spaceOnLeft;
- } else {
- horizontalAlignment = 'left';
- idealWidth += alignments.spaceOnRight;
- }
- }
- }
-
- if (verticalAlignment === 'bottom') {
- idealYPos = idealYPos - dropdownBRect.height + (this.options.coverTrigger ? triggerBRect.height : 0);
- }
- if (horizontalAlignment === 'right') {
- idealXPos = idealXPos - dropdownBRect.width + triggerBRect.width;
- }
- return {
- x: idealXPos,
- y: idealYPos,
- verticalAlignment: verticalAlignment,
- horizontalAlignment: horizontalAlignment,
- height: idealHeight,
- width: idealWidth
- };
- }
-
- /**
- * Animate in dropdown
- */
-
- }, {
- key: "_animateIn",
- value: function _animateIn() {
- var _this11 = this;
-
- anim.remove(this.dropdownEl);
- anim({
- targets: this.dropdownEl,
- opacity: {
- value: [0, 1],
- easing: 'easeOutQuad'
- },
- scaleX: [0.3, 1],
- scaleY: [0.3, 1],
- duration: this.options.inDuration,
- easing: 'easeOutQuint',
- complete: function (anim) {
- if (_this11.options.autoFocus) {
- _this11.dropdownEl.focus();
- }
-
- // onOpenEnd callback
- if (typeof _this11.options.onOpenEnd === 'function') {
- _this11.options.onOpenEnd.call(_this11, _this11.el);
- }
- }
- });
- }
-
- /**
- * Animate out dropdown
- */
-
- }, {
- key: "_animateOut",
- value: function _animateOut() {
- var _this12 = this;
-
- anim.remove(this.dropdownEl);
- anim({
- targets: this.dropdownEl,
- opacity: {
- value: 0,
- easing: 'easeOutQuint'
- },
- scaleX: 0.3,
- scaleY: 0.3,
- duration: this.options.outDuration,
- easing: 'easeOutQuint',
- complete: function (anim) {
- _this12._resetDropdownStyles();
-
- // onCloseEnd callback
- if (typeof _this12.options.onCloseEnd === 'function') {
- _this12.options.onCloseEnd.call(_this12, _this12.el);
- }
- }
- });
- }
-
- /**
- * Place dropdown
- */
-
- }, {
- key: "_placeDropdown",
- value: function _placeDropdown() {
- // Set width before calculating positionInfo
- var idealWidth = this.options.constrainWidth ? this.el.getBoundingClientRect().width : this.dropdownEl.getBoundingClientRect().width;
- this.dropdownEl.style.width = idealWidth + 'px';
-
- var positionInfo = this._getDropdownPosition();
- this.dropdownEl.style.left = positionInfo.x + 'px';
- this.dropdownEl.style.top = positionInfo.y + 'px';
- this.dropdownEl.style.height = positionInfo.height + 'px';
- this.dropdownEl.style.width = positionInfo.width + 'px';
- this.dropdownEl.style.transformOrigin = (positionInfo.horizontalAlignment === 'left' ? '0' : '100%') + " " + (positionInfo.verticalAlignment === 'top' ? '0' : '100%');
- }
-
- /**
- * Open Dropdown
- */
-
- }, {
- key: "open",
- value: function open() {
- if (this.isOpen) {
- return;
- }
- this.isOpen = true;
-
- // onOpenStart callback
- if (typeof this.options.onOpenStart === 'function') {
- this.options.onOpenStart.call(this, this.el);
- }
-
- // Reset styles
- this._resetDropdownStyles();
- this.dropdownEl.style.display = 'block';
-
- this._placeDropdown();
- this._animateIn();
- this._setupTemporaryEventHandlers();
- }
-
- /**
- * Close Dropdown
- */
-
- }, {
- key: "close",
- value: function close() {
- if (!this.isOpen) {
- return;
- }
- this.isOpen = false;
- this.focusedIndex = -1;
-
- // onCloseStart callback
- if (typeof this.options.onCloseStart === 'function') {
- this.options.onCloseStart.call(this, this.el);
- }
-
- this._animateOut();
- this._removeTemporaryEventHandlers();
-
- if (this.options.autoFocus) {
- this.el.focus();
- }
- }
-
- /**
- * Recalculate dimensions
- */
-
- }, {
- key: "recalculateDimensions",
- value: function recalculateDimensions() {
- if (this.isOpen) {
- this.$dropdownEl.css({
- width: '',
- height: '',
- left: '',
- top: '',
- 'transform-origin': ''
- });
- this._placeDropdown();
- }
- }
- }], [{
- key: "init",
- value: function init(els, options) {
- return _get(Dropdown.__proto__ || Object.getPrototypeOf(Dropdown), "init", this).call(this, this, els, options);
- }
-
- /**
- * Get Instance
- */
-
- }, {
- key: "getInstance",
- value: function getInstance(el) {
- var domElem = !!el.jquery ? el[0] : el;
- return domElem.M_Dropdown;
- }
- }, {
- key: "defaults",
- get: function () {
- return _defaults;
- }
- }]);
-
- return Dropdown;
- }(Component);
-
- /**
- * @static
- * @memberof Dropdown
- */
-
-
- Dropdown._dropdowns = [];
-
- M.Dropdown = Dropdown;
-
- if (M.jQueryLoaded) {
- M.initializeJqueryWrapper(Dropdown, 'dropdown', 'M_Dropdown');
- }
-})(cash, M.anime);
-;(function ($, anim) {
- 'use strict';
-
- var _defaults = {
- opacity: 0.5,
- inDuration: 250,
- outDuration: 250,
- onOpenStart: null,
- onOpenEnd: null,
- onCloseStart: null,
- onCloseEnd: null,
- preventScrolling: true,
- dismissible: true,
- startingTop: '4%',
- endingTop: '10%'
- };
-
- /**
- * @class
- *
- */
-
- var Modal = function (_Component3) {
- _inherits(Modal, _Component3);
-
- /**
- * Construct Modal instance and set up overlay
- * @constructor
- * @param {Element} el
- * @param {Object} options
- */
- function Modal(el, options) {
- _classCallCheck(this, Modal);
-
- var _this13 = _possibleConstructorReturn(this, (Modal.__proto__ || Object.getPrototypeOf(Modal)).call(this, Modal, el, options));
-
- _this13.el.M_Modal = _this13;
-
- /**
- * Options for the modal
- * @member Modal#options
- * @prop {Number} [opacity=0.5] - Opacity of the modal overlay
- * @prop {Number} [inDuration=250] - Length in ms of enter transition
- * @prop {Number} [outDuration=250] - Length in ms of exit transition
- * @prop {Function} onOpenStart - Callback function called before modal is opened
- * @prop {Function} onOpenEnd - Callback function called after modal is opened
- * @prop {Function} onCloseStart - Callback function called before modal is closed
- * @prop {Function} onCloseEnd - Callback function called after modal is closed
- * @prop {Boolean} [dismissible=true] - Allow modal to be dismissed by keyboard or overlay click
- * @prop {String} [startingTop='4%'] - startingTop
- * @prop {String} [endingTop='10%'] - endingTop
- */
- _this13.options = $.extend({}, Modal.defaults, options);
-
- /**
- * Describes open/close state of modal
- * @type {Boolean}
- */
- _this13.isOpen = false;
-
- _this13.id = _this13.$el.attr('id');
- _this13._openingTrigger = undefined;
- _this13.$overlay = $('
');
- _this13.el.tabIndex = 0;
- _this13._nthModalOpened = 0;
-
- Modal._count++;
- _this13._setupEventHandlers();
- return _this13;
- }
-
- _createClass(Modal, [{
- key: "destroy",
-
-
- /**
- * Teardown component
- */
- value: function destroy() {
- Modal._count--;
- this._removeEventHandlers();
- this.el.removeAttribute('style');
- this.$overlay.remove();
- this.el.M_Modal = undefined;
- }
-
- /**
- * Setup Event Handlers
- */
-
- }, {
- key: "_setupEventHandlers",
- value: function _setupEventHandlers() {
- this._handleOverlayClickBound = this._handleOverlayClick.bind(this);
- this._handleModalCloseClickBound = this._handleModalCloseClick.bind(this);
-
- if (Modal._count === 1) {
- document.body.addEventListener('click', this._handleTriggerClick);
- }
- this.$overlay[0].addEventListener('click', this._handleOverlayClickBound);
- this.el.addEventListener('click', this._handleModalCloseClickBound);
- }
-
- /**
- * Remove Event Handlers
- */
-
- }, {
- key: "_removeEventHandlers",
- value: function _removeEventHandlers() {
- if (Modal._count === 0) {
- document.body.removeEventListener('click', this._handleTriggerClick);
- }
- this.$overlay[0].removeEventListener('click', this._handleOverlayClickBound);
- this.el.removeEventListener('click', this._handleModalCloseClickBound);
- }
-
- /**
- * Handle Trigger Click
- * @param {Event} e
- */
-
- }, {
- key: "_handleTriggerClick",
- value: function _handleTriggerClick(e) {
- var $trigger = $(e.target).closest('.modal-trigger');
- if ($trigger.length) {
- var modalId = M.getIdFromTrigger($trigger[0]);
- var modalInstance = document.getElementById(modalId).M_Modal;
- if (modalInstance) {
- modalInstance.open($trigger);
- }
- e.preventDefault();
- }
- }
-
- /**
- * Handle Overlay Click
- */
-
- }, {
- key: "_handleOverlayClick",
- value: function _handleOverlayClick() {
- if (this.options.dismissible) {
- this.close();
- }
- }
-
- /**
- * Handle Modal Close Click
- * @param {Event} e
- */
-
- }, {
- key: "_handleModalCloseClick",
- value: function _handleModalCloseClick(e) {
- var $closeTrigger = $(e.target).closest('.modal-close');
- if ($closeTrigger.length) {
- this.close();
- }
- }
-
- /**
- * Handle Keydown
- * @param {Event} e
- */
-
- }, {
- key: "_handleKeydown",
- value: function _handleKeydown(e) {
- // ESC key
- if (e.keyCode === 27 && this.options.dismissible) {
- this.close();
- }
- }
-
- /**
- * Handle Focus
- * @param {Event} e
- */
-
- }, {
- key: "_handleFocus",
- value: function _handleFocus(e) {
- // Only trap focus if this modal is the last model opened (prevents loops in nested modals).
- if (!this.el.contains(e.target) && this._nthModalOpened === Modal._modalsOpen) {
- this.el.focus();
- }
- }
-
- /**
- * Animate in modal
- */
-
- }, {
- key: "_animateIn",
- value: function _animateIn() {
- var _this14 = this;
-
- // Set initial styles
- $.extend(this.el.style, {
- display: 'block',
- opacity: 0
- });
- $.extend(this.$overlay[0].style, {
- display: 'block',
- opacity: 0
- });
-
- // Animate overlay
- anim({
- targets: this.$overlay[0],
- opacity: this.options.opacity,
- duration: this.options.inDuration,
- easing: 'easeOutQuad'
- });
-
- // Define modal animation options
- var enterAnimOptions = {
- targets: this.el,
- duration: this.options.inDuration,
- easing: 'easeOutCubic',
- // Handle modal onOpenEnd callback
- complete: function () {
- if (typeof _this14.options.onOpenEnd === 'function') {
- _this14.options.onOpenEnd.call(_this14, _this14.el, _this14._openingTrigger);
- }
- }
- };
-
- // Bottom sheet animation
- if (this.el.classList.contains('bottom-sheet')) {
- $.extend(enterAnimOptions, {
- bottom: 0,
- opacity: 1
- });
- anim(enterAnimOptions);
-
- // Normal modal animation
- } else {
- $.extend(enterAnimOptions, {
- top: [this.options.startingTop, this.options.endingTop],
- opacity: 1,
- scaleX: [0.8, 1],
- scaleY: [0.8, 1]
- });
- anim(enterAnimOptions);
- }
- }
-
- /**
- * Animate out modal
- */
-
- }, {
- key: "_animateOut",
- value: function _animateOut() {
- var _this15 = this;
-
- // Animate overlay
- anim({
- targets: this.$overlay[0],
- opacity: 0,
- duration: this.options.outDuration,
- easing: 'easeOutQuart'
- });
-
- // Define modal animation options
- var exitAnimOptions = {
- targets: this.el,
- duration: this.options.outDuration,
- easing: 'easeOutCubic',
- // Handle modal ready callback
- complete: function () {
- _this15.el.style.display = 'none';
- _this15.$overlay.remove();
-
- // Call onCloseEnd callback
- if (typeof _this15.options.onCloseEnd === 'function') {
- _this15.options.onCloseEnd.call(_this15, _this15.el);
- }
- }
- };
-
- // Bottom sheet animation
- if (this.el.classList.contains('bottom-sheet')) {
- $.extend(exitAnimOptions, {
- bottom: '-100%',
- opacity: 0
- });
- anim(exitAnimOptions);
-
- // Normal modal animation
- } else {
- $.extend(exitAnimOptions, {
- top: [this.options.endingTop, this.options.startingTop],
- opacity: 0,
- scaleX: 0.8,
- scaleY: 0.8
- });
- anim(exitAnimOptions);
- }
- }
-
- /**
- * Open Modal
- * @param {cash} [$trigger]
- */
-
- }, {
- key: "open",
- value: function open($trigger) {
- if (this.isOpen) {
- return;
- }
-
- this.isOpen = true;
- Modal._modalsOpen++;
- this._nthModalOpened = Modal._modalsOpen;
-
- // Set Z-Index based on number of currently open modals
- this.$overlay[0].style.zIndex = 1000 + Modal._modalsOpen * 2;
- this.el.style.zIndex = 1000 + Modal._modalsOpen * 2 + 1;
-
- // Set opening trigger, undefined indicates modal was opened by javascript
- this._openingTrigger = !!$trigger ? $trigger[0] : undefined;
-
- // onOpenStart callback
- if (typeof this.options.onOpenStart === 'function') {
- this.options.onOpenStart.call(this, this.el, this._openingTrigger);
- }
-
- if (this.options.preventScrolling) {
- document.body.style.overflow = 'hidden';
- }
-
- this.el.classList.add('open');
- this.el.insertAdjacentElement('afterend', this.$overlay[0]);
-
- if (this.options.dismissible) {
- this._handleKeydownBound = this._handleKeydown.bind(this);
- this._handleFocusBound = this._handleFocus.bind(this);
- document.addEventListener('keydown', this._handleKeydownBound);
- document.addEventListener('focus', this._handleFocusBound, true);
- }
-
- anim.remove(this.el);
- anim.remove(this.$overlay[0]);
- this._animateIn();
-
- // Focus modal
- this.el.focus();
-
- return this;
- }
-
- /**
- * Close Modal
- */
-
- }, {
- key: "close",
- value: function close() {
- if (!this.isOpen) {
- return;
- }
-
- this.isOpen = false;
- Modal._modalsOpen--;
- this._nthModalOpened = 0;
-
- // Call onCloseStart callback
- if (typeof this.options.onCloseStart === 'function') {
- this.options.onCloseStart.call(this, this.el);
- }
-
- this.el.classList.remove('open');
-
- // Enable body scrolling only if there are no more modals open.
- if (Modal._modalsOpen === 0) {
- document.body.style.overflow = '';
- }
-
- if (this.options.dismissible) {
- document.removeEventListener('keydown', this._handleKeydownBound);
- document.removeEventListener('focus', this._handleFocusBound, true);
- }
-
- anim.remove(this.el);
- anim.remove(this.$overlay[0]);
- this._animateOut();
- return this;
- }
- }], [{
- key: "init",
- value: function init(els, options) {
- return _get(Modal.__proto__ || Object.getPrototypeOf(Modal), "init", this).call(this, this, els, options);
- }
-
- /**
- * Get Instance
- */
-
- }, {
- key: "getInstance",
- value: function getInstance(el) {
- var domElem = !!el.jquery ? el[0] : el;
- return domElem.M_Modal;
- }
- }, {
- key: "defaults",
- get: function () {
- return _defaults;
- }
- }]);
-
- return Modal;
- }(Component);
-
- /**
- * @static
- * @memberof Modal
- */
-
-
- Modal._modalsOpen = 0;
-
- /**
- * @static
- * @memberof Modal
- */
- Modal._count = 0;
-
- M.Modal = Modal;
-
- if (M.jQueryLoaded) {
- M.initializeJqueryWrapper(Modal, 'modal', 'M_Modal');
- }
-})(cash, M.anime);
-;(function ($, anim) {
- 'use strict';
-
- var _defaults = {
- inDuration: 275,
- outDuration: 200,
- onOpenStart: null,
- onOpenEnd: null,
- onCloseStart: null,
- onCloseEnd: null
- };
-
- /**
- * @class
- *
- */
-
- var Materialbox = function (_Component4) {
- _inherits(Materialbox, _Component4);
-
- /**
- * Construct Materialbox instance
- * @constructor
- * @param {Element} el
- * @param {Object} options
- */
- function Materialbox(el, options) {
- _classCallCheck(this, Materialbox);
-
- var _this16 = _possibleConstructorReturn(this, (Materialbox.__proto__ || Object.getPrototypeOf(Materialbox)).call(this, Materialbox, el, options));
-
- _this16.el.M_Materialbox = _this16;
-
- /**
- * Options for the modal
- * @member Materialbox#options
- * @prop {Number} [inDuration=275] - Length in ms of enter transition
- * @prop {Number} [outDuration=200] - Length in ms of exit transition
- * @prop {Function} onOpenStart - Callback function called before materialbox is opened
- * @prop {Function} onOpenEnd - Callback function called after materialbox is opened
- * @prop {Function} onCloseStart - Callback function called before materialbox is closed
- * @prop {Function} onCloseEnd - Callback function called after materialbox is closed
- */
- _this16.options = $.extend({}, Materialbox.defaults, options);
-
- _this16.overlayActive = false;
- _this16.doneAnimating = true;
- _this16.placeholder = $('
').addClass('material-placeholder');
- _this16.originalWidth = 0;
- _this16.originalHeight = 0;
- _this16.originInlineStyles = _this16.$el.attr('style');
- _this16.caption = _this16.el.getAttribute('data-caption') || '';
-
- // Wrap
- _this16.$el.before(_this16.placeholder);
- _this16.placeholder.append(_this16.$el);
-
- _this16._setupEventHandlers();
- return _this16;
- }
-
- _createClass(Materialbox, [{
- key: "destroy",
-
-
- /**
- * Teardown component
- */
- value: function destroy() {
- this._removeEventHandlers();
- this.el.M_Materialbox = undefined;
-
- // Unwrap image
- $(this.placeholder).after(this.el).remove();
-
- this.$el.removeAttr('style');
- }
-
- /**
- * Setup Event Handlers
- */
-
- }, {
- key: "_setupEventHandlers",
- value: function _setupEventHandlers() {
- this._handleMaterialboxClickBound = this._handleMaterialboxClick.bind(this);
- this.el.addEventListener('click', this._handleMaterialboxClickBound);
- }
-
- /**
- * Remove Event Handlers
- */
-
- }, {
- key: "_removeEventHandlers",
- value: function _removeEventHandlers() {
- this.el.removeEventListener('click', this._handleMaterialboxClickBound);
- }
-
- /**
- * Handle Materialbox Click
- * @param {Event} e
- */
-
- }, {
- key: "_handleMaterialboxClick",
- value: function _handleMaterialboxClick(e) {
- // If already modal, return to original
- if (this.doneAnimating === false || this.overlayActive && this.doneAnimating) {
- this.close();
- } else {
- this.open();
- }
- }
-
- /**
- * Handle Window Scroll
- */
-
- }, {
- key: "_handleWindowScroll",
- value: function _handleWindowScroll() {
- if (this.overlayActive) {
- this.close();
- }
- }
-
- /**
- * Handle Window Resize
- */
-
- }, {
- key: "_handleWindowResize",
- value: function _handleWindowResize() {
- if (this.overlayActive) {
- this.close();
- }
- }
-
- /**
- * Handle Window Resize
- * @param {Event} e
- */
-
- }, {
- key: "_handleWindowEscape",
- value: function _handleWindowEscape(e) {
- // ESC key
- if (e.keyCode === 27 && this.doneAnimating && this.overlayActive) {
- this.close();
- }
- }
-
- /**
- * Find ancestors with overflow: hidden; and make visible
- */
-
- }, {
- key: "_makeAncestorsOverflowVisible",
- value: function _makeAncestorsOverflowVisible() {
- this.ancestorsChanged = $();
- var ancestor = this.placeholder[0].parentNode;
- while (ancestor !== null && !$(ancestor).is(document)) {
- var curr = $(ancestor);
- if (curr.css('overflow') !== 'visible') {
- curr.css('overflow', 'visible');
- if (this.ancestorsChanged === undefined) {
- this.ancestorsChanged = curr;
- } else {
- this.ancestorsChanged = this.ancestorsChanged.add(curr);
- }
- }
- ancestor = ancestor.parentNode;
- }
- }
-
- /**
- * Animate image in
- */
-
- }, {
- key: "_animateImageIn",
- value: function _animateImageIn() {
- var _this17 = this;
-
- var animOptions = {
- targets: this.el,
- height: [this.originalHeight, this.newHeight],
- width: [this.originalWidth, this.newWidth],
- left: M.getDocumentScrollLeft() + this.windowWidth / 2 - this.placeholder.offset().left - this.newWidth / 2,
- top: M.getDocumentScrollTop() + this.windowHeight / 2 - this.placeholder.offset().top - this.newHeight / 2,
- duration: this.options.inDuration,
- easing: 'easeOutQuad',
- complete: function () {
- _this17.doneAnimating = true;
-
- // onOpenEnd callback
- if (typeof _this17.options.onOpenEnd === 'function') {
- _this17.options.onOpenEnd.call(_this17, _this17.el);
- }
- }
- };
-
- // Override max-width or max-height if needed
- this.maxWidth = this.$el.css('max-width');
- this.maxHeight = this.$el.css('max-height');
- if (this.maxWidth !== 'none') {
- animOptions.maxWidth = this.newWidth;
- }
- if (this.maxHeight !== 'none') {
- animOptions.maxHeight = this.newHeight;
- }
-
- anim(animOptions);
- }
-
- /**
- * Animate image out
- */
-
- }, {
- key: "_animateImageOut",
- value: function _animateImageOut() {
- var _this18 = this;
-
- var animOptions = {
- targets: this.el,
- width: this.originalWidth,
- height: this.originalHeight,
- left: 0,
- top: 0,
- duration: this.options.outDuration,
- easing: 'easeOutQuad',
- complete: function () {
- _this18.placeholder.css({
- height: '',
- width: '',
- position: '',
- top: '',
- left: ''
- });
-
- // Revert to width or height attribute
- if (_this18.attrWidth) {
- _this18.$el.attr('width', _this18.attrWidth);
- }
- if (_this18.attrHeight) {
- _this18.$el.attr('height', _this18.attrHeight);
- }
-
- _this18.$el.removeAttr('style');
- _this18.originInlineStyles && _this18.$el.attr('style', _this18.originInlineStyles);
-
- // Remove class
- _this18.$el.removeClass('active');
- _this18.doneAnimating = true;
-
- // Remove overflow overrides on ancestors
- if (_this18.ancestorsChanged.length) {
- _this18.ancestorsChanged.css('overflow', '');
- }
-
- // onCloseEnd callback
- if (typeof _this18.options.onCloseEnd === 'function') {
- _this18.options.onCloseEnd.call(_this18, _this18.el);
- }
- }
- };
-
- anim(animOptions);
- }
-
- /**
- * Update open and close vars
- */
-
- }, {
- key: "_updateVars",
- value: function _updateVars() {
- this.windowWidth = window.innerWidth;
- this.windowHeight = window.innerHeight;
- this.caption = this.el.getAttribute('data-caption') || '';
- }
-
- /**
- * Open Materialbox
- */
-
- }, {
- key: "open",
- value: function open() {
- var _this19 = this;
-
- this._updateVars();
- this.originalWidth = this.el.getBoundingClientRect().width;
- this.originalHeight = this.el.getBoundingClientRect().height;
-
- // Set states
- this.doneAnimating = false;
- this.$el.addClass('active');
- this.overlayActive = true;
-
- // onOpenStart callback
- if (typeof this.options.onOpenStart === 'function') {
- this.options.onOpenStart.call(this, this.el);
- }
-
- // Set positioning for placeholder
- this.placeholder.css({
- width: this.placeholder[0].getBoundingClientRect().width + 'px',
- height: this.placeholder[0].getBoundingClientRect().height + 'px',
- position: 'relative',
- top: 0,
- left: 0
- });
-
- this._makeAncestorsOverflowVisible();
-
- // Set css on origin
- this.$el.css({
- position: 'absolute',
- 'z-index': 1000,
- 'will-change': 'left, top, width, height'
- });
-
- // Change from width or height attribute to css
- this.attrWidth = this.$el.attr('width');
- this.attrHeight = this.$el.attr('height');
- if (this.attrWidth) {
- this.$el.css('width', this.attrWidth + 'px');
- this.$el.removeAttr('width');
- }
- if (this.attrHeight) {
- this.$el.css('width', this.attrHeight + 'px');
- this.$el.removeAttr('height');
- }
-
- // Add overlay
- this.$overlay = $('
').css({
- opacity: 0
- }).one('click', function () {
- if (_this19.doneAnimating) {
- _this19.close();
- }
- });
-
- // Put before in origin image to preserve z-index layering.
- this.$el.before(this.$overlay);
-
- // Set dimensions if needed
- var overlayOffset = this.$overlay[0].getBoundingClientRect();
- this.$overlay.css({
- width: this.windowWidth + 'px',
- height: this.windowHeight + 'px',
- left: -1 * overlayOffset.left + 'px',
- top: -1 * overlayOffset.top + 'px'
- });
-
- anim.remove(this.el);
- anim.remove(this.$overlay[0]);
-
- // Animate Overlay
- anim({
- targets: this.$overlay[0],
- opacity: 1,
- duration: this.options.inDuration,
- easing: 'easeOutQuad'
- });
-
- // Add and animate caption if it exists
- if (this.caption !== '') {
- if (this.$photocaption) {
- anim.remove(this.$photoCaption[0]);
- }
- this.$photoCaption = $('
');
- this.$photoCaption.text(this.caption);
- $('body').append(this.$photoCaption);
- this.$photoCaption.css({ display: 'inline' });
-
- anim({
- targets: this.$photoCaption[0],
- opacity: 1,
- duration: this.options.inDuration,
- easing: 'easeOutQuad'
- });
- }
-
- // Resize Image
- var ratio = 0;
- var widthPercent = this.originalWidth / this.windowWidth;
- var heightPercent = this.originalHeight / this.windowHeight;
- this.newWidth = 0;
- this.newHeight = 0;
-
- if (widthPercent > heightPercent) {
- ratio = this.originalHeight / this.originalWidth;
- this.newWidth = this.windowWidth * 0.9;
- this.newHeight = this.windowWidth * 0.9 * ratio;
- } else {
- ratio = this.originalWidth / this.originalHeight;
- this.newWidth = this.windowHeight * 0.9 * ratio;
- this.newHeight = this.windowHeight * 0.9;
- }
-
- this._animateImageIn();
-
- // Handle Exit triggers
- this._handleWindowScrollBound = this._handleWindowScroll.bind(this);
- this._handleWindowResizeBound = this._handleWindowResize.bind(this);
- this._handleWindowEscapeBound = this._handleWindowEscape.bind(this);
-
- window.addEventListener('scroll', this._handleWindowScrollBound);
- window.addEventListener('resize', this._handleWindowResizeBound);
- window.addEventListener('keyup', this._handleWindowEscapeBound);
- }
-
- /**
- * Close Materialbox
- */
-
- }, {
- key: "close",
- value: function close() {
- var _this20 = this;
-
- this._updateVars();
- this.doneAnimating = false;
-
- // onCloseStart callback
- if (typeof this.options.onCloseStart === 'function') {
- this.options.onCloseStart.call(this, this.el);
- }
-
- anim.remove(this.el);
- anim.remove(this.$overlay[0]);
-
- if (this.caption !== '') {
- anim.remove(this.$photoCaption[0]);
- }
-
- // disable exit handlers
- window.removeEventListener('scroll', this._handleWindowScrollBound);
- window.removeEventListener('resize', this._handleWindowResizeBound);
- window.removeEventListener('keyup', this._handleWindowEscapeBound);
-
- anim({
- targets: this.$overlay[0],
- opacity: 0,
- duration: this.options.outDuration,
- easing: 'easeOutQuad',
- complete: function () {
- _this20.overlayActive = false;
- _this20.$overlay.remove();
- }
- });
-
- this._animateImageOut();
-
- // Remove Caption + reset css settings on image
- if (this.caption !== '') {
- anim({
- targets: this.$photoCaption[0],
- opacity: 0,
- duration: this.options.outDuration,
- easing: 'easeOutQuad',
- complete: function () {
- _this20.$photoCaption.remove();
- }
- });
- }
- }
- }], [{
- key: "init",
- value: function init(els, options) {
- return _get(Materialbox.__proto__ || Object.getPrototypeOf(Materialbox), "init", this).call(this, this, els, options);
- }
-
- /**
- * Get Instance
- */
-
- }, {
- key: "getInstance",
- value: function getInstance(el) {
- var domElem = !!el.jquery ? el[0] : el;
- return domElem.M_Materialbox;
- }
- }, {
- key: "defaults",
- get: function () {
- return _defaults;
- }
- }]);
-
- return Materialbox;
- }(Component);
-
- M.Materialbox = Materialbox;
-
- if (M.jQueryLoaded) {
- M.initializeJqueryWrapper(Materialbox, 'materialbox', 'M_Materialbox');
- }
-})(cash, M.anime);
-;(function ($) {
- 'use strict';
-
- var _defaults = {
- responsiveThreshold: 0 // breakpoint for swipeable
- };
-
- var Parallax = function (_Component5) {
- _inherits(Parallax, _Component5);
-
- function Parallax(el, options) {
- _classCallCheck(this, Parallax);
-
- var _this21 = _possibleConstructorReturn(this, (Parallax.__proto__ || Object.getPrototypeOf(Parallax)).call(this, Parallax, el, options));
-
- _this21.el.M_Parallax = _this21;
-
- /**
- * Options for the Parallax
- * @member Parallax#options
- * @prop {Number} responsiveThreshold
- */
- _this21.options = $.extend({}, Parallax.defaults, options);
- _this21._enabled = window.innerWidth > _this21.options.responsiveThreshold;
-
- _this21.$img = _this21.$el.find('img').first();
- _this21.$img.each(function () {
- var el = this;
- if (el.complete) $(el).trigger('load');
- });
-
- _this21._updateParallax();
- _this21._setupEventHandlers();
- _this21._setupStyles();
-
- Parallax._parallaxes.push(_this21);
- return _this21;
- }
-
- _createClass(Parallax, [{
- key: "destroy",
-
-
- /**
- * Teardown component
- */
- value: function destroy() {
- Parallax._parallaxes.splice(Parallax._parallaxes.indexOf(this), 1);
- this.$img[0].style.transform = '';
- this._removeEventHandlers();
-
- this.$el[0].M_Parallax = undefined;
- }
- }, {
- key: "_setupEventHandlers",
- value: function _setupEventHandlers() {
- this._handleImageLoadBound = this._handleImageLoad.bind(this);
- this.$img[0].addEventListener('load', this._handleImageLoadBound);
-
- if (Parallax._parallaxes.length === 0) {
- Parallax._handleScrollThrottled = M.throttle(Parallax._handleScroll, 5);
- window.addEventListener('scroll', Parallax._handleScrollThrottled);
-
- Parallax._handleWindowResizeThrottled = M.throttle(Parallax._handleWindowResize, 5);
- window.addEventListener('resize', Parallax._handleWindowResizeThrottled);
- }
- }
- }, {
- key: "_removeEventHandlers",
- value: function _removeEventHandlers() {
- this.$img[0].removeEventListener('load', this._handleImageLoadBound);
-
- if (Parallax._parallaxes.length === 0) {
- window.removeEventListener('scroll', Parallax._handleScrollThrottled);
- window.removeEventListener('resize', Parallax._handleWindowResizeThrottled);
- }
- }
- }, {
- key: "_setupStyles",
- value: function _setupStyles() {
- this.$img[0].style.opacity = 1;
- }
- }, {
- key: "_handleImageLoad",
- value: function _handleImageLoad() {
- this._updateParallax();
- }
- }, {
- key: "_updateParallax",
- value: function _updateParallax() {
- var containerHeight = this.$el.height() > 0 ? this.el.parentNode.offsetHeight : 500;
- var imgHeight = this.$img[0].offsetHeight;
- var parallaxDist = imgHeight - containerHeight;
- var bottom = this.$el.offset().top + containerHeight;
- var top = this.$el.offset().top;
- var scrollTop = M.getDocumentScrollTop();
- var windowHeight = window.innerHeight;
- var windowBottom = scrollTop + windowHeight;
- var percentScrolled = (windowBottom - top) / (containerHeight + windowHeight);
- var parallax = parallaxDist * percentScrolled;
-
- if (!this._enabled) {
- this.$img[0].style.transform = '';
- } else if (bottom > scrollTop && top < scrollTop + windowHeight) {
- this.$img[0].style.transform = "translate3D(-50%, " + parallax + "px, 0)";
- }
- }
- }], [{
- key: "init",
- value: function init(els, options) {
- return _get(Parallax.__proto__ || Object.getPrototypeOf(Parallax), "init", this).call(this, this, els, options);
- }
-
- /**
- * Get Instance
- */
-
- }, {
- key: "getInstance",
- value: function getInstance(el) {
- var domElem = !!el.jquery ? el[0] : el;
- return domElem.M_Parallax;
- }
- }, {
- key: "_handleScroll",
- value: function _handleScroll() {
- for (var i = 0; i < Parallax._parallaxes.length; i++) {
- var parallaxInstance = Parallax._parallaxes[i];
- parallaxInstance._updateParallax.call(parallaxInstance);
- }
- }
- }, {
- key: "_handleWindowResize",
- value: function _handleWindowResize() {
- for (var i = 0; i < Parallax._parallaxes.length; i++) {
- var parallaxInstance = Parallax._parallaxes[i];
- parallaxInstance._enabled = window.innerWidth > parallaxInstance.options.responsiveThreshold;
- }
- }
- }, {
- key: "defaults",
- get: function () {
- return _defaults;
- }
- }]);
-
- return Parallax;
- }(Component);
-
- /**
- * @static
- * @memberof Parallax
- */
-
-
- Parallax._parallaxes = [];
-
- M.Parallax = Parallax;
-
- if (M.jQueryLoaded) {
- M.initializeJqueryWrapper(Parallax, 'parallax', 'M_Parallax');
- }
-})(cash);
-;(function ($, anim) {
- 'use strict';
-
- var _defaults = {
- duration: 300,
- onShow: null,
- swipeable: false,
- responsiveThreshold: Infinity // breakpoint for swipeable
- };
-
- /**
- * @class
- *
- */
-
- var Tabs = function (_Component6) {
- _inherits(Tabs, _Component6);
-
- /**
- * Construct Tabs instance
- * @constructor
- * @param {Element} el
- * @param {Object} options
- */
- function Tabs(el, options) {
- _classCallCheck(this, Tabs);
-
- var _this22 = _possibleConstructorReturn(this, (Tabs.__proto__ || Object.getPrototypeOf(Tabs)).call(this, Tabs, el, options));
-
- _this22.el.M_Tabs = _this22;
-
- /**
- * Options for the Tabs
- * @member Tabs#options
- * @prop {Number} duration
- * @prop {Function} onShow
- * @prop {Boolean} swipeable
- * @prop {Number} responsiveThreshold
- */
- _this22.options = $.extend({}, Tabs.defaults, options);
-
- // Setup
- _this22.$tabLinks = _this22.$el.children('li.tab').children('a');
- _this22.index = 0;
- _this22._setupActiveTabLink();
-
- // Setup tabs content
- if (_this22.options.swipeable) {
- _this22._setupSwipeableTabs();
- } else {
- _this22._setupNormalTabs();
- }
-
- // Setup tabs indicator after content to ensure accurate widths
- _this22._setTabsAndTabWidth();
- _this22._createIndicator();
-
- _this22._setupEventHandlers();
- return _this22;
- }
-
- _createClass(Tabs, [{
- key: "destroy",
-
-
- /**
- * Teardown component
- */
- value: function destroy() {
- this._removeEventHandlers();
- this._indicator.parentNode.removeChild(this._indicator);
-
- if (this.options.swipeable) {
- this._teardownSwipeableTabs();
- } else {
- this._teardownNormalTabs();
- }
-
- this.$el[0].M_Tabs = undefined;
- }
-
- /**
- * Setup Event Handlers
- */
-
- }, {
- key: "_setupEventHandlers",
- value: function _setupEventHandlers() {
- this._handleWindowResizeBound = this._handleWindowResize.bind(this);
- window.addEventListener('resize', this._handleWindowResizeBound);
-
- this._handleTabClickBound = this._handleTabClick.bind(this);
- this.el.addEventListener('click', this._handleTabClickBound);
- }
-
- /**
- * Remove Event Handlers
- */
-
- }, {
- key: "_removeEventHandlers",
- value: function _removeEventHandlers() {
- window.removeEventListener('resize', this._handleWindowResizeBound);
- this.el.removeEventListener('click', this._handleTabClickBound);
- }
-
- /**
- * Handle window Resize
- */
-
- }, {
- key: "_handleWindowResize",
- value: function _handleWindowResize() {
- this._setTabsAndTabWidth();
-
- if (this.tabWidth !== 0 && this.tabsWidth !== 0) {
- this._indicator.style.left = this._calcLeftPos(this.$activeTabLink) + 'px';
- this._indicator.style.right = this._calcRightPos(this.$activeTabLink) + 'px';
- }
- }
-
- /**
- * Handle tab click
- * @param {Event} e
- */
-
- }, {
- key: "_handleTabClick",
- value: function _handleTabClick(e) {
- var _this23 = this;
-
- var tab = $(e.target).closest('li.tab');
- var tabLink = $(e.target).closest('a');
-
- // Handle click on tab link only
- if (!tabLink.length || !tabLink.parent().hasClass('tab')) {
- return;
- }
-
- if (tab.hasClass('disabled')) {
- e.preventDefault();
- return;
- }
-
- // Act as regular link if target attribute is specified.
- if (!!tabLink.attr('target')) {
- return;
- }
-
- // Make the old tab inactive.
- this.$activeTabLink.removeClass('active');
- var $oldContent = this.$content;
-
- // Update the variables with the new link and content
- this.$activeTabLink = tabLink;
- this.$content = $(M.escapeHash(tabLink[0].hash));
- this.$tabLinks = this.$el.children('li.tab').children('a');
-
- // Make the tab active.
- this.$activeTabLink.addClass('active');
- var prevIndex = this.index;
- this.index = Math.max(this.$tabLinks.index(tabLink), 0);
-
- // Swap content
- if (this.options.swipeable) {
- if (this._tabsCarousel) {
- this._tabsCarousel.set(this.index, function () {
- if (typeof _this23.options.onShow === 'function') {
- _this23.options.onShow.call(_this23, _this23.$content[0]);
- }
- });
- }
- } else {
- if (this.$content.length) {
- this.$content[0].style.display = 'block';
- this.$content.addClass('active');
- if (typeof this.options.onShow === 'function') {
- this.options.onShow.call(this, this.$content[0]);
- }
-
- if ($oldContent.length && !$oldContent.is(this.$content)) {
- $oldContent[0].style.display = 'none';
- $oldContent.removeClass('active');
- }
- }
- }
-
- // Update widths after content is swapped (scrollbar bugfix)
- this._setTabsAndTabWidth();
-
- // Update indicator
- this._animateIndicator(prevIndex);
-
- // Prevent the anchor's default click action
- e.preventDefault();
- }
-
- /**
- * Generate elements for tab indicator.
- */
-
- }, {
- key: "_createIndicator",
- value: function _createIndicator() {
- var _this24 = this;
-
- var indicator = document.createElement('li');
- indicator.classList.add('indicator');
-
- this.el.appendChild(indicator);
- this._indicator = indicator;
-
- setTimeout(function () {
- _this24._indicator.style.left = _this24._calcLeftPos(_this24.$activeTabLink) + 'px';
- _this24._indicator.style.right = _this24._calcRightPos(_this24.$activeTabLink) + 'px';
- }, 0);
- }
-
- /**
- * Setup first active tab link.
- */
-
- }, {
- key: "_setupActiveTabLink",
- value: function _setupActiveTabLink() {
- // If the location.hash matches one of the links, use that as the active tab.
- this.$activeTabLink = $(this.$tabLinks.filter('[href="' + location.hash + '"]'));
-
- // If no match is found, use the first link or any with class 'active' as the initial active tab.
- if (this.$activeTabLink.length === 0) {
- this.$activeTabLink = this.$el.children('li.tab').children('a.active').first();
- }
- if (this.$activeTabLink.length === 0) {
- this.$activeTabLink = this.$el.children('li.tab').children('a').first();
- }
-
- this.$tabLinks.removeClass('active');
- this.$activeTabLink[0].classList.add('active');
-
- this.index = Math.max(this.$tabLinks.index(this.$activeTabLink), 0);
-
- if (this.$activeTabLink.length) {
- this.$content = $(M.escapeHash(this.$activeTabLink[0].hash));
- this.$content.addClass('active');
- }
- }
-
- /**
- * Setup swipeable tabs
- */
-
- }, {
- key: "_setupSwipeableTabs",
- value: function _setupSwipeableTabs() {
- var _this25 = this;
-
- // Change swipeable according to responsive threshold
- if (window.innerWidth > this.options.responsiveThreshold) {
- this.options.swipeable = false;
- }
-
- var $tabsContent = $();
- this.$tabLinks.each(function (link) {
- var $currContent = $(M.escapeHash(link.hash));
- $currContent.addClass('carousel-item');
- $tabsContent = $tabsContent.add($currContent);
- });
-
- var $tabsWrapper = $('
');
- $tabsContent.first().before($tabsWrapper);
- $tabsWrapper.append($tabsContent);
- $tabsContent[0].style.display = '';
-
- // Keep active tab index to set initial carousel slide
- var activeTabIndex = this.$activeTabLink.closest('.tab').index();
-
- this._tabsCarousel = M.Carousel.init($tabsWrapper[0], {
- fullWidth: true,
- noWrap: true,
- onCycleTo: function (item) {
- var prevIndex = _this25.index;
- _this25.index = $(item).index();
- _this25.$activeTabLink.removeClass('active');
- _this25.$activeTabLink = _this25.$tabLinks.eq(_this25.index);
- _this25.$activeTabLink.addClass('active');
- _this25._animateIndicator(prevIndex);
- if (typeof _this25.options.onShow === 'function') {
- _this25.options.onShow.call(_this25, _this25.$content[0]);
- }
- }
- });
-
- // Set initial carousel slide to active tab
- this._tabsCarousel.set(activeTabIndex);
- }
-
- /**
- * Teardown normal tabs.
- */
-
- }, {
- key: "_teardownSwipeableTabs",
- value: function _teardownSwipeableTabs() {
- var $tabsWrapper = this._tabsCarousel.$el;
- this._tabsCarousel.destroy();
-
- // Unwrap
- $tabsWrapper.after($tabsWrapper.children());
- $tabsWrapper.remove();
- }
-
- /**
- * Setup normal tabs.
- */
-
- }, {
- key: "_setupNormalTabs",
- value: function _setupNormalTabs() {
- // Hide Tabs Content
- this.$tabLinks.not(this.$activeTabLink).each(function (link) {
- if (!!link.hash) {
- var $currContent = $(M.escapeHash(link.hash));
- if ($currContent.length) {
- $currContent[0].style.display = 'none';
- }
- }
- });
- }
-
- /**
- * Teardown normal tabs.
- */
-
- }, {
- key: "_teardownNormalTabs",
- value: function _teardownNormalTabs() {
- // show Tabs Content
- this.$tabLinks.each(function (link) {
- if (!!link.hash) {
- var $currContent = $(M.escapeHash(link.hash));
- if ($currContent.length) {
- $currContent[0].style.display = '';
- }
- }
- });
- }
-
- /**
- * set tabs and tab width
- */
-
- }, {
- key: "_setTabsAndTabWidth",
- value: function _setTabsAndTabWidth() {
- this.tabsWidth = this.$el.width();
- this.tabWidth = Math.max(this.tabsWidth, this.el.scrollWidth) / this.$tabLinks.length;
- }
-
- /**
- * Finds right attribute for indicator based on active tab.
- * @param {cash} el
- */
-
- }, {
- key: "_calcRightPos",
- value: function _calcRightPos(el) {
- return Math.ceil(this.tabsWidth - el.position().left - el[0].getBoundingClientRect().width);
- }
-
- /**
- * Finds left attribute for indicator based on active tab.
- * @param {cash} el
- */
-
- }, {
- key: "_calcLeftPos",
- value: function _calcLeftPos(el) {
- return Math.floor(el.position().left);
- }
- }, {
- key: "updateTabIndicator",
- value: function updateTabIndicator() {
- this._setTabsAndTabWidth();
- this._animateIndicator(this.index);
- }
-
- /**
- * Animates Indicator to active tab.
- * @param {Number} prevIndex
- */
-
- }, {
- key: "_animateIndicator",
- value: function _animateIndicator(prevIndex) {
- var leftDelay = 0,
- rightDelay = 0;
-
- if (this.index - prevIndex >= 0) {
- leftDelay = 90;
- } else {
- rightDelay = 90;
- }
-
- // Animate
- var animOptions = {
- targets: this._indicator,
- left: {
- value: this._calcLeftPos(this.$activeTabLink),
- delay: leftDelay
- },
- right: {
- value: this._calcRightPos(this.$activeTabLink),
- delay: rightDelay
- },
- duration: this.options.duration,
- easing: 'easeOutQuad'
- };
- anim.remove(this._indicator);
- anim(animOptions);
- }
-
- /**
- * Select tab.
- * @param {String} tabId
- */
-
- }, {
- key: "select",
- value: function select(tabId) {
- var tab = this.$tabLinks.filter('[href="#' + tabId + '"]');
- if (tab.length) {
- tab.trigger('click');
- }
- }
- }], [{
- key: "init",
- value: function init(els, options) {
- return _get(Tabs.__proto__ || Object.getPrototypeOf(Tabs), "init", this).call(this, this, els, options);
- }
-
- /**
- * Get Instance
- */
-
- }, {
- key: "getInstance",
- value: function getInstance(el) {
- var domElem = !!el.jquery ? el[0] : el;
- return domElem.M_Tabs;
- }
- }, {
- key: "defaults",
- get: function () {
- return _defaults;
- }
- }]);
-
- return Tabs;
- }(Component);
-
- M.Tabs = Tabs;
-
- if (M.jQueryLoaded) {
- M.initializeJqueryWrapper(Tabs, 'tabs', 'M_Tabs');
- }
-})(cash, M.anime);
-;(function ($, anim) {
- 'use strict';
-
- var _defaults = {
- exitDelay: 200,
- enterDelay: 0,
- html: null,
- margin: 5,
- inDuration: 250,
- outDuration: 200,
- position: 'bottom',
- transitionMovement: 10
- };
-
- /**
- * @class
- *
- */
-
- var Tooltip = function (_Component7) {
- _inherits(Tooltip, _Component7);
-
- /**
- * Construct Tooltip instance
- * @constructor
- * @param {Element} el
- * @param {Object} options
- */
- function Tooltip(el, options) {
- _classCallCheck(this, Tooltip);
-
- var _this26 = _possibleConstructorReturn(this, (Tooltip.__proto__ || Object.getPrototypeOf(Tooltip)).call(this, Tooltip, el, options));
-
- _this26.el.M_Tooltip = _this26;
- _this26.options = $.extend({}, Tooltip.defaults, options);
-
- _this26.isOpen = false;
- _this26.isHovered = false;
- _this26.isFocused = false;
- _this26._appendTooltipEl();
- _this26._setupEventHandlers();
- return _this26;
- }
-
- _createClass(Tooltip, [{
- key: "destroy",
-
-
- /**
- * Teardown component
- */
- value: function destroy() {
- $(this.tooltipEl).remove();
- this._removeEventHandlers();
- this.el.M_Tooltip = undefined;
- }
- }, {
- key: "_appendTooltipEl",
- value: function _appendTooltipEl() {
- var tooltipEl = document.createElement('div');
- tooltipEl.classList.add('material-tooltip');
- this.tooltipEl = tooltipEl;
-
- var tooltipContentEl = document.createElement('div');
- tooltipContentEl.classList.add('tooltip-content');
- tooltipContentEl.innerHTML = this.options.html;
- tooltipEl.appendChild(tooltipContentEl);
- document.body.appendChild(tooltipEl);
- }
- }, {
- key: "_updateTooltipContent",
- value: function _updateTooltipContent() {
- this.tooltipEl.querySelector('.tooltip-content').innerHTML = this.options.html;
- }
- }, {
- key: "_setupEventHandlers",
- value: function _setupEventHandlers() {
- this._handleMouseEnterBound = this._handleMouseEnter.bind(this);
- this._handleMouseLeaveBound = this._handleMouseLeave.bind(this);
- this._handleFocusBound = this._handleFocus.bind(this);
- this._handleBlurBound = this._handleBlur.bind(this);
- this.el.addEventListener('mouseenter', this._handleMouseEnterBound);
- this.el.addEventListener('mouseleave', this._handleMouseLeaveBound);
- this.el.addEventListener('focus', this._handleFocusBound, true);
- this.el.addEventListener('blur', this._handleBlurBound, true);
- }
- }, {
- key: "_removeEventHandlers",
- value: function _removeEventHandlers() {
- this.el.removeEventListener('mouseenter', this._handleMouseEnterBound);
- this.el.removeEventListener('mouseleave', this._handleMouseLeaveBound);
- this.el.removeEventListener('focus', this._handleFocusBound, true);
- this.el.removeEventListener('blur', this._handleBlurBound, true);
- }
- }, {
- key: "open",
- value: function open(isManual) {
- if (this.isOpen) {
- return;
- }
- isManual = isManual === undefined ? true : undefined; // Default value true
- this.isOpen = true;
- // Update tooltip content with HTML attribute options
- this.options = $.extend({}, this.options, this._getAttributeOptions());
- this._updateTooltipContent();
- this._setEnterDelayTimeout(isManual);
- }
- }, {
- key: "close",
- value: function close() {
- if (!this.isOpen) {
- return;
- }
-
- this.isHovered = false;
- this.isFocused = false;
- this.isOpen = false;
- this._setExitDelayTimeout();
- }
-
- /**
- * Create timeout which delays when the tooltip closes
- */
-
- }, {
- key: "_setExitDelayTimeout",
- value: function _setExitDelayTimeout() {
- var _this27 = this;
-
- clearTimeout(this._exitDelayTimeout);
-
- this._exitDelayTimeout = setTimeout(function () {
- if (_this27.isHovered || _this27.isFocused) {
- return;
- }
-
- _this27._animateOut();
- }, this.options.exitDelay);
- }
-
- /**
- * Create timeout which delays when the toast closes
- */
-
- }, {
- key: "_setEnterDelayTimeout",
- value: function _setEnterDelayTimeout(isManual) {
- var _this28 = this;
-
- clearTimeout(this._enterDelayTimeout);
-
- this._enterDelayTimeout = setTimeout(function () {
- if (!_this28.isHovered && !_this28.isFocused && !isManual) {
- return;
- }
-
- _this28._animateIn();
- }, this.options.enterDelay);
- }
- }, {
- key: "_positionTooltip",
- value: function _positionTooltip() {
- var origin = this.el,
- tooltip = this.tooltipEl,
- originHeight = origin.offsetHeight,
- originWidth = origin.offsetWidth,
- tooltipHeight = tooltip.offsetHeight,
- tooltipWidth = tooltip.offsetWidth,
- newCoordinates = void 0,
- margin = this.options.margin,
- targetTop = void 0,
- targetLeft = void 0;
-
- this.xMovement = 0, this.yMovement = 0;
-
- targetTop = origin.getBoundingClientRect().top + M.getDocumentScrollTop();
- targetLeft = origin.getBoundingClientRect().left + M.getDocumentScrollLeft();
-
- if (this.options.position === 'top') {
- targetTop += -tooltipHeight - margin;
- targetLeft += originWidth / 2 - tooltipWidth / 2;
- this.yMovement = -this.options.transitionMovement;
- } else if (this.options.position === 'right') {
- targetTop += originHeight / 2 - tooltipHeight / 2;
- targetLeft += originWidth + margin;
- this.xMovement = this.options.transitionMovement;
- } else if (this.options.position === 'left') {
- targetTop += originHeight / 2 - tooltipHeight / 2;
- targetLeft += -tooltipWidth - margin;
- this.xMovement = -this.options.transitionMovement;
- } else {
- targetTop += originHeight + margin;
- targetLeft += originWidth / 2 - tooltipWidth / 2;
- this.yMovement = this.options.transitionMovement;
- }
-
- newCoordinates = this._repositionWithinScreen(targetLeft, targetTop, tooltipWidth, tooltipHeight);
- $(tooltip).css({
- top: newCoordinates.y + 'px',
- left: newCoordinates.x + 'px'
- });
- }
- }, {
- key: "_repositionWithinScreen",
- value: function _repositionWithinScreen(x, y, width, height) {
- var scrollLeft = M.getDocumentScrollLeft();
- var scrollTop = M.getDocumentScrollTop();
- var newX = x - scrollLeft;
- var newY = y - scrollTop;
-
- var bounding = {
- left: newX,
- top: newY,
- width: width,
- height: height
- };
-
- var offset = this.options.margin + this.options.transitionMovement;
- var edges = M.checkWithinContainer(document.body, bounding, offset);
-
- if (edges.left) {
- newX = offset;
- } else if (edges.right) {
- newX -= newX + width - window.innerWidth;
- }
-
- if (edges.top) {
- newY = offset;
- } else if (edges.bottom) {
- newY -= newY + height - window.innerHeight;
- }
-
- return {
- x: newX + scrollLeft,
- y: newY + scrollTop
- };
- }
- }, {
- key: "_animateIn",
- value: function _animateIn() {
- this._positionTooltip();
- this.tooltipEl.style.visibility = 'visible';
- anim.remove(this.tooltipEl);
- anim({
- targets: this.tooltipEl,
- opacity: 1,
- translateX: this.xMovement,
- translateY: this.yMovement,
- duration: this.options.inDuration,
- easing: 'easeOutCubic'
- });
- }
- }, {
- key: "_animateOut",
- value: function _animateOut() {
- anim.remove(this.tooltipEl);
- anim({
- targets: this.tooltipEl,
- opacity: 0,
- translateX: 0,
- translateY: 0,
- duration: this.options.outDuration,
- easing: 'easeOutCubic'
- });
- }
- }, {
- key: "_handleMouseEnter",
- value: function _handleMouseEnter() {
- this.isHovered = true;
- this.isFocused = false; // Allows close of tooltip when opened by focus.
- this.open(false);
- }
- }, {
- key: "_handleMouseLeave",
- value: function _handleMouseLeave() {
- this.isHovered = false;
- this.isFocused = false; // Allows close of tooltip when opened by focus.
- this.close();
- }
- }, {
- key: "_handleFocus",
- value: function _handleFocus() {
- if (M.tabPressed) {
- this.isFocused = true;
- this.open(false);
- }
- }
- }, {
- key: "_handleBlur",
- value: function _handleBlur() {
- this.isFocused = false;
- this.close();
- }
- }, {
- key: "_getAttributeOptions",
- value: function _getAttributeOptions() {
- var attributeOptions = {};
- var tooltipTextOption = this.el.getAttribute('data-tooltip');
- var positionOption = this.el.getAttribute('data-position');
-
- if (tooltipTextOption) {
- attributeOptions.html = tooltipTextOption;
- }
-
- if (positionOption) {
- attributeOptions.position = positionOption;
- }
- return attributeOptions;
- }
- }], [{
- key: "init",
- value: function init(els, options) {
- return _get(Tooltip.__proto__ || Object.getPrototypeOf(Tooltip), "init", this).call(this, this, els, options);
- }
-
- /**
- * Get Instance
- */
-
- }, {
- key: "getInstance",
- value: function getInstance(el) {
- var domElem = !!el.jquery ? el[0] : el;
- return domElem.M_Tooltip;
- }
- }, {
- key: "defaults",
- get: function () {
- return _defaults;
- }
- }]);
-
- return Tooltip;
- }(Component);
-
- M.Tooltip = Tooltip;
-
- if (M.jQueryLoaded) {
- M.initializeJqueryWrapper(Tooltip, 'tooltip', 'M_Tooltip');
- }
-})(cash, M.anime);
-; /*!
- * Waves v0.6.4
- * http://fian.my.id/Waves
- *
- * Copyright 2014 Alfiana E. Sibuea and other contributors
- * Released under the MIT license
- * https://github.com/fians/Waves/blob/master/LICENSE
- */
-
-;(function (window) {
- 'use strict';
-
- var Waves = Waves || {};
- var $$ = document.querySelectorAll.bind(document);
-
- // Find exact position of element
- function isWindow(obj) {
- return obj !== null && obj === obj.window;
- }
-
- function getWindow(elem) {
- return isWindow(elem) ? elem : elem.nodeType === 9 && elem.defaultView;
- }
-
- function offset(elem) {
- var docElem,
- win,
- box = { top: 0, left: 0 },
- doc = elem && elem.ownerDocument;
-
- docElem = doc.documentElement;
-
- if (typeof elem.getBoundingClientRect !== typeof undefined) {
- box = elem.getBoundingClientRect();
- }
- win = getWindow(doc);
- return {
- top: box.top + win.pageYOffset - docElem.clientTop,
- left: box.left + win.pageXOffset - docElem.clientLeft
- };
- }
-
- function convertStyle(obj) {
- var style = '';
-
- for (var a in obj) {
- if (obj.hasOwnProperty(a)) {
- style += a + ':' + obj[a] + ';';
- }
- }
-
- return style;
- }
-
- var Effect = {
-
- // Effect delay
- duration: 750,
-
- show: function (e, element) {
-
- // Disable right click
- if (e.button === 2) {
- return false;
- }
-
- var el = element || this;
-
- // Create ripple
- var ripple = document.createElement('div');
- ripple.className = 'waves-ripple';
- el.appendChild(ripple);
-
- // Get click coordinate and element witdh
- var pos = offset(el);
- var relativeY = e.pageY - pos.top;
- var relativeX = e.pageX - pos.left;
- var scale = 'scale(' + el.clientWidth / 100 * 10 + ')';
-
- // Support for touch devices
- if ('touches' in e) {
- relativeY = e.touches[0].pageY - pos.top;
- relativeX = e.touches[0].pageX - pos.left;
- }
-
- // Attach data to element
- ripple.setAttribute('data-hold', Date.now());
- ripple.setAttribute('data-scale', scale);
- ripple.setAttribute('data-x', relativeX);
- ripple.setAttribute('data-y', relativeY);
-
- // Set ripple position
- var rippleStyle = {
- 'top': relativeY + 'px',
- 'left': relativeX + 'px'
- };
-
- ripple.className = ripple.className + ' waves-notransition';
- ripple.setAttribute('style', convertStyle(rippleStyle));
- ripple.className = ripple.className.replace('waves-notransition', '');
-
- // Scale the ripple
- rippleStyle['-webkit-transform'] = scale;
- rippleStyle['-moz-transform'] = scale;
- rippleStyle['-ms-transform'] = scale;
- rippleStyle['-o-transform'] = scale;
- rippleStyle.transform = scale;
- rippleStyle.opacity = '1';
-
- rippleStyle['-webkit-transition-duration'] = Effect.duration + 'ms';
- rippleStyle['-moz-transition-duration'] = Effect.duration + 'ms';
- rippleStyle['-o-transition-duration'] = Effect.duration + 'ms';
- rippleStyle['transition-duration'] = Effect.duration + 'ms';
-
- rippleStyle['-webkit-transition-timing-function'] = 'cubic-bezier(0.250, 0.460, 0.450, 0.940)';
- rippleStyle['-moz-transition-timing-function'] = 'cubic-bezier(0.250, 0.460, 0.450, 0.940)';
- rippleStyle['-o-transition-timing-function'] = 'cubic-bezier(0.250, 0.460, 0.450, 0.940)';
- rippleStyle['transition-timing-function'] = 'cubic-bezier(0.250, 0.460, 0.450, 0.940)';
-
- ripple.setAttribute('style', convertStyle(rippleStyle));
- },
-
- hide: function (e) {
- TouchHandler.touchup(e);
-
- var el = this;
- var width = el.clientWidth * 1.4;
-
- // Get first ripple
- var ripple = null;
- var ripples = el.getElementsByClassName('waves-ripple');
- if (ripples.length > 0) {
- ripple = ripples[ripples.length - 1];
- } else {
- return false;
- }
-
- var relativeX = ripple.getAttribute('data-x');
- var relativeY = ripple.getAttribute('data-y');
- var scale = ripple.getAttribute('data-scale');
-
- // Get delay beetween mousedown and mouse leave
- var diff = Date.now() - Number(ripple.getAttribute('data-hold'));
- var delay = 350 - diff;
-
- if (delay < 0) {
- delay = 0;
- }
-
- // Fade out ripple after delay
- setTimeout(function () {
- var style = {
- 'top': relativeY + 'px',
- 'left': relativeX + 'px',
- 'opacity': '0',
-
- // Duration
- '-webkit-transition-duration': Effect.duration + 'ms',
- '-moz-transition-duration': Effect.duration + 'ms',
- '-o-transition-duration': Effect.duration + 'ms',
- 'transition-duration': Effect.duration + 'ms',
- '-webkit-transform': scale,
- '-moz-transform': scale,
- '-ms-transform': scale,
- '-o-transform': scale,
- 'transform': scale
- };
-
- ripple.setAttribute('style', convertStyle(style));
-
- setTimeout(function () {
- try {
- el.removeChild(ripple);
- } catch (e) {
- return false;
- }
- }, Effect.duration);
- }, delay);
- },
-
- // Little hack to make can perform waves effect
- wrapInput: function (elements) {
- for (var a = 0; a < elements.length; a++) {
- var el = elements[a];
-
- if (el.tagName.toLowerCase() === 'input') {
- var parent = el.parentNode;
-
- // If input already have parent just pass through
- if (parent.tagName.toLowerCase() === 'i' && parent.className.indexOf('waves-effect') !== -1) {
- continue;
- }
-
- // Put element class and style to the specified parent
- var wrapper = document.createElement('i');
- wrapper.className = el.className + ' waves-input-wrapper';
-
- var elementStyle = el.getAttribute('style');
-
- if (!elementStyle) {
- elementStyle = '';
- }
-
- wrapper.setAttribute('style', elementStyle);
-
- el.className = 'waves-button-input';
- el.removeAttribute('style');
-
- // Put element as child
- parent.replaceChild(wrapper, el);
- wrapper.appendChild(el);
- }
- }
- }
- };
-
- /**
- * Disable mousedown event for 500ms during and after touch
- */
- var TouchHandler = {
- /* uses an integer rather than bool so there's no issues with
- * needing to clear timeouts if another touch event occurred
- * within the 500ms. Cannot mouseup between touchstart and
- * touchend, nor in the 500ms after touchend. */
- touches: 0,
- allowEvent: function (e) {
- var allow = true;
-
- if (e.type === 'touchstart') {
- TouchHandler.touches += 1; //push
- } else if (e.type === 'touchend' || e.type === 'touchcancel') {
- setTimeout(function () {
- if (TouchHandler.touches > 0) {
- TouchHandler.touches -= 1; //pop after 500ms
- }
- }, 500);
- } else if (e.type === 'mousedown' && TouchHandler.touches > 0) {
- allow = false;
- }
-
- return allow;
- },
- touchup: function (e) {
- TouchHandler.allowEvent(e);
- }
- };
-
- /**
- * Delegated click handler for .waves-effect element.
- * returns null when .waves-effect element not in "click tree"
- */
- function getWavesEffectElement(e) {
- if (TouchHandler.allowEvent(e) === false) {
- return null;
- }
-
- var element = null;
- var target = e.target || e.srcElement;
-
- while (target.parentNode !== null) {
- if (!(target instanceof SVGElement) && target.className.indexOf('waves-effect') !== -1) {
- element = target;
- break;
- }
- target = target.parentNode;
- }
- return element;
- }
-
- /**
- * Bubble the click and show effect if .waves-effect elem was found
- */
- function showEffect(e) {
- var element = getWavesEffectElement(e);
-
- if (element !== null) {
- Effect.show(e, element);
-
- if ('ontouchstart' in window) {
- element.addEventListener('touchend', Effect.hide, false);
- element.addEventListener('touchcancel', Effect.hide, false);
- }
-
- element.addEventListener('mouseup', Effect.hide, false);
- element.addEventListener('mouseleave', Effect.hide, false);
- element.addEventListener('dragend', Effect.hide, false);
- }
- }
-
- Waves.displayEffect = function (options) {
- options = options || {};
-
- if ('duration' in options) {
- Effect.duration = options.duration;
- }
-
- //Wrap input inside tag
- Effect.wrapInput($$('.waves-effect'));
-
- if ('ontouchstart' in window) {
- document.body.addEventListener('touchstart', showEffect, false);
- }
-
- document.body.addEventListener('mousedown', showEffect, false);
- };
-
- /**
- * Attach Waves to an input element (or any element which doesn't
- * bubble mouseup/mousedown events).
- * Intended to be used with dynamically loaded forms/inputs, or
- * where the user doesn't want a delegated click handler.
- */
- Waves.attach = function (element) {
- //FUTURE: automatically add waves classes and allow users
- // to specify them with an options param? Eg. light/classic/button
- if (element.tagName.toLowerCase() === 'input') {
- Effect.wrapInput([element]);
- element = element.parentNode;
- }
-
- if ('ontouchstart' in window) {
- element.addEventListener('touchstart', showEffect, false);
- }
-
- element.addEventListener('mousedown', showEffect, false);
- };
-
- window.Waves = Waves;
-
- document.addEventListener('DOMContentLoaded', function () {
- Waves.displayEffect();
- }, false);
-})(window);
-;(function ($, anim) {
- 'use strict';
-
- var _defaults = {
- html: '',
- displayLength: 4000,
- inDuration: 300,
- outDuration: 375,
- classes: '',
- completeCallback: null,
- activationPercent: 0.8
- };
-
- var Toast = function () {
- function Toast(options) {
- _classCallCheck(this, Toast);
-
- /**
- * Options for the toast
- * @member Toast#options
- */
- this.options = $.extend({}, Toast.defaults, options);
- this.message = this.options.html;
-
- /**
- * Describes current pan state toast
- * @type {Boolean}
- */
- this.panning = false;
-
- /**
- * Time remaining until toast is removed
- */
- this.timeRemaining = this.options.displayLength;
-
- if (Toast._toasts.length === 0) {
- Toast._createContainer();
- }
-
- // Create new toast
- Toast._toasts.push(this);
- var toastElement = this._createToast();
- toastElement.M_Toast = this;
- this.el = toastElement;
- this.$el = $(toastElement);
- this._animateIn();
- this._setTimer();
- }
-
- _createClass(Toast, [{
- key: "_createToast",
-
-
- /**
- * Create toast and append it to toast container
- */
- value: function _createToast() {
- var toast = document.createElement('div');
- toast.classList.add('toast');
-
- // Add custom classes onto toast
- if (!!this.options.classes.length) {
- $(toast).addClass(this.options.classes);
- }
-
- // Set content
- if (typeof HTMLElement === 'object' ? this.message instanceof HTMLElement : this.message && typeof this.message === 'object' && this.message !== null && this.message.nodeType === 1 && typeof this.message.nodeName === 'string') {
- toast.appendChild(this.message);
-
- // Check if it is jQuery object
- } else if (!!this.message.jquery) {
- $(toast).append(this.message[0]);
-
- // Insert as html;
- } else {
- toast.innerHTML = this.message;
- }
-
- // Append toasft
- Toast._container.appendChild(toast);
- return toast;
- }
-
- /**
- * Animate in toast
- */
-
- }, {
- key: "_animateIn",
- value: function _animateIn() {
- // Animate toast in
- anim({
- targets: this.el,
- top: 0,
- opacity: 1,
- duration: this.options.inDuration,
- easing: 'easeOutCubic'
- });
- }
-
- /**
- * Create setInterval which automatically removes toast when timeRemaining >= 0
- * has been reached
- */
-
- }, {
- key: "_setTimer",
- value: function _setTimer() {
- var _this29 = this;
-
- if (this.timeRemaining !== Infinity) {
- this.counterInterval = setInterval(function () {
- // If toast is not being dragged, decrease its time remaining
- if (!_this29.panning) {
- _this29.timeRemaining -= 20;
- }
-
- // Animate toast out
- if (_this29.timeRemaining <= 0) {
- _this29.dismiss();
- }
- }, 20);
- }
- }
-
- /**
- * Dismiss toast with animation
- */
-
- }, {
- key: "dismiss",
- value: function dismiss() {
- var _this30 = this;
-
- window.clearInterval(this.counterInterval);
- var activationDistance = this.el.offsetWidth * this.options.activationPercent;
-
- if (this.wasSwiped) {
- this.el.style.transition = 'transform .05s, opacity .05s';
- this.el.style.transform = "translateX(" + activationDistance + "px)";
- this.el.style.opacity = 0;
- }
-
- anim({
- targets: this.el,
- opacity: 0,
- marginTop: -40,
- duration: this.options.outDuration,
- easing: 'easeOutExpo',
- complete: function () {
- // Call the optional callback
- if (typeof _this30.options.completeCallback === 'function') {
- _this30.options.completeCallback();
- }
- // Remove toast from DOM
- _this30.$el.remove();
- Toast._toasts.splice(Toast._toasts.indexOf(_this30), 1);
- if (Toast._toasts.length === 0) {
- Toast._removeContainer();
- }
- }
- });
- }
- }], [{
- key: "getInstance",
-
-
- /**
- * Get Instance
- */
- value: function getInstance(el) {
- var domElem = !!el.jquery ? el[0] : el;
- return domElem.M_Toast;
- }
-
- /**
- * Append toast container and add event handlers
- */
-
- }, {
- key: "_createContainer",
- value: function _createContainer() {
- var container = document.createElement('div');
- container.setAttribute('id', 'toast-container');
-
- // Add event handler
- container.addEventListener('touchstart', Toast._onDragStart);
- container.addEventListener('touchmove', Toast._onDragMove);
- container.addEventListener('touchend', Toast._onDragEnd);
-
- container.addEventListener('mousedown', Toast._onDragStart);
- document.addEventListener('mousemove', Toast._onDragMove);
- document.addEventListener('mouseup', Toast._onDragEnd);
-
- document.body.appendChild(container);
- Toast._container = container;
- }
-
- /**
- * Remove toast container and event handlers
- */
-
- }, {
- key: "_removeContainer",
- value: function _removeContainer() {
- // Add event handler
- document.removeEventListener('mousemove', Toast._onDragMove);
- document.removeEventListener('mouseup', Toast._onDragEnd);
-
- $(Toast._container).remove();
- Toast._container = null;
- }
-
- /**
- * Begin drag handler
- * @param {Event} e
- */
-
- }, {
- key: "_onDragStart",
- value: function _onDragStart(e) {
- if (e.target && $(e.target).closest('.toast').length) {
- var $toast = $(e.target).closest('.toast');
- var toast = $toast[0].M_Toast;
- toast.panning = true;
- Toast._draggedToast = toast;
- toast.el.classList.add('panning');
- toast.el.style.transition = '';
- toast.startingXPos = Toast._xPos(e);
- toast.time = Date.now();
- toast.xPos = Toast._xPos(e);
- }
- }
-
- /**
- * Drag move handler
- * @param {Event} e
- */
-
- }, {
- key: "_onDragMove",
- value: function _onDragMove(e) {
- if (!!Toast._draggedToast) {
- e.preventDefault();
- var toast = Toast._draggedToast;
- toast.deltaX = Math.abs(toast.xPos - Toast._xPos(e));
- toast.xPos = Toast._xPos(e);
- toast.velocityX = toast.deltaX / (Date.now() - toast.time);
- toast.time = Date.now();
-
- var totalDeltaX = toast.xPos - toast.startingXPos;
- var activationDistance = toast.el.offsetWidth * toast.options.activationPercent;
- toast.el.style.transform = "translateX(" + totalDeltaX + "px)";
- toast.el.style.opacity = 1 - Math.abs(totalDeltaX / activationDistance);
- }
- }
-
- /**
- * End drag handler
- */
-
- }, {
- key: "_onDragEnd",
- value: function _onDragEnd() {
- if (!!Toast._draggedToast) {
- var toast = Toast._draggedToast;
- toast.panning = false;
- toast.el.classList.remove('panning');
-
- var totalDeltaX = toast.xPos - toast.startingXPos;
- var activationDistance = toast.el.offsetWidth * toast.options.activationPercent;
- var shouldBeDismissed = Math.abs(totalDeltaX) > activationDistance || toast.velocityX > 1;
-
- // Remove toast
- if (shouldBeDismissed) {
- toast.wasSwiped = true;
- toast.dismiss();
-
- // Animate toast back to original position
- } else {
- toast.el.style.transition = 'transform .2s, opacity .2s';
- toast.el.style.transform = '';
- toast.el.style.opacity = '';
- }
- Toast._draggedToast = null;
- }
- }
-
- /**
- * Get x position of mouse or touch event
- * @param {Event} e
- */
-
- }, {
- key: "_xPos",
- value: function _xPos(e) {
- if (e.targetTouches && e.targetTouches.length >= 1) {
- return e.targetTouches[0].clientX;
- }
- // mouse event
- return e.clientX;
- }
-
- /**
- * Remove all toasts
- */
-
- }, {
- key: "dismissAll",
- value: function dismissAll() {
- for (var toastIndex in Toast._toasts) {
- Toast._toasts[toastIndex].dismiss();
- }
- }
- }, {
- key: "defaults",
- get: function () {
- return _defaults;
- }
- }]);
-
- return Toast;
- }();
-
- /**
- * @static
- * @memberof Toast
- * @type {Array.}
- */
-
-
- Toast._toasts = [];
-
- /**
- * @static
- * @memberof Toast
- */
- Toast._container = null;
-
- /**
- * @static
- * @memberof Toast
- * @type {Toast}
- */
- Toast._draggedToast = null;
-
- M.Toast = Toast;
- M.toast = function (options) {
- return new Toast(options);
- };
-})(cash, M.anime);
-;(function ($, anim) {
- 'use strict';
-
- var _defaults = {
- edge: 'left',
- draggable: true,
- inDuration: 250,
- outDuration: 200,
- onOpenStart: null,
- onOpenEnd: null,
- onCloseStart: null,
- onCloseEnd: null,
- preventScrolling: true
- };
-
- /**
- * @class
- */
-
- var Sidenav = function (_Component8) {
- _inherits(Sidenav, _Component8);
-
- /**
- * Construct Sidenav instance and set up overlay
- * @constructor
- * @param {Element} el
- * @param {Object} options
- */
- function Sidenav(el, options) {
- _classCallCheck(this, Sidenav);
-
- var _this31 = _possibleConstructorReturn(this, (Sidenav.__proto__ || Object.getPrototypeOf(Sidenav)).call(this, Sidenav, el, options));
-
- _this31.el.M_Sidenav = _this31;
- _this31.id = _this31.$el.attr('id');
-
- /**
- * Options for the Sidenav
- * @member Sidenav#options
- * @prop {String} [edge='left'] - Side of screen on which Sidenav appears
- * @prop {Boolean} [draggable=true] - Allow swipe gestures to open/close Sidenav
- * @prop {Number} [inDuration=250] - Length in ms of enter transition
- * @prop {Number} [outDuration=200] - Length in ms of exit transition
- * @prop {Function} onOpenStart - Function called when sidenav starts entering
- * @prop {Function} onOpenEnd - Function called when sidenav finishes entering
- * @prop {Function} onCloseStart - Function called when sidenav starts exiting
- * @prop {Function} onCloseEnd - Function called when sidenav finishes exiting
- */
- _this31.options = $.extend({}, Sidenav.defaults, options);
-
- /**
- * Describes open/close state of Sidenav
- * @type {Boolean}
- */
- _this31.isOpen = false;
-
- /**
- * Describes if Sidenav is fixed
- * @type {Boolean}
- */
- _this31.isFixed = _this31.el.classList.contains('sidenav-fixed');
-
- /**
- * Describes if Sidenav is being draggeed
- * @type {Boolean}
- */
- _this31.isDragged = false;
-
- // Window size variables for window resize checks
- _this31.lastWindowWidth = window.innerWidth;
- _this31.lastWindowHeight = window.innerHeight;
-
- _this31._createOverlay();
- _this31._createDragTarget();
- _this31._setupEventHandlers();
- _this31._setupClasses();
- _this31._setupFixed();
-
- Sidenav._sidenavs.push(_this31);
- return _this31;
- }
-
- _createClass(Sidenav, [{
- key: "destroy",
-
-
- /**
- * Teardown component
- */
- value: function destroy() {
- this._removeEventHandlers();
- this._enableBodyScrolling();
- this._overlay.parentNode.removeChild(this._overlay);
- this.dragTarget.parentNode.removeChild(this.dragTarget);
- this.el.M_Sidenav = undefined;
- this.el.style.transform = '';
-
- var index = Sidenav._sidenavs.indexOf(this);
- if (index >= 0) {
- Sidenav._sidenavs.splice(index, 1);
- }
- }
- }, {
- key: "_createOverlay",
- value: function _createOverlay() {
- var overlay = document.createElement('div');
- this._closeBound = this.close.bind(this);
- overlay.classList.add('sidenav-overlay');
-
- overlay.addEventListener('click', this._closeBound);
-
- document.body.appendChild(overlay);
- this._overlay = overlay;
- }
- }, {
- key: "_setupEventHandlers",
- value: function _setupEventHandlers() {
- if (Sidenav._sidenavs.length === 0) {
- document.body.addEventListener('click', this._handleTriggerClick);
- }
-
- this._handleDragTargetDragBound = this._handleDragTargetDrag.bind(this);
- this._handleDragTargetReleaseBound = this._handleDragTargetRelease.bind(this);
- this._handleCloseDragBound = this._handleCloseDrag.bind(this);
- this._handleCloseReleaseBound = this._handleCloseRelease.bind(this);
- this._handleCloseTriggerClickBound = this._handleCloseTriggerClick.bind(this);
-
- this.dragTarget.addEventListener('touchmove', this._handleDragTargetDragBound);
- this.dragTarget.addEventListener('touchend', this._handleDragTargetReleaseBound);
- this._overlay.addEventListener('touchmove', this._handleCloseDragBound);
- this._overlay.addEventListener('touchend', this._handleCloseReleaseBound);
- this.el.addEventListener('touchmove', this._handleCloseDragBound);
- this.el.addEventListener('touchend', this._handleCloseReleaseBound);
- this.el.addEventListener('click', this._handleCloseTriggerClickBound);
-
- // Add resize for side nav fixed
- if (this.isFixed) {
- this._handleWindowResizeBound = this._handleWindowResize.bind(this);
- window.addEventListener('resize', this._handleWindowResizeBound);
- }
- }
- }, {
- key: "_removeEventHandlers",
- value: function _removeEventHandlers() {
- if (Sidenav._sidenavs.length === 1) {
- document.body.removeEventListener('click', this._handleTriggerClick);
- }
-
- this.dragTarget.removeEventListener('touchmove', this._handleDragTargetDragBound);
- this.dragTarget.removeEventListener('touchend', this._handleDragTargetReleaseBound);
- this._overlay.removeEventListener('touchmove', this._handleCloseDragBound);
- this._overlay.removeEventListener('touchend', this._handleCloseReleaseBound);
- this.el.removeEventListener('touchmove', this._handleCloseDragBound);
- this.el.removeEventListener('touchend', this._handleCloseReleaseBound);
- this.el.removeEventListener('click', this._handleCloseTriggerClickBound);
-
- // Remove resize for side nav fixed
- if (this.isFixed) {
- window.removeEventListener('resize', this._handleWindowResizeBound);
- }
- }
-
- /**
- * Handle Trigger Click
- * @param {Event} e
- */
-
- }, {
- key: "_handleTriggerClick",
- value: function _handleTriggerClick(e) {
- var $trigger = $(e.target).closest('.sidenav-trigger');
- if (e.target && $trigger.length) {
- var sidenavId = M.getIdFromTrigger($trigger[0]);
-
- var sidenavInstance = document.getElementById(sidenavId).M_Sidenav;
- if (sidenavInstance) {
- sidenavInstance.open($trigger);
- }
- e.preventDefault();
- }
- }
-
- /**
- * Set variables needed at the beggining of drag
- * and stop any current transition.
- * @param {Event} e
- */
-
- }, {
- key: "_startDrag",
- value: function _startDrag(e) {
- var clientX = e.targetTouches[0].clientX;
- this.isDragged = true;
- this._startingXpos = clientX;
- this._xPos = this._startingXpos;
- this._time = Date.now();
- this._width = this.el.getBoundingClientRect().width;
- this._overlay.style.display = 'block';
- this._initialScrollTop = this.isOpen ? this.el.scrollTop : M.getDocumentScrollTop();
- this._verticallyScrolling = false;
- anim.remove(this.el);
- anim.remove(this._overlay);
- }
-
- /**
- * Set variables needed at each drag move update tick
- * @param {Event} e
- */
-
- }, {
- key: "_dragMoveUpdate",
- value: function _dragMoveUpdate(e) {
- var clientX = e.targetTouches[0].clientX;
- var currentScrollTop = this.isOpen ? this.el.scrollTop : M.getDocumentScrollTop();
- this.deltaX = Math.abs(this._xPos - clientX);
- this._xPos = clientX;
- this.velocityX = this.deltaX / (Date.now() - this._time);
- this._time = Date.now();
- if (this._initialScrollTop !== currentScrollTop) {
- this._verticallyScrolling = true;
- }
- }
-
- /**
- * Handles Dragging of Sidenav
- * @param {Event} e
- */
-
- }, {
- key: "_handleDragTargetDrag",
- value: function _handleDragTargetDrag(e) {
- // Check if draggable
- if (!this.options.draggable || this._isCurrentlyFixed() || this._verticallyScrolling) {
- return;
- }
-
- // If not being dragged, set initial drag start variables
- if (!this.isDragged) {
- this._startDrag(e);
- }
-
- // Run touchmove updates
- this._dragMoveUpdate(e);
-
- // Calculate raw deltaX
- var totalDeltaX = this._xPos - this._startingXpos;
-
- // dragDirection is the attempted user drag direction
- var dragDirection = totalDeltaX > 0 ? 'right' : 'left';
-
- // Don't allow totalDeltaX to exceed Sidenav width or be dragged in the opposite direction
- totalDeltaX = Math.min(this._width, Math.abs(totalDeltaX));
- if (this.options.edge === dragDirection) {
- totalDeltaX = 0;
- }
-
- /**
- * transformX is the drag displacement
- * transformPrefix is the initial transform placement
- * Invert values if Sidenav is right edge
- */
- var transformX = totalDeltaX;
- var transformPrefix = 'translateX(-100%)';
- if (this.options.edge === 'right') {
- transformPrefix = 'translateX(100%)';
- transformX = -transformX;
- }
-
- // Calculate open/close percentage of sidenav, with open = 1 and close = 0
- this.percentOpen = Math.min(1, totalDeltaX / this._width);
-
- // Set transform and opacity styles
- this.el.style.transform = transformPrefix + " translateX(" + transformX + "px)";
- this._overlay.style.opacity = this.percentOpen;
- }
-
- /**
- * Handle Drag Target Release
- */
-
- }, {
- key: "_handleDragTargetRelease",
- value: function _handleDragTargetRelease() {
- if (this.isDragged) {
- if (this.percentOpen > 0.2) {
- this.open();
- } else {
- this._animateOut();
- }
-
- this.isDragged = false;
- this._verticallyScrolling = false;
- }
- }
-
- /**
- * Handle Close Drag
- * @param {Event} e
- */
-
- }, {
- key: "_handleCloseDrag",
- value: function _handleCloseDrag(e) {
- if (this.isOpen) {
- // Check if draggable
- if (!this.options.draggable || this._isCurrentlyFixed() || this._verticallyScrolling) {
- return;
- }
-
- // If not being dragged, set initial drag start variables
- if (!this.isDragged) {
- this._startDrag(e);
- }
-
- // Run touchmove updates
- this._dragMoveUpdate(e);
-
- // Calculate raw deltaX
- var totalDeltaX = this._xPos - this._startingXpos;
-
- // dragDirection is the attempted user drag direction
- var dragDirection = totalDeltaX > 0 ? 'right' : 'left';
-
- // Don't allow totalDeltaX to exceed Sidenav width or be dragged in the opposite direction
- totalDeltaX = Math.min(this._width, Math.abs(totalDeltaX));
- if (this.options.edge !== dragDirection) {
- totalDeltaX = 0;
- }
-
- var transformX = -totalDeltaX;
- if (this.options.edge === 'right') {
- transformX = -transformX;
- }
-
- // Calculate open/close percentage of sidenav, with open = 1 and close = 0
- this.percentOpen = Math.min(1, 1 - totalDeltaX / this._width);
-
- // Set transform and opacity styles
- this.el.style.transform = "translateX(" + transformX + "px)";
- this._overlay.style.opacity = this.percentOpen;
- }
- }
-
- /**
- * Handle Close Release
- */
-
- }, {
- key: "_handleCloseRelease",
- value: function _handleCloseRelease() {
- if (this.isOpen && this.isDragged) {
- if (this.percentOpen > 0.8) {
- this._animateIn();
- } else {
- this.close();
- }
-
- this.isDragged = false;
- this._verticallyScrolling = false;
- }
- }
-
- /**
- * Handles closing of Sidenav when element with class .sidenav-close
- */
-
- }, {
- key: "_handleCloseTriggerClick",
- value: function _handleCloseTriggerClick(e) {
- var $closeTrigger = $(e.target).closest('.sidenav-close');
- if ($closeTrigger.length && !this._isCurrentlyFixed()) {
- this.close();
- }
- }
-
- /**
- * Handle Window Resize
- */
-
- }, {
- key: "_handleWindowResize",
- value: function _handleWindowResize() {
- // Only handle horizontal resizes
- if (this.lastWindowWidth !== window.innerWidth) {
- if (window.innerWidth > 992) {
- this.open();
- } else {
- this.close();
- }
- }
-
- this.lastWindowWidth = window.innerWidth;
- this.lastWindowHeight = window.innerHeight;
- }
- }, {
- key: "_setupClasses",
- value: function _setupClasses() {
- if (this.options.edge === 'right') {
- this.el.classList.add('right-aligned');
- this.dragTarget.classList.add('right-aligned');
- }
- }
- }, {
- key: "_removeClasses",
- value: function _removeClasses() {
- this.el.classList.remove('right-aligned');
- this.dragTarget.classList.remove('right-aligned');
- }
- }, {
- key: "_setupFixed",
- value: function _setupFixed() {
- if (this._isCurrentlyFixed()) {
- this.open();
- }
- }
- }, {
- key: "_isCurrentlyFixed",
- value: function _isCurrentlyFixed() {
- return this.isFixed && window.innerWidth > 992;
- }
- }, {
- key: "_createDragTarget",
- value: function _createDragTarget() {
- var dragTarget = document.createElement('div');
- dragTarget.classList.add('drag-target');
- document.body.appendChild(dragTarget);
- this.dragTarget = dragTarget;
- }
- }, {
- key: "_preventBodyScrolling",
- value: function _preventBodyScrolling() {
- var body = document.body;
- body.style.overflow = 'hidden';
- }
- }, {
- key: "_enableBodyScrolling",
- value: function _enableBodyScrolling() {
- var body = document.body;
- body.style.overflow = '';
- }
- }, {
- key: "open",
- value: function open() {
- if (this.isOpen === true) {
- return;
- }
-
- this.isOpen = true;
-
- // Run onOpenStart callback
- if (typeof this.options.onOpenStart === 'function') {
- this.options.onOpenStart.call(this, this.el);
- }
-
- // Handle fixed Sidenav
- if (this._isCurrentlyFixed()) {
- anim.remove(this.el);
- anim({
- targets: this.el,
- translateX: 0,
- duration: 0,
- easing: 'easeOutQuad'
- });
- this._enableBodyScrolling();
- this._overlay.style.display = 'none';
-
- // Handle non-fixed Sidenav
- } else {
- if (this.options.preventScrolling) {
- this._preventBodyScrolling();
- }
-
- if (!this.isDragged || this.percentOpen != 1) {
- this._animateIn();
- }
- }
- }
- }, {
- key: "close",
- value: function close() {
- if (this.isOpen === false) {
- return;
- }
-
- this.isOpen = false;
-
- // Run onCloseStart callback
- if (typeof this.options.onCloseStart === 'function') {
- this.options.onCloseStart.call(this, this.el);
- }
-
- // Handle fixed Sidenav
- if (this._isCurrentlyFixed()) {
- var transformX = this.options.edge === 'left' ? '-105%' : '105%';
- this.el.style.transform = "translateX(" + transformX + ")";
-
- // Handle non-fixed Sidenav
- } else {
- this._enableBodyScrolling();
-
- if (!this.isDragged || this.percentOpen != 0) {
- this._animateOut();
- } else {
- this._overlay.style.display = 'none';
- }
- }
- }
- }, {
- key: "_animateIn",
- value: function _animateIn() {
- this._animateSidenavIn();
- this._animateOverlayIn();
- }
- }, {
- key: "_animateSidenavIn",
- value: function _animateSidenavIn() {
- var _this32 = this;
-
- var slideOutPercent = this.options.edge === 'left' ? -1 : 1;
- if (this.isDragged) {
- slideOutPercent = this.options.edge === 'left' ? slideOutPercent + this.percentOpen : slideOutPercent - this.percentOpen;
- }
-
- anim.remove(this.el);
- anim({
- targets: this.el,
- translateX: [slideOutPercent * 100 + "%", 0],
- duration: this.options.inDuration,
- easing: 'easeOutQuad',
- complete: function () {
- // Run onOpenEnd callback
- if (typeof _this32.options.onOpenEnd === 'function') {
- _this32.options.onOpenEnd.call(_this32, _this32.el);
- }
- }
- });
- }
- }, {
- key: "_animateOverlayIn",
- value: function _animateOverlayIn() {
- var start = 0;
- if (this.isDragged) {
- start = this.percentOpen;
- } else {
- $(this._overlay).css({
- display: 'block'
- });
- }
-
- anim.remove(this._overlay);
- anim({
- targets: this._overlay,
- opacity: [start, 1],
- duration: this.options.inDuration,
- easing: 'easeOutQuad'
- });
- }
- }, {
- key: "_animateOut",
- value: function _animateOut() {
- this._animateSidenavOut();
- this._animateOverlayOut();
- }
- }, {
- key: "_animateSidenavOut",
- value: function _animateSidenavOut() {
- var _this33 = this;
-
- var endPercent = this.options.edge === 'left' ? -1 : 1;
- var slideOutPercent = 0;
- if (this.isDragged) {
- slideOutPercent = this.options.edge === 'left' ? endPercent + this.percentOpen : endPercent - this.percentOpen;
- }
-
- anim.remove(this.el);
- anim({
- targets: this.el,
- translateX: [slideOutPercent * 100 + "%", endPercent * 105 + "%"],
- duration: this.options.outDuration,
- easing: 'easeOutQuad',
- complete: function () {
- // Run onOpenEnd callback
- if (typeof _this33.options.onCloseEnd === 'function') {
- _this33.options.onCloseEnd.call(_this33, _this33.el);
- }
- }
- });
- }
- }, {
- key: "_animateOverlayOut",
- value: function _animateOverlayOut() {
- var _this34 = this;
-
- anim.remove(this._overlay);
- anim({
- targets: this._overlay,
- opacity: 0,
- duration: this.options.outDuration,
- easing: 'easeOutQuad',
- complete: function () {
- $(_this34._overlay).css('display', 'none');
- }
- });
- }
- }], [{
- key: "init",
- value: function init(els, options) {
- return _get(Sidenav.__proto__ || Object.getPrototypeOf(Sidenav), "init", this).call(this, this, els, options);
- }
-
- /**
- * Get Instance
- */
-
- }, {
- key: "getInstance",
- value: function getInstance(el) {
- var domElem = !!el.jquery ? el[0] : el;
- return domElem.M_Sidenav;
- }
- }, {
- key: "defaults",
- get: function () {
- return _defaults;
- }
- }]);
-
- return Sidenav;
- }(Component);
-
- /**
- * @static
- * @memberof Sidenav
- * @type {Array.}
- */
-
-
- Sidenav._sidenavs = [];
-
- M.Sidenav = Sidenav;
-
- if (M.jQueryLoaded) {
- M.initializeJqueryWrapper(Sidenav, 'sidenav', 'M_Sidenav');
- }
-})(cash, M.anime);
-;(function ($, anim) {
- 'use strict';
-
- var _defaults = {
- throttle: 100,
- scrollOffset: 200, // offset - 200 allows elements near bottom of page to scroll
- activeClass: 'active',
- getActiveElement: function (id) {
- return 'a[href="#' + id + '"]';
- }
- };
-
- /**
- * @class
- *
- */
-
- var ScrollSpy = function (_Component9) {
- _inherits(ScrollSpy, _Component9);
-
- /**
- * Construct ScrollSpy instance
- * @constructor
- * @param {Element} el
- * @param {Object} options
- */
- function ScrollSpy(el, options) {
- _classCallCheck(this, ScrollSpy);
-
- var _this35 = _possibleConstructorReturn(this, (ScrollSpy.__proto__ || Object.getPrototypeOf(ScrollSpy)).call(this, ScrollSpy, el, options));
-
- _this35.el.M_ScrollSpy = _this35;
-
- /**
- * Options for the modal
- * @member Modal#options
- * @prop {Number} [throttle=100] - Throttle of scroll handler
- * @prop {Number} [scrollOffset=200] - Offset for centering element when scrolled to
- * @prop {String} [activeClass='active'] - Class applied to active elements
- * @prop {Function} [getActiveElement] - Used to find active element
- */
- _this35.options = $.extend({}, ScrollSpy.defaults, options);
-
- // setup
- ScrollSpy._elements.push(_this35);
- ScrollSpy._count++;
- ScrollSpy._increment++;
- _this35.tickId = -1;
- _this35.id = ScrollSpy._increment;
- _this35._setupEventHandlers();
- _this35._handleWindowScroll();
- return _this35;
- }
-
- _createClass(ScrollSpy, [{
- key: "destroy",
-
-
- /**
- * Teardown component
- */
- value: function destroy() {
- ScrollSpy._elements.splice(ScrollSpy._elements.indexOf(this), 1);
- ScrollSpy._elementsInView.splice(ScrollSpy._elementsInView.indexOf(this), 1);
- ScrollSpy._visibleElements.splice(ScrollSpy._visibleElements.indexOf(this.$el), 1);
- ScrollSpy._count--;
- this._removeEventHandlers();
- $(this.options.getActiveElement(this.$el.attr('id'))).removeClass(this.options.activeClass);
- this.el.M_ScrollSpy = undefined;
- }
-
- /**
- * Setup Event Handlers
- */
-
- }, {
- key: "_setupEventHandlers",
- value: function _setupEventHandlers() {
- var throttledResize = M.throttle(this._handleWindowScroll, 200);
- this._handleThrottledResizeBound = throttledResize.bind(this);
- this._handleWindowScrollBound = this._handleWindowScroll.bind(this);
- if (ScrollSpy._count === 1) {
- window.addEventListener('scroll', this._handleWindowScrollBound);
- window.addEventListener('resize', this._handleThrottledResizeBound);
- document.body.addEventListener('click', this._handleTriggerClick);
- }
- }
-
- /**
- * Remove Event Handlers
- */
-
- }, {
- key: "_removeEventHandlers",
- value: function _removeEventHandlers() {
- if (ScrollSpy._count === 0) {
- window.removeEventListener('scroll', this._handleWindowScrollBound);
- window.removeEventListener('resize', this._handleThrottledResizeBound);
- document.body.removeEventListener('click', this._handleTriggerClick);
- }
- }
-
- /**
- * Handle Trigger Click
- * @param {Event} e
- */
-
- }, {
- key: "_handleTriggerClick",
- value: function _handleTriggerClick(e) {
- var $trigger = $(e.target);
- for (var i = ScrollSpy._elements.length - 1; i >= 0; i--) {
- var scrollspy = ScrollSpy._elements[i];
- if ($trigger.is('a[href="#' + scrollspy.$el.attr('id') + '"]')) {
- e.preventDefault();
- var offset = scrollspy.$el.offset().top + 1;
-
- anim({
- targets: [document.documentElement, document.body],
- scrollTop: offset - scrollspy.options.scrollOffset,
- duration: 400,
- easing: 'easeOutCubic'
- });
- break;
- }
- }
- }
-
- /**
- * Handle Window Scroll
- */
-
- }, {
- key: "_handleWindowScroll",
- value: function _handleWindowScroll() {
- // unique tick id
- ScrollSpy._ticks++;
-
- // viewport rectangle
- var top = M.getDocumentScrollTop(),
- left = M.getDocumentScrollLeft(),
- right = left + window.innerWidth,
- bottom = top + window.innerHeight;
-
- // determine which elements are in view
- var intersections = ScrollSpy._findElements(top, right, bottom, left);
- for (var i = 0; i < intersections.length; i++) {
- var scrollspy = intersections[i];
- var lastTick = scrollspy.tickId;
- if (lastTick < 0) {
- // entered into view
- scrollspy._enter();
- }
-
- // update tick id
- scrollspy.tickId = ScrollSpy._ticks;
- }
-
- for (var _i = 0; _i < ScrollSpy._elementsInView.length; _i++) {
- var _scrollspy = ScrollSpy._elementsInView[_i];
- var _lastTick = _scrollspy.tickId;
- if (_lastTick >= 0 && _lastTick !== ScrollSpy._ticks) {
- // exited from view
- _scrollspy._exit();
- _scrollspy.tickId = -1;
- }
- }
-
- // remember elements in view for next tick
- ScrollSpy._elementsInView = intersections;
- }
-
- /**
- * Find elements that are within the boundary
- * @param {number} top
- * @param {number} right
- * @param {number} bottom
- * @param {number} left
- * @return {Array.} A collection of elements
- */
-
- }, {
- key: "_enter",
- value: function _enter() {
- ScrollSpy._visibleElements = ScrollSpy._visibleElements.filter(function (value) {
- return value.height() != 0;
- });
-
- if (ScrollSpy._visibleElements[0]) {
- $(this.options.getActiveElement(ScrollSpy._visibleElements[0].attr('id'))).removeClass(this.options.activeClass);
- if (ScrollSpy._visibleElements[0][0].M_ScrollSpy && this.id < ScrollSpy._visibleElements[0][0].M_ScrollSpy.id) {
- ScrollSpy._visibleElements.unshift(this.$el);
- } else {
- ScrollSpy._visibleElements.push(this.$el);
- }
- } else {
- ScrollSpy._visibleElements.push(this.$el);
- }
-
- $(this.options.getActiveElement(ScrollSpy._visibleElements[0].attr('id'))).addClass(this.options.activeClass);
- }
- }, {
- key: "_exit",
- value: function _exit() {
- var _this36 = this;
-
- ScrollSpy._visibleElements = ScrollSpy._visibleElements.filter(function (value) {
- return value.height() != 0;
- });
-
- if (ScrollSpy._visibleElements[0]) {
- $(this.options.getActiveElement(ScrollSpy._visibleElements[0].attr('id'))).removeClass(this.options.activeClass);
-
- ScrollSpy._visibleElements = ScrollSpy._visibleElements.filter(function (el) {
- return el.attr('id') != _this36.$el.attr('id');
- });
- if (ScrollSpy._visibleElements[0]) {
- // Check if empty
- $(this.options.getActiveElement(ScrollSpy._visibleElements[0].attr('id'))).addClass(this.options.activeClass);
- }
- }
- }
- }], [{
- key: "init",
- value: function init(els, options) {
- return _get(ScrollSpy.__proto__ || Object.getPrototypeOf(ScrollSpy), "init", this).call(this, this, els, options);
- }
-
- /**
- * Get Instance
- */
-
- }, {
- key: "getInstance",
- value: function getInstance(el) {
- var domElem = !!el.jquery ? el[0] : el;
- return domElem.M_ScrollSpy;
- }
- }, {
- key: "_findElements",
- value: function _findElements(top, right, bottom, left) {
- var hits = [];
- for (var i = 0; i < ScrollSpy._elements.length; i++) {
- var scrollspy = ScrollSpy._elements[i];
- var currTop = top + scrollspy.options.scrollOffset || 200;
-
- if (scrollspy.$el.height() > 0) {
- var elTop = scrollspy.$el.offset().top,
- elLeft = scrollspy.$el.offset().left,
- elRight = elLeft + scrollspy.$el.width(),
- elBottom = elTop + scrollspy.$el.height();
-
- var isIntersect = !(elLeft > right || elRight < left || elTop > bottom || elBottom < currTop);
-
- if (isIntersect) {
- hits.push(scrollspy);
- }
- }
- }
- return hits;
- }
- }, {
- key: "defaults",
- get: function () {
- return _defaults;
- }
- }]);
-
- return ScrollSpy;
- }(Component);
-
- /**
- * @static
- * @memberof ScrollSpy
- * @type {Array.}
- */
-
-
- ScrollSpy._elements = [];
-
- /**
- * @static
- * @memberof ScrollSpy
- * @type {Array.}
- */
- ScrollSpy._elementsInView = [];
-
- /**
- * @static
- * @memberof ScrollSpy
- * @type {Array.}
- */
- ScrollSpy._visibleElements = [];
-
- /**
- * @static
- * @memberof ScrollSpy
- */
- ScrollSpy._count = 0;
-
- /**
- * @static
- * @memberof ScrollSpy
- */
- ScrollSpy._increment = 0;
-
- /**
- * @static
- * @memberof ScrollSpy
- */
- ScrollSpy._ticks = 0;
-
- M.ScrollSpy = ScrollSpy;
-
- if (M.jQueryLoaded) {
- M.initializeJqueryWrapper(ScrollSpy, 'scrollSpy', 'M_ScrollSpy');
- }
-})(cash, M.anime);
-;(function ($) {
- 'use strict';
-
- var _defaults = {
- data: {}, // Autocomplete data set
- limit: Infinity, // Limit of results the autocomplete shows
- onAutocomplete: null, // Callback for when autocompleted
- minLength: 1, // Min characters before autocomplete starts
- sortFunction: function (a, b, inputString) {
- // Sort function for sorting autocomplete results
- return a.indexOf(inputString) - b.indexOf(inputString);
- }
- };
-
- /**
- * @class
- *
- */
-
- var Autocomplete = function (_Component10) {
- _inherits(Autocomplete, _Component10);
-
- /**
- * Construct Autocomplete instance
- * @constructor
- * @param {Element} el
- * @param {Object} options
- */
- function Autocomplete(el, options) {
- _classCallCheck(this, Autocomplete);
-
- var _this37 = _possibleConstructorReturn(this, (Autocomplete.__proto__ || Object.getPrototypeOf(Autocomplete)).call(this, Autocomplete, el, options));
-
- _this37.el.M_Autocomplete = _this37;
-
- /**
- * Options for the autocomplete
- * @member Autocomplete#options
- * @prop {Number} duration
- * @prop {Number} dist
- * @prop {number} shift
- * @prop {number} padding
- * @prop {Boolean} fullWidth
- * @prop {Boolean} indicators
- * @prop {Boolean} noWrap
- * @prop {Function} onCycleTo
- */
- _this37.options = $.extend({}, Autocomplete.defaults, options);
-
- // Setup
- _this37.isOpen = false;
- _this37.count = 0;
- _this37.activeIndex = -1;
- _this37.oldVal;
- _this37.$inputField = _this37.$el.closest('.input-field');
- _this37.$active = $();
- _this37._mousedown = false;
- _this37._setupDropdown();
-
- _this37._setupEventHandlers();
- return _this37;
- }
-
- _createClass(Autocomplete, [{
- key: "destroy",
-
-
- /**
- * Teardown component
- */
- value: function destroy() {
- this._removeEventHandlers();
- this._removeDropdown();
- this.el.M_Autocomplete = undefined;
- }
-
- /**
- * Setup Event Handlers
- */
-
- }, {
- key: "_setupEventHandlers",
- value: function _setupEventHandlers() {
- this._handleInputBlurBound = this._handleInputBlur.bind(this);
- this._handleInputKeyupAndFocusBound = this._handleInputKeyupAndFocus.bind(this);
- this._handleInputKeydownBound = this._handleInputKeydown.bind(this);
- this._handleInputClickBound = this._handleInputClick.bind(this);
- this._handleContainerMousedownAndTouchstartBound = this._handleContainerMousedownAndTouchstart.bind(this);
- this._handleContainerMouseupAndTouchendBound = this._handleContainerMouseupAndTouchend.bind(this);
-
- this.el.addEventListener('blur', this._handleInputBlurBound);
- this.el.addEventListener('keyup', this._handleInputKeyupAndFocusBound);
- this.el.addEventListener('focus', this._handleInputKeyupAndFocusBound);
- this.el.addEventListener('keydown', this._handleInputKeydownBound);
- this.el.addEventListener('click', this._handleInputClickBound);
- this.container.addEventListener('mousedown', this._handleContainerMousedownAndTouchstartBound);
- this.container.addEventListener('mouseup', this._handleContainerMouseupAndTouchendBound);
-
- if (typeof window.ontouchstart !== 'undefined') {
- this.container.addEventListener('touchstart', this._handleContainerMousedownAndTouchstartBound);
- this.container.addEventListener('touchend', this._handleContainerMouseupAndTouchendBound);
- }
- }
-
- /**
- * Remove Event Handlers
- */
-
- }, {
- key: "_removeEventHandlers",
- value: function _removeEventHandlers() {
- this.el.removeEventListener('blur', this._handleInputBlurBound);
- this.el.removeEventListener('keyup', this._handleInputKeyupAndFocusBound);
- this.el.removeEventListener('focus', this._handleInputKeyupAndFocusBound);
- this.el.removeEventListener('keydown', this._handleInputKeydownBound);
- this.el.removeEventListener('click', this._handleInputClickBound);
- this.container.removeEventListener('mousedown', this._handleContainerMousedownAndTouchstartBound);
- this.container.removeEventListener('mouseup', this._handleContainerMouseupAndTouchendBound);
-
- if (typeof window.ontouchstart !== 'undefined') {
- this.container.removeEventListener('touchstart', this._handleContainerMousedownAndTouchstartBound);
- this.container.removeEventListener('touchend', this._handleContainerMouseupAndTouchendBound);
- }
- }
-
- /**
- * Setup dropdown
- */
-
- }, {
- key: "_setupDropdown",
- value: function _setupDropdown() {
- var _this38 = this;
-
- this.container = document.createElement('ul');
- this.container.id = "autocomplete-options-" + M.guid();
- $(this.container).addClass('autocomplete-content dropdown-content');
- this.$inputField.append(this.container);
- this.el.setAttribute('data-target', this.container.id);
-
- this.dropdown = M.Dropdown.init(this.el, {
- autoFocus: false,
- closeOnClick: false,
- coverTrigger: false,
- onItemClick: function (itemEl) {
- _this38.selectOption($(itemEl));
- }
- });
-
- // Sketchy removal of dropdown click handler
- this.el.removeEventListener('click', this.dropdown._handleClickBound);
- }
-
- /**
- * Remove dropdown
- */
-
- }, {
- key: "_removeDropdown",
- value: function _removeDropdown() {
- this.container.parentNode.removeChild(this.container);
- }
-
- /**
- * Handle Input Blur
- */
-
- }, {
- key: "_handleInputBlur",
- value: function _handleInputBlur() {
- if (!this._mousedown) {
- this.close();
- this._resetAutocomplete();
- }
- }
-
- /**
- * Handle Input Keyup and Focus
- * @param {Event} e
- */
-
- }, {
- key: "_handleInputKeyupAndFocus",
- value: function _handleInputKeyupAndFocus(e) {
- if (e.type === 'keyup') {
- Autocomplete._keydown = false;
- }
-
- this.count = 0;
- var val = this.el.value.toLowerCase();
-
- // Don't capture enter or arrow key usage.
- if (e.keyCode === 13 || e.keyCode === 38 || e.keyCode === 40) {
- return;
- }
-
- // Check if the input isn't empty
- // Check if focus triggered by tab
- if (this.oldVal !== val && (M.tabPressed || e.type !== 'focus')) {
- this.open();
- }
-
- // Update oldVal
- this.oldVal = val;
- }
-
- /**
- * Handle Input Keydown
- * @param {Event} e
- */
-
- }, {
- key: "_handleInputKeydown",
- value: function _handleInputKeydown(e) {
- Autocomplete._keydown = true;
-
- // Arrow keys and enter key usage
- var keyCode = e.keyCode,
- liElement = void 0,
- numItems = $(this.container).children('li').length;
-
- // select element on Enter
- if (keyCode === M.keys.ENTER && this.activeIndex >= 0) {
- liElement = $(this.container).children('li').eq(this.activeIndex);
- if (liElement.length) {
- this.selectOption(liElement);
- e.preventDefault();
- }
- return;
- }
-
- // Capture up and down key
- if (keyCode === M.keys.ARROW_UP || keyCode === M.keys.ARROW_DOWN) {
- e.preventDefault();
-
- if (keyCode === M.keys.ARROW_UP && this.activeIndex > 0) {
- this.activeIndex--;
- }
-
- if (keyCode === M.keys.ARROW_DOWN && this.activeIndex < numItems - 1) {
- this.activeIndex++;
- }
-
- this.$active.removeClass('active');
- if (this.activeIndex >= 0) {
- this.$active = $(this.container).children('li').eq(this.activeIndex);
- this.$active.addClass('active');
- }
- }
- }
-
- /**
- * Handle Input Click
- * @param {Event} e
- */
-
- }, {
- key: "_handleInputClick",
- value: function _handleInputClick(e) {
- this.open();
- }
-
- /**
- * Handle Container Mousedown and Touchstart
- * @param {Event} e
- */
-
- }, {
- key: "_handleContainerMousedownAndTouchstart",
- value: function _handleContainerMousedownAndTouchstart(e) {
- this._mousedown = true;
- }
-
- /**
- * Handle Container Mouseup and Touchend
- * @param {Event} e
- */
-
- }, {
- key: "_handleContainerMouseupAndTouchend",
- value: function _handleContainerMouseupAndTouchend(e) {
- this._mousedown = false;
- }
-
- /**
- * Highlight partial match
- */
-
- }, {
- key: "_highlight",
- value: function _highlight(string, $el) {
- var img = $el.find('img');
- var matchStart = $el.text().toLowerCase().indexOf('' + string.toLowerCase() + ''),
- matchEnd = matchStart + string.length - 1,
- beforeMatch = $el.text().slice(0, matchStart),
- matchText = $el.text().slice(matchStart, matchEnd + 1),
- afterMatch = $el.text().slice(matchEnd + 1);
- $el.html("" + beforeMatch + "" + matchText + " " + afterMatch + " ");
- if (img.length) {
- $el.prepend(img);
- }
- }
-
- /**
- * Reset current element position
- */
-
- }, {
- key: "_resetCurrentElement",
- value: function _resetCurrentElement() {
- this.activeIndex = -1;
- this.$active.removeClass('active');
- }
-
- /**
- * Reset autocomplete elements
- */
-
- }, {
- key: "_resetAutocomplete",
- value: function _resetAutocomplete() {
- $(this.container).empty();
- this._resetCurrentElement();
- this.oldVal = null;
- this.isOpen = false;
- this._mousedown = false;
- }
-
- /**
- * Select autocomplete option
- * @param {Element} el Autocomplete option list item element
- */
-
- }, {
- key: "selectOption",
- value: function selectOption(el) {
- var text = el.text().trim();
- this.el.value = text;
- this.$el.trigger('change');
- this._resetAutocomplete();
- this.close();
-
- // Handle onAutocomplete callback.
- if (typeof this.options.onAutocomplete === 'function') {
- this.options.onAutocomplete.call(this, text);
- }
- }
-
- /**
- * Render dropdown content
- * @param {Object} data data set
- * @param {String} val current input value
- */
-
- }, {
- key: "_renderDropdown",
- value: function _renderDropdown(data, val) {
- var _this39 = this;
-
- this._resetAutocomplete();
-
- var matchingData = [];
-
- // Gather all matching data
- for (var key in data) {
- if (data.hasOwnProperty(key) && key.toLowerCase().indexOf(val) !== -1) {
- // Break if past limit
- if (this.count >= this.options.limit) {
- break;
- }
-
- var entry = {
- data: data[key],
- key: key
- };
- matchingData.push(entry);
-
- this.count++;
- }
- }
-
- // Sort
- if (this.options.sortFunction) {
- var sortFunctionBound = function (a, b) {
- return _this39.options.sortFunction(a.key.toLowerCase(), b.key.toLowerCase(), val.toLowerCase());
- };
- matchingData.sort(sortFunctionBound);
- }
-
- // Render
- for (var i = 0; i < matchingData.length; i++) {
- var _entry = matchingData[i];
- var $autocompleteOption = $(' ');
- if (!!_entry.data) {
- $autocompleteOption.append("" + _entry.key + " ");
- } else {
- $autocompleteOption.append('' + _entry.key + ' ');
- }
-
- $(this.container).append($autocompleteOption);
- this._highlight(val, $autocompleteOption);
- }
- }
-
- /**
- * Open Autocomplete Dropdown
- */
-
- }, {
- key: "open",
- value: function open() {
- var val = this.el.value.toLowerCase();
-
- this._resetAutocomplete();
-
- if (val.length >= this.options.minLength) {
- this.isOpen = true;
- this._renderDropdown(this.options.data, val);
- }
-
- // Open dropdown
- if (!this.dropdown.isOpen) {
- this.dropdown.open();
- } else {
- // Recalculate dropdown when its already open
- this.dropdown.recalculateDimensions();
- }
- }
-
- /**
- * Close Autocomplete Dropdown
- */
-
- }, {
- key: "close",
- value: function close() {
- this.dropdown.close();
- }
-
- /**
- * Update Data
- * @param {Object} data
- */
-
- }, {
- key: "updateData",
- value: function updateData(data) {
- var val = this.el.value.toLowerCase();
- this.options.data = data;
-
- if (this.isOpen) {
- this._renderDropdown(data, val);
- }
- }
- }], [{
- key: "init",
- value: function init(els, options) {
- return _get(Autocomplete.__proto__ || Object.getPrototypeOf(Autocomplete), "init", this).call(this, this, els, options);
- }
-
- /**
- * Get Instance
- */
-
- }, {
- key: "getInstance",
- value: function getInstance(el) {
- var domElem = !!el.jquery ? el[0] : el;
- return domElem.M_Autocomplete;
- }
- }, {
- key: "defaults",
- get: function () {
- return _defaults;
- }
- }]);
-
- return Autocomplete;
- }(Component);
-
- /**
- * @static
- * @memberof Autocomplete
- */
-
-
- Autocomplete._keydown = false;
-
- M.Autocomplete = Autocomplete;
-
- if (M.jQueryLoaded) {
- M.initializeJqueryWrapper(Autocomplete, 'autocomplete', 'M_Autocomplete');
- }
-})(cash);
-;(function ($) {
- // Function to update labels of text fields
- M.updateTextFields = function () {
- var input_selector = 'input[type=text], input[type=password], input[type=email], input[type=url], input[type=tel], input[type=number], input[type=search], input[type=date], input[type=time], textarea';
- $(input_selector).each(function (element, index) {
- var $this = $(this);
- if (element.value.length > 0 || $(element).is(':focus') || element.autofocus || $this.attr('placeholder') !== null) {
- $this.siblings('label').addClass('active');
- } else if (element.validity) {
- $this.siblings('label').toggleClass('active', element.validity.badInput === true);
- } else {
- $this.siblings('label').removeClass('active');
- }
- });
- };
-
- M.validate_field = function (object) {
- var hasLength = object.attr('data-length') !== null;
- var lenAttr = parseInt(object.attr('data-length'));
- var len = object[0].value.length;
-
- if (len === 0 && object[0].validity.badInput === false && !object.is(':required')) {
- if (object.hasClass('validate')) {
- object.removeClass('valid');
- object.removeClass('invalid');
- }
- } else {
- if (object.hasClass('validate')) {
- // Check for character counter attributes
- if (object.is(':valid') && hasLength && len <= lenAttr || object.is(':valid') && !hasLength) {
- object.removeClass('invalid');
- object.addClass('valid');
- } else {
- object.removeClass('valid');
- object.addClass('invalid');
- }
- }
- }
- };
-
- M.textareaAutoResize = function ($textarea) {
- // Wrap if native element
- if ($textarea instanceof Element) {
- $textarea = $($textarea);
- }
-
- if (!$textarea.length) {
- console.error('No textarea element found');
- return;
- }
-
- // Textarea Auto Resize
- var hiddenDiv = $('.hiddendiv').first();
- if (!hiddenDiv.length) {
- hiddenDiv = $('
');
- $('body').append(hiddenDiv);
- }
-
- // Set font properties of hiddenDiv
- var fontFamily = $textarea.css('font-family');
- var fontSize = $textarea.css('font-size');
- var lineHeight = $textarea.css('line-height');
-
- // Firefox can't handle padding shorthand.
- var paddingTop = $textarea.css('padding-top');
- var paddingRight = $textarea.css('padding-right');
- var paddingBottom = $textarea.css('padding-bottom');
- var paddingLeft = $textarea.css('padding-left');
-
- if (fontSize) {
- hiddenDiv.css('font-size', fontSize);
- }
- if (fontFamily) {
- hiddenDiv.css('font-family', fontFamily);
- }
- if (lineHeight) {
- hiddenDiv.css('line-height', lineHeight);
- }
- if (paddingTop) {
- hiddenDiv.css('padding-top', paddingTop);
- }
- if (paddingRight) {
- hiddenDiv.css('padding-right', paddingRight);
- }
- if (paddingBottom) {
- hiddenDiv.css('padding-bottom', paddingBottom);
- }
- if (paddingLeft) {
- hiddenDiv.css('padding-left', paddingLeft);
- }
-
- // Set original-height, if none
- if (!$textarea.data('original-height')) {
- $textarea.data('original-height', $textarea.height());
- }
-
- if ($textarea.attr('wrap') === 'off') {
- hiddenDiv.css('overflow-wrap', 'normal').css('white-space', 'pre');
- }
-
- hiddenDiv.text($textarea[0].value + '\n');
- var content = hiddenDiv.html().replace(/\n/g, ' ');
- hiddenDiv.html(content);
-
- // When textarea is hidden, width goes crazy.
- // Approximate with half of window size
-
- if ($textarea[0].offsetWidth > 0 && $textarea[0].offsetHeight > 0) {
- hiddenDiv.css('width', $textarea.width() + 'px');
- } else {
- hiddenDiv.css('width', window.innerWidth / 2 + 'px');
- }
-
- /**
- * Resize if the new height is greater than the
- * original height of the textarea
- */
- if ($textarea.data('original-height') <= hiddenDiv.innerHeight()) {
- $textarea.css('height', hiddenDiv.innerHeight() + 'px');
- } else if ($textarea[0].value.length < $textarea.data('previous-length')) {
- /**
- * In case the new height is less than original height, it
- * means the textarea has less text than before
- * So we set the height to the original one
- */
- $textarea.css('height', $textarea.data('original-height') + 'px');
- }
- $textarea.data('previous-length', $textarea[0].value.length);
- };
-
- $(document).ready(function () {
- // Text based inputs
- var input_selector = 'input[type=text], input[type=password], input[type=email], input[type=url], input[type=tel], input[type=number], input[type=search], input[type=date], input[type=time], textarea';
-
- // Add active if form auto complete
- $(document).on('change', input_selector, function () {
- if (this.value.length !== 0 || $(this).attr('placeholder') !== null) {
- $(this).siblings('label').addClass('active');
- }
- M.validate_field($(this));
- });
-
- // Add active if input element has been pre-populated on document ready
- $(document).ready(function () {
- M.updateTextFields();
- });
-
- // HTML DOM FORM RESET handling
- $(document).on('reset', function (e) {
- var formReset = $(e.target);
- if (formReset.is('form')) {
- formReset.find(input_selector).removeClass('valid').removeClass('invalid');
- formReset.find(input_selector).each(function (e) {
- if (this.value.length) {
- $(this).siblings('label').removeClass('active');
- }
- });
-
- // Reset select (after native reset)
- setTimeout(function () {
- formReset.find('select').each(function () {
- // check if initialized
- if (this.M_FormSelect) {
- $(this).trigger('change');
- }
- });
- }, 0);
- }
- });
-
- /**
- * Add active when element has focus
- * @param {Event} e
- */
- document.addEventListener('focus', function (e) {
- if ($(e.target).is(input_selector)) {
- $(e.target).siblings('label, .prefix').addClass('active');
- }
- }, true);
-
- /**
- * Remove active when element is blurred
- * @param {Event} e
- */
- document.addEventListener('blur', function (e) {
- var $inputElement = $(e.target);
- if ($inputElement.is(input_selector)) {
- var selector = '.prefix';
-
- if ($inputElement[0].value.length === 0 && $inputElement[0].validity.badInput !== true && $inputElement.attr('placeholder') === null) {
- selector += ', label';
- }
- $inputElement.siblings(selector).removeClass('active');
- M.validate_field($inputElement);
- }
- }, true);
-
- // Radio and Checkbox focus class
- var radio_checkbox = 'input[type=radio], input[type=checkbox]';
- $(document).on('keyup', radio_checkbox, function (e) {
- // TAB, check if tabbing to radio or checkbox.
- if (e.which === M.keys.TAB) {
- $(this).addClass('tabbed');
- var $this = $(this);
- $this.one('blur', function (e) {
- $(this).removeClass('tabbed');
- });
- return;
- }
- });
-
- var text_area_selector = '.materialize-textarea';
- $(text_area_selector).each(function () {
- var $textarea = $(this);
- /**
- * Resize textarea on document load after storing
- * the original height and the original length
- */
- $textarea.data('original-height', $textarea.height());
- $textarea.data('previous-length', this.value.length);
- M.textareaAutoResize($textarea);
- });
-
- $(document).on('keyup', text_area_selector, function () {
- M.textareaAutoResize($(this));
- });
- $(document).on('keydown', text_area_selector, function () {
- M.textareaAutoResize($(this));
- });
-
- // File Input Path
- $(document).on('change', '.file-field input[type="file"]', function () {
- var file_field = $(this).closest('.file-field');
- var path_input = file_field.find('input.file-path');
- var files = $(this)[0].files;
- var file_names = [];
- for (var i = 0; i < files.length; i++) {
- file_names.push(files[i].name);
- }
- path_input[0].value = file_names.join(', ');
- path_input.trigger('change');
- });
- }); // End of $(document).ready
-})(cash);
-;(function ($, anim) {
- 'use strict';
-
- var _defaults = {
- indicators: true,
- height: 400,
- duration: 500,
- interval: 6000
- };
-
- /**
- * @class
- *
- */
-
- var Slider = function (_Component11) {
- _inherits(Slider, _Component11);
-
- /**
- * Construct Slider instance and set up overlay
- * @constructor
- * @param {Element} el
- * @param {Object} options
- */
- function Slider(el, options) {
- _classCallCheck(this, Slider);
-
- var _this40 = _possibleConstructorReturn(this, (Slider.__proto__ || Object.getPrototypeOf(Slider)).call(this, Slider, el, options));
-
- _this40.el.M_Slider = _this40;
-
- /**
- * Options for the modal
- * @member Slider#options
- * @prop {Boolean} [indicators=true] - Show indicators
- * @prop {Number} [height=400] - height of slider
- * @prop {Number} [duration=500] - Length in ms of slide transition
- * @prop {Number} [interval=6000] - Length in ms of slide interval
- */
- _this40.options = $.extend({}, Slider.defaults, options);
-
- // setup
- _this40.$slider = _this40.$el.find('.slides');
- _this40.$slides = _this40.$slider.children('li');
- _this40.activeIndex = _this40.$slides.filter(function (item) {
- return $(item).hasClass('active');
- }).first().index();
- if (_this40.activeIndex != -1) {
- _this40.$active = _this40.$slides.eq(_this40.activeIndex);
- }
-
- _this40._setSliderHeight();
-
- // Set initial positions of captions
- _this40.$slides.find('.caption').each(function (el) {
- _this40._animateCaptionIn(el, 0);
- });
-
- // Move img src into background-image
- _this40.$slides.find('img').each(function (el) {
- var placeholderBase64 = 'data:image/gif;base64,R0lGODlhAQABAIABAP///wAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==';
- if ($(el).attr('src') !== placeholderBase64) {
- $(el).css('background-image', 'url("' + $(el).attr('src') + '")');
- $(el).attr('src', placeholderBase64);
- }
- });
-
- _this40._setupIndicators();
-
- // Show active slide
- if (_this40.$active) {
- _this40.$active.css('display', 'block');
- } else {
- _this40.$slides.first().addClass('active');
- anim({
- targets: _this40.$slides.first()[0],
- opacity: 1,
- duration: _this40.options.duration,
- easing: 'easeOutQuad'
- });
-
- _this40.activeIndex = 0;
- _this40.$active = _this40.$slides.eq(_this40.activeIndex);
-
- // Update indicators
- if (_this40.options.indicators) {
- _this40.$indicators.eq(_this40.activeIndex).addClass('active');
- }
- }
-
- // Adjust height to current slide
- _this40.$active.find('img').each(function (el) {
- anim({
- targets: _this40.$active.find('.caption')[0],
- opacity: 1,
- translateX: 0,
- translateY: 0,
- duration: _this40.options.duration,
- easing: 'easeOutQuad'
- });
- });
-
- _this40._setupEventHandlers();
-
- // auto scroll
- _this40.start();
- return _this40;
- }
-
- _createClass(Slider, [{
- key: "destroy",
-
-
- /**
- * Teardown component
- */
- value: function destroy() {
- this.pause();
- this._removeIndicators();
- this._removeEventHandlers();
- this.el.M_Slider = undefined;
- }
-
- /**
- * Setup Event Handlers
- */
-
- }, {
- key: "_setupEventHandlers",
- value: function _setupEventHandlers() {
- var _this41 = this;
-
- this._handleIntervalBound = this._handleInterval.bind(this);
- this._handleIndicatorClickBound = this._handleIndicatorClick.bind(this);
-
- if (this.options.indicators) {
- this.$indicators.each(function (el) {
- el.addEventListener('click', _this41._handleIndicatorClickBound);
- });
- }
- }
-
- /**
- * Remove Event Handlers
- */
-
- }, {
- key: "_removeEventHandlers",
- value: function _removeEventHandlers() {
- var _this42 = this;
-
- if (this.options.indicators) {
- this.$indicators.each(function (el) {
- el.removeEventListener('click', _this42._handleIndicatorClickBound);
- });
- }
- }
-
- /**
- * Handle indicator click
- * @param {Event} e
- */
-
- }, {
- key: "_handleIndicatorClick",
- value: function _handleIndicatorClick(e) {
- var currIndex = $(e.target).index();
- this.set(currIndex);
- }
-
- /**
- * Handle Interval
- */
-
- }, {
- key: "_handleInterval",
- value: function _handleInterval() {
- var newActiveIndex = this.$slider.find('.active').index();
- if (this.$slides.length === newActiveIndex + 1) newActiveIndex = 0;
- // loop to start
- else newActiveIndex += 1;
-
- this.set(newActiveIndex);
- }
-
- /**
- * Animate in caption
- * @param {Element} caption
- * @param {Number} duration
- */
-
- }, {
- key: "_animateCaptionIn",
- value: function _animateCaptionIn(caption, duration) {
- var animOptions = {
- targets: caption,
- opacity: 0,
- duration: duration,
- easing: 'easeOutQuad'
- };
-
- if ($(caption).hasClass('center-align')) {
- animOptions.translateY = -100;
- } else if ($(caption).hasClass('right-align')) {
- animOptions.translateX = 100;
- } else if ($(caption).hasClass('left-align')) {
- animOptions.translateX = -100;
- }
-
- anim(animOptions);
- }
-
- /**
- * Set height of slider
- */
-
- }, {
- key: "_setSliderHeight",
- value: function _setSliderHeight() {
- // If fullscreen, do nothing
- if (!this.$el.hasClass('fullscreen')) {
- if (this.options.indicators) {
- // Add height if indicators are present
- this.$el.css('height', this.options.height + 40 + 'px');
- } else {
- this.$el.css('height', this.options.height + 'px');
- }
- this.$slider.css('height', this.options.height + 'px');
- }
- }
-
- /**
- * Setup indicators
- */
-
- }, {
- key: "_setupIndicators",
- value: function _setupIndicators() {
- var _this43 = this;
-
- if (this.options.indicators) {
- this.$indicators = $('');
- this.$slides.each(function (el, index) {
- var $indicator = $(' ');
- _this43.$indicators.append($indicator[0]);
- });
- this.$el.append(this.$indicators[0]);
- this.$indicators = this.$indicators.children('li.indicator-item');
- }
- }
-
- /**
- * Remove indicators
- */
-
- }, {
- key: "_removeIndicators",
- value: function _removeIndicators() {
- this.$el.find('ul.indicators').remove();
- }
-
- /**
- * Cycle to nth item
- * @param {Number} index
- */
-
- }, {
- key: "set",
- value: function set(index) {
- var _this44 = this;
-
- // Wrap around indices.
- if (index >= this.$slides.length) index = 0;else if (index < 0) index = this.$slides.length - 1;
-
- // Only do if index changes
- if (this.activeIndex != index) {
- this.$active = this.$slides.eq(this.activeIndex);
- var $caption = this.$active.find('.caption');
- this.$active.removeClass('active');
-
- anim({
- targets: this.$active[0],
- opacity: 0,
- duration: this.options.duration,
- easing: 'easeOutQuad',
- complete: function () {
- _this44.$slides.not('.active').each(function (el) {
- anim({
- targets: el,
- opacity: 0,
- translateX: 0,
- translateY: 0,
- duration: 0,
- easing: 'easeOutQuad'
- });
- });
- }
- });
-
- this._animateCaptionIn($caption[0], this.options.duration);
-
- // Update indicators
- if (this.options.indicators) {
- this.$indicators.eq(this.activeIndex).removeClass('active');
- this.$indicators.eq(index).addClass('active');
- }
-
- anim({
- targets: this.$slides.eq(index)[0],
- opacity: 1,
- duration: this.options.duration,
- easing: 'easeOutQuad'
- });
-
- anim({
- targets: this.$slides.eq(index).find('.caption')[0],
- opacity: 1,
- translateX: 0,
- translateY: 0,
- duration: this.options.duration,
- delay: this.options.duration,
- easing: 'easeOutQuad'
- });
-
- this.$slides.eq(index).addClass('active');
- this.activeIndex = index;
-
- // Reset interval
- this.start();
- }
- }
-
- /**
- * Pause slider interval
- */
-
- }, {
- key: "pause",
- value: function pause() {
- clearInterval(this.interval);
- }
-
- /**
- * Start slider interval
- */
-
- }, {
- key: "start",
- value: function start() {
- clearInterval(this.interval);
- this.interval = setInterval(this._handleIntervalBound, this.options.duration + this.options.interval);
- }
-
- /**
- * Move to next slide
- */
-
- }, {
- key: "next",
- value: function next() {
- var newIndex = this.activeIndex + 1;
-
- // Wrap around indices.
- if (newIndex >= this.$slides.length) newIndex = 0;else if (newIndex < 0) newIndex = this.$slides.length - 1;
-
- this.set(newIndex);
- }
-
- /**
- * Move to previous slide
- */
-
- }, {
- key: "prev",
- value: function prev() {
- var newIndex = this.activeIndex - 1;
-
- // Wrap around indices.
- if (newIndex >= this.$slides.length) newIndex = 0;else if (newIndex < 0) newIndex = this.$slides.length - 1;
-
- this.set(newIndex);
- }
- }], [{
- key: "init",
- value: function init(els, options) {
- return _get(Slider.__proto__ || Object.getPrototypeOf(Slider), "init", this).call(this, this, els, options);
- }
-
- /**
- * Get Instance
- */
-
- }, {
- key: "getInstance",
- value: function getInstance(el) {
- var domElem = !!el.jquery ? el[0] : el;
- return domElem.M_Slider;
- }
- }, {
- key: "defaults",
- get: function () {
- return _defaults;
- }
- }]);
-
- return Slider;
- }(Component);
-
- M.Slider = Slider;
-
- if (M.jQueryLoaded) {
- M.initializeJqueryWrapper(Slider, 'slider', 'M_Slider');
- }
-})(cash, M.anime);
-;(function ($, anim) {
- $(document).on('click', '.card', function (e) {
- if ($(this).children('.card-reveal').length) {
- var $card = $(e.target).closest('.card');
- if ($card.data('initialOverflow') === undefined) {
- $card.data('initialOverflow', $card.css('overflow') === undefined ? '' : $card.css('overflow'));
- }
- var $cardReveal = $(this).find('.card-reveal');
- if ($(e.target).is($('.card-reveal .card-title')) || $(e.target).is($('.card-reveal .card-title i'))) {
- // Make Reveal animate down and display none
- anim({
- targets: $cardReveal[0],
- translateY: 0,
- duration: 225,
- easing: 'easeInOutQuad',
- complete: function (anim) {
- var el = anim.animatables[0].target;
- $(el).css({ display: 'none' });
- $card.css('overflow', $card.data('initialOverflow'));
- }
- });
- } else if ($(e.target).is($('.card .activator')) || $(e.target).is($('.card .activator i'))) {
- $card.css('overflow', 'hidden');
- $cardReveal.css({ display: 'block' });
- anim({
- targets: $cardReveal[0],
- translateY: '-100%',
- duration: 300,
- easing: 'easeInOutQuad'
- });
- }
- }
- });
-})(cash, M.anime);
-;(function ($) {
- 'use strict';
-
- var _defaults = {
- data: [],
- placeholder: '',
- secondaryPlaceholder: '',
- autocompleteOptions: {},
- limit: Infinity,
- onChipAdd: null,
- onChipSelect: null,
- onChipDelete: null
- };
-
- /**
- * @typedef {Object} chip
- * @property {String} tag chip tag string
- * @property {String} [image] chip avatar image string
- */
-
- /**
- * @class
- *
- */
-
- var Chips = function (_Component12) {
- _inherits(Chips, _Component12);
-
- /**
- * Construct Chips instance and set up overlay
- * @constructor
- * @param {Element} el
- * @param {Object} options
- */
- function Chips(el, options) {
- _classCallCheck(this, Chips);
-
- var _this45 = _possibleConstructorReturn(this, (Chips.__proto__ || Object.getPrototypeOf(Chips)).call(this, Chips, el, options));
-
- _this45.el.M_Chips = _this45;
-
- /**
- * Options for the modal
- * @member Chips#options
- * @prop {Array} data
- * @prop {String} placeholder
- * @prop {String} secondaryPlaceholder
- * @prop {Object} autocompleteOptions
- */
- _this45.options = $.extend({}, Chips.defaults, options);
-
- _this45.$el.addClass('chips input-field');
- _this45.chipsData = [];
- _this45.$chips = $();
- _this45._setupInput();
- _this45.hasAutocomplete = Object.keys(_this45.options.autocompleteOptions).length > 0;
-
- // Set input id
- if (!_this45.$input.attr('id')) {
- _this45.$input.attr('id', M.guid());
- }
-
- // Render initial chips
- if (_this45.options.data.length) {
- _this45.chipsData = _this45.options.data;
- _this45._renderChips(_this45.chipsData);
- }
-
- // Setup autocomplete if needed
- if (_this45.hasAutocomplete) {
- _this45._setupAutocomplete();
- }
-
- _this45._setPlaceholder();
- _this45._setupLabel();
- _this45._setupEventHandlers();
- return _this45;
- }
-
- _createClass(Chips, [{
- key: "getData",
-
-
- /**
- * Get Chips Data
- */
- value: function getData() {
- return this.chipsData;
- }
-
- /**
- * Teardown component
- */
-
- }, {
- key: "destroy",
- value: function destroy() {
- this._removeEventHandlers();
- this.$chips.remove();
- this.el.M_Chips = undefined;
- }
-
- /**
- * Setup Event Handlers
- */
-
- }, {
- key: "_setupEventHandlers",
- value: function _setupEventHandlers() {
- this._handleChipClickBound = this._handleChipClick.bind(this);
- this._handleInputKeydownBound = this._handleInputKeydown.bind(this);
- this._handleInputFocusBound = this._handleInputFocus.bind(this);
- this._handleInputBlurBound = this._handleInputBlur.bind(this);
-
- this.el.addEventListener('click', this._handleChipClickBound);
- document.addEventListener('keydown', Chips._handleChipsKeydown);
- document.addEventListener('keyup', Chips._handleChipsKeyup);
- this.el.addEventListener('blur', Chips._handleChipsBlur, true);
- this.$input[0].addEventListener('focus', this._handleInputFocusBound);
- this.$input[0].addEventListener('blur', this._handleInputBlurBound);
- this.$input[0].addEventListener('keydown', this._handleInputKeydownBound);
- }
-
- /**
- * Remove Event Handlers
- */
-
- }, {
- key: "_removeEventHandlers",
- value: function _removeEventHandlers() {
- this.el.removeEventListener('click', this._handleChipClickBound);
- document.removeEventListener('keydown', Chips._handleChipsKeydown);
- document.removeEventListener('keyup', Chips._handleChipsKeyup);
- this.el.removeEventListener('blur', Chips._handleChipsBlur, true);
- this.$input[0].removeEventListener('focus', this._handleInputFocusBound);
- this.$input[0].removeEventListener('blur', this._handleInputBlurBound);
- this.$input[0].removeEventListener('keydown', this._handleInputKeydownBound);
- }
-
- /**
- * Handle Chip Click
- * @param {Event} e
- */
-
- }, {
- key: "_handleChipClick",
- value: function _handleChipClick(e) {
- var $chip = $(e.target).closest('.chip');
- var clickedClose = $(e.target).is('.close');
- if ($chip.length) {
- var index = $chip.index();
- if (clickedClose) {
- // delete chip
- this.deleteChip(index);
- this.$input[0].focus();
- } else {
- // select chip
- this.selectChip(index);
- }
-
- // Default handle click to focus on input
- } else {
- this.$input[0].focus();
- }
- }
-
- /**
- * Handle Chips Keydown
- * @param {Event} e
- */
-
- }, {
- key: "_handleInputFocus",
-
-
- /**
- * Handle Input Focus
- */
- value: function _handleInputFocus() {
- this.$el.addClass('focus');
- }
-
- /**
- * Handle Input Blur
- */
-
- }, {
- key: "_handleInputBlur",
- value: function _handleInputBlur() {
- this.$el.removeClass('focus');
- }
-
- /**
- * Handle Input Keydown
- * @param {Event} e
- */
-
- }, {
- key: "_handleInputKeydown",
- value: function _handleInputKeydown(e) {
- Chips._keydown = true;
-
- // enter
- if (e.keyCode === 13) {
- // Override enter if autocompleting.
- if (this.hasAutocomplete && this.autocomplete && this.autocomplete.isOpen) {
- return;
- }
-
- e.preventDefault();
- this.addChip({
- tag: this.$input[0].value
- });
- this.$input[0].value = '';
-
- // delete or left
- } else if ((e.keyCode === 8 || e.keyCode === 37) && this.$input[0].value === '' && this.chipsData.length) {
- e.preventDefault();
- this.selectChip(this.chipsData.length - 1);
- }
- }
-
- /**
- * Render Chip
- * @param {chip} chip
- * @return {Element}
- */
-
- }, {
- key: "_renderChip",
- value: function _renderChip(chip) {
- if (!chip.tag) {
- return;
- }
-
- var renderedChip = document.createElement('div');
- var closeIcon = document.createElement('i');
- renderedChip.classList.add('chip');
- renderedChip.textContent = chip.tag;
- renderedChip.setAttribute('tabindex', 0);
- $(closeIcon).addClass('material-icons close');
- closeIcon.textContent = 'close';
-
- // attach image if needed
- if (chip.image) {
- var img = document.createElement('img');
- img.setAttribute('src', chip.image);
- renderedChip.insertBefore(img, renderedChip.firstChild);
- }
-
- renderedChip.appendChild(closeIcon);
- return renderedChip;
- }
-
- /**
- * Render Chips
- */
-
- }, {
- key: "_renderChips",
- value: function _renderChips() {
- this.$chips.remove();
- for (var i = 0; i < this.chipsData.length; i++) {
- var chipEl = this._renderChip(this.chipsData[i]);
- this.$el.append(chipEl);
- this.$chips.add(chipEl);
- }
-
- // move input to end
- this.$el.append(this.$input[0]);
- }
-
- /**
- * Setup Autocomplete
- */
-
- }, {
- key: "_setupAutocomplete",
- value: function _setupAutocomplete() {
- var _this46 = this;
-
- this.options.autocompleteOptions.onAutocomplete = function (val) {
- _this46.addChip({
- tag: val
- });
- _this46.$input[0].value = '';
- _this46.$input[0].focus();
- };
-
- this.autocomplete = M.Autocomplete.init(this.$input[0], this.options.autocompleteOptions);
- }
-
- /**
- * Setup Input
- */
-
- }, {
- key: "_setupInput",
- value: function _setupInput() {
- this.$input = this.$el.find('input');
- if (!this.$input.length) {
- this.$input = $(' ');
- this.$el.append(this.$input);
- }
-
- this.$input.addClass('input');
- }
-
- /**
- * Setup Label
- */
-
- }, {
- key: "_setupLabel",
- value: function _setupLabel() {
- this.$label = this.$el.find('label');
- if (this.$label.length) {
- this.$label.setAttribute('for', this.$input.attr('id'));
- }
- }
-
- /**
- * Set placeholder
- */
-
- }, {
- key: "_setPlaceholder",
- value: function _setPlaceholder() {
- if (this.chipsData !== undefined && !this.chipsData.length && this.options.placeholder) {
- $(this.$input).prop('placeholder', this.options.placeholder);
- } else if ((this.chipsData === undefined || !!this.chipsData.length) && this.options.secondaryPlaceholder) {
- $(this.$input).prop('placeholder', this.options.secondaryPlaceholder);
- }
- }
-
- /**
- * Check if chip is valid
- * @param {chip} chip
- */
-
- }, {
- key: "_isValid",
- value: function _isValid(chip) {
- if (chip.hasOwnProperty('tag') && chip.tag !== '') {
- var exists = false;
- for (var i = 0; i < this.chipsData.length; i++) {
- if (this.chipsData[i].tag === chip.tag) {
- exists = true;
- break;
- }
- }
- return !exists;
- }
-
- return false;
- }
-
- /**
- * Add chip
- * @param {chip} chip
- */
-
- }, {
- key: "addChip",
- value: function addChip(chip) {
- if (!this._isValid(chip) || this.chipsData.length >= this.options.limit) {
- return;
- }
-
- var renderedChip = this._renderChip(chip);
- this.$chips.add(renderedChip);
- this.chipsData.push(chip);
- $(this.$input).before(renderedChip);
- this._setPlaceholder();
-
- // fire chipAdd callback
- if (typeof this.options.onChipAdd === 'function') {
- this.options.onChipAdd.call(this, this.$el, renderedChip);
- }
- }
-
- /**
- * Delete chip
- * @param {Number} chip
- */
-
- }, {
- key: "deleteChip",
- value: function deleteChip(chipIndex) {
- var $chip = this.$chips.eq(chipIndex);
- this.$chips.eq(chipIndex).remove();
- this.$chips = this.$chips.filter(function (el) {
- return $(el).index() >= 0;
- });
- this.chipsData.splice(chipIndex, 1);
- this._setPlaceholder();
-
- // fire chipDelete callback
- if (typeof this.options.onChipDelete === 'function') {
- this.options.onChipDelete.call(this, this.$el, $chip[0]);
- }
- }
-
- /**
- * Select chip
- * @param {Number} chip
- */
-
- }, {
- key: "selectChip",
- value: function selectChip(chipIndex) {
- var $chip = this.$chips.eq(chipIndex);
- this._selectedChip = $chip;
- $chip[0].focus();
-
- // fire chipSelect callback
- if (typeof this.options.onChipSelect === 'function') {
- this.options.onChipSelect.call(this, this.$el, $chip[0]);
- }
- }
- }], [{
- key: "init",
- value: function init(els, options) {
- return _get(Chips.__proto__ || Object.getPrototypeOf(Chips), "init", this).call(this, this, els, options);
- }
-
- /**
- * Get Instance
- */
-
- }, {
- key: "getInstance",
- value: function getInstance(el) {
- var domElem = !!el.jquery ? el[0] : el;
- return domElem.M_Chips;
- }
- }, {
- key: "_handleChipsKeydown",
- value: function _handleChipsKeydown(e) {
- Chips._keydown = true;
-
- var $chips = $(e.target).closest('.chips');
- var chipsKeydown = e.target && $chips.length;
-
- // Don't handle keydown inputs on input and textarea
- if ($(e.target).is('input, textarea') || !chipsKeydown) {
- return;
- }
-
- var currChips = $chips[0].M_Chips;
-
- // backspace and delete
- if (e.keyCode === 8 || e.keyCode === 46) {
- e.preventDefault();
-
- var selectIndex = currChips.chipsData.length;
- if (currChips._selectedChip) {
- var index = currChips._selectedChip.index();
- currChips.deleteChip(index);
- currChips._selectedChip = null;
-
- // Make sure selectIndex doesn't go negative
- selectIndex = Math.max(index - 1, 0);
- }
-
- if (currChips.chipsData.length) {
- currChips.selectChip(selectIndex);
- }
-
- // left arrow key
- } else if (e.keyCode === 37) {
- if (currChips._selectedChip) {
- var _selectIndex = currChips._selectedChip.index() - 1;
- if (_selectIndex < 0) {
- return;
- }
- currChips.selectChip(_selectIndex);
- }
-
- // right arrow key
- } else if (e.keyCode === 39) {
- if (currChips._selectedChip) {
- var _selectIndex2 = currChips._selectedChip.index() + 1;
-
- if (_selectIndex2 >= currChips.chipsData.length) {
- currChips.$input[0].focus();
- } else {
- currChips.selectChip(_selectIndex2);
- }
- }
- }
- }
-
- /**
- * Handle Chips Keyup
- * @param {Event} e
- */
-
- }, {
- key: "_handleChipsKeyup",
- value: function _handleChipsKeyup(e) {
- Chips._keydown = false;
- }
-
- /**
- * Handle Chips Blur
- * @param {Event} e
- */
-
- }, {
- key: "_handleChipsBlur",
- value: function _handleChipsBlur(e) {
- if (!Chips._keydown) {
- var $chips = $(e.target).closest('.chips');
- var currChips = $chips[0].M_Chips;
-
- currChips._selectedChip = null;
- }
- }
- }, {
- key: "defaults",
- get: function () {
- return _defaults;
- }
- }]);
-
- return Chips;
- }(Component);
-
- /**
- * @static
- * @memberof Chips
- */
-
-
- Chips._keydown = false;
-
- M.Chips = Chips;
-
- if (M.jQueryLoaded) {
- M.initializeJqueryWrapper(Chips, 'chips', 'M_Chips');
- }
-
- $(document).ready(function () {
- // Handle removal of static chips.
- $(document.body).on('click', '.chip .close', function () {
- var $chips = $(this).closest('.chips');
- if ($chips.length && $chips[0].M_Chips) {
- return;
- }
- $(this).closest('.chip').remove();
- });
- });
-})(cash);
-;(function ($) {
- 'use strict';
-
- var _defaults = {
- top: 0,
- bottom: Infinity,
- offset: 0,
- onPositionChange: null
- };
-
- /**
- * @class
- *
- */
-
- var Pushpin = function (_Component13) {
- _inherits(Pushpin, _Component13);
-
- /**
- * Construct Pushpin instance
- * @constructor
- * @param {Element} el
- * @param {Object} options
- */
- function Pushpin(el, options) {
- _classCallCheck(this, Pushpin);
-
- var _this47 = _possibleConstructorReturn(this, (Pushpin.__proto__ || Object.getPrototypeOf(Pushpin)).call(this, Pushpin, el, options));
-
- _this47.el.M_Pushpin = _this47;
-
- /**
- * Options for the modal
- * @member Pushpin#options
- */
- _this47.options = $.extend({}, Pushpin.defaults, options);
-
- _this47.originalOffset = _this47.el.offsetTop;
- Pushpin._pushpins.push(_this47);
- _this47._setupEventHandlers();
- _this47._updatePosition();
- return _this47;
- }
-
- _createClass(Pushpin, [{
- key: "destroy",
-
-
- /**
- * Teardown component
- */
- value: function destroy() {
- this.el.style.top = null;
- this._removePinClasses();
- this._removeEventHandlers();
-
- // Remove pushpin Inst
- var index = Pushpin._pushpins.indexOf(this);
- Pushpin._pushpins.splice(index, 1);
- }
- }, {
- key: "_setupEventHandlers",
- value: function _setupEventHandlers() {
- document.addEventListener('scroll', Pushpin._updateElements);
- }
- }, {
- key: "_removeEventHandlers",
- value: function _removeEventHandlers() {
- document.removeEventListener('scroll', Pushpin._updateElements);
- }
- }, {
- key: "_updatePosition",
- value: function _updatePosition() {
- var scrolled = M.getDocumentScrollTop() + this.options.offset;
-
- if (this.options.top <= scrolled && this.options.bottom >= scrolled && !this.el.classList.contains('pinned')) {
- this._removePinClasses();
- this.el.style.top = this.options.offset + "px";
- this.el.classList.add('pinned');
-
- // onPositionChange callback
- if (typeof this.options.onPositionChange === 'function') {
- this.options.onPositionChange.call(this, 'pinned');
- }
- }
-
- // Add pin-top (when scrolled position is above top)
- if (scrolled < this.options.top && !this.el.classList.contains('pin-top')) {
- this._removePinClasses();
- this.el.style.top = 0;
- this.el.classList.add('pin-top');
-
- // onPositionChange callback
- if (typeof this.options.onPositionChange === 'function') {
- this.options.onPositionChange.call(this, 'pin-top');
- }
- }
-
- // Add pin-bottom (when scrolled position is below bottom)
- if (scrolled > this.options.bottom && !this.el.classList.contains('pin-bottom')) {
- this._removePinClasses();
- this.el.classList.add('pin-bottom');
- this.el.style.top = this.options.bottom - this.originalOffset + "px";
-
- // onPositionChange callback
- if (typeof this.options.onPositionChange === 'function') {
- this.options.onPositionChange.call(this, 'pin-bottom');
- }
- }
- }
- }, {
- key: "_removePinClasses",
- value: function _removePinClasses() {
- // IE 11 bug (can't remove multiple classes in one line)
- this.el.classList.remove('pin-top');
- this.el.classList.remove('pinned');
- this.el.classList.remove('pin-bottom');
- }
- }], [{
- key: "init",
- value: function init(els, options) {
- return _get(Pushpin.__proto__ || Object.getPrototypeOf(Pushpin), "init", this).call(this, this, els, options);
- }
-
- /**
- * Get Instance
- */
-
- }, {
- key: "getInstance",
- value: function getInstance(el) {
- var domElem = !!el.jquery ? el[0] : el;
- return domElem.M_Pushpin;
- }
- }, {
- key: "_updateElements",
- value: function _updateElements() {
- for (var elIndex in Pushpin._pushpins) {
- var pInstance = Pushpin._pushpins[elIndex];
- pInstance._updatePosition();
- }
- }
- }, {
- key: "defaults",
- get: function () {
- return _defaults;
- }
- }]);
-
- return Pushpin;
- }(Component);
-
- /**
- * @static
- * @memberof Pushpin
- */
-
-
- Pushpin._pushpins = [];
-
- M.Pushpin = Pushpin;
-
- if (M.jQueryLoaded) {
- M.initializeJqueryWrapper(Pushpin, 'pushpin', 'M_Pushpin');
- }
-})(cash);
-;(function ($, anim) {
- 'use strict';
-
- var _defaults = {
- direction: 'top',
- hoverEnabled: true,
- toolbarEnabled: false
- };
-
- $.fn.reverse = [].reverse;
-
- /**
- * @class
- *
- */
-
- var FloatingActionButton = function (_Component14) {
- _inherits(FloatingActionButton, _Component14);
-
- /**
- * Construct FloatingActionButton instance
- * @constructor
- * @param {Element} el
- * @param {Object} options
- */
- function FloatingActionButton(el, options) {
- _classCallCheck(this, FloatingActionButton);
-
- var _this48 = _possibleConstructorReturn(this, (FloatingActionButton.__proto__ || Object.getPrototypeOf(FloatingActionButton)).call(this, FloatingActionButton, el, options));
-
- _this48.el.M_FloatingActionButton = _this48;
-
- /**
- * Options for the fab
- * @member FloatingActionButton#options
- * @prop {Boolean} [direction] - Direction fab menu opens
- * @prop {Boolean} [hoverEnabled=true] - Enable hover vs click
- * @prop {Boolean} [toolbarEnabled=false] - Enable toolbar transition
- */
- _this48.options = $.extend({}, FloatingActionButton.defaults, options);
-
- _this48.isOpen = false;
- _this48.$anchor = _this48.$el.children('a').first();
- _this48.$menu = _this48.$el.children('ul').first();
- _this48.$floatingBtns = _this48.$el.find('ul .btn-floating');
- _this48.$floatingBtnsReverse = _this48.$el.find('ul .btn-floating').reverse();
- _this48.offsetY = 0;
- _this48.offsetX = 0;
-
- _this48.$el.addClass("direction-" + _this48.options.direction);
- if (_this48.options.direction === 'top') {
- _this48.offsetY = 40;
- } else if (_this48.options.direction === 'right') {
- _this48.offsetX = -40;
- } else if (_this48.options.direction === 'bottom') {
- _this48.offsetY = -40;
- } else {
- _this48.offsetX = 40;
- }
- _this48._setupEventHandlers();
- return _this48;
- }
-
- _createClass(FloatingActionButton, [{
- key: "destroy",
-
-
- /**
- * Teardown component
- */
- value: function destroy() {
- this._removeEventHandlers();
- this.el.M_FloatingActionButton = undefined;
- }
-
- /**
- * Setup Event Handlers
- */
-
- }, {
- key: "_setupEventHandlers",
- value: function _setupEventHandlers() {
- this._handleFABClickBound = this._handleFABClick.bind(this);
- this._handleOpenBound = this.open.bind(this);
- this._handleCloseBound = this.close.bind(this);
-
- if (this.options.hoverEnabled && !this.options.toolbarEnabled) {
- this.el.addEventListener('mouseenter', this._handleOpenBound);
- this.el.addEventListener('mouseleave', this._handleCloseBound);
- } else {
- this.el.addEventListener('click', this._handleFABClickBound);
- }
- }
-
- /**
- * Remove Event Handlers
- */
-
- }, {
- key: "_removeEventHandlers",
- value: function _removeEventHandlers() {
- if (this.options.hoverEnabled && !this.options.toolbarEnabled) {
- this.el.removeEventListener('mouseenter', this._handleOpenBound);
- this.el.removeEventListener('mouseleave', this._handleCloseBound);
- } else {
- this.el.removeEventListener('click', this._handleFABClickBound);
- }
- }
-
- /**
- * Handle FAB Click
- */
-
- }, {
- key: "_handleFABClick",
- value: function _handleFABClick() {
- if (this.isOpen) {
- this.close();
- } else {
- this.open();
- }
- }
-
- /**
- * Handle Document Click
- * @param {Event} e
- */
-
- }, {
- key: "_handleDocumentClick",
- value: function _handleDocumentClick(e) {
- if (!$(e.target).closest(this.$menu).length) {
- this.close();
- }
- }
-
- /**
- * Open FAB
- */
-
- }, {
- key: "open",
- value: function open() {
- if (this.isOpen) {
- return;
- }
-
- if (this.options.toolbarEnabled) {
- this._animateInToolbar();
- } else {
- this._animateInFAB();
- }
- this.isOpen = true;
- }
-
- /**
- * Close FAB
- */
-
- }, {
- key: "close",
- value: function close() {
- if (!this.isOpen) {
- return;
- }
-
- if (this.options.toolbarEnabled) {
- window.removeEventListener('scroll', this._handleCloseBound, true);
- document.body.removeEventListener('click', this._handleDocumentClickBound, true);
- this._animateOutToolbar();
- } else {
- this._animateOutFAB();
- }
- this.isOpen = false;
- }
-
- /**
- * Classic FAB Menu open
- */
-
- }, {
- key: "_animateInFAB",
- value: function _animateInFAB() {
- var _this49 = this;
-
- this.$el.addClass('active');
-
- var time = 0;
- this.$floatingBtnsReverse.each(function (el) {
- anim({
- targets: el,
- opacity: 1,
- scale: [0.4, 1],
- translateY: [_this49.offsetY, 0],
- translateX: [_this49.offsetX, 0],
- duration: 275,
- delay: time,
- easing: 'easeInOutQuad'
- });
- time += 40;
- });
- }
-
- /**
- * Classic FAB Menu close
- */
-
- }, {
- key: "_animateOutFAB",
- value: function _animateOutFAB() {
- var _this50 = this;
-
- this.$floatingBtnsReverse.each(function (el) {
- anim.remove(el);
- anim({
- targets: el,
- opacity: 0,
- scale: 0.4,
- translateY: _this50.offsetY,
- translateX: _this50.offsetX,
- duration: 175,
- easing: 'easeOutQuad',
- complete: function () {
- _this50.$el.removeClass('active');
- }
- });
- });
- }
-
- /**
- * Toolbar transition Menu open
- */
-
- }, {
- key: "_animateInToolbar",
- value: function _animateInToolbar() {
- var _this51 = this;
-
- var scaleFactor = void 0;
- var windowWidth = window.innerWidth;
- var windowHeight = window.innerHeight;
- var btnRect = this.el.getBoundingClientRect();
- var backdrop = $('
');
- var fabColor = this.$anchor.css('background-color');
- this.$anchor.append(backdrop);
-
- this.offsetX = btnRect.left - windowWidth / 2 + btnRect.width / 2;
- this.offsetY = windowHeight - btnRect.bottom;
- scaleFactor = windowWidth / backdrop[0].clientWidth;
- this.btnBottom = btnRect.bottom;
- this.btnLeft = btnRect.left;
- this.btnWidth = btnRect.width;
-
- // Set initial state
- this.$el.addClass('active');
- this.$el.css({
- 'text-align': 'center',
- width: '100%',
- bottom: 0,
- left: 0,
- transform: 'translateX(' + this.offsetX + 'px)',
- transition: 'none'
- });
- this.$anchor.css({
- transform: 'translateY(' + -this.offsetY + 'px)',
- transition: 'none'
- });
- backdrop.css({
- 'background-color': fabColor
- });
-
- setTimeout(function () {
- _this51.$el.css({
- transform: '',
- transition: 'transform .2s cubic-bezier(0.550, 0.085, 0.680, 0.530), background-color 0s linear .2s'
- });
- _this51.$anchor.css({
- overflow: 'visible',
- transform: '',
- transition: 'transform .2s'
- });
-
- setTimeout(function () {
- _this51.$el.css({
- overflow: 'hidden',
- 'background-color': fabColor
- });
- backdrop.css({
- transform: 'scale(' + scaleFactor + ')',
- transition: 'transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)'
- });
- _this51.$menu.children('li').children('a').css({
- opacity: 1
- });
-
- // Scroll to close.
- _this51._handleDocumentClickBound = _this51._handleDocumentClick.bind(_this51);
- window.addEventListener('scroll', _this51._handleCloseBound, true);
- document.body.addEventListener('click', _this51._handleDocumentClickBound, true);
- }, 100);
- }, 0);
- }
-
- /**
- * Toolbar transition Menu close
- */
-
- }, {
- key: "_animateOutToolbar",
- value: function _animateOutToolbar() {
- var _this52 = this;
-
- var windowWidth = window.innerWidth;
- var windowHeight = window.innerHeight;
- var backdrop = this.$el.find('.fab-backdrop');
- var fabColor = this.$anchor.css('background-color');
-
- this.offsetX = this.btnLeft - windowWidth / 2 + this.btnWidth / 2;
- this.offsetY = windowHeight - this.btnBottom;
-
- // Hide backdrop
- this.$el.removeClass('active');
- this.$el.css({
- 'background-color': 'transparent',
- transition: 'none'
- });
- this.$anchor.css({
- transition: 'none'
- });
- backdrop.css({
- transform: 'scale(0)',
- 'background-color': fabColor
- });
- this.$menu.children('li').children('a').css({
- opacity: ''
- });
-
- setTimeout(function () {
- backdrop.remove();
-
- // Set initial state.
- _this52.$el.css({
- 'text-align': '',
- width: '',
- bottom: '',
- left: '',
- overflow: '',
- 'background-color': '',
- transform: 'translate3d(' + -_this52.offsetX + 'px,0,0)'
- });
- _this52.$anchor.css({
- overflow: '',
- transform: 'translate3d(0,' + _this52.offsetY + 'px,0)'
- });
-
- setTimeout(function () {
- _this52.$el.css({
- transform: 'translate3d(0,0,0)',
- transition: 'transform .2s'
- });
- _this52.$anchor.css({
- transform: 'translate3d(0,0,0)',
- transition: 'transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)'
- });
- }, 20);
- }, 200);
- }
- }], [{
- key: "init",
- value: function init(els, options) {
- return _get(FloatingActionButton.__proto__ || Object.getPrototypeOf(FloatingActionButton), "init", this).call(this, this, els, options);
- }
-
- /**
- * Get Instance
- */
-
- }, {
- key: "getInstance",
- value: function getInstance(el) {
- var domElem = !!el.jquery ? el[0] : el;
- return domElem.M_FloatingActionButton;
- }
- }, {
- key: "defaults",
- get: function () {
- return _defaults;
- }
- }]);
-
- return FloatingActionButton;
- }(Component);
-
- M.FloatingActionButton = FloatingActionButton;
-
- if (M.jQueryLoaded) {
- M.initializeJqueryWrapper(FloatingActionButton, 'floatingActionButton', 'M_FloatingActionButton');
- }
-})(cash, M.anime);
-;(function ($) {
- 'use strict';
-
- var _defaults = {
- // Close when date is selected
- autoClose: false,
-
- // the default output format for the input field value
- format: 'mmm dd, yyyy',
-
- // Used to create date object from current input string
- parse: null,
-
- // The initial date to view when first opened
- defaultDate: null,
-
- // Make the `defaultDate` the initial selected value
- setDefaultDate: false,
-
- disableWeekends: false,
-
- disableDayFn: null,
-
- // First day of week (0: Sunday, 1: Monday etc)
- firstDay: 0,
-
- // The earliest date that can be selected
- minDate: null,
- // Thelatest date that can be selected
- maxDate: null,
-
- // Number of years either side, or array of upper/lower range
- yearRange: 10,
-
- // used internally (don't config outside)
- minYear: 0,
- maxYear: 9999,
- minMonth: undefined,
- maxMonth: undefined,
-
- startRange: null,
- endRange: null,
-
- isRTL: false,
-
- // Render the month after year in the calendar title
- showMonthAfterYear: false,
-
- // Render days of the calendar grid that fall in the next or previous month
- showDaysInNextAndPreviousMonths: false,
-
- // Specify a DOM element to render the calendar in
- container: null,
-
- // Show clear button
- showClearBtn: false,
-
- // internationalization
- i18n: {
- cancel: 'Cancel',
- clear: 'Clear',
- done: 'Ok',
- previousMonth: '‹',
- nextMonth: '›',
- months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
- monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
- weekdays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
- weekdaysShort: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
- weekdaysAbbrev: ['S', 'M', 'T', 'W', 'T', 'F', 'S']
- },
-
- // events array
- events: [],
-
- // callback function
- onSelect: null,
- onOpen: null,
- onClose: null,
- onDraw: null
- };
-
- /**
- * @class
- *
- */
-
- var Datepicker = function (_Component15) {
- _inherits(Datepicker, _Component15);
-
- /**
- * Construct Datepicker instance and set up overlay
- * @constructor
- * @param {Element} el
- * @param {Object} options
- */
- function Datepicker(el, options) {
- _classCallCheck(this, Datepicker);
-
- var _this53 = _possibleConstructorReturn(this, (Datepicker.__proto__ || Object.getPrototypeOf(Datepicker)).call(this, Datepicker, el, options));
-
- _this53.el.M_Datepicker = _this53;
-
- _this53.options = $.extend({}, Datepicker.defaults, options);
-
- // make sure i18n defaults are not lost when only few i18n option properties are passed
- if (!!options && options.hasOwnProperty('i18n') && typeof options.i18n === 'object') {
- _this53.options.i18n = $.extend({}, Datepicker.defaults.i18n, options.i18n);
- }
-
- // Remove time component from minDate and maxDate options
- if (_this53.options.minDate) _this53.options.minDate.setHours(0, 0, 0, 0);
- if (_this53.options.maxDate) _this53.options.maxDate.setHours(0, 0, 0, 0);
-
- _this53.id = M.guid();
-
- _this53._setupVariables();
- _this53._insertHTMLIntoDOM();
- _this53._setupModal();
-
- _this53._setupEventHandlers();
-
- if (!_this53.options.defaultDate) {
- _this53.options.defaultDate = new Date(Date.parse(_this53.el.value));
- }
-
- var defDate = _this53.options.defaultDate;
- if (Datepicker._isDate(defDate)) {
- if (_this53.options.setDefaultDate) {
- _this53.setDate(defDate, true);
- _this53.setInputValue();
- } else {
- _this53.gotoDate(defDate);
- }
- } else {
- _this53.gotoDate(new Date());
- }
-
- /**
- * Describes open/close state of datepicker
- * @type {Boolean}
- */
- _this53.isOpen = false;
- return _this53;
- }
-
- _createClass(Datepicker, [{
- key: "destroy",
-
-
- /**
- * Teardown component
- */
- value: function destroy() {
- this._removeEventHandlers();
- this.modal.destroy();
- $(this.modalEl).remove();
- this.destroySelects();
- this.el.M_Datepicker = undefined;
- }
- }, {
- key: "destroySelects",
- value: function destroySelects() {
- var oldYearSelect = this.calendarEl.querySelector('.orig-select-year');
- if (oldYearSelect) {
- M.FormSelect.getInstance(oldYearSelect).destroy();
- }
- var oldMonthSelect = this.calendarEl.querySelector('.orig-select-month');
- if (oldMonthSelect) {
- M.FormSelect.getInstance(oldMonthSelect).destroy();
- }
- }
- }, {
- key: "_insertHTMLIntoDOM",
- value: function _insertHTMLIntoDOM() {
- if (this.options.showClearBtn) {
- $(this.clearBtn).css({ visibility: '' });
- this.clearBtn.innerHTML = this.options.i18n.clear;
- }
-
- this.doneBtn.innerHTML = this.options.i18n.done;
- this.cancelBtn.innerHTML = this.options.i18n.cancel;
-
- if (this.options.container) {
- this.$modalEl.appendTo(this.options.container);
- } else {
- this.$modalEl.insertBefore(this.el);
- }
- }
- }, {
- key: "_setupModal",
- value: function _setupModal() {
- var _this54 = this;
-
- this.modalEl.id = 'modal-' + this.id;
- this.modal = M.Modal.init(this.modalEl, {
- onCloseEnd: function () {
- _this54.isOpen = false;
- }
- });
- }
- }, {
- key: "toString",
- value: function toString(format) {
- var _this55 = this;
-
- format = format || this.options.format;
- if (!Datepicker._isDate(this.date)) {
- return '';
- }
-
- var formatArray = format.split(/(d{1,4}|m{1,4}|y{4}|yy|!.)/g);
- var formattedDate = formatArray.map(function (label) {
- if (_this55.formats[label]) {
- return _this55.formats[label]();
- }
-
- return label;
- }).join('');
- return formattedDate;
- }
- }, {
- key: "setDate",
- value: function setDate(date, preventOnSelect) {
- if (!date) {
- this.date = null;
- this._renderDateDisplay();
- return this.draw();
- }
- if (typeof date === 'string') {
- date = new Date(Date.parse(date));
- }
- if (!Datepicker._isDate(date)) {
- return;
- }
-
- var min = this.options.minDate,
- max = this.options.maxDate;
-
- if (Datepicker._isDate(min) && date < min) {
- date = min;
- } else if (Datepicker._isDate(max) && date > max) {
- date = max;
- }
-
- this.date = new Date(date.getTime());
-
- this._renderDateDisplay();
-
- Datepicker._setToStartOfDay(this.date);
- this.gotoDate(this.date);
-
- if (!preventOnSelect && typeof this.options.onSelect === 'function') {
- this.options.onSelect.call(this, this.date);
- }
- }
- }, {
- key: "setInputValue",
- value: function setInputValue() {
- this.el.value = this.toString();
- this.$el.trigger('change', { firedBy: this });
- }
- }, {
- key: "_renderDateDisplay",
- value: function _renderDateDisplay() {
- var displayDate = Datepicker._isDate(this.date) ? this.date : new Date();
- var i18n = this.options.i18n;
- var day = i18n.weekdaysShort[displayDate.getDay()];
- var month = i18n.monthsShort[displayDate.getMonth()];
- var date = displayDate.getDate();
- this.yearTextEl.innerHTML = displayDate.getFullYear();
- this.dateTextEl.innerHTML = day + ", " + month + " " + date;
- }
-
- /**
- * change view to a specific date
- */
-
- }, {
- key: "gotoDate",
- value: function gotoDate(date) {
- var newCalendar = true;
-
- if (!Datepicker._isDate(date)) {
- return;
- }
-
- if (this.calendars) {
- var firstVisibleDate = new Date(this.calendars[0].year, this.calendars[0].month, 1),
- lastVisibleDate = new Date(this.calendars[this.calendars.length - 1].year, this.calendars[this.calendars.length - 1].month, 1),
- visibleDate = date.getTime();
- // get the end of the month
- lastVisibleDate.setMonth(lastVisibleDate.getMonth() + 1);
- lastVisibleDate.setDate(lastVisibleDate.getDate() - 1);
- newCalendar = visibleDate < firstVisibleDate.getTime() || lastVisibleDate.getTime() < visibleDate;
- }
-
- if (newCalendar) {
- this.calendars = [{
- month: date.getMonth(),
- year: date.getFullYear()
- }];
- }
-
- this.adjustCalendars();
- }
- }, {
- key: "adjustCalendars",
- value: function adjustCalendars() {
- this.calendars[0] = this.adjustCalendar(this.calendars[0]);
- this.draw();
- }
- }, {
- key: "adjustCalendar",
- value: function adjustCalendar(calendar) {
- if (calendar.month < 0) {
- calendar.year -= Math.ceil(Math.abs(calendar.month) / 12);
- calendar.month += 12;
- }
- if (calendar.month > 11) {
- calendar.year += Math.floor(Math.abs(calendar.month) / 12);
- calendar.month -= 12;
- }
- return calendar;
- }
- }, {
- key: "nextMonth",
- value: function nextMonth() {
- this.calendars[0].month++;
- this.adjustCalendars();
- }
- }, {
- key: "prevMonth",
- value: function prevMonth() {
- this.calendars[0].month--;
- this.adjustCalendars();
- }
- }, {
- key: "render",
- value: function render(year, month, randId) {
- var opts = this.options,
- now = new Date(),
- days = Datepicker._getDaysInMonth(year, month),
- before = new Date(year, month, 1).getDay(),
- data = [],
- row = [];
- Datepicker._setToStartOfDay(now);
- if (opts.firstDay > 0) {
- before -= opts.firstDay;
- if (before < 0) {
- before += 7;
- }
- }
- var previousMonth = month === 0 ? 11 : month - 1,
- nextMonth = month === 11 ? 0 : month + 1,
- yearOfPreviousMonth = month === 0 ? year - 1 : year,
- yearOfNextMonth = month === 11 ? year + 1 : year,
- daysInPreviousMonth = Datepicker._getDaysInMonth(yearOfPreviousMonth, previousMonth);
- var cells = days + before,
- after = cells;
- while (after > 7) {
- after -= 7;
- }
- cells += 7 - after;
- var isWeekSelected = false;
- for (var i = 0, r = 0; i < cells; i++) {
- var day = new Date(year, month, 1 + (i - before)),
- isSelected = Datepicker._isDate(this.date) ? Datepicker._compareDates(day, this.date) : false,
- isToday = Datepicker._compareDates(day, now),
- hasEvent = opts.events.indexOf(day.toDateString()) !== -1 ? true : false,
- isEmpty = i < before || i >= days + before,
- dayNumber = 1 + (i - before),
- monthNumber = month,
- yearNumber = year,
- isStartRange = opts.startRange && Datepicker._compareDates(opts.startRange, day),
- isEndRange = opts.endRange && Datepicker._compareDates(opts.endRange, day),
- isInRange = opts.startRange && opts.endRange && opts.startRange < day && day < opts.endRange,
- isDisabled = opts.minDate && day < opts.minDate || opts.maxDate && day > opts.maxDate || opts.disableWeekends && Datepicker._isWeekend(day) || opts.disableDayFn && opts.disableDayFn(day);
-
- if (isEmpty) {
- if (i < before) {
- dayNumber = daysInPreviousMonth + dayNumber;
- monthNumber = previousMonth;
- yearNumber = yearOfPreviousMonth;
- } else {
- dayNumber = dayNumber - days;
- monthNumber = nextMonth;
- yearNumber = yearOfNextMonth;
- }
- }
-
- var dayConfig = {
- day: dayNumber,
- month: monthNumber,
- year: yearNumber,
- hasEvent: hasEvent,
- isSelected: isSelected,
- isToday: isToday,
- isDisabled: isDisabled,
- isEmpty: isEmpty,
- isStartRange: isStartRange,
- isEndRange: isEndRange,
- isInRange: isInRange,
- showDaysInNextAndPreviousMonths: opts.showDaysInNextAndPreviousMonths
- };
-
- row.push(this.renderDay(dayConfig));
-
- if (++r === 7) {
- data.push(this.renderRow(row, opts.isRTL, isWeekSelected));
- row = [];
- r = 0;
- isWeekSelected = false;
- }
- }
- return this.renderTable(opts, data, randId);
- }
- }, {
- key: "renderDay",
- value: function renderDay(opts) {
- var arr = [];
- var ariaSelected = 'false';
- if (opts.isEmpty) {
- if (opts.showDaysInNextAndPreviousMonths) {
- arr.push('is-outside-current-month');
- arr.push('is-selection-disabled');
- } else {
- return ' ';
- }
- }
- if (opts.isDisabled) {
- arr.push('is-disabled');
- }
-
- if (opts.isToday) {
- arr.push('is-today');
- }
- if (opts.isSelected) {
- arr.push('is-selected');
- ariaSelected = 'true';
- }
- if (opts.hasEvent) {
- arr.push('has-event');
- }
- if (opts.isInRange) {
- arr.push('is-inrange');
- }
- if (opts.isStartRange) {
- arr.push('is-startrange');
- }
- if (opts.isEndRange) {
- arr.push('is-endrange');
- }
- return "" + ("" + opts.day + " ") + ' ';
- }
- }, {
- key: "renderRow",
- value: function renderRow(days, isRTL, isRowSelected) {
- return '' + (isRTL ? days.reverse() : days).join('') + ' ';
- }
- }, {
- key: "renderTable",
- value: function renderTable(opts, data, randId) {
- return '' + this.renderHead(opts) + this.renderBody(data) + '
';
- }
- }, {
- key: "renderHead",
- value: function renderHead(opts) {
- var i = void 0,
- arr = [];
- for (i = 0; i < 7; i++) {
- arr.push("" + this.renderDayName(opts, i, true) + " ");
- }
- return '' + (opts.isRTL ? arr.reverse() : arr).join('') + ' ';
- }
- }, {
- key: "renderBody",
- value: function renderBody(rows) {
- return '' + rows.join('') + ' ';
- }
- }, {
- key: "renderTitle",
- value: function renderTitle(instance, c, year, month, refYear, randId) {
- var i = void 0,
- j = void 0,
- arr = void 0,
- opts = this.options,
- isMinYear = year === opts.minYear,
- isMaxYear = year === opts.maxYear,
- html = '',
- monthHtml = void 0,
- yearHtml = void 0,
- prev = true,
- next = true;
-
- for (arr = [], i = 0; i < 12; i++) {
- arr.push('
opts.maxMonth ? 'disabled="disabled"' : '') + '>' + opts.i18n.months[i] + ' ');
- }
-
- monthHtml = '
' + arr.join('') + ' ';
-
- if ($.isArray(opts.yearRange)) {
- i = opts.yearRange[0];
- j = opts.yearRange[1] + 1;
- } else {
- i = year - opts.yearRange;
- j = 1 + year + opts.yearRange;
- }
-
- for (arr = []; i < j && i <= opts.maxYear; i++) {
- if (i >= opts.minYear) {
- arr.push("
" + i + " ");
- }
- }
-
- yearHtml = "
" + arr.join('') + " ";
-
- var leftArrow = '
';
- html += "
" + leftArrow + " ";
-
- html += '
';
- if (opts.showMonthAfterYear) {
- html += yearHtml + monthHtml;
- } else {
- html += monthHtml + yearHtml;
- }
- html += '
';
-
- if (isMinYear && (month === 0 || opts.minMonth >= month)) {
- prev = false;
- }
-
- if (isMaxYear && (month === 11 || opts.maxMonth <= month)) {
- next = false;
- }
-
- var rightArrow = '
';
- html += "
" + rightArrow + " ";
-
- return html += '
';
- }
-
- /**
- * refresh the HTML
- */
-
- }, {
- key: "draw",
- value: function draw(force) {
- if (!this.isOpen && !force) {
- return;
- }
- var opts = this.options,
- minYear = opts.minYear,
- maxYear = opts.maxYear,
- minMonth = opts.minMonth,
- maxMonth = opts.maxMonth,
- html = '',
- randId = void 0;
-
- if (this._y <= minYear) {
- this._y = minYear;
- if (!isNaN(minMonth) && this._m < minMonth) {
- this._m = minMonth;
- }
- }
- if (this._y >= maxYear) {
- this._y = maxYear;
- if (!isNaN(maxMonth) && this._m > maxMonth) {
- this._m = maxMonth;
- }
- }
-
- randId = 'datepicker-title-' + Math.random().toString(36).replace(/[^a-z]+/g, '').substr(0, 2);
-
- for (var c = 0; c < 1; c++) {
- this._renderDateDisplay();
- html += this.renderTitle(this, c, this.calendars[c].year, this.calendars[c].month, this.calendars[0].year, randId) + this.render(this.calendars[c].year, this.calendars[c].month, randId);
- }
-
- this.destroySelects();
-
- this.calendarEl.innerHTML = html;
-
- // Init Materialize Select
- var yearSelect = this.calendarEl.querySelector('.orig-select-year');
- var monthSelect = this.calendarEl.querySelector('.orig-select-month');
- M.FormSelect.init(yearSelect, {
- classes: 'select-year',
- dropdownOptions: { container: document.body, constrainWidth: false }
- });
- M.FormSelect.init(monthSelect, {
- classes: 'select-month',
- dropdownOptions: { container: document.body, constrainWidth: false }
- });
-
- // Add change handlers for select
- yearSelect.addEventListener('change', this._handleYearChange.bind(this));
- monthSelect.addEventListener('change', this._handleMonthChange.bind(this));
-
- if (typeof this.options.onDraw === 'function') {
- this.options.onDraw(this);
- }
- }
-
- /**
- * Setup Event Handlers
- */
-
- }, {
- key: "_setupEventHandlers",
- value: function _setupEventHandlers() {
- this._handleInputKeydownBound = this._handleInputKeydown.bind(this);
- this._handleInputClickBound = this._handleInputClick.bind(this);
- this._handleInputChangeBound = this._handleInputChange.bind(this);
- this._handleCalendarClickBound = this._handleCalendarClick.bind(this);
- this._finishSelectionBound = this._finishSelection.bind(this);
- this._handleMonthChange = this._handleMonthChange.bind(this);
- this._closeBound = this.close.bind(this);
-
- this.el.addEventListener('click', this._handleInputClickBound);
- this.el.addEventListener('keydown', this._handleInputKeydownBound);
- this.el.addEventListener('change', this._handleInputChangeBound);
- this.calendarEl.addEventListener('click', this._handleCalendarClickBound);
- this.doneBtn.addEventListener('click', this._finishSelectionBound);
- this.cancelBtn.addEventListener('click', this._closeBound);
-
- if (this.options.showClearBtn) {
- this._handleClearClickBound = this._handleClearClick.bind(this);
- this.clearBtn.addEventListener('click', this._handleClearClickBound);
- }
- }
- }, {
- key: "_setupVariables",
- value: function _setupVariables() {
- var _this56 = this;
-
- this.$modalEl = $(Datepicker._template);
- this.modalEl = this.$modalEl[0];
-
- this.calendarEl = this.modalEl.querySelector('.datepicker-calendar');
-
- this.yearTextEl = this.modalEl.querySelector('.year-text');
- this.dateTextEl = this.modalEl.querySelector('.date-text');
- if (this.options.showClearBtn) {
- this.clearBtn = this.modalEl.querySelector('.datepicker-clear');
- }
- this.doneBtn = this.modalEl.querySelector('.datepicker-done');
- this.cancelBtn = this.modalEl.querySelector('.datepicker-cancel');
-
- this.formats = {
- d: function () {
- return _this56.date.getDate();
- },
- dd: function () {
- var d = _this56.date.getDate();
- return (d < 10 ? '0' : '') + d;
- },
- ddd: function () {
- return _this56.options.i18n.weekdaysShort[_this56.date.getDay()];
- },
- dddd: function () {
- return _this56.options.i18n.weekdays[_this56.date.getDay()];
- },
- m: function () {
- return _this56.date.getMonth() + 1;
- },
- mm: function () {
- var m = _this56.date.getMonth() + 1;
- return (m < 10 ? '0' : '') + m;
- },
- mmm: function () {
- return _this56.options.i18n.monthsShort[_this56.date.getMonth()];
- },
- mmmm: function () {
- return _this56.options.i18n.months[_this56.date.getMonth()];
- },
- yy: function () {
- return ('' + _this56.date.getFullYear()).slice(2);
- },
- yyyy: function () {
- return _this56.date.getFullYear();
- }
- };
- }
-
- /**
- * Remove Event Handlers
- */
-
- }, {
- key: "_removeEventHandlers",
- value: function _removeEventHandlers() {
- this.el.removeEventListener('click', this._handleInputClickBound);
- this.el.removeEventListener('keydown', this._handleInputKeydownBound);
- this.el.removeEventListener('change', this._handleInputChangeBound);
- this.calendarEl.removeEventListener('click', this._handleCalendarClickBound);
- }
- }, {
- key: "_handleInputClick",
- value: function _handleInputClick() {
- this.open();
- }
- }, {
- key: "_handleInputKeydown",
- value: function _handleInputKeydown(e) {
- if (e.which === M.keys.ENTER) {
- e.preventDefault();
- this.open();
- }
- }
- }, {
- key: "_handleCalendarClick",
- value: function _handleCalendarClick(e) {
- if (!this.isOpen) {
- return;
- }
-
- var $target = $(e.target);
- if (!$target.hasClass('is-disabled')) {
- if ($target.hasClass('datepicker-day-button') && !$target.hasClass('is-empty') && !$target.parent().hasClass('is-disabled')) {
- this.setDate(new Date(e.target.getAttribute('data-year'), e.target.getAttribute('data-month'), e.target.getAttribute('data-day')));
- if (this.options.autoClose) {
- this._finishSelection();
- }
- } else if ($target.closest('.month-prev').length) {
- this.prevMonth();
- } else if ($target.closest('.month-next').length) {
- this.nextMonth();
- }
- }
- }
- }, {
- key: "_handleClearClick",
- value: function _handleClearClick() {
- this.date = null;
- this.setInputValue();
- this.close();
- }
- }, {
- key: "_handleMonthChange",
- value: function _handleMonthChange(e) {
- this.gotoMonth(e.target.value);
- }
- }, {
- key: "_handleYearChange",
- value: function _handleYearChange(e) {
- this.gotoYear(e.target.value);
- }
-
- /**
- * change view to a specific month (zero-index, e.g. 0: January)
- */
-
- }, {
- key: "gotoMonth",
- value: function gotoMonth(month) {
- if (!isNaN(month)) {
- this.calendars[0].month = parseInt(month, 10);
- this.adjustCalendars();
- }
- }
-
- /**
- * change view to a specific full year (e.g. "2012")
- */
-
- }, {
- key: "gotoYear",
- value: function gotoYear(year) {
- if (!isNaN(year)) {
- this.calendars[0].year = parseInt(year, 10);
- this.adjustCalendars();
- }
- }
- }, {
- key: "_handleInputChange",
- value: function _handleInputChange(e) {
- var date = void 0;
-
- // Prevent change event from being fired when triggered by the plugin
- if (e.firedBy === this) {
- return;
- }
- if (this.options.parse) {
- date = this.options.parse(this.el.value, this.options.format);
- } else {
- date = new Date(Date.parse(this.el.value));
- }
-
- if (Datepicker._isDate(date)) {
- this.setDate(date);
- }
- }
- }, {
- key: "renderDayName",
- value: function renderDayName(opts, day, abbr) {
- day += opts.firstDay;
- while (day >= 7) {
- day -= 7;
- }
- return abbr ? opts.i18n.weekdaysAbbrev[day] : opts.i18n.weekdays[day];
- }
-
- /**
- * Set input value to the selected date and close Datepicker
- */
-
- }, {
- key: "_finishSelection",
- value: function _finishSelection() {
- this.setInputValue();
- this.close();
- }
-
- /**
- * Open Datepicker
- */
-
- }, {
- key: "open",
- value: function open() {
- if (this.isOpen) {
- return;
- }
-
- this.isOpen = true;
- if (typeof this.options.onOpen === 'function') {
- this.options.onOpen.call(this);
- }
- this.draw();
- this.modal.open();
- return this;
- }
-
- /**
- * Close Datepicker
- */
-
- }, {
- key: "close",
- value: function close() {
- if (!this.isOpen) {
- return;
- }
-
- this.isOpen = false;
- if (typeof this.options.onClose === 'function') {
- this.options.onClose.call(this);
- }
- this.modal.close();
- return this;
- }
- }], [{
- key: "init",
- value: function init(els, options) {
- return _get(Datepicker.__proto__ || Object.getPrototypeOf(Datepicker), "init", this).call(this, this, els, options);
- }
- }, {
- key: "_isDate",
- value: function _isDate(obj) {
- return (/Date/.test(Object.prototype.toString.call(obj)) && !isNaN(obj.getTime())
- );
- }
- }, {
- key: "_isWeekend",
- value: function _isWeekend(date) {
- var day = date.getDay();
- return day === 0 || day === 6;
- }
- }, {
- key: "_setToStartOfDay",
- value: function _setToStartOfDay(date) {
- if (Datepicker._isDate(date)) date.setHours(0, 0, 0, 0);
- }
- }, {
- key: "_getDaysInMonth",
- value: function _getDaysInMonth(year, month) {
- return [31, Datepicker._isLeapYear(year) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month];
- }
- }, {
- key: "_isLeapYear",
- value: function _isLeapYear(year) {
- // solution by Matti Virkkunen: http://stackoverflow.com/a/4881951
- return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;
- }
- }, {
- key: "_compareDates",
- value: function _compareDates(a, b) {
- // weak date comparison (use setToStartOfDay(date) to ensure correct result)
- return a.getTime() === b.getTime();
- }
- }, {
- key: "_setToStartOfDay",
- value: function _setToStartOfDay(date) {
- if (Datepicker._isDate(date)) date.setHours(0, 0, 0, 0);
- }
-
- /**
- * Get Instance
- */
-
- }, {
- key: "getInstance",
- value: function getInstance(el) {
- var domElem = !!el.jquery ? el[0] : el;
- return domElem.M_Datepicker;
- }
- }, {
- key: "defaults",
- get: function () {
- return _defaults;
- }
- }]);
-
- return Datepicker;
- }(Component);
-
- Datepicker._template = [''].join('');
-
- M.Datepicker = Datepicker;
-
- if (M.jQueryLoaded) {
- M.initializeJqueryWrapper(Datepicker, 'datepicker', 'M_Datepicker');
- }
-})(cash);
-;(function ($) {
- 'use strict';
-
- var _defaults = {
- dialRadius: 135,
- outerRadius: 105,
- innerRadius: 70,
- tickRadius: 20,
- duration: 350,
- container: null,
- defaultTime: 'now', // default time, 'now' or '13:14' e.g.
- fromNow: 0, // Millisecond offset from the defaultTime
- showClearBtn: false,
-
- // internationalization
- i18n: {
- cancel: 'Cancel',
- clear: 'Clear',
- done: 'Ok'
- },
-
- autoClose: false, // auto close when minute is selected
- twelveHour: true, // change to 12 hour AM/PM clock from 24 hour
- vibrate: true, // vibrate the device when dragging clock hand
-
- // Callbacks
- onOpenStart: null,
- onOpenEnd: null,
- onCloseStart: null,
- onCloseEnd: null,
- onSelect: null
- };
-
- /**
- * @class
- *
- */
-
- var Timepicker = function (_Component16) {
- _inherits(Timepicker, _Component16);
-
- function Timepicker(el, options) {
- _classCallCheck(this, Timepicker);
-
- var _this57 = _possibleConstructorReturn(this, (Timepicker.__proto__ || Object.getPrototypeOf(Timepicker)).call(this, Timepicker, el, options));
-
- _this57.el.M_Timepicker = _this57;
-
- _this57.options = $.extend({}, Timepicker.defaults, options);
-
- _this57.id = M.guid();
- _this57._insertHTMLIntoDOM();
- _this57._setupModal();
- _this57._setupVariables();
- _this57._setupEventHandlers();
-
- _this57._clockSetup();
- _this57._pickerSetup();
- return _this57;
- }
-
- _createClass(Timepicker, [{
- key: "destroy",
-
-
- /**
- * Teardown component
- */
- value: function destroy() {
- this._removeEventHandlers();
- this.modal.destroy();
- $(this.modalEl).remove();
- this.el.M_Timepicker = undefined;
- }
-
- /**
- * Setup Event Handlers
- */
-
- }, {
- key: "_setupEventHandlers",
- value: function _setupEventHandlers() {
- this._handleInputKeydownBound = this._handleInputKeydown.bind(this);
- this._handleInputClickBound = this._handleInputClick.bind(this);
- this._handleClockClickStartBound = this._handleClockClickStart.bind(this);
- this._handleDocumentClickMoveBound = this._handleDocumentClickMove.bind(this);
- this._handleDocumentClickEndBound = this._handleDocumentClickEnd.bind(this);
-
- this.el.addEventListener('click', this._handleInputClickBound);
- this.el.addEventListener('keydown', this._handleInputKeydownBound);
- this.plate.addEventListener('mousedown', this._handleClockClickStartBound);
- this.plate.addEventListener('touchstart', this._handleClockClickStartBound);
-
- $(this.spanHours).on('click', this.showView.bind(this, 'hours'));
- $(this.spanMinutes).on('click', this.showView.bind(this, 'minutes'));
- }
- }, {
- key: "_removeEventHandlers",
- value: function _removeEventHandlers() {
- this.el.removeEventListener('click', this._handleInputClickBound);
- this.el.removeEventListener('keydown', this._handleInputKeydownBound);
- }
- }, {
- key: "_handleInputClick",
- value: function _handleInputClick() {
- this.open();
- }
- }, {
- key: "_handleInputKeydown",
- value: function _handleInputKeydown(e) {
- if (e.which === M.keys.ENTER) {
- e.preventDefault();
- this.open();
- }
- }
- }, {
- key: "_handleClockClickStart",
- value: function _handleClockClickStart(e) {
- e.preventDefault();
- var clockPlateBR = this.plate.getBoundingClientRect();
- var offset = { x: clockPlateBR.left, y: clockPlateBR.top };
-
- this.x0 = offset.x + this.options.dialRadius;
- this.y0 = offset.y + this.options.dialRadius;
- this.moved = false;
- var clickPos = Timepicker._Pos(e);
- this.dx = clickPos.x - this.x0;
- this.dy = clickPos.y - this.y0;
-
- // Set clock hands
- this.setHand(this.dx, this.dy, false);
-
- // Mousemove on document
- document.addEventListener('mousemove', this._handleDocumentClickMoveBound);
- document.addEventListener('touchmove', this._handleDocumentClickMoveBound);
-
- // Mouseup on document
- document.addEventListener('mouseup', this._handleDocumentClickEndBound);
- document.addEventListener('touchend', this._handleDocumentClickEndBound);
- }
- }, {
- key: "_handleDocumentClickMove",
- value: function _handleDocumentClickMove(e) {
- e.preventDefault();
- var clickPos = Timepicker._Pos(e);
- var x = clickPos.x - this.x0;
- var y = clickPos.y - this.y0;
- this.moved = true;
- this.setHand(x, y, false, true);
- }
- }, {
- key: "_handleDocumentClickEnd",
- value: function _handleDocumentClickEnd(e) {
- var _this58 = this;
-
- e.preventDefault();
- document.removeEventListener('mouseup', this._handleDocumentClickEndBound);
- document.removeEventListener('touchend', this._handleDocumentClickEndBound);
- var clickPos = Timepicker._Pos(e);
- var x = clickPos.x - this.x0;
- var y = clickPos.y - this.y0;
- if (this.moved && x === this.dx && y === this.dy) {
- this.setHand(x, y);
- }
-
- if (this.currentView === 'hours') {
- this.showView('minutes', this.options.duration / 2);
- } else if (this.options.autoClose) {
- $(this.minutesView).addClass('timepicker-dial-out');
- setTimeout(function () {
- _this58.done();
- }, this.options.duration / 2);
- }
-
- if (typeof this.options.onSelect === 'function') {
- this.options.onSelect.call(this, this.hours, this.minutes);
- }
-
- // Unbind mousemove event
- document.removeEventListener('mousemove', this._handleDocumentClickMoveBound);
- document.removeEventListener('touchmove', this._handleDocumentClickMoveBound);
- }
- }, {
- key: "_insertHTMLIntoDOM",
- value: function _insertHTMLIntoDOM() {
- this.$modalEl = $(Timepicker._template);
- this.modalEl = this.$modalEl[0];
- this.modalEl.id = 'modal-' + this.id;
-
- // Append popover to input by default
- var containerEl = document.querySelector(this.options.container);
- if (this.options.container && !!containerEl) {
- this.$modalEl.appendTo(containerEl);
- } else {
- this.$modalEl.insertBefore(this.el);
- }
- }
- }, {
- key: "_setupModal",
- value: function _setupModal() {
- var _this59 = this;
-
- this.modal = M.Modal.init(this.modalEl, {
- onOpenStart: this.options.onOpenStart,
- onOpenEnd: this.options.onOpenEnd,
- onCloseStart: this.options.onCloseStart,
- onCloseEnd: function () {
- if (typeof _this59.options.onCloseEnd === 'function') {
- _this59.options.onCloseEnd.call(_this59);
- }
- _this59.isOpen = false;
- }
- });
- }
- }, {
- key: "_setupVariables",
- value: function _setupVariables() {
- this.currentView = 'hours';
- this.vibrate = navigator.vibrate ? 'vibrate' : navigator.webkitVibrate ? 'webkitVibrate' : null;
-
- this._canvas = this.modalEl.querySelector('.timepicker-canvas');
- this.plate = this.modalEl.querySelector('.timepicker-plate');
-
- this.hoursView = this.modalEl.querySelector('.timepicker-hours');
- this.minutesView = this.modalEl.querySelector('.timepicker-minutes');
- this.spanHours = this.modalEl.querySelector('.timepicker-span-hours');
- this.spanMinutes = this.modalEl.querySelector('.timepicker-span-minutes');
- this.spanAmPm = this.modalEl.querySelector('.timepicker-span-am-pm');
- this.footer = this.modalEl.querySelector('.timepicker-footer');
- this.amOrPm = 'PM';
- }
- }, {
- key: "_pickerSetup",
- value: function _pickerSetup() {
- var $clearBtn = $("" + this.options.i18n.clear + " ").appendTo(this.footer).on('click', this.clear.bind(this));
- if (this.options.showClearBtn) {
- $clearBtn.css({ visibility: '' });
- }
-
- var confirmationBtnsContainer = $('
');
- $('' + this.options.i18n.cancel + ' ').appendTo(confirmationBtnsContainer).on('click', this.close.bind(this));
- $('' + this.options.i18n.done + ' ').appendTo(confirmationBtnsContainer).on('click', this.done.bind(this));
- confirmationBtnsContainer.appendTo(this.footer);
- }
- }, {
- key: "_clockSetup",
- value: function _clockSetup() {
- if (this.options.twelveHour) {
- this.$amBtn = $('AM
');
- this.$pmBtn = $('PM
');
- this.$amBtn.on('click', this._handleAmPmClick.bind(this)).appendTo(this.spanAmPm);
- this.$pmBtn.on('click', this._handleAmPmClick.bind(this)).appendTo(this.spanAmPm);
- }
-
- this._buildHoursView();
- this._buildMinutesView();
- this._buildSVGClock();
- }
- }, {
- key: "_buildSVGClock",
- value: function _buildSVGClock() {
- // Draw clock hands and others
- var dialRadius = this.options.dialRadius;
- var tickRadius = this.options.tickRadius;
- var diameter = dialRadius * 2;
-
- var svg = Timepicker._createSVGEl('svg');
- svg.setAttribute('class', 'timepicker-svg');
- svg.setAttribute('width', diameter);
- svg.setAttribute('height', diameter);
- var g = Timepicker._createSVGEl('g');
- g.setAttribute('transform', 'translate(' + dialRadius + ',' + dialRadius + ')');
- var bearing = Timepicker._createSVGEl('circle');
- bearing.setAttribute('class', 'timepicker-canvas-bearing');
- bearing.setAttribute('cx', 0);
- bearing.setAttribute('cy', 0);
- bearing.setAttribute('r', 4);
- var hand = Timepicker._createSVGEl('line');
- hand.setAttribute('x1', 0);
- hand.setAttribute('y1', 0);
- var bg = Timepicker._createSVGEl('circle');
- bg.setAttribute('class', 'timepicker-canvas-bg');
- bg.setAttribute('r', tickRadius);
- g.appendChild(hand);
- g.appendChild(bg);
- g.appendChild(bearing);
- svg.appendChild(g);
- this._canvas.appendChild(svg);
-
- this.hand = hand;
- this.bg = bg;
- this.bearing = bearing;
- this.g = g;
- }
- }, {
- key: "_buildHoursView",
- value: function _buildHoursView() {
- var $tick = $('
');
- // Hours view
- if (this.options.twelveHour) {
- for (var i = 1; i < 13; i += 1) {
- var tick = $tick.clone();
- var radian = i / 6 * Math.PI;
- var radius = this.options.outerRadius;
- tick.css({
- left: this.options.dialRadius + Math.sin(radian) * radius - this.options.tickRadius + 'px',
- top: this.options.dialRadius - Math.cos(radian) * radius - this.options.tickRadius + 'px'
- });
- tick.html(i === 0 ? '00' : i);
- this.hoursView.appendChild(tick[0]);
- // tick.on(mousedownEvent, mousedown);
- }
- } else {
- for (var _i2 = 0; _i2 < 24; _i2 += 1) {
- var _tick = $tick.clone();
- var _radian = _i2 / 6 * Math.PI;
- var inner = _i2 > 0 && _i2 < 13;
- var _radius = inner ? this.options.innerRadius : this.options.outerRadius;
- _tick.css({
- left: this.options.dialRadius + Math.sin(_radian) * _radius - this.options.tickRadius + 'px',
- top: this.options.dialRadius - Math.cos(_radian) * _radius - this.options.tickRadius + 'px'
- });
- _tick.html(_i2 === 0 ? '00' : _i2);
- this.hoursView.appendChild(_tick[0]);
- // tick.on(mousedownEvent, mousedown);
- }
- }
- }
- }, {
- key: "_buildMinutesView",
- value: function _buildMinutesView() {
- var $tick = $('
');
- // Minutes view
- for (var i = 0; i < 60; i += 5) {
- var tick = $tick.clone();
- var radian = i / 30 * Math.PI;
- tick.css({
- left: this.options.dialRadius + Math.sin(radian) * this.options.outerRadius - this.options.tickRadius + 'px',
- top: this.options.dialRadius - Math.cos(radian) * this.options.outerRadius - this.options.tickRadius + 'px'
- });
- tick.html(Timepicker._addLeadingZero(i));
- this.minutesView.appendChild(tick[0]);
- }
- }
- }, {
- key: "_handleAmPmClick",
- value: function _handleAmPmClick(e) {
- var $btnClicked = $(e.target);
- this.amOrPm = $btnClicked.hasClass('am-btn') ? 'AM' : 'PM';
- this._updateAmPmView();
- }
- }, {
- key: "_updateAmPmView",
- value: function _updateAmPmView() {
- if (this.options.twelveHour) {
- this.$amBtn.toggleClass('text-primary', this.amOrPm === 'AM');
- this.$pmBtn.toggleClass('text-primary', this.amOrPm === 'PM');
- }
- }
- }, {
- key: "_updateTimeFromInput",
- value: function _updateTimeFromInput() {
- // Get the time
- var value = ((this.el.value || this.options.defaultTime || '') + '').split(':');
- if (this.options.twelveHour && !(typeof value[1] === 'undefined')) {
- if (value[1].toUpperCase().indexOf('AM') > 0) {
- this.amOrPm = 'AM';
- } else {
- this.amOrPm = 'PM';
- }
- value[1] = value[1].replace('AM', '').replace('PM', '');
- }
- if (value[0] === 'now') {
- var now = new Date(+new Date() + this.options.fromNow);
- value = [now.getHours(), now.getMinutes()];
- if (this.options.twelveHour) {
- this.amOrPm = value[0] >= 12 && value[0] < 24 ? 'PM' : 'AM';
- }
- }
- this.hours = +value[0] || 0;
- this.minutes = +value[1] || 0;
- this.spanHours.innerHTML = this.hours;
- this.spanMinutes.innerHTML = Timepicker._addLeadingZero(this.minutes);
-
- this._updateAmPmView();
- }
- }, {
- key: "showView",
- value: function showView(view, delay) {
- if (view === 'minutes' && $(this.hoursView).css('visibility') === 'visible') {
- // raiseCallback(this.options.beforeHourSelect);
- }
- var isHours = view === 'hours',
- nextView = isHours ? this.hoursView : this.minutesView,
- hideView = isHours ? this.minutesView : this.hoursView;
- this.currentView = view;
-
- $(this.spanHours).toggleClass('text-primary', isHours);
- $(this.spanMinutes).toggleClass('text-primary', !isHours);
-
- // Transition view
- hideView.classList.add('timepicker-dial-out');
- $(nextView).css('visibility', 'visible').removeClass('timepicker-dial-out');
-
- // Reset clock hand
- this.resetClock(delay);
-
- // After transitions ended
- clearTimeout(this.toggleViewTimer);
- this.toggleViewTimer = setTimeout(function () {
- $(hideView).css('visibility', 'hidden');
- }, this.options.duration);
- }
- }, {
- key: "resetClock",
- value: function resetClock(delay) {
- var view = this.currentView,
- value = this[view],
- isHours = view === 'hours',
- unit = Math.PI / (isHours ? 6 : 30),
- radian = value * unit,
- radius = isHours && value > 0 && value < 13 ? this.options.innerRadius : this.options.outerRadius,
- x = Math.sin(radian) * radius,
- y = -Math.cos(radian) * radius,
- self = this;
-
- if (delay) {
- $(this.canvas).addClass('timepicker-canvas-out');
- setTimeout(function () {
- $(self.canvas).removeClass('timepicker-canvas-out');
- self.setHand(x, y);
- }, delay);
- } else {
- this.setHand(x, y);
- }
- }
- }, {
- key: "setHand",
- value: function setHand(x, y, roundBy5) {
- var _this60 = this;
-
- var radian = Math.atan2(x, -y),
- isHours = this.currentView === 'hours',
- unit = Math.PI / (isHours || roundBy5 ? 6 : 30),
- z = Math.sqrt(x * x + y * y),
- inner = isHours && z < (this.options.outerRadius + this.options.innerRadius) / 2,
- radius = inner ? this.options.innerRadius : this.options.outerRadius;
-
- if (this.options.twelveHour) {
- radius = this.options.outerRadius;
- }
-
- // Radian should in range [0, 2PI]
- if (radian < 0) {
- radian = Math.PI * 2 + radian;
- }
-
- // Get the round value
- var value = Math.round(radian / unit);
-
- // Get the round radian
- radian = value * unit;
-
- // Correct the hours or minutes
- if (this.options.twelveHour) {
- if (isHours) {
- if (value === 0) value = 12;
- } else {
- if (roundBy5) value *= 5;
- if (value === 60) value = 0;
- }
- } else {
- if (isHours) {
- if (value === 12) {
- value = 0;
- }
- value = inner ? value === 0 ? 12 : value : value === 0 ? 0 : value + 12;
- } else {
- if (roundBy5) {
- value *= 5;
- }
- if (value === 60) {
- value = 0;
- }
- }
- }
-
- // Once hours or minutes changed, vibrate the device
- if (this[this.currentView] !== value) {
- if (this.vibrate && this.options.vibrate) {
- // Do not vibrate too frequently
- if (!this.vibrateTimer) {
- navigator[this.vibrate](10);
- this.vibrateTimer = setTimeout(function () {
- _this60.vibrateTimer = null;
- }, 100);
- }
- }
- }
-
- this[this.currentView] = value;
- if (isHours) {
- this['spanHours'].innerHTML = value;
- } else {
- this['spanMinutes'].innerHTML = Timepicker._addLeadingZero(value);
- }
-
- // Set clock hand and others' position
- var cx1 = Math.sin(radian) * (radius - this.options.tickRadius),
- cy1 = -Math.cos(radian) * (radius - this.options.tickRadius),
- cx2 = Math.sin(radian) * radius,
- cy2 = -Math.cos(radian) * radius;
- this.hand.setAttribute('x2', cx1);
- this.hand.setAttribute('y2', cy1);
- this.bg.setAttribute('cx', cx2);
- this.bg.setAttribute('cy', cy2);
- }
- }, {
- key: "open",
- value: function open() {
- if (this.isOpen) {
- return;
- }
-
- this.isOpen = true;
- this._updateTimeFromInput();
- this.showView('hours');
-
- this.modal.open();
- }
- }, {
- key: "close",
- value: function close() {
- if (!this.isOpen) {
- return;
- }
-
- this.isOpen = false;
- this.modal.close();
- }
-
- /**
- * Finish timepicker selection.
- */
-
- }, {
- key: "done",
- value: function done(e, clearValue) {
- // Set input value
- var last = this.el.value;
- var value = clearValue ? '' : Timepicker._addLeadingZero(this.hours) + ':' + Timepicker._addLeadingZero(this.minutes);
- this.time = value;
- if (!clearValue && this.options.twelveHour) {
- value = value + " " + this.amOrPm;
- }
- this.el.value = value;
-
- // Trigger change event
- if (value !== last) {
- this.$el.trigger('change');
- }
-
- this.close();
- this.el.focus();
- }
- }, {
- key: "clear",
- value: function clear() {
- this.done(null, true);
- }
- }], [{
- key: "init",
- value: function init(els, options) {
- return _get(Timepicker.__proto__ || Object.getPrototypeOf(Timepicker), "init", this).call(this, this, els, options);
- }
- }, {
- key: "_addLeadingZero",
- value: function _addLeadingZero(num) {
- return (num < 10 ? '0' : '') + num;
- }
- }, {
- key: "_createSVGEl",
- value: function _createSVGEl(name) {
- var svgNS = 'http://www.w3.org/2000/svg';
- return document.createElementNS(svgNS, name);
- }
-
- /**
- * @typedef {Object} Point
- * @property {number} x The X Coordinate
- * @property {number} y The Y Coordinate
- */
-
- /**
- * Get x position of mouse or touch event
- * @param {Event} e
- * @return {Point} x and y location
- */
-
- }, {
- key: "_Pos",
- value: function _Pos(e) {
- if (e.targetTouches && e.targetTouches.length >= 1) {
- return { x: e.targetTouches[0].clientX, y: e.targetTouches[0].clientY };
- }
- // mouse event
- return { x: e.clientX, y: e.clientY };
- }
-
- /**
- * Get Instance
- */
-
- }, {
- key: "getInstance",
- value: function getInstance(el) {
- var domElem = !!el.jquery ? el[0] : el;
- return domElem.M_Timepicker;
- }
- }, {
- key: "defaults",
- get: function () {
- return _defaults;
- }
- }]);
-
- return Timepicker;
- }(Component);
-
- Timepicker._template = ['', '
', '
', '
', '
', ' ', ':', ' ', '
', '
', '
', '
', '
', '
', '
'].join('');
-
- M.Timepicker = Timepicker;
-
- if (M.jQueryLoaded) {
- M.initializeJqueryWrapper(Timepicker, 'timepicker', 'M_Timepicker');
- }
-})(cash);
-;(function ($) {
- 'use strict';
-
- var _defaults = {};
-
- /**
- * @class
- *
- */
-
- var CharacterCounter = function (_Component17) {
- _inherits(CharacterCounter, _Component17);
-
- /**
- * Construct CharacterCounter instance
- * @constructor
- * @param {Element} el
- * @param {Object} options
- */
- function CharacterCounter(el, options) {
- _classCallCheck(this, CharacterCounter);
-
- var _this61 = _possibleConstructorReturn(this, (CharacterCounter.__proto__ || Object.getPrototypeOf(CharacterCounter)).call(this, CharacterCounter, el, options));
-
- _this61.el.M_CharacterCounter = _this61;
-
- /**
- * Options for the character counter
- */
- _this61.options = $.extend({}, CharacterCounter.defaults, options);
-
- _this61.isInvalid = false;
- _this61.isValidLength = false;
- _this61._setupCounter();
- _this61._setupEventHandlers();
- return _this61;
- }
-
- _createClass(CharacterCounter, [{
- key: "destroy",
-
-
- /**
- * Teardown component
- */
- value: function destroy() {
- this._removeEventHandlers();
- this.el.CharacterCounter = undefined;
- this._removeCounter();
- }
-
- /**
- * Setup Event Handlers
- */
-
- }, {
- key: "_setupEventHandlers",
- value: function _setupEventHandlers() {
- this._handleUpdateCounterBound = this.updateCounter.bind(this);
-
- this.el.addEventListener('focus', this._handleUpdateCounterBound, true);
- this.el.addEventListener('input', this._handleUpdateCounterBound, true);
- }
-
- /**
- * Remove Event Handlers
- */
-
- }, {
- key: "_removeEventHandlers",
- value: function _removeEventHandlers() {
- this.el.removeEventListener('focus', this._handleUpdateCounterBound, true);
- this.el.removeEventListener('input', this._handleUpdateCounterBound, true);
- }
-
- /**
- * Setup counter element
- */
-
- }, {
- key: "_setupCounter",
- value: function _setupCounter() {
- this.counterEl = document.createElement('span');
- $(this.counterEl).addClass('character-counter').css({
- float: 'right',
- 'font-size': '12px',
- height: 1
- });
-
- this.$el.parent().append(this.counterEl);
- }
-
- /**
- * Remove counter element
- */
-
- }, {
- key: "_removeCounter",
- value: function _removeCounter() {
- $(this.counterEl).remove();
- }
-
- /**
- * Update counter
- */
-
- }, {
- key: "updateCounter",
- value: function updateCounter() {
- var maxLength = +this.$el.attr('data-length'),
- actualLength = this.el.value.length;
- this.isValidLength = actualLength <= maxLength;
- var counterString = actualLength;
-
- if (maxLength) {
- counterString += '/' + maxLength;
- this._validateInput();
- }
-
- $(this.counterEl).html(counterString);
- }
-
- /**
- * Add validation classes
- */
-
- }, {
- key: "_validateInput",
- value: function _validateInput() {
- if (this.isValidLength && this.isInvalid) {
- this.isInvalid = false;
- this.$el.removeClass('invalid');
- } else if (!this.isValidLength && !this.isInvalid) {
- this.isInvalid = true;
- this.$el.removeClass('valid');
- this.$el.addClass('invalid');
- }
- }
- }], [{
- key: "init",
- value: function init(els, options) {
- return _get(CharacterCounter.__proto__ || Object.getPrototypeOf(CharacterCounter), "init", this).call(this, this, els, options);
- }
-
- /**
- * Get Instance
- */
-
- }, {
- key: "getInstance",
- value: function getInstance(el) {
- var domElem = !!el.jquery ? el[0] : el;
- return domElem.M_CharacterCounter;
- }
- }, {
- key: "defaults",
- get: function () {
- return _defaults;
- }
- }]);
-
- return CharacterCounter;
- }(Component);
-
- M.CharacterCounter = CharacterCounter;
-
- if (M.jQueryLoaded) {
- M.initializeJqueryWrapper(CharacterCounter, 'characterCounter', 'M_CharacterCounter');
- }
-})(cash);
-;(function ($) {
- 'use strict';
-
- var _defaults = {
- duration: 200, // ms
- dist: -100, // zoom scale TODO: make this more intuitive as an option
- shift: 0, // spacing for center image
- padding: 0, // Padding between non center items
- numVisible: 5, // Number of visible items in carousel
- fullWidth: false, // Change to full width styles
- indicators: false, // Toggle indicators
- noWrap: false, // Don't wrap around and cycle through items.
- onCycleTo: null // Callback for when a new slide is cycled to.
- };
-
- /**
- * @class
- *
- */
-
- var Carousel = function (_Component18) {
- _inherits(Carousel, _Component18);
-
- /**
- * Construct Carousel instance
- * @constructor
- * @param {Element} el
- * @param {Object} options
- */
- function Carousel(el, options) {
- _classCallCheck(this, Carousel);
-
- var _this62 = _possibleConstructorReturn(this, (Carousel.__proto__ || Object.getPrototypeOf(Carousel)).call(this, Carousel, el, options));
-
- _this62.el.M_Carousel = _this62;
-
- /**
- * Options for the carousel
- * @member Carousel#options
- * @prop {Number} duration
- * @prop {Number} dist
- * @prop {Number} shift
- * @prop {Number} padding
- * @prop {Number} numVisible
- * @prop {Boolean} fullWidth
- * @prop {Boolean} indicators
- * @prop {Boolean} noWrap
- * @prop {Function} onCycleTo
- */
- _this62.options = $.extend({}, Carousel.defaults, options);
-
- // Setup
- _this62.hasMultipleSlides = _this62.$el.find('.carousel-item').length > 1;
- _this62.showIndicators = _this62.options.indicators && _this62.hasMultipleSlides;
- _this62.noWrap = _this62.options.noWrap || !_this62.hasMultipleSlides;
- _this62.pressed = false;
- _this62.dragged = false;
- _this62.offset = _this62.target = 0;
- _this62.images = [];
- _this62.itemWidth = _this62.$el.find('.carousel-item').first().innerWidth();
- _this62.itemHeight = _this62.$el.find('.carousel-item').first().innerHeight();
- _this62.dim = _this62.itemWidth * 2 + _this62.options.padding || 1; // Make sure dim is non zero for divisions.
- _this62._autoScrollBound = _this62._autoScroll.bind(_this62);
- _this62._trackBound = _this62._track.bind(_this62);
-
- // Full Width carousel setup
- if (_this62.options.fullWidth) {
- _this62.options.dist = 0;
- _this62._setCarouselHeight();
-
- // Offset fixed items when indicators.
- if (_this62.showIndicators) {
- _this62.$el.find('.carousel-fixed-item').addClass('with-indicators');
- }
- }
-
- // Iterate through slides
- _this62.$indicators = $('');
- _this62.$el.find('.carousel-item').each(function (el, i) {
- _this62.images.push(el);
- if (_this62.showIndicators) {
- var $indicator = $(' ');
-
- // Add active to first by default.
- if (i === 0) {
- $indicator[0].classList.add('active');
- }
-
- _this62.$indicators.append($indicator);
- }
- });
- if (_this62.showIndicators) {
- _this62.$el.append(_this62.$indicators);
- }
- _this62.count = _this62.images.length;
-
- // Cap numVisible at count
- _this62.options.numVisible = Math.min(_this62.count, _this62.options.numVisible);
-
- // Setup cross browser string
- _this62.xform = 'transform';
- ['webkit', 'Moz', 'O', 'ms'].every(function (prefix) {
- var e = prefix + 'Transform';
- if (typeof document.body.style[e] !== 'undefined') {
- _this62.xform = e;
- return false;
- }
- return true;
- });
-
- _this62._setupEventHandlers();
- _this62._scroll(_this62.offset);
- return _this62;
- }
-
- _createClass(Carousel, [{
- key: "destroy",
-
-
- /**
- * Teardown component
- */
- value: function destroy() {
- this._removeEventHandlers();
- this.el.M_Carousel = undefined;
- }
-
- /**
- * Setup Event Handlers
- */
-
- }, {
- key: "_setupEventHandlers",
- value: function _setupEventHandlers() {
- var _this63 = this;
-
- this._handleCarouselTapBound = this._handleCarouselTap.bind(this);
- this._handleCarouselDragBound = this._handleCarouselDrag.bind(this);
- this._handleCarouselReleaseBound = this._handleCarouselRelease.bind(this);
- this._handleCarouselClickBound = this._handleCarouselClick.bind(this);
-
- if (typeof window.ontouchstart !== 'undefined') {
- this.el.addEventListener('touchstart', this._handleCarouselTapBound);
- this.el.addEventListener('touchmove', this._handleCarouselDragBound);
- this.el.addEventListener('touchend', this._handleCarouselReleaseBound);
- }
-
- this.el.addEventListener('mousedown', this._handleCarouselTapBound);
- this.el.addEventListener('mousemove', this._handleCarouselDragBound);
- this.el.addEventListener('mouseup', this._handleCarouselReleaseBound);
- this.el.addEventListener('mouseleave', this._handleCarouselReleaseBound);
- this.el.addEventListener('click', this._handleCarouselClickBound);
-
- if (this.showIndicators && this.$indicators) {
- this._handleIndicatorClickBound = this._handleIndicatorClick.bind(this);
- this.$indicators.find('.indicator-item').each(function (el, i) {
- el.addEventListener('click', _this63._handleIndicatorClickBound);
- });
- }
-
- // Resize
- var throttledResize = M.throttle(this._handleResize, 200);
- this._handleThrottledResizeBound = throttledResize.bind(this);
-
- window.addEventListener('resize', this._handleThrottledResizeBound);
- }
-
- /**
- * Remove Event Handlers
- */
-
- }, {
- key: "_removeEventHandlers",
- value: function _removeEventHandlers() {
- var _this64 = this;
-
- if (typeof window.ontouchstart !== 'undefined') {
- this.el.removeEventListener('touchstart', this._handleCarouselTapBound);
- this.el.removeEventListener('touchmove', this._handleCarouselDragBound);
- this.el.removeEventListener('touchend', this._handleCarouselReleaseBound);
- }
- this.el.removeEventListener('mousedown', this._handleCarouselTapBound);
- this.el.removeEventListener('mousemove', this._handleCarouselDragBound);
- this.el.removeEventListener('mouseup', this._handleCarouselReleaseBound);
- this.el.removeEventListener('mouseleave', this._handleCarouselReleaseBound);
- this.el.removeEventListener('click', this._handleCarouselClickBound);
-
- if (this.showIndicators && this.$indicators) {
- this.$indicators.find('.indicator-item').each(function (el, i) {
- el.removeEventListener('click', _this64._handleIndicatorClickBound);
- });
- }
-
- window.removeEventListener('resize', this._handleThrottledResizeBound);
- }
-
- /**
- * Handle Carousel Tap
- * @param {Event} e
- */
-
- }, {
- key: "_handleCarouselTap",
- value: function _handleCarouselTap(e) {
- // Fixes firefox draggable image bug
- if (e.type === 'mousedown' && $(e.target).is('img')) {
- e.preventDefault();
- }
- this.pressed = true;
- this.dragged = false;
- this.verticalDragged = false;
- this.reference = this._xpos(e);
- this.referenceY = this._ypos(e);
-
- this.velocity = this.amplitude = 0;
- this.frame = this.offset;
- this.timestamp = Date.now();
- clearInterval(this.ticker);
- this.ticker = setInterval(this._trackBound, 100);
- }
-
- /**
- * Handle Carousel Drag
- * @param {Event} e
- */
-
- }, {
- key: "_handleCarouselDrag",
- value: function _handleCarouselDrag(e) {
- var x = void 0,
- y = void 0,
- delta = void 0,
- deltaY = void 0;
- if (this.pressed) {
- x = this._xpos(e);
- y = this._ypos(e);
- delta = this.reference - x;
- deltaY = Math.abs(this.referenceY - y);
- if (deltaY < 30 && !this.verticalDragged) {
- // If vertical scrolling don't allow dragging.
- if (delta > 2 || delta < -2) {
- this.dragged = true;
- this.reference = x;
- this._scroll(this.offset + delta);
- }
- } else if (this.dragged) {
- // If dragging don't allow vertical scroll.
- e.preventDefault();
- e.stopPropagation();
- return false;
- } else {
- // Vertical scrolling.
- this.verticalDragged = true;
- }
- }
-
- if (this.dragged) {
- // If dragging don't allow vertical scroll.
- e.preventDefault();
- e.stopPropagation();
- return false;
- }
- }
-
- /**
- * Handle Carousel Release
- * @param {Event} e
- */
-
- }, {
- key: "_handleCarouselRelease",
- value: function _handleCarouselRelease(e) {
- if (this.pressed) {
- this.pressed = false;
- } else {
- return;
- }
-
- clearInterval(this.ticker);
- this.target = this.offset;
- if (this.velocity > 10 || this.velocity < -10) {
- this.amplitude = 0.9 * this.velocity;
- this.target = this.offset + this.amplitude;
- }
- this.target = Math.round(this.target / this.dim) * this.dim;
-
- // No wrap of items.
- if (this.noWrap) {
- if (this.target >= this.dim * (this.count - 1)) {
- this.target = this.dim * (this.count - 1);
- } else if (this.target < 0) {
- this.target = 0;
- }
- }
- this.amplitude = this.target - this.offset;
- this.timestamp = Date.now();
- requestAnimationFrame(this._autoScrollBound);
-
- if (this.dragged) {
- e.preventDefault();
- e.stopPropagation();
- }
- return false;
- }
-
- /**
- * Handle Carousel CLick
- * @param {Event} e
- */
-
- }, {
- key: "_handleCarouselClick",
- value: function _handleCarouselClick(e) {
- // Disable clicks if carousel was dragged.
- if (this.dragged) {
- e.preventDefault();
- e.stopPropagation();
- return false;
- } else if (!this.options.fullWidth) {
- var clickedIndex = $(e.target).closest('.carousel-item').index();
- var diff = this._wrap(this.center) - clickedIndex;
-
- // Disable clicks if carousel was shifted by click
- if (diff !== 0) {
- e.preventDefault();
- e.stopPropagation();
- }
- this._cycleTo(clickedIndex);
- }
- }
-
- /**
- * Handle Indicator CLick
- * @param {Event} e
- */
-
- }, {
- key: "_handleIndicatorClick",
- value: function _handleIndicatorClick(e) {
- e.stopPropagation();
-
- var indicator = $(e.target).closest('.indicator-item');
- if (indicator.length) {
- this._cycleTo(indicator.index());
- }
- }
-
- /**
- * Handle Throttle Resize
- * @param {Event} e
- */
-
- }, {
- key: "_handleResize",
- value: function _handleResize(e) {
- if (this.options.fullWidth) {
- this.itemWidth = this.$el.find('.carousel-item').first().innerWidth();
- this.imageHeight = this.$el.find('.carousel-item.active').height();
- this.dim = this.itemWidth * 2 + this.options.padding;
- this.offset = this.center * 2 * this.itemWidth;
- this.target = this.offset;
- this._setCarouselHeight(true);
- } else {
- this._scroll();
- }
- }
-
- /**
- * Set carousel height based on first slide
- * @param {Booleam} imageOnly - true for image slides
- */
-
- }, {
- key: "_setCarouselHeight",
- value: function _setCarouselHeight(imageOnly) {
- var _this65 = this;
-
- var firstSlide = this.$el.find('.carousel-item.active').length ? this.$el.find('.carousel-item.active').first() : this.$el.find('.carousel-item').first();
- var firstImage = firstSlide.find('img').first();
- if (firstImage.length) {
- if (firstImage[0].complete) {
- // If image won't trigger the load event
- var imageHeight = firstImage.height();
- if (imageHeight > 0) {
- this.$el.css('height', imageHeight + 'px');
- } else {
- // If image still has no height, use the natural dimensions to calculate
- var naturalWidth = firstImage[0].naturalWidth;
- var naturalHeight = firstImage[0].naturalHeight;
- var adjustedHeight = this.$el.width() / naturalWidth * naturalHeight;
- this.$el.css('height', adjustedHeight + 'px');
- }
- } else {
- // Get height when image is loaded normally
- firstImage.one('load', function (el, i) {
- _this65.$el.css('height', el.offsetHeight + 'px');
- });
- }
- } else if (!imageOnly) {
- var slideHeight = firstSlide.height();
- this.$el.css('height', slideHeight + 'px');
- }
- }
-
- /**
- * Get x position from event
- * @param {Event} e
- */
-
- }, {
- key: "_xpos",
- value: function _xpos(e) {
- // touch event
- if (e.targetTouches && e.targetTouches.length >= 1) {
- return e.targetTouches[0].clientX;
- }
-
- // mouse event
- return e.clientX;
- }
-
- /**
- * Get y position from event
- * @param {Event} e
- */
-
- }, {
- key: "_ypos",
- value: function _ypos(e) {
- // touch event
- if (e.targetTouches && e.targetTouches.length >= 1) {
- return e.targetTouches[0].clientY;
- }
-
- // mouse event
- return e.clientY;
- }
-
- /**
- * Wrap index
- * @param {Number} x
- */
-
- }, {
- key: "_wrap",
- value: function _wrap(x) {
- return x >= this.count ? x % this.count : x < 0 ? this._wrap(this.count + x % this.count) : x;
- }
-
- /**
- * Tracks scrolling information
- */
-
- }, {
- key: "_track",
- value: function _track() {
- var now = void 0,
- elapsed = void 0,
- delta = void 0,
- v = void 0;
-
- now = Date.now();
- elapsed = now - this.timestamp;
- this.timestamp = now;
- delta = this.offset - this.frame;
- this.frame = this.offset;
-
- v = 1000 * delta / (1 + elapsed);
- this.velocity = 0.8 * v + 0.2 * this.velocity;
- }
-
- /**
- * Auto scrolls to nearest carousel item.
- */
-
- }, {
- key: "_autoScroll",
- value: function _autoScroll() {
- var elapsed = void 0,
- delta = void 0;
-
- if (this.amplitude) {
- elapsed = Date.now() - this.timestamp;
- delta = this.amplitude * Math.exp(-elapsed / this.options.duration);
- if (delta > 2 || delta < -2) {
- this._scroll(this.target - delta);
- requestAnimationFrame(this._autoScrollBound);
- } else {
- this._scroll(this.target);
- }
- }
- }
-
- /**
- * Scroll to target
- * @param {Number} x
- */
-
- }, {
- key: "_scroll",
- value: function _scroll(x) {
- var _this66 = this;
-
- // Track scrolling state
- if (!this.$el.hasClass('scrolling')) {
- this.el.classList.add('scrolling');
- }
- if (this.scrollingTimeout != null) {
- window.clearTimeout(this.scrollingTimeout);
- }
- this.scrollingTimeout = window.setTimeout(function () {
- _this66.$el.removeClass('scrolling');
- }, this.options.duration);
-
- // Start actual scroll
- var i = void 0,
- half = void 0,
- delta = void 0,
- dir = void 0,
- tween = void 0,
- el = void 0,
- alignment = void 0,
- zTranslation = void 0,
- tweenedOpacity = void 0,
- centerTweenedOpacity = void 0;
- var lastCenter = this.center;
- var numVisibleOffset = 1 / this.options.numVisible;
-
- this.offset = typeof x === 'number' ? x : this.offset;
- this.center = Math.floor((this.offset + this.dim / 2) / this.dim);
- delta = this.offset - this.center * this.dim;
- dir = delta < 0 ? 1 : -1;
- tween = -dir * delta * 2 / this.dim;
- half = this.count >> 1;
-
- if (this.options.fullWidth) {
- alignment = 'translateX(0)';
- centerTweenedOpacity = 1;
- } else {
- alignment = 'translateX(' + (this.el.clientWidth - this.itemWidth) / 2 + 'px) ';
- alignment += 'translateY(' + (this.el.clientHeight - this.itemHeight) / 2 + 'px)';
- centerTweenedOpacity = 1 - numVisibleOffset * tween;
- }
-
- // Set indicator active
- if (this.showIndicators) {
- var diff = this.center % this.count;
- var activeIndicator = this.$indicators.find('.indicator-item.active');
- if (activeIndicator.index() !== diff) {
- activeIndicator.removeClass('active');
- this.$indicators.find('.indicator-item').eq(diff)[0].classList.add('active');
- }
- }
-
- // center
- // Don't show wrapped items.
- if (!this.noWrap || this.center >= 0 && this.center < this.count) {
- el = this.images[this._wrap(this.center)];
-
- // Add active class to center item.
- if (!$(el).hasClass('active')) {
- this.$el.find('.carousel-item').removeClass('active');
- el.classList.add('active');
- }
- var transformString = alignment + " translateX(" + -delta / 2 + "px) translateX(" + dir * this.options.shift * tween * i + "px) translateZ(" + this.options.dist * tween + "px)";
- this._updateItemStyle(el, centerTweenedOpacity, 0, transformString);
- }
-
- for (i = 1; i <= half; ++i) {
- // right side
- if (this.options.fullWidth) {
- zTranslation = this.options.dist;
- tweenedOpacity = i === half && delta < 0 ? 1 - tween : 1;
- } else {
- zTranslation = this.options.dist * (i * 2 + tween * dir);
- tweenedOpacity = 1 - numVisibleOffset * (i * 2 + tween * dir);
- }
- // Don't show wrapped items.
- if (!this.noWrap || this.center + i < this.count) {
- el = this.images[this._wrap(this.center + i)];
- var _transformString = alignment + " translateX(" + (this.options.shift + (this.dim * i - delta) / 2) + "px) translateZ(" + zTranslation + "px)";
- this._updateItemStyle(el, tweenedOpacity, -i, _transformString);
- }
-
- // left side
- if (this.options.fullWidth) {
- zTranslation = this.options.dist;
- tweenedOpacity = i === half && delta > 0 ? 1 - tween : 1;
- } else {
- zTranslation = this.options.dist * (i * 2 - tween * dir);
- tweenedOpacity = 1 - numVisibleOffset * (i * 2 - tween * dir);
- }
- // Don't show wrapped items.
- if (!this.noWrap || this.center - i >= 0) {
- el = this.images[this._wrap(this.center - i)];
- var _transformString2 = alignment + " translateX(" + (-this.options.shift + (-this.dim * i - delta) / 2) + "px) translateZ(" + zTranslation + "px)";
- this._updateItemStyle(el, tweenedOpacity, -i, _transformString2);
- }
- }
-
- // center
- // Don't show wrapped items.
- if (!this.noWrap || this.center >= 0 && this.center < this.count) {
- el = this.images[this._wrap(this.center)];
- var _transformString3 = alignment + " translateX(" + -delta / 2 + "px) translateX(" + dir * this.options.shift * tween + "px) translateZ(" + this.options.dist * tween + "px)";
- this._updateItemStyle(el, centerTweenedOpacity, 0, _transformString3);
- }
-
- // onCycleTo callback
- var $currItem = this.$el.find('.carousel-item').eq(this._wrap(this.center));
- if (lastCenter !== this.center && typeof this.options.onCycleTo === 'function') {
- this.options.onCycleTo.call(this, $currItem[0], this.dragged);
- }
-
- // One time callback
- if (typeof this.oneTimeCallback === 'function') {
- this.oneTimeCallback.call(this, $currItem[0], this.dragged);
- this.oneTimeCallback = null;
- }
- }
-
- /**
- * Cycle to target
- * @param {Element} el
- * @param {Number} opacity
- * @param {Number} zIndex
- * @param {String} transform
- */
-
- }, {
- key: "_updateItemStyle",
- value: function _updateItemStyle(el, opacity, zIndex, transform) {
- el.style[this.xform] = transform;
- el.style.zIndex = zIndex;
- el.style.opacity = opacity;
- el.style.visibility = 'visible';
- }
-
- /**
- * Cycle to target
- * @param {Number} n
- * @param {Function} callback
- */
-
- }, {
- key: "_cycleTo",
- value: function _cycleTo(n, callback) {
- var diff = this.center % this.count - n;
-
- // Account for wraparound.
- if (!this.noWrap) {
- if (diff < 0) {
- if (Math.abs(diff + this.count) < Math.abs(diff)) {
- diff += this.count;
- }
- } else if (diff > 0) {
- if (Math.abs(diff - this.count) < diff) {
- diff -= this.count;
- }
- }
- }
-
- this.target = this.dim * Math.round(this.offset / this.dim);
- // Next
- if (diff < 0) {
- this.target += this.dim * Math.abs(diff);
-
- // Prev
- } else if (diff > 0) {
- this.target -= this.dim * diff;
- }
-
- // Set one time callback
- if (typeof callback === 'function') {
- this.oneTimeCallback = callback;
- }
-
- // Scroll
- if (this.offset !== this.target) {
- this.amplitude = this.target - this.offset;
- this.timestamp = Date.now();
- requestAnimationFrame(this._autoScrollBound);
- }
- }
-
- /**
- * Cycle to next item
- * @param {Number} [n]
- */
-
- }, {
- key: "next",
- value: function next(n) {
- if (n === undefined || isNaN(n)) {
- n = 1;
- }
-
- var index = this.center + n;
- if (index >= this.count || index < 0) {
- if (this.noWrap) {
- return;
- }
-
- index = this._wrap(index);
- }
- this._cycleTo(index);
- }
-
- /**
- * Cycle to previous item
- * @param {Number} [n]
- */
-
- }, {
- key: "prev",
- value: function prev(n) {
- if (n === undefined || isNaN(n)) {
- n = 1;
- }
-
- var index = this.center - n;
- if (index >= this.count || index < 0) {
- if (this.noWrap) {
- return;
- }
-
- index = this._wrap(index);
- }
-
- this._cycleTo(index);
- }
-
- /**
- * Cycle to nth item
- * @param {Number} [n]
- * @param {Function} callback
- */
-
- }, {
- key: "set",
- value: function set(n, callback) {
- if (n === undefined || isNaN(n)) {
- n = 0;
- }
-
- if (n > this.count || n < 0) {
- if (this.noWrap) {
- return;
- }
-
- n = this._wrap(n);
- }
-
- this._cycleTo(n, callback);
- }
- }], [{
- key: "init",
- value: function init(els, options) {
- return _get(Carousel.__proto__ || Object.getPrototypeOf(Carousel), "init", this).call(this, this, els, options);
- }
-
- /**
- * Get Instance
- */
-
- }, {
- key: "getInstance",
- value: function getInstance(el) {
- var domElem = !!el.jquery ? el[0] : el;
- return domElem.M_Carousel;
- }
- }, {
- key: "defaults",
- get: function () {
- return _defaults;
- }
- }]);
-
- return Carousel;
- }(Component);
-
- M.Carousel = Carousel;
-
- if (M.jQueryLoaded) {
- M.initializeJqueryWrapper(Carousel, 'carousel', 'M_Carousel');
- }
-})(cash);
-;(function ($) {
- 'use strict';
-
- var _defaults = {
- onOpen: undefined,
- onClose: undefined
- };
-
- /**
- * @class
- *
- */
-
- var TapTarget = function (_Component19) {
- _inherits(TapTarget, _Component19);
-
- /**
- * Construct TapTarget instance
- * @constructor
- * @param {Element} el
- * @param {Object} options
- */
- function TapTarget(el, options) {
- _classCallCheck(this, TapTarget);
-
- var _this67 = _possibleConstructorReturn(this, (TapTarget.__proto__ || Object.getPrototypeOf(TapTarget)).call(this, TapTarget, el, options));
-
- _this67.el.M_TapTarget = _this67;
-
- /**
- * Options for the select
- * @member TapTarget#options
- * @prop {Function} onOpen - Callback function called when feature discovery is opened
- * @prop {Function} onClose - Callback function called when feature discovery is closed
- */
- _this67.options = $.extend({}, TapTarget.defaults, options);
-
- _this67.isOpen = false;
-
- // setup
- _this67.$origin = $('#' + _this67.$el.attr('data-target'));
- _this67._setup();
-
- _this67._calculatePositioning();
- _this67._setupEventHandlers();
- return _this67;
- }
-
- _createClass(TapTarget, [{
- key: "destroy",
-
-
- /**
- * Teardown component
- */
- value: function destroy() {
- this._removeEventHandlers();
- this.el.TapTarget = undefined;
- }
-
- /**
- * Setup Event Handlers
- */
-
- }, {
- key: "_setupEventHandlers",
- value: function _setupEventHandlers() {
- this._handleDocumentClickBound = this._handleDocumentClick.bind(this);
- this._handleTargetClickBound = this._handleTargetClick.bind(this);
- this._handleOriginClickBound = this._handleOriginClick.bind(this);
-
- this.el.addEventListener('click', this._handleTargetClickBound);
- this.originEl.addEventListener('click', this._handleOriginClickBound);
-
- // Resize
- var throttledResize = M.throttle(this._handleResize, 200);
- this._handleThrottledResizeBound = throttledResize.bind(this);
-
- window.addEventListener('resize', this._handleThrottledResizeBound);
- }
-
- /**
- * Remove Event Handlers
- */
-
- }, {
- key: "_removeEventHandlers",
- value: function _removeEventHandlers() {
- this.el.removeEventListener('click', this._handleTargetClickBound);
- this.originEl.removeEventListener('click', this._handleOriginClickBound);
- window.removeEventListener('resize', this._handleThrottledResizeBound);
- }
-
- /**
- * Handle Target Click
- * @param {Event} e
- */
-
- }, {
- key: "_handleTargetClick",
- value: function _handleTargetClick(e) {
- this.open();
- }
-
- /**
- * Handle Origin Click
- * @param {Event} e
- */
-
- }, {
- key: "_handleOriginClick",
- value: function _handleOriginClick(e) {
- this.close();
- }
-
- /**
- * Handle Resize
- * @param {Event} e
- */
-
- }, {
- key: "_handleResize",
- value: function _handleResize(e) {
- this._calculatePositioning();
- }
-
- /**
- * Handle Resize
- * @param {Event} e
- */
-
- }, {
- key: "_handleDocumentClick",
- value: function _handleDocumentClick(e) {
- if (!$(e.target).closest('.tap-target-wrapper').length) {
- this.close();
- e.preventDefault();
- e.stopPropagation();
- }
- }
-
- /**
- * Setup Tap Target
- */
-
- }, {
- key: "_setup",
- value: function _setup() {
- // Creating tap target
- this.wrapper = this.$el.parent()[0];
- this.waveEl = $(this.wrapper).find('.tap-target-wave')[0];
- this.originEl = $(this.wrapper).find('.tap-target-origin')[0];
- this.contentEl = this.$el.find('.tap-target-content')[0];
-
- // Creating wrapper
- if (!$(this.wrapper).hasClass('.tap-target-wrapper')) {
- this.wrapper = document.createElement('div');
- this.wrapper.classList.add('tap-target-wrapper');
- this.$el.before($(this.wrapper));
- this.wrapper.append(this.el);
- }
-
- // Creating content
- if (!this.contentEl) {
- this.contentEl = document.createElement('div');
- this.contentEl.classList.add('tap-target-content');
- this.$el.append(this.contentEl);
- }
-
- // Creating foreground wave
- if (!this.waveEl) {
- this.waveEl = document.createElement('div');
- this.waveEl.classList.add('tap-target-wave');
-
- // Creating origin
- if (!this.originEl) {
- this.originEl = this.$origin.clone(true, true);
- this.originEl.addClass('tap-target-origin');
- this.originEl.removeAttr('id');
- this.originEl.removeAttr('style');
- this.originEl = this.originEl[0];
- this.waveEl.append(this.originEl);
- }
-
- this.wrapper.append(this.waveEl);
- }
- }
-
- /**
- * Calculate positioning
- */
-
- }, {
- key: "_calculatePositioning",
- value: function _calculatePositioning() {
- // Element or parent is fixed position?
- var isFixed = this.$origin.css('position') === 'fixed';
- if (!isFixed) {
- var parents = this.$origin.parents();
- for (var i = 0; i < parents.length; i++) {
- isFixed = $(parents[i]).css('position') == 'fixed';
- if (isFixed) {
- break;
- }
- }
- }
-
- // Calculating origin
- var originWidth = this.$origin.outerWidth();
- var originHeight = this.$origin.outerHeight();
- var originTop = isFixed ? this.$origin.offset().top - M.getDocumentScrollTop() : this.$origin.offset().top;
- var originLeft = isFixed ? this.$origin.offset().left - M.getDocumentScrollLeft() : this.$origin.offset().left;
-
- // Calculating screen
- var windowWidth = window.innerWidth;
- var windowHeight = window.innerHeight;
- var centerX = windowWidth / 2;
- var centerY = windowHeight / 2;
- var isLeft = originLeft <= centerX;
- var isRight = originLeft > centerX;
- var isTop = originTop <= centerY;
- var isBottom = originTop > centerY;
- var isCenterX = originLeft >= windowWidth * 0.25 && originLeft <= windowWidth * 0.75;
-
- // Calculating tap target
- var tapTargetWidth = this.$el.outerWidth();
- var tapTargetHeight = this.$el.outerHeight();
- var tapTargetTop = originTop + originHeight / 2 - tapTargetHeight / 2;
- var tapTargetLeft = originLeft + originWidth / 2 - tapTargetWidth / 2;
- var tapTargetPosition = isFixed ? 'fixed' : 'absolute';
-
- // Calculating content
- var tapTargetTextWidth = isCenterX ? tapTargetWidth : tapTargetWidth / 2 + originWidth;
- var tapTargetTextHeight = tapTargetHeight / 2;
- var tapTargetTextTop = isTop ? tapTargetHeight / 2 : 0;
- var tapTargetTextBottom = 0;
- var tapTargetTextLeft = isLeft && !isCenterX ? tapTargetWidth / 2 - originWidth : 0;
- var tapTargetTextRight = 0;
- var tapTargetTextPadding = originWidth;
- var tapTargetTextAlign = isBottom ? 'bottom' : 'top';
-
- // Calculating wave
- var tapTargetWaveWidth = originWidth > originHeight ? originWidth * 2 : originWidth * 2;
- var tapTargetWaveHeight = tapTargetWaveWidth;
- var tapTargetWaveTop = tapTargetHeight / 2 - tapTargetWaveHeight / 2;
- var tapTargetWaveLeft = tapTargetWidth / 2 - tapTargetWaveWidth / 2;
-
- // Setting tap target
- var tapTargetWrapperCssObj = {};
- tapTargetWrapperCssObj.top = isTop ? tapTargetTop + 'px' : '';
- tapTargetWrapperCssObj.right = isRight ? windowWidth - tapTargetLeft - tapTargetWidth + 'px' : '';
- tapTargetWrapperCssObj.bottom = isBottom ? windowHeight - tapTargetTop - tapTargetHeight + 'px' : '';
- tapTargetWrapperCssObj.left = isLeft ? tapTargetLeft + 'px' : '';
- tapTargetWrapperCssObj.position = tapTargetPosition;
- $(this.wrapper).css(tapTargetWrapperCssObj);
-
- // Setting content
- $(this.contentEl).css({
- width: tapTargetTextWidth + 'px',
- height: tapTargetTextHeight + 'px',
- top: tapTargetTextTop + 'px',
- right: tapTargetTextRight + 'px',
- bottom: tapTargetTextBottom + 'px',
- left: tapTargetTextLeft + 'px',
- padding: tapTargetTextPadding + 'px',
- verticalAlign: tapTargetTextAlign
- });
-
- // Setting wave
- $(this.waveEl).css({
- top: tapTargetWaveTop + 'px',
- left: tapTargetWaveLeft + 'px',
- width: tapTargetWaveWidth + 'px',
- height: tapTargetWaveHeight + 'px'
- });
- }
-
- /**
- * Open TapTarget
- */
-
- }, {
- key: "open",
- value: function open() {
- if (this.isOpen) {
- return;
- }
-
- // onOpen callback
- if (typeof this.options.onOpen === 'function') {
- this.options.onOpen.call(this, this.$origin[0]);
- }
-
- this.isOpen = true;
- this.wrapper.classList.add('open');
-
- document.body.addEventListener('click', this._handleDocumentClickBound, true);
- document.body.addEventListener('touchend', this._handleDocumentClickBound);
- }
-
- /**
- * Close Tap Target
- */
-
- }, {
- key: "close",
- value: function close() {
- if (!this.isOpen) {
- return;
- }
-
- // onClose callback
- if (typeof this.options.onClose === 'function') {
- this.options.onClose.call(this, this.$origin[0]);
- }
-
- this.isOpen = false;
- this.wrapper.classList.remove('open');
-
- document.body.removeEventListener('click', this._handleDocumentClickBound, true);
- document.body.removeEventListener('touchend', this._handleDocumentClickBound);
- }
- }], [{
- key: "init",
- value: function init(els, options) {
- return _get(TapTarget.__proto__ || Object.getPrototypeOf(TapTarget), "init", this).call(this, this, els, options);
- }
-
- /**
- * Get Instance
- */
-
- }, {
- key: "getInstance",
- value: function getInstance(el) {
- var domElem = !!el.jquery ? el[0] : el;
- return domElem.M_TapTarget;
- }
- }, {
- key: "defaults",
- get: function () {
- return _defaults;
- }
- }]);
-
- return TapTarget;
- }(Component);
-
- M.TapTarget = TapTarget;
-
- if (M.jQueryLoaded) {
- M.initializeJqueryWrapper(TapTarget, 'tapTarget', 'M_TapTarget');
- }
-})(cash);
-;(function ($) {
- 'use strict';
-
- var _defaults = {
- classes: '',
- dropdownOptions: {}
- };
-
- /**
- * @class
- *
- */
-
- var FormSelect = function (_Component20) {
- _inherits(FormSelect, _Component20);
-
- /**
- * Construct FormSelect instance
- * @constructor
- * @param {Element} el
- * @param {Object} options
- */
- function FormSelect(el, options) {
- _classCallCheck(this, FormSelect);
-
- // Don't init if browser default version
- var _this68 = _possibleConstructorReturn(this, (FormSelect.__proto__ || Object.getPrototypeOf(FormSelect)).call(this, FormSelect, el, options));
-
- if (_this68.$el.hasClass('browser-default')) {
- return _possibleConstructorReturn(_this68);
- }
-
- _this68.el.M_FormSelect = _this68;
-
- /**
- * Options for the select
- * @member FormSelect#options
- */
- _this68.options = $.extend({}, FormSelect.defaults, options);
-
- _this68.isMultiple = _this68.$el.prop('multiple');
-
- // Setup
- _this68.el.tabIndex = -1;
- _this68._keysSelected = {};
- _this68._valueDict = {}; // Maps key to original and generated option element.
- _this68._setupDropdown();
-
- _this68._setupEventHandlers();
- return _this68;
- }
-
- _createClass(FormSelect, [{
- key: "destroy",
-
-
- /**
- * Teardown component
- */
- value: function destroy() {
- this._removeEventHandlers();
- this._removeDropdown();
- this.el.M_FormSelect = undefined;
- }
-
- /**
- * Setup Event Handlers
- */
-
- }, {
- key: "_setupEventHandlers",
- value: function _setupEventHandlers() {
- var _this69 = this;
-
- this._handleSelectChangeBound = this._handleSelectChange.bind(this);
- this._handleOptionClickBound = this._handleOptionClick.bind(this);
- this._handleInputClickBound = this._handleInputClick.bind(this);
-
- $(this.dropdownOptions).find('li:not(.optgroup)').each(function (el) {
- el.addEventListener('click', _this69._handleOptionClickBound);
- });
- this.el.addEventListener('change', this._handleSelectChangeBound);
- this.input.addEventListener('click', this._handleInputClickBound);
- }
-
- /**
- * Remove Event Handlers
- */
-
- }, {
- key: "_removeEventHandlers",
- value: function _removeEventHandlers() {
- var _this70 = this;
-
- $(this.dropdownOptions).find('li:not(.optgroup)').each(function (el) {
- el.removeEventListener('click', _this70._handleOptionClickBound);
- });
- this.el.removeEventListener('change', this._handleSelectChangeBound);
- this.input.removeEventListener('click', this._handleInputClickBound);
- }
-
- /**
- * Handle Select Change
- * @param {Event} e
- */
-
- }, {
- key: "_handleSelectChange",
- value: function _handleSelectChange(e) {
- this._setValueToInput();
- }
-
- /**
- * Handle Option Click
- * @param {Event} e
- */
-
- }, {
- key: "_handleOptionClick",
- value: function _handleOptionClick(e) {
- e.preventDefault();
- var option = $(e.target).closest('li')[0];
- var key = option.id;
- if (!$(option).hasClass('disabled') && !$(option).hasClass('optgroup') && key.length) {
- var selected = true;
-
- if (this.isMultiple) {
- // Deselect placeholder option if still selected.
- var placeholderOption = $(this.dropdownOptions).find('li.disabled.selected');
- if (placeholderOption.length) {
- placeholderOption.removeClass('selected');
- placeholderOption.find('input[type="checkbox"]').prop('checked', false);
- this._toggleEntryFromArray(placeholderOption[0].id);
- }
- selected = this._toggleEntryFromArray(key);
- } else {
- $(this.dropdownOptions).find('li').removeClass('selected');
- $(option).toggleClass('selected', selected);
- }
-
- // Set selected on original select option
- // Only trigger if selected state changed
- var prevSelected = $(this._valueDict[key].el).prop('selected');
- if (prevSelected !== selected) {
- $(this._valueDict[key].el).prop('selected', selected);
- this.$el.trigger('change');
- }
- }
-
- e.stopPropagation();
- }
-
- /**
- * Handle Input Click
- */
-
- }, {
- key: "_handleInputClick",
- value: function _handleInputClick() {
- if (this.dropdown && this.dropdown.isOpen) {
- this._setValueToInput();
- this._setSelectedStates();
- }
- }
-
- /**
- * Setup dropdown
- */
-
- }, {
- key: "_setupDropdown",
- value: function _setupDropdown() {
- var _this71 = this;
-
- this.wrapper = document.createElement('div');
- $(this.wrapper).addClass('select-wrapper ' + this.options.classes);
- this.$el.before($(this.wrapper));
- this.wrapper.appendChild(this.el);
-
- if (this.el.disabled) {
- this.wrapper.classList.add('disabled');
- }
-
- // Create dropdown
- this.$selectOptions = this.$el.children('option, optgroup');
- this.dropdownOptions = document.createElement('ul');
- this.dropdownOptions.id = "select-options-" + M.guid();
- $(this.dropdownOptions).addClass('dropdown-content select-dropdown ' + (this.isMultiple ? 'multiple-select-dropdown' : ''));
-
- // Create dropdown structure.
- if (this.$selectOptions.length) {
- this.$selectOptions.each(function (el) {
- if ($(el).is('option')) {
- // Direct descendant option.
- var optionEl = void 0;
- if (_this71.isMultiple) {
- optionEl = _this71._appendOptionWithIcon(_this71.$el, el, 'multiple');
- } else {
- optionEl = _this71._appendOptionWithIcon(_this71.$el, el);
- }
-
- _this71._addOptionToValueDict(el, optionEl);
- } else if ($(el).is('optgroup')) {
- // Optgroup.
- var selectOptions = $(el).children('option');
- $(_this71.dropdownOptions).append($('' + el.getAttribute('label') + ' ')[0]);
-
- selectOptions.each(function (el) {
- var optionEl = _this71._appendOptionWithIcon(_this71.$el, el, 'optgroup-option');
- _this71._addOptionToValueDict(el, optionEl);
- });
- }
- });
- }
-
- this.$el.after(this.dropdownOptions);
-
- // Add input dropdown
- this.input = document.createElement('input');
- $(this.input).addClass('select-dropdown dropdown-trigger');
- this.input.setAttribute('type', 'text');
- this.input.setAttribute('readonly', 'true');
- this.input.setAttribute('data-target', this.dropdownOptions.id);
- if (this.el.disabled) {
- $(this.input).prop('disabled', 'true');
- }
-
- this.$el.before(this.input);
- this._setValueToInput();
-
- // Add caret
- var dropdownIcon = $(' ');
- this.$el.before(dropdownIcon[0]);
-
- // Initialize dropdown
- if (!this.el.disabled) {
- var dropdownOptions = $.extend({}, this.options.dropdownOptions);
-
- // Add callback for centering selected option when dropdown content is scrollable
- dropdownOptions.onOpenEnd = function (el) {
- var selectedOption = $(_this71.dropdownOptions).find('.selected').first();
-
- if (selectedOption.length) {
- // Focus selected option in dropdown
- M.keyDown = true;
- _this71.dropdown.focusedIndex = selectedOption.index();
- _this71.dropdown._focusFocusedItem();
- M.keyDown = false;
-
- // Handle scrolling to selected option
- if (_this71.dropdown.isScrollable) {
- var scrollOffset = selectedOption[0].getBoundingClientRect().top - _this71.dropdownOptions.getBoundingClientRect().top; // scroll to selected option
- scrollOffset -= _this71.dropdownOptions.clientHeight / 2; // center in dropdown
- _this71.dropdownOptions.scrollTop = scrollOffset;
- }
- }
- };
-
- if (this.isMultiple) {
- dropdownOptions.closeOnClick = false;
- }
- this.dropdown = M.Dropdown.init(this.input, dropdownOptions);
- }
-
- // Add initial selections
- this._setSelectedStates();
- }
-
- /**
- * Add option to value dict
- * @param {Element} el original option element
- * @param {Element} optionEl generated option element
- */
-
- }, {
- key: "_addOptionToValueDict",
- value: function _addOptionToValueDict(el, optionEl) {
- var index = Object.keys(this._valueDict).length;
- var key = this.dropdownOptions.id + index;
- var obj = {};
- optionEl.id = key;
-
- obj.el = el;
- obj.optionEl = optionEl;
- this._valueDict[key] = obj;
- }
-
- /**
- * Remove dropdown
- */
-
- }, {
- key: "_removeDropdown",
- value: function _removeDropdown() {
- $(this.wrapper).find('.caret').remove();
- $(this.input).remove();
- $(this.dropdownOptions).remove();
- $(this.wrapper).before(this.$el);
- $(this.wrapper).remove();
- }
-
- /**
- * Setup dropdown
- * @param {Element} select select element
- * @param {Element} option option element from select
- * @param {String} type
- * @return {Element} option element added
- */
-
- }, {
- key: "_appendOptionWithIcon",
- value: function _appendOptionWithIcon(select, option, type) {
- // Add disabled attr if disabled
- var disabledClass = option.disabled ? 'disabled ' : '';
- var optgroupClass = type === 'optgroup-option' ? 'optgroup-option ' : '';
- var multipleCheckbox = this.isMultiple ? "" + option.innerHTML + " " : option.innerHTML;
- var liEl = $(' ');
- var spanEl = $(' ');
- spanEl.html(multipleCheckbox);
- liEl.addClass(disabledClass + " " + optgroupClass);
- liEl.append(spanEl);
-
- // add icons
- var iconUrl = option.getAttribute('data-icon');
- if (!!iconUrl) {
- var imgEl = $(" ");
- liEl.prepend(imgEl);
- }
-
- // Check for multiple type.
- $(this.dropdownOptions).append(liEl[0]);
- return liEl[0];
- }
-
- /**
- * Toggle entry from option
- * @param {String} key Option key
- * @return {Boolean} if entry was added or removed
- */
-
- }, {
- key: "_toggleEntryFromArray",
- value: function _toggleEntryFromArray(key) {
- var notAdded = !this._keysSelected.hasOwnProperty(key);
- var $optionLi = $(this._valueDict[key].optionEl);
-
- if (notAdded) {
- this._keysSelected[key] = true;
- } else {
- delete this._keysSelected[key];
- }
-
- $optionLi.toggleClass('selected', notAdded);
-
- // Set checkbox checked value
- $optionLi.find('input[type="checkbox"]').prop('checked', notAdded);
-
- // use notAdded instead of true (to detect if the option is selected or not)
- $optionLi.prop('selected', notAdded);
-
- return notAdded;
- }
-
- /**
- * Set text value to input
- */
-
- }, {
- key: "_setValueToInput",
- value: function _setValueToInput() {
- var values = [];
- var options = this.$el.find('option');
-
- options.each(function (el) {
- if ($(el).prop('selected')) {
- var text = $(el).text();
- values.push(text);
- }
- });
-
- if (!values.length) {
- var firstDisabled = this.$el.find('option:disabled').eq(0);
- if (firstDisabled.length && firstDisabled[0].value === '') {
- values.push(firstDisabled.text());
- }
- }
-
- this.input.value = values.join(', ');
- }
-
- /**
- * Set selected state of dropdown to match actual select element
- */
-
- }, {
- key: "_setSelectedStates",
- value: function _setSelectedStates() {
- this._keysSelected = {};
-
- for (var key in this._valueDict) {
- var option = this._valueDict[key];
- var optionIsSelected = $(option.el).prop('selected');
- $(option.optionEl).find('input[type="checkbox"]').prop('checked', optionIsSelected);
- if (optionIsSelected) {
- this._activateOption($(this.dropdownOptions), $(option.optionEl));
- this._keysSelected[key] = true;
- } else {
- $(option.optionEl).removeClass('selected');
- }
- }
- }
-
- /**
- * Make option as selected and scroll to selected position
- * @param {jQuery} collection Select options jQuery element
- * @param {Element} newOption element of the new option
- */
-
- }, {
- key: "_activateOption",
- value: function _activateOption(collection, newOption) {
- if (newOption) {
- if (!this.isMultiple) {
- collection.find('li.selected').removeClass('selected');
- }
- var option = $(newOption);
- option.addClass('selected');
- }
- }
-
- /**
- * Get Selected Values
- * @return {Array} Array of selected values
- */
-
- }, {
- key: "getSelectedValues",
- value: function getSelectedValues() {
- var selectedValues = [];
- for (var key in this._keysSelected) {
- selectedValues.push(this._valueDict[key].el.value);
- }
- return selectedValues;
- }
- }], [{
- key: "init",
- value: function init(els, options) {
- return _get(FormSelect.__proto__ || Object.getPrototypeOf(FormSelect), "init", this).call(this, this, els, options);
- }
-
- /**
- * Get Instance
- */
-
- }, {
- key: "getInstance",
- value: function getInstance(el) {
- var domElem = !!el.jquery ? el[0] : el;
- return domElem.M_FormSelect;
- }
- }, {
- key: "defaults",
- get: function () {
- return _defaults;
- }
- }]);
-
- return FormSelect;
- }(Component);
-
- M.FormSelect = FormSelect;
-
- if (M.jQueryLoaded) {
- M.initializeJqueryWrapper(FormSelect, 'formSelect', 'M_FormSelect');
- }
-})(cash);
-;(function ($, anim) {
- 'use strict';
-
- var _defaults = {};
-
- /**
- * @class
- *
- */
-
- var Range = function (_Component21) {
- _inherits(Range, _Component21);
-
- /**
- * Construct Range instance
- * @constructor
- * @param {Element} el
- * @param {Object} options
- */
- function Range(el, options) {
- _classCallCheck(this, Range);
-
- var _this72 = _possibleConstructorReturn(this, (Range.__proto__ || Object.getPrototypeOf(Range)).call(this, Range, el, options));
-
- _this72.el.M_Range = _this72;
-
- /**
- * Options for the range
- * @member Range#options
- */
- _this72.options = $.extend({}, Range.defaults, options);
-
- _this72._mousedown = false;
-
- // Setup
- _this72._setupThumb();
-
- _this72._setupEventHandlers();
- return _this72;
- }
-
- _createClass(Range, [{
- key: "destroy",
-
-
- /**
- * Teardown component
- */
- value: function destroy() {
- this._removeEventHandlers();
- this._removeThumb();
- this.el.M_Range = undefined;
- }
-
- /**
- * Setup Event Handlers
- */
-
- }, {
- key: "_setupEventHandlers",
- value: function _setupEventHandlers() {
- this._handleRangeChangeBound = this._handleRangeChange.bind(this);
- this._handleRangeMousedownTouchstartBound = this._handleRangeMousedownTouchstart.bind(this);
- this._handleRangeInputMousemoveTouchmoveBound = this._handleRangeInputMousemoveTouchmove.bind(this);
- this._handleRangeMouseupTouchendBound = this._handleRangeMouseupTouchend.bind(this);
- this._handleRangeBlurMouseoutTouchleaveBound = this._handleRangeBlurMouseoutTouchleave.bind(this);
-
- this.el.addEventListener('change', this._handleRangeChangeBound);
-
- this.el.addEventListener('mousedown', this._handleRangeMousedownTouchstartBound);
- this.el.addEventListener('touchstart', this._handleRangeMousedownTouchstartBound);
-
- this.el.addEventListener('input', this._handleRangeInputMousemoveTouchmoveBound);
- this.el.addEventListener('mousemove', this._handleRangeInputMousemoveTouchmoveBound);
- this.el.addEventListener('touchmove', this._handleRangeInputMousemoveTouchmoveBound);
-
- this.el.addEventListener('mouseup', this._handleRangeMouseupTouchendBound);
- this.el.addEventListener('touchend', this._handleRangeMouseupTouchendBound);
-
- this.el.addEventListener('blur', this._handleRangeBlurMouseoutTouchleaveBound);
- this.el.addEventListener('mouseout', this._handleRangeBlurMouseoutTouchleaveBound);
- this.el.addEventListener('touchleave', this._handleRangeBlurMouseoutTouchleaveBound);
- }
-
- /**
- * Remove Event Handlers
- */
-
- }, {
- key: "_removeEventHandlers",
- value: function _removeEventHandlers() {
- this.el.removeEventListener('change', this._handleRangeChangeBound);
-
- this.el.removeEventListener('mousedown', this._handleRangeMousedownTouchstartBound);
- this.el.removeEventListener('touchstart', this._handleRangeMousedownTouchstartBound);
-
- this.el.removeEventListener('input', this._handleRangeInputMousemoveTouchmoveBound);
- this.el.removeEventListener('mousemove', this._handleRangeInputMousemoveTouchmoveBound);
- this.el.removeEventListener('touchmove', this._handleRangeInputMousemoveTouchmoveBound);
-
- this.el.removeEventListener('mouseup', this._handleRangeMouseupTouchendBound);
- this.el.removeEventListener('touchend', this._handleRangeMouseupTouchendBound);
-
- this.el.removeEventListener('blur', this._handleRangeBlurMouseoutTouchleaveBound);
- this.el.removeEventListener('mouseout', this._handleRangeBlurMouseoutTouchleaveBound);
- this.el.removeEventListener('touchleave', this._handleRangeBlurMouseoutTouchleaveBound);
- }
-
- /**
- * Handle Range Change
- * @param {Event} e
- */
-
- }, {
- key: "_handleRangeChange",
- value: function _handleRangeChange() {
- $(this.value).html(this.$el.val());
-
- if (!$(this.thumb).hasClass('active')) {
- this._showRangeBubble();
- }
-
- var offsetLeft = this._calcRangeOffset();
- $(this.thumb).addClass('active').css('left', offsetLeft + 'px');
- }
-
- /**
- * Handle Range Mousedown and Touchstart
- * @param {Event} e
- */
-
- }, {
- key: "_handleRangeMousedownTouchstart",
- value: function _handleRangeMousedownTouchstart(e) {
- // Set indicator value
- $(this.value).html(this.$el.val());
-
- this._mousedown = true;
- this.$el.addClass('active');
-
- if (!$(this.thumb).hasClass('active')) {
- this._showRangeBubble();
- }
-
- if (e.type !== 'input') {
- var offsetLeft = this._calcRangeOffset();
- $(this.thumb).addClass('active').css('left', offsetLeft + 'px');
- }
- }
-
- /**
- * Handle Range Input, Mousemove and Touchmove
- */
-
- }, {
- key: "_handleRangeInputMousemoveTouchmove",
- value: function _handleRangeInputMousemoveTouchmove() {
- if (this._mousedown) {
- if (!$(this.thumb).hasClass('active')) {
- this._showRangeBubble();
- }
-
- var offsetLeft = this._calcRangeOffset();
- $(this.thumb).addClass('active').css('left', offsetLeft + 'px');
- $(this.value).html(this.$el.val());
- }
- }
-
- /**
- * Handle Range Mouseup and Touchend
- */
-
- }, {
- key: "_handleRangeMouseupTouchend",
- value: function _handleRangeMouseupTouchend() {
- this._mousedown = false;
- this.$el.removeClass('active');
- }
-
- /**
- * Handle Range Blur, Mouseout and Touchleave
- */
-
- }, {
- key: "_handleRangeBlurMouseoutTouchleave",
- value: function _handleRangeBlurMouseoutTouchleave() {
- if (!this._mousedown) {
- var paddingLeft = parseInt(this.$el.css('padding-left'));
- var marginLeft = 7 + paddingLeft + 'px';
-
- if ($(this.thumb).hasClass('active')) {
- anim.remove(this.thumb);
- anim({
- targets: this.thumb,
- height: 0,
- width: 0,
- top: 10,
- easing: 'easeOutQuad',
- marginLeft: marginLeft,
- duration: 100
- });
- }
- $(this.thumb).removeClass('active');
- }
- }
-
- /**
- * Setup dropdown
- */
-
- }, {
- key: "_setupThumb",
- value: function _setupThumb() {
- this.thumb = document.createElement('span');
- this.value = document.createElement('span');
- $(this.thumb).addClass('thumb');
- $(this.value).addClass('value');
- $(this.thumb).append(this.value);
- this.$el.after(this.thumb);
- }
-
- /**
- * Remove dropdown
- */
-
- }, {
- key: "_removeThumb",
- value: function _removeThumb() {
- $(this.thumb).remove();
- }
-
- /**
- * morph thumb into bubble
- */
-
- }, {
- key: "_showRangeBubble",
- value: function _showRangeBubble() {
- var paddingLeft = parseInt($(this.thumb).parent().css('padding-left'));
- var marginLeft = -7 + paddingLeft + 'px'; // TODO: fix magic number?
- anim.remove(this.thumb);
- anim({
- targets: this.thumb,
- height: 30,
- width: 30,
- top: -30,
- marginLeft: marginLeft,
- duration: 300,
- easing: 'easeOutQuint'
- });
- }
-
- /**
- * Calculate the offset of the thumb
- * @return {Number} offset in pixels
- */
-
- }, {
- key: "_calcRangeOffset",
- value: function _calcRangeOffset() {
- var width = this.$el.width() - 15;
- var max = parseFloat(this.$el.attr('max')) || 100; // Range default max
- var min = parseFloat(this.$el.attr('min')) || 0; // Range default min
- var percent = (parseFloat(this.$el.val()) - min) / (max - min);
- return percent * width;
- }
- }], [{
- key: "init",
- value: function init(els, options) {
- return _get(Range.__proto__ || Object.getPrototypeOf(Range), "init", this).call(this, this, els, options);
- }
-
- /**
- * Get Instance
- */
-
- }, {
- key: "getInstance",
- value: function getInstance(el) {
- var domElem = !!el.jquery ? el[0] : el;
- return domElem.M_Range;
- }
- }, {
- key: "defaults",
- get: function () {
- return _defaults;
- }
- }]);
-
- return Range;
- }(Component);
-
- M.Range = Range;
-
- if (M.jQueryLoaded) {
- M.initializeJqueryWrapper(Range, 'range', 'M_Range');
- }
-
- Range.init($('input[type=range]'));
-})(cash, M.anime);
diff --git a/themes/cmd/source/materialize/js/materialize.min.js b/themes/cmd/source/materialize/js/materialize.min.js
deleted file mode 100644
index 4ff077d..0000000
--- a/themes/cmd/source/materialize/js/materialize.min.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*!
- * Materialize v1.0.0 (http://materializecss.com)
- * Copyright 2014-2017 Materialize
- * MIT License (https://raw.githubusercontent.com/Dogfalo/materialize/master/LICENSE)
- */
-var _get=function t(e,i,n){null===e&&(e=Function.prototype);var s=Object.getOwnPropertyDescriptor(e,i);if(void 0===s){var o=Object.getPrototypeOf(e);return null===o?void 0:t(o,i,n)}if("value"in s)return s.value;var a=s.get;return void 0!==a?a.call(n):void 0},_createClass=function(){function n(t,e){for(var i=0;i/,p=/^\w+$/;function v(t,e){e=e||o;var i=u.test(t)?e.getElementsByClassName(t.slice(1)):p.test(t)?e.getElementsByTagName(t):e.querySelectorAll(t);return i}function f(t){if(!i){var e=(i=o.implementation.createHTMLDocument(null)).createElement("base");e.href=o.location.href,i.head.appendChild(e)}return i.body.innerHTML=t,i.body.childNodes}function m(t){"loading"!==o.readyState?t():o.addEventListener("DOMContentLoaded",t)}function g(t,e){if(!t)return this;if(t.cash&&t!==a)return t;var i,n=t,s=0;if(d(t))n=l.test(t)?o.getElementById(t.slice(1)):c.test(t)?f(t):v(t,e);else if(h(t))return m(t),this;if(!n)return this;if(n.nodeType||n===a)this[0]=n,this.length=1;else for(i=this.length=n.length;ss.right-i||l+e.width>window.innerWidth-i)&&(n.right=!0),(ho-i||h+e.height>window.innerHeight-i)&&(n.bottom=!0),n},M.checkPossibleAlignments=function(t,e,i,n){var s={top:!0,right:!0,bottom:!0,left:!0,spaceOnTop:null,spaceOnRight:null,spaceOnBottom:null,spaceOnLeft:null},o="visible"===getComputedStyle(e).overflow,a=e.getBoundingClientRect(),r=Math.min(a.height,window.innerHeight),l=Math.min(a.width,window.innerWidth),h=t.getBoundingClientRect(),d=e.scrollLeft,u=e.scrollTop,c=i.left-d,p=i.top-u,v=i.top+h.height-u;return s.spaceOnRight=o?window.innerWidth-(h.left+i.width):l-(c+i.width),s.spaceOnRight<0&&(s.left=!1),s.spaceOnLeft=o?h.right-i.width:c-i.width+h.width,s.spaceOnLeft<0&&(s.right=!1),s.spaceOnBottom=o?window.innerHeight-(h.top+i.height+n):r-(p+i.height+n),s.spaceOnBottom<0&&(s.top=!1),s.spaceOnTop=o?h.bottom-(i.height+n):v-(i.height-n),s.spaceOnTop<0&&(s.bottom=!1),s},M.getOverflowParent=function(t){return null==t?null:t===document.body||"visible"!==getComputedStyle(t).overflow?t:M.getOverflowParent(t.parentElement)},M.getIdFromTrigger=function(t){var e=t.getAttribute("data-target");return e||(e=(e=t.getAttribute("href"))?e.slice(1):""),e},M.getDocumentScrollTop=function(){return window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0},M.getDocumentScrollLeft=function(){return window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0};var getTime=Date.now||function(){return(new Date).getTime()};M.throttle=function(i,n,s){var o=void 0,a=void 0,r=void 0,l=null,h=0;s||(s={});var d=function(){h=!1===s.leading?0:getTime(),l=null,r=i.apply(o,a),o=a=null};return function(){var t=getTime();h||!1!==s.leading||(h=t);var e=n-(t-h);return o=this,a=arguments,e<=0?(clearTimeout(l),l=null,h=t,r=i.apply(o,a),o=a=null):l||!1===s.trailing||(l=setTimeout(d,e)),r}};var $jscomp={scope:{}};$jscomp.defineProperty="function"==typeof Object.defineProperties?Object.defineProperty:function(t,e,i){if(i.get||i.set)throw new TypeError("ES3 does not support getters and setters.");t!=Array.prototype&&t!=Object.prototype&&(t[e]=i.value)},$jscomp.getGlobal=function(t){return"undefined"!=typeof window&&window===t?t:"undefined"!=typeof global&&null!=global?global:t},$jscomp.global=$jscomp.getGlobal(this),$jscomp.SYMBOL_PREFIX="jscomp_symbol_",$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){},$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)},$jscomp.symbolCounter_=0,$jscomp.Symbol=function(t){return $jscomp.SYMBOL_PREFIX+(t||"")+$jscomp.symbolCounter_++},$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var t=$jscomp.global.Symbol.iterator;t||(t=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator")),"function"!=typeof Array.prototype[t]&&$jscomp.defineProperty(Array.prototype,t,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}}),$jscomp.initSymbolIterator=function(){}},$jscomp.arrayIterator=function(t){var e=0;return $jscomp.iteratorPrototype(function(){return e=k.currentTime)for(var h=0;ht&&(s.duration=e.duration),s.children.push(e)}),s.seek(0),s.reset(),s.autoplay&&s.restart(),s},s},O.random=function(t,e){return Math.floor(Math.random()*(e-t+1))+t},O}(),function(r,l){"use strict";var e={accordion:!0,onOpenStart:void 0,onOpenEnd:void 0,onCloseStart:void 0,onCloseEnd:void 0,inDuration:300,outDuration:300},t=function(t){function s(t,e){_classCallCheck(this,s);var i=_possibleConstructorReturn(this,(s.__proto__||Object.getPrototypeOf(s)).call(this,s,t,e));(i.el.M_Collapsible=i).options=r.extend({},s.defaults,e),i.$headers=i.$el.children("li").children(".collapsible-header"),i.$headers.attr("tabindex",0),i._setupEventHandlers();var n=i.$el.children("li.active").children(".collapsible-body");return i.options.accordion?n.first().css("display","block"):n.css("display","block"),i}return _inherits(s,Component),_createClass(s,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.M_Collapsible=void 0}},{key:"_setupEventHandlers",value:function(){var e=this;this._handleCollapsibleClickBound=this._handleCollapsibleClick.bind(this),this._handleCollapsibleKeydownBound=this._handleCollapsibleKeydown.bind(this),this.el.addEventListener("click",this._handleCollapsibleClickBound),this.$headers.each(function(t){t.addEventListener("keydown",e._handleCollapsibleKeydownBound)})}},{key:"_removeEventHandlers",value:function(){var e=this;this.el.removeEventListener("click",this._handleCollapsibleClickBound),this.$headers.each(function(t){t.removeEventListener("keydown",e._handleCollapsibleKeydownBound)})}},{key:"_handleCollapsibleClick",value:function(t){var e=r(t.target).closest(".collapsible-header");if(t.target&&e.length){var i=e.closest(".collapsible");if(i[0]===this.el){var n=e.closest("li"),s=i.children("li"),o=n[0].classList.contains("active"),a=s.index(n);o?this.close(a):this.open(a)}}}},{key:"_handleCollapsibleKeydown",value:function(t){13===t.keyCode&&this._handleCollapsibleClickBound(t)}},{key:"_animateIn",value:function(t){var e=this,i=this.$el.children("li").eq(t);if(i.length){var n=i.children(".collapsible-body");l.remove(n[0]),n.css({display:"block",overflow:"hidden",height:0,paddingTop:"",paddingBottom:""});var s=n.css("padding-top"),o=n.css("padding-bottom"),a=n[0].scrollHeight;n.css({paddingTop:0,paddingBottom:0}),l({targets:n[0],height:a,paddingTop:s,paddingBottom:o,duration:this.options.inDuration,easing:"easeInOutCubic",complete:function(t){n.css({overflow:"",paddingTop:"",paddingBottom:"",height:""}),"function"==typeof e.options.onOpenEnd&&e.options.onOpenEnd.call(e,i[0])}})}}},{key:"_animateOut",value:function(t){var e=this,i=this.$el.children("li").eq(t);if(i.length){var n=i.children(".collapsible-body");l.remove(n[0]),n.css("overflow","hidden"),l({targets:n[0],height:0,paddingTop:0,paddingBottom:0,duration:this.options.outDuration,easing:"easeInOutCubic",complete:function(){n.css({height:"",overflow:"",padding:"",display:""}),"function"==typeof e.options.onCloseEnd&&e.options.onCloseEnd.call(e,i[0])}})}}},{key:"open",value:function(t){var i=this,e=this.$el.children("li").eq(t);if(e.length&&!e[0].classList.contains("active")){if("function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,e[0]),this.options.accordion){var n=this.$el.children("li");this.$el.children("li.active").each(function(t){var e=n.index(r(t));i.close(e)})}e[0].classList.add("active"),this._animateIn(t)}}},{key:"close",value:function(t){var e=this.$el.children("li").eq(t);e.length&&e[0].classList.contains("active")&&("function"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,e[0]),e[0].classList.remove("active"),this._animateOut(t))}}],[{key:"init",value:function(t,e){return _get(s.__proto__||Object.getPrototypeOf(s),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Collapsible}},{key:"defaults",get:function(){return e}}]),s}();M.Collapsible=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"collapsible","M_Collapsible")}(cash,M.anime),function(h,i){"use strict";var e={alignment:"left",autoFocus:!0,constrainWidth:!0,container:null,coverTrigger:!0,closeOnClick:!0,hover:!1,inDuration:150,outDuration:250,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null,onItemClick:null},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return i.el.M_Dropdown=i,n._dropdowns.push(i),i.id=M.getIdFromTrigger(t),i.dropdownEl=document.getElementById(i.id),i.$dropdownEl=h(i.dropdownEl),i.options=h.extend({},n.defaults,e),i.isOpen=!1,i.isScrollable=!1,i.isTouchMoving=!1,i.focusedIndex=-1,i.filterQuery=[],i.options.container?h(i.options.container).append(i.dropdownEl):i.$el.after(i.dropdownEl),i._makeDropdownFocusable(),i._resetFilterQueryBound=i._resetFilterQuery.bind(i),i._handleDocumentClickBound=i._handleDocumentClick.bind(i),i._handleDocumentTouchmoveBound=i._handleDocumentTouchmove.bind(i),i._handleDropdownClickBound=i._handleDropdownClick.bind(i),i._handleDropdownKeydownBound=i._handleDropdownKeydown.bind(i),i._handleTriggerKeydownBound=i._handleTriggerKeydown.bind(i),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._resetDropdownStyles(),this._removeEventHandlers(),n._dropdowns.splice(n._dropdowns.indexOf(this),1),this.el.M_Dropdown=void 0}},{key:"_setupEventHandlers",value:function(){this.el.addEventListener("keydown",this._handleTriggerKeydownBound),this.dropdownEl.addEventListener("click",this._handleDropdownClickBound),this.options.hover?(this._handleMouseEnterBound=this._handleMouseEnter.bind(this),this.el.addEventListener("mouseenter",this._handleMouseEnterBound),this._handleMouseLeaveBound=this._handleMouseLeave.bind(this),this.el.addEventListener("mouseleave",this._handleMouseLeaveBound),this.dropdownEl.addEventListener("mouseleave",this._handleMouseLeaveBound)):(this._handleClickBound=this._handleClick.bind(this),this.el.addEventListener("click",this._handleClickBound))}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("keydown",this._handleTriggerKeydownBound),this.dropdownEl.removeEventListener("click",this._handleDropdownClickBound),this.options.hover?(this.el.removeEventListener("mouseenter",this._handleMouseEnterBound),this.el.removeEventListener("mouseleave",this._handleMouseLeaveBound),this.dropdownEl.removeEventListener("mouseleave",this._handleMouseLeaveBound)):this.el.removeEventListener("click",this._handleClickBound)}},{key:"_setupTemporaryEventHandlers",value:function(){document.body.addEventListener("click",this._handleDocumentClickBound,!0),document.body.addEventListener("touchend",this._handleDocumentClickBound),document.body.addEventListener("touchmove",this._handleDocumentTouchmoveBound),this.dropdownEl.addEventListener("keydown",this._handleDropdownKeydownBound)}},{key:"_removeTemporaryEventHandlers",value:function(){document.body.removeEventListener("click",this._handleDocumentClickBound,!0),document.body.removeEventListener("touchend",this._handleDocumentClickBound),document.body.removeEventListener("touchmove",this._handleDocumentTouchmoveBound),this.dropdownEl.removeEventListener("keydown",this._handleDropdownKeydownBound)}},{key:"_handleClick",value:function(t){t.preventDefault(),this.open()}},{key:"_handleMouseEnter",value:function(){this.open()}},{key:"_handleMouseLeave",value:function(t){var e=t.toElement||t.relatedTarget,i=!!h(e).closest(".dropdown-content").length,n=!1,s=h(e).closest(".dropdown-trigger");s.length&&s[0].M_Dropdown&&s[0].M_Dropdown.isOpen&&(n=!0),n||i||this.close()}},{key:"_handleDocumentClick",value:function(t){var e=this,i=h(t.target);this.options.closeOnClick&&i.closest(".dropdown-content").length&&!this.isTouchMoving?setTimeout(function(){e.close()},0):!i.closest(".dropdown-trigger").length&&i.closest(".dropdown-content").length||setTimeout(function(){e.close()},0),this.isTouchMoving=!1}},{key:"_handleTriggerKeydown",value:function(t){t.which!==M.keys.ARROW_DOWN&&t.which!==M.keys.ENTER||this.isOpen||(t.preventDefault(),this.open())}},{key:"_handleDocumentTouchmove",value:function(t){h(t.target).closest(".dropdown-content").length&&(this.isTouchMoving=!0)}},{key:"_handleDropdownClick",value:function(t){if("function"==typeof this.options.onItemClick){var e=h(t.target).closest("li")[0];this.options.onItemClick.call(this,e)}}},{key:"_handleDropdownKeydown",value:function(t){if(t.which===M.keys.TAB)t.preventDefault(),this.close();else if(t.which!==M.keys.ARROW_DOWN&&t.which!==M.keys.ARROW_UP||!this.isOpen)if(t.which===M.keys.ENTER&&this.isOpen){var e=this.dropdownEl.children[this.focusedIndex],i=h(e).find("a, button").first();i.length?i[0].click():e&&e.click()}else t.which===M.keys.ESC&&this.isOpen&&(t.preventDefault(),this.close());else{t.preventDefault();var n=t.which===M.keys.ARROW_DOWN?1:-1,s=this.focusedIndex,o=!1;do{if(s+=n,this.dropdownEl.children[s]&&-1!==this.dropdownEl.children[s].tabIndex){o=!0;break}}while(sl.spaceOnBottom?(h="bottom",i+=l.spaceOnTop,o-=l.spaceOnTop):i+=l.spaceOnBottom)),!l[d]){var u="left"===d?"right":"left";l[u]?d=u:l.spaceOnLeft>l.spaceOnRight?(d="right",n+=l.spaceOnLeft,s-=l.spaceOnLeft):(d="left",n+=l.spaceOnRight)}return"bottom"===h&&(o=o-e.height+(this.options.coverTrigger?t.height:0)),"right"===d&&(s=s-e.width+t.width),{x:s,y:o,verticalAlignment:h,horizontalAlignment:d,height:i,width:n}}},{key:"_animateIn",value:function(){var e=this;i.remove(this.dropdownEl),i({targets:this.dropdownEl,opacity:{value:[0,1],easing:"easeOutQuad"},scaleX:[.3,1],scaleY:[.3,1],duration:this.options.inDuration,easing:"easeOutQuint",complete:function(t){e.options.autoFocus&&e.dropdownEl.focus(),"function"==typeof e.options.onOpenEnd&&e.options.onOpenEnd.call(e,e.el)}})}},{key:"_animateOut",value:function(){var e=this;i.remove(this.dropdownEl),i({targets:this.dropdownEl,opacity:{value:0,easing:"easeOutQuint"},scaleX:.3,scaleY:.3,duration:this.options.outDuration,easing:"easeOutQuint",complete:function(t){e._resetDropdownStyles(),"function"==typeof e.options.onCloseEnd&&e.options.onCloseEnd.call(e,e.el)}})}},{key:"_placeDropdown",value:function(){var t=this.options.constrainWidth?this.el.getBoundingClientRect().width:this.dropdownEl.getBoundingClientRect().width;this.dropdownEl.style.width=t+"px";var e=this._getDropdownPosition();this.dropdownEl.style.left=e.x+"px",this.dropdownEl.style.top=e.y+"px",this.dropdownEl.style.height=e.height+"px",this.dropdownEl.style.width=e.width+"px",this.dropdownEl.style.transformOrigin=("left"===e.horizontalAlignment?"0":"100%")+" "+("top"===e.verticalAlignment?"0":"100%")}},{key:"open",value:function(){this.isOpen||(this.isOpen=!0,"function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,this.el),this._resetDropdownStyles(),this.dropdownEl.style.display="block",this._placeDropdown(),this._animateIn(),this._setupTemporaryEventHandlers())}},{key:"close",value:function(){this.isOpen&&(this.isOpen=!1,this.focusedIndex=-1,"function"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,this.el),this._animateOut(),this._removeTemporaryEventHandlers(),this.options.autoFocus&&this.el.focus())}},{key:"recalculateDimensions",value:function(){this.isOpen&&(this.$dropdownEl.css({width:"",height:"",left:"",top:"","transform-origin":""}),this._placeDropdown())}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Dropdown}},{key:"defaults",get:function(){return e}}]),n}();t._dropdowns=[],M.Dropdown=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"dropdown","M_Dropdown")}(cash,M.anime),function(s,i){"use strict";var e={opacity:.5,inDuration:250,outDuration:250,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null,preventScrolling:!0,dismissible:!0,startingTop:"4%",endingTop:"10%"},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Modal=i).options=s.extend({},n.defaults,e),i.isOpen=!1,i.id=i.$el.attr("id"),i._openingTrigger=void 0,i.$overlay=s('
'),i.el.tabIndex=0,i._nthModalOpened=0,n._count++,i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){n._count--,this._removeEventHandlers(),this.el.removeAttribute("style"),this.$overlay.remove(),this.el.M_Modal=void 0}},{key:"_setupEventHandlers",value:function(){this._handleOverlayClickBound=this._handleOverlayClick.bind(this),this._handleModalCloseClickBound=this._handleModalCloseClick.bind(this),1===n._count&&document.body.addEventListener("click",this._handleTriggerClick),this.$overlay[0].addEventListener("click",this._handleOverlayClickBound),this.el.addEventListener("click",this._handleModalCloseClickBound)}},{key:"_removeEventHandlers",value:function(){0===n._count&&document.body.removeEventListener("click",this._handleTriggerClick),this.$overlay[0].removeEventListener("click",this._handleOverlayClickBound),this.el.removeEventListener("click",this._handleModalCloseClickBound)}},{key:"_handleTriggerClick",value:function(t){var e=s(t.target).closest(".modal-trigger");if(e.length){var i=M.getIdFromTrigger(e[0]),n=document.getElementById(i).M_Modal;n&&n.open(e),t.preventDefault()}}},{key:"_handleOverlayClick",value:function(){this.options.dismissible&&this.close()}},{key:"_handleModalCloseClick",value:function(t){s(t.target).closest(".modal-close").length&&this.close()}},{key:"_handleKeydown",value:function(t){27===t.keyCode&&this.options.dismissible&&this.close()}},{key:"_handleFocus",value:function(t){this.el.contains(t.target)||this._nthModalOpened!==n._modalsOpen||this.el.focus()}},{key:"_animateIn",value:function(){var t=this;s.extend(this.el.style,{display:"block",opacity:0}),s.extend(this.$overlay[0].style,{display:"block",opacity:0}),i({targets:this.$overlay[0],opacity:this.options.opacity,duration:this.options.inDuration,easing:"easeOutQuad"});var e={targets:this.el,duration:this.options.inDuration,easing:"easeOutCubic",complete:function(){"function"==typeof t.options.onOpenEnd&&t.options.onOpenEnd.call(t,t.el,t._openingTrigger)}};this.el.classList.contains("bottom-sheet")?s.extend(e,{bottom:0,opacity:1}):s.extend(e,{top:[this.options.startingTop,this.options.endingTop],opacity:1,scaleX:[.8,1],scaleY:[.8,1]}),i(e)}},{key:"_animateOut",value:function(){var t=this;i({targets:this.$overlay[0],opacity:0,duration:this.options.outDuration,easing:"easeOutQuart"});var e={targets:this.el,duration:this.options.outDuration,easing:"easeOutCubic",complete:function(){t.el.style.display="none",t.$overlay.remove(),"function"==typeof t.options.onCloseEnd&&t.options.onCloseEnd.call(t,t.el)}};this.el.classList.contains("bottom-sheet")?s.extend(e,{bottom:"-100%",opacity:0}):s.extend(e,{top:[this.options.endingTop,this.options.startingTop],opacity:0,scaleX:.8,scaleY:.8}),i(e)}},{key:"open",value:function(t){if(!this.isOpen)return this.isOpen=!0,n._modalsOpen++,this._nthModalOpened=n._modalsOpen,this.$overlay[0].style.zIndex=1e3+2*n._modalsOpen,this.el.style.zIndex=1e3+2*n._modalsOpen+1,this._openingTrigger=t?t[0]:void 0,"function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,this.el,this._openingTrigger),this.options.preventScrolling&&(document.body.style.overflow="hidden"),this.el.classList.add("open"),this.el.insertAdjacentElement("afterend",this.$overlay[0]),this.options.dismissible&&(this._handleKeydownBound=this._handleKeydown.bind(this),this._handleFocusBound=this._handleFocus.bind(this),document.addEventListener("keydown",this._handleKeydownBound),document.addEventListener("focus",this._handleFocusBound,!0)),i.remove(this.el),i.remove(this.$overlay[0]),this._animateIn(),this.el.focus(),this}},{key:"close",value:function(){if(this.isOpen)return this.isOpen=!1,n._modalsOpen--,this._nthModalOpened=0,"function"==typeof this.options.onCloseStart&&this.options.onCloseStart.call(this,this.el),this.el.classList.remove("open"),0===n._modalsOpen&&(document.body.style.overflow=""),this.options.dismissible&&(document.removeEventListener("keydown",this._handleKeydownBound),document.removeEventListener("focus",this._handleFocusBound,!0)),i.remove(this.el),i.remove(this.$overlay[0]),this._animateOut(),this}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Modal}},{key:"defaults",get:function(){return e}}]),n}();t._modalsOpen=0,t._count=0,M.Modal=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"modal","M_Modal")}(cash,M.anime),function(o,a){"use strict";var e={inDuration:275,outDuration:200,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Materialbox=i).options=o.extend({},n.defaults,e),i.overlayActive=!1,i.doneAnimating=!0,i.placeholder=o("
").addClass("material-placeholder"),i.originalWidth=0,i.originalHeight=0,i.originInlineStyles=i.$el.attr("style"),i.caption=i.el.getAttribute("data-caption")||"",i.$el.before(i.placeholder),i.placeholder.append(i.$el),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.M_Materialbox=void 0,o(this.placeholder).after(this.el).remove(),this.$el.removeAttr("style")}},{key:"_setupEventHandlers",value:function(){this._handleMaterialboxClickBound=this._handleMaterialboxClick.bind(this),this.el.addEventListener("click",this._handleMaterialboxClickBound)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleMaterialboxClickBound)}},{key:"_handleMaterialboxClick",value:function(t){!1===this.doneAnimating||this.overlayActive&&this.doneAnimating?this.close():this.open()}},{key:"_handleWindowScroll",value:function(){this.overlayActive&&this.close()}},{key:"_handleWindowResize",value:function(){this.overlayActive&&this.close()}},{key:"_handleWindowEscape",value:function(t){27===t.keyCode&&this.doneAnimating&&this.overlayActive&&this.close()}},{key:"_makeAncestorsOverflowVisible",value:function(){this.ancestorsChanged=o();for(var t=this.placeholder[0].parentNode;null!==t&&!o(t).is(document);){var e=o(t);"visible"!==e.css("overflow")&&(e.css("overflow","visible"),void 0===this.ancestorsChanged?this.ancestorsChanged=e:this.ancestorsChanged=this.ancestorsChanged.add(e)),t=t.parentNode}}},{key:"_animateImageIn",value:function(){var t=this,e={targets:this.el,height:[this.originalHeight,this.newHeight],width:[this.originalWidth,this.newWidth],left:M.getDocumentScrollLeft()+this.windowWidth/2-this.placeholder.offset().left-this.newWidth/2,top:M.getDocumentScrollTop()+this.windowHeight/2-this.placeholder.offset().top-this.newHeight/2,duration:this.options.inDuration,easing:"easeOutQuad",complete:function(){t.doneAnimating=!0,"function"==typeof t.options.onOpenEnd&&t.options.onOpenEnd.call(t,t.el)}};this.maxWidth=this.$el.css("max-width"),this.maxHeight=this.$el.css("max-height"),"none"!==this.maxWidth&&(e.maxWidth=this.newWidth),"none"!==this.maxHeight&&(e.maxHeight=this.newHeight),a(e)}},{key:"_animateImageOut",value:function(){var t=this,e={targets:this.el,width:this.originalWidth,height:this.originalHeight,left:0,top:0,duration:this.options.outDuration,easing:"easeOutQuad",complete:function(){t.placeholder.css({height:"",width:"",position:"",top:"",left:""}),t.attrWidth&&t.$el.attr("width",t.attrWidth),t.attrHeight&&t.$el.attr("height",t.attrHeight),t.$el.removeAttr("style"),t.originInlineStyles&&t.$el.attr("style",t.originInlineStyles),t.$el.removeClass("active"),t.doneAnimating=!0,t.ancestorsChanged.length&&t.ancestorsChanged.css("overflow",""),"function"==typeof t.options.onCloseEnd&&t.options.onCloseEnd.call(t,t.el)}};a(e)}},{key:"_updateVars",value:function(){this.windowWidth=window.innerWidth,this.windowHeight=window.innerHeight,this.caption=this.el.getAttribute("data-caption")||""}},{key:"open",value:function(){var t=this;this._updateVars(),this.originalWidth=this.el.getBoundingClientRect().width,this.originalHeight=this.el.getBoundingClientRect().height,this.doneAnimating=!1,this.$el.addClass("active"),this.overlayActive=!0,"function"==typeof this.options.onOpenStart&&this.options.onOpenStart.call(this,this.el),this.placeholder.css({width:this.placeholder[0].getBoundingClientRect().width+"px",height:this.placeholder[0].getBoundingClientRect().height+"px",position:"relative",top:0,left:0}),this._makeAncestorsOverflowVisible(),this.$el.css({position:"absolute","z-index":1e3,"will-change":"left, top, width, height"}),this.attrWidth=this.$el.attr("width"),this.attrHeight=this.$el.attr("height"),this.attrWidth&&(this.$el.css("width",this.attrWidth+"px"),this.$el.removeAttr("width")),this.attrHeight&&(this.$el.css("width",this.attrHeight+"px"),this.$el.removeAttr("height")),this.$overlay=o('
').css({opacity:0}).one("click",function(){t.doneAnimating&&t.close()}),this.$el.before(this.$overlay);var e=this.$overlay[0].getBoundingClientRect();this.$overlay.css({width:this.windowWidth+"px",height:this.windowHeight+"px",left:-1*e.left+"px",top:-1*e.top+"px"}),a.remove(this.el),a.remove(this.$overlay[0]),a({targets:this.$overlay[0],opacity:1,duration:this.options.inDuration,easing:"easeOutQuad"}),""!==this.caption&&(this.$photocaption&&a.remove(this.$photoCaption[0]),this.$photoCaption=o('
'),this.$photoCaption.text(this.caption),o("body").append(this.$photoCaption),this.$photoCaption.css({display:"inline"}),a({targets:this.$photoCaption[0],opacity:1,duration:this.options.inDuration,easing:"easeOutQuad"}));var i=0,n=this.originalWidth/this.windowWidth,s=this.originalHeight/this.windowHeight;this.newWidth=0,this.newHeight=0,si.options.responsiveThreshold,i.$img=i.$el.find("img").first(),i.$img.each(function(){this.complete&&s(this).trigger("load")}),i._updateParallax(),i._setupEventHandlers(),i._setupStyles(),n._parallaxes.push(i),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){n._parallaxes.splice(n._parallaxes.indexOf(this),1),this.$img[0].style.transform="",this._removeEventHandlers(),this.$el[0].M_Parallax=void 0}},{key:"_setupEventHandlers",value:function(){this._handleImageLoadBound=this._handleImageLoad.bind(this),this.$img[0].addEventListener("load",this._handleImageLoadBound),0===n._parallaxes.length&&(n._handleScrollThrottled=M.throttle(n._handleScroll,5),window.addEventListener("scroll",n._handleScrollThrottled),n._handleWindowResizeThrottled=M.throttle(n._handleWindowResize,5),window.addEventListener("resize",n._handleWindowResizeThrottled))}},{key:"_removeEventHandlers",value:function(){this.$img[0].removeEventListener("load",this._handleImageLoadBound),0===n._parallaxes.length&&(window.removeEventListener("scroll",n._handleScrollThrottled),window.removeEventListener("resize",n._handleWindowResizeThrottled))}},{key:"_setupStyles",value:function(){this.$img[0].style.opacity=1}},{key:"_handleImageLoad",value:function(){this._updateParallax()}},{key:"_updateParallax",value:function(){var t=0e.options.responsiveThreshold}}},{key:"defaults",get:function(){return e}}]),n}();t._parallaxes=[],M.Parallax=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"parallax","M_Parallax")}(cash),function(a,s){"use strict";var e={duration:300,onShow:null,swipeable:!1,responsiveThreshold:1/0},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Tabs=i).options=a.extend({},n.defaults,e),i.$tabLinks=i.$el.children("li.tab").children("a"),i.index=0,i._setupActiveTabLink(),i.options.swipeable?i._setupSwipeableTabs():i._setupNormalTabs(),i._setTabsAndTabWidth(),i._createIndicator(),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this._indicator.parentNode.removeChild(this._indicator),this.options.swipeable?this._teardownSwipeableTabs():this._teardownNormalTabs(),this.$el[0].M_Tabs=void 0}},{key:"_setupEventHandlers",value:function(){this._handleWindowResizeBound=this._handleWindowResize.bind(this),window.addEventListener("resize",this._handleWindowResizeBound),this._handleTabClickBound=this._handleTabClick.bind(this),this.el.addEventListener("click",this._handleTabClickBound)}},{key:"_removeEventHandlers",value:function(){window.removeEventListener("resize",this._handleWindowResizeBound),this.el.removeEventListener("click",this._handleTabClickBound)}},{key:"_handleWindowResize",value:function(){this._setTabsAndTabWidth(),0!==this.tabWidth&&0!==this.tabsWidth&&(this._indicator.style.left=this._calcLeftPos(this.$activeTabLink)+"px",this._indicator.style.right=this._calcRightPos(this.$activeTabLink)+"px")}},{key:"_handleTabClick",value:function(t){var e=this,i=a(t.target).closest("li.tab"),n=a(t.target).closest("a");if(n.length&&n.parent().hasClass("tab"))if(i.hasClass("disabled"))t.preventDefault();else if(!n.attr("target")){this.$activeTabLink.removeClass("active");var s=this.$content;this.$activeTabLink=n,this.$content=a(M.escapeHash(n[0].hash)),this.$tabLinks=this.$el.children("li.tab").children("a"),this.$activeTabLink.addClass("active");var o=this.index;this.index=Math.max(this.$tabLinks.index(n),0),this.options.swipeable?this._tabsCarousel&&this._tabsCarousel.set(this.index,function(){"function"==typeof e.options.onShow&&e.options.onShow.call(e,e.$content[0])}):this.$content.length&&(this.$content[0].style.display="block",this.$content.addClass("active"),"function"==typeof this.options.onShow&&this.options.onShow.call(this,this.$content[0]),s.length&&!s.is(this.$content)&&(s[0].style.display="none",s.removeClass("active"))),this._setTabsAndTabWidth(),this._animateIndicator(o),t.preventDefault()}}},{key:"_createIndicator",value:function(){var t=this,e=document.createElement("li");e.classList.add("indicator"),this.el.appendChild(e),this._indicator=e,setTimeout(function(){t._indicator.style.left=t._calcLeftPos(t.$activeTabLink)+"px",t._indicator.style.right=t._calcRightPos(t.$activeTabLink)+"px"},0)}},{key:"_setupActiveTabLink",value:function(){this.$activeTabLink=a(this.$tabLinks.filter('[href="'+location.hash+'"]')),0===this.$activeTabLink.length&&(this.$activeTabLink=this.$el.children("li.tab").children("a.active").first()),0===this.$activeTabLink.length&&(this.$activeTabLink=this.$el.children("li.tab").children("a").first()),this.$tabLinks.removeClass("active"),this.$activeTabLink[0].classList.add("active"),this.index=Math.max(this.$tabLinks.index(this.$activeTabLink),0),this.$activeTabLink.length&&(this.$content=a(M.escapeHash(this.$activeTabLink[0].hash)),this.$content.addClass("active"))}},{key:"_setupSwipeableTabs",value:function(){var i=this;window.innerWidth>this.options.responsiveThreshold&&(this.options.swipeable=!1);var n=a();this.$tabLinks.each(function(t){var e=a(M.escapeHash(t.hash));e.addClass("carousel-item"),n=n.add(e)});var t=a('
');n.first().before(t),t.append(n),n[0].style.display="";var e=this.$activeTabLink.closest(".tab").index();this._tabsCarousel=M.Carousel.init(t[0],{fullWidth:!0,noWrap:!0,onCycleTo:function(t){var e=i.index;i.index=a(t).index(),i.$activeTabLink.removeClass("active"),i.$activeTabLink=i.$tabLinks.eq(i.index),i.$activeTabLink.addClass("active"),i._animateIndicator(e),"function"==typeof i.options.onShow&&i.options.onShow.call(i,i.$content[0])}}),this._tabsCarousel.set(e)}},{key:"_teardownSwipeableTabs",value:function(){var t=this._tabsCarousel.$el;this._tabsCarousel.destroy(),t.after(t.children()),t.remove()}},{key:"_setupNormalTabs",value:function(){this.$tabLinks.not(this.$activeTabLink).each(function(t){if(t.hash){var e=a(M.escapeHash(t.hash));e.length&&(e[0].style.display="none")}})}},{key:"_teardownNormalTabs",value:function(){this.$tabLinks.each(function(t){if(t.hash){var e=a(M.escapeHash(t.hash));e.length&&(e[0].style.display="")}})}},{key:"_setTabsAndTabWidth",value:function(){this.tabsWidth=this.$el.width(),this.tabWidth=Math.max(this.tabsWidth,this.el.scrollWidth)/this.$tabLinks.length}},{key:"_calcRightPos",value:function(t){return Math.ceil(this.tabsWidth-t.position().left-t[0].getBoundingClientRect().width)}},{key:"_calcLeftPos",value:function(t){return Math.floor(t.position().left)}},{key:"updateTabIndicator",value:function(){this._setTabsAndTabWidth(),this._animateIndicator(this.index)}},{key:"_animateIndicator",value:function(t){var e=0,i=0;0<=this.index-t?e=90:i=90;var n={targets:this._indicator,left:{value:this._calcLeftPos(this.$activeTabLink),delay:e},right:{value:this._calcRightPos(this.$activeTabLink),delay:i},duration:this.options.duration,easing:"easeOutQuad"};s.remove(this._indicator),s(n)}},{key:"select",value:function(t){var e=this.$tabLinks.filter('[href="#'+t+'"]');e.length&&e.trigger("click")}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Tabs}},{key:"defaults",get:function(){return e}}]),n}();M.Tabs=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"tabs","M_Tabs")}(cash,M.anime),function(d,e){"use strict";var i={exitDelay:200,enterDelay:0,html:null,margin:5,inDuration:250,outDuration:200,position:"bottom",transitionMovement:10},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Tooltip=i).options=d.extend({},n.defaults,e),i.isOpen=!1,i.isHovered=!1,i.isFocused=!1,i._appendTooltipEl(),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){d(this.tooltipEl).remove(),this._removeEventHandlers(),this.el.M_Tooltip=void 0}},{key:"_appendTooltipEl",value:function(){var t=document.createElement("div");t.classList.add("material-tooltip"),this.tooltipEl=t;var e=document.createElement("div");e.classList.add("tooltip-content"),e.innerHTML=this.options.html,t.appendChild(e),document.body.appendChild(t)}},{key:"_updateTooltipContent",value:function(){this.tooltipEl.querySelector(".tooltip-content").innerHTML=this.options.html}},{key:"_setupEventHandlers",value:function(){this._handleMouseEnterBound=this._handleMouseEnter.bind(this),this._handleMouseLeaveBound=this._handleMouseLeave.bind(this),this._handleFocusBound=this._handleFocus.bind(this),this._handleBlurBound=this._handleBlur.bind(this),this.el.addEventListener("mouseenter",this._handleMouseEnterBound),this.el.addEventListener("mouseleave",this._handleMouseLeaveBound),this.el.addEventListener("focus",this._handleFocusBound,!0),this.el.addEventListener("blur",this._handleBlurBound,!0)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("mouseenter",this._handleMouseEnterBound),this.el.removeEventListener("mouseleave",this._handleMouseLeaveBound),this.el.removeEventListener("focus",this._handleFocusBound,!0),this.el.removeEventListener("blur",this._handleBlurBound,!0)}},{key:"open",value:function(t){this.isOpen||(t=void 0===t||void 0,this.isOpen=!0,this.options=d.extend({},this.options,this._getAttributeOptions()),this._updateTooltipContent(),this._setEnterDelayTimeout(t))}},{key:"close",value:function(){this.isOpen&&(this.isHovered=!1,this.isFocused=!1,this.isOpen=!1,this._setExitDelayTimeout())}},{key:"_setExitDelayTimeout",value:function(){var t=this;clearTimeout(this._exitDelayTimeout),this._exitDelayTimeout=setTimeout(function(){t.isHovered||t.isFocused||t._animateOut()},this.options.exitDelay)}},{key:"_setEnterDelayTimeout",value:function(t){var e=this;clearTimeout(this._enterDelayTimeout),this._enterDelayTimeout=setTimeout(function(){(e.isHovered||e.isFocused||t)&&e._animateIn()},this.options.enterDelay)}},{key:"_positionTooltip",value:function(){var t,e=this.el,i=this.tooltipEl,n=e.offsetHeight,s=e.offsetWidth,o=i.offsetHeight,a=i.offsetWidth,r=this.options.margin,l=void 0,h=void 0;this.xMovement=0,this.yMovement=0,l=e.getBoundingClientRect().top+M.getDocumentScrollTop(),h=e.getBoundingClientRect().left+M.getDocumentScrollLeft(),"top"===this.options.position?(l+=-o-r,h+=s/2-a/2,this.yMovement=-this.options.transitionMovement):"right"===this.options.position?(l+=n/2-o/2,h+=s+r,this.xMovement=this.options.transitionMovement):"left"===this.options.position?(l+=n/2-o/2,h+=-a-r,this.xMovement=-this.options.transitionMovement):(l+=n+r,h+=s/2-a/2,this.yMovement=this.options.transitionMovement),t=this._repositionWithinScreen(h,l,a,o),d(i).css({top:t.y+"px",left:t.x+"px"})}},{key:"_repositionWithinScreen",value:function(t,e,i,n){var s=M.getDocumentScrollLeft(),o=M.getDocumentScrollTop(),a=t-s,r=e-o,l={left:a,top:r,width:i,height:n},h=this.options.margin+this.options.transitionMovement,d=M.checkWithinContainer(document.body,l,h);return d.left?a=h:d.right&&(a-=a+i-window.innerWidth),d.top?r=h:d.bottom&&(r-=r+n-window.innerHeight),{x:a+s,y:r+o}}},{key:"_animateIn",value:function(){this._positionTooltip(),this.tooltipEl.style.visibility="visible",e.remove(this.tooltipEl),e({targets:this.tooltipEl,opacity:1,translateX:this.xMovement,translateY:this.yMovement,duration:this.options.inDuration,easing:"easeOutCubic"})}},{key:"_animateOut",value:function(){e.remove(this.tooltipEl),e({targets:this.tooltipEl,opacity:0,translateX:0,translateY:0,duration:this.options.outDuration,easing:"easeOutCubic"})}},{key:"_handleMouseEnter",value:function(){this.isHovered=!0,this.isFocused=!1,this.open(!1)}},{key:"_handleMouseLeave",value:function(){this.isHovered=!1,this.isFocused=!1,this.close()}},{key:"_handleFocus",value:function(){M.tabPressed&&(this.isFocused=!0,this.open(!1))}},{key:"_handleBlur",value:function(){this.isFocused=!1,this.close()}},{key:"_getAttributeOptions",value:function(){var t={},e=this.el.getAttribute("data-tooltip"),i=this.el.getAttribute("data-position");return e&&(t.html=e),i&&(t.position=i),t}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Tooltip}},{key:"defaults",get:function(){return i}}]),n}();M.Tooltip=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"tooltip","M_Tooltip")}(cash,M.anime),function(i){"use strict";var t=t||{},e=document.querySelectorAll.bind(document);function m(t){var e="";for(var i in t)t.hasOwnProperty(i)&&(e+=i+":"+t[i]+";");return e}var g={duration:750,show:function(t,e){if(2===t.button)return!1;var i=e||this,n=document.createElement("div");n.className="waves-ripple",i.appendChild(n);var s,o,a,r,l,h,d,u=(h={top:0,left:0},d=(s=i)&&s.ownerDocument,o=d.documentElement,void 0!==s.getBoundingClientRect&&(h=s.getBoundingClientRect()),a=null!==(l=r=d)&&l===l.window?r:9===r.nodeType&&r.defaultView,{top:h.top+a.pageYOffset-o.clientTop,left:h.left+a.pageXOffset-o.clientLeft}),c=t.pageY-u.top,p=t.pageX-u.left,v="scale("+i.clientWidth/100*10+")";"touches"in t&&(c=t.touches[0].pageY-u.top,p=t.touches[0].pageX-u.left),n.setAttribute("data-hold",Date.now()),n.setAttribute("data-scale",v),n.setAttribute("data-x",p),n.setAttribute("data-y",c);var f={top:c+"px",left:p+"px"};n.className=n.className+" waves-notransition",n.setAttribute("style",m(f)),n.className=n.className.replace("waves-notransition",""),f["-webkit-transform"]=v,f["-moz-transform"]=v,f["-ms-transform"]=v,f["-o-transform"]=v,f.transform=v,f.opacity="1",f["-webkit-transition-duration"]=g.duration+"ms",f["-moz-transition-duration"]=g.duration+"ms",f["-o-transition-duration"]=g.duration+"ms",f["transition-duration"]=g.duration+"ms",f["-webkit-transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",f["-moz-transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",f["-o-transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",f["transition-timing-function"]="cubic-bezier(0.250, 0.460, 0.450, 0.940)",n.setAttribute("style",m(f))},hide:function(t){l.touchup(t);var e=this,i=(e.clientWidth,null),n=e.getElementsByClassName("waves-ripple");if(!(0i||1"+o+""+a+" "+r+""),i.length&&e.prepend(i)}},{key:"_resetCurrentElement",value:function(){this.activeIndex=-1,this.$active.removeClass("active")}},{key:"_resetAutocomplete",value:function(){h(this.container).empty(),this._resetCurrentElement(),this.oldVal=null,this.isOpen=!1,this._mousedown=!1}},{key:"selectOption",value:function(t){var e=t.text().trim();this.el.value=e,this.$el.trigger("change"),this._resetAutocomplete(),this.close(),"function"==typeof this.options.onAutocomplete&&this.options.onAutocomplete.call(this,e)}},{key:"_renderDropdown",value:function(t,i){var n=this;this._resetAutocomplete();var e=[];for(var s in t)if(t.hasOwnProperty(s)&&-1!==s.toLowerCase().indexOf(i)){if(this.count>=this.options.limit)break;var o={data:t[s],key:s};e.push(o),this.count++}if(this.options.sortFunction){e.sort(function(t,e){return n.options.sortFunction(t.key.toLowerCase(),e.key.toLowerCase(),i.toLowerCase())})}for(var a=0;a");r.data?l.append(''+r.key+" "):l.append(""+r.key+" "),h(this.container).append(l),this._highlight(i,l)}}},{key:"open",value:function(){var t=this.el.value.toLowerCase();this._resetAutocomplete(),t.length>=this.options.minLength&&(this.isOpen=!0,this._renderDropdown(this.options.data,t)),this.dropdown.isOpen?this.dropdown.recalculateDimensions():this.dropdown.open()}},{key:"close",value:function(){this.dropdown.close()}},{key:"updateData",value:function(t){var e=this.el.value.toLowerCase();this.options.data=t,this.isOpen&&this._renderDropdown(t,e)}}],[{key:"init",value:function(t,e){return _get(s.__proto__||Object.getPrototypeOf(s),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Autocomplete}},{key:"defaults",get:function(){return e}}]),s}();t._keydown=!1,M.Autocomplete=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"autocomplete","M_Autocomplete")}(cash),function(d){M.updateTextFields=function(){d("input[type=text], input[type=password], input[type=email], input[type=url], input[type=tel], input[type=number], input[type=search], input[type=date], input[type=time], textarea").each(function(t,e){var i=d(this);0'),d("body").append(e));var i=t.css("font-family"),n=t.css("font-size"),s=t.css("line-height"),o=t.css("padding-top"),a=t.css("padding-right"),r=t.css("padding-bottom"),l=t.css("padding-left");n&&e.css("font-size",n),i&&e.css("font-family",i),s&&e.css("line-height",s),o&&e.css("padding-top",o),a&&e.css("padding-right",a),r&&e.css("padding-bottom",r),l&&e.css("padding-left",l),t.data("original-height")||t.data("original-height",t.height()),"off"===t.attr("wrap")&&e.css("overflow-wrap","normal").css("white-space","pre"),e.text(t[0].value+"\n");var h=e.html().replace(/\n/g," ");e.html(h),0'),this.$slides.each(function(t,e){var i=s(' ');n.$indicators.append(i[0])}),this.$el.append(this.$indicators[0]),this.$indicators=this.$indicators.children("li.indicator-item"))}},{key:"_removeIndicators",value:function(){this.$el.find("ul.indicators").remove()}},{key:"set",value:function(t){var e=this;if(t>=this.$slides.length?t=0:t<0&&(t=this.$slides.length-1),this.activeIndex!=t){this.$active=this.$slides.eq(this.activeIndex);var i=this.$active.find(".caption");this.$active.removeClass("active"),o({targets:this.$active[0],opacity:0,duration:this.options.duration,easing:"easeOutQuad",complete:function(){e.$slides.not(".active").each(function(t){o({targets:t,opacity:0,translateX:0,translateY:0,duration:0,easing:"easeOutQuad"})})}}),this._animateCaptionIn(i[0],this.options.duration),this.options.indicators&&(this.$indicators.eq(this.activeIndex).removeClass("active"),this.$indicators.eq(t).addClass("active")),o({targets:this.$slides.eq(t)[0],opacity:1,duration:this.options.duration,easing:"easeOutQuad"}),o({targets:this.$slides.eq(t).find(".caption")[0],opacity:1,translateX:0,translateY:0,duration:this.options.duration,delay:this.options.duration,easing:"easeOutQuad"}),this.$slides.eq(t).addClass("active"),this.activeIndex=t,this.start()}}},{key:"pause",value:function(){clearInterval(this.interval)}},{key:"start",value:function(){clearInterval(this.interval),this.interval=setInterval(this._handleIntervalBound,this.options.duration+this.options.interval)}},{key:"next",value:function(){var t=this.activeIndex+1;t>=this.$slides.length?t=0:t<0&&(t=this.$slides.length-1),this.set(t)}},{key:"prev",value:function(){var t=this.activeIndex-1;t>=this.$slides.length?t=0:t<0&&(t=this.$slides.length-1),this.set(t)}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Slider}},{key:"defaults",get:function(){return e}}]),n}();M.Slider=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"slider","M_Slider")}(cash,M.anime),function(n,s){n(document).on("click",".card",function(t){if(n(this).children(".card-reveal").length){var i=n(t.target).closest(".card");void 0===i.data("initialOverflow")&&i.data("initialOverflow",void 0===i.css("overflow")?"":i.css("overflow"));var e=n(this).find(".card-reveal");n(t.target).is(n(".card-reveal .card-title"))||n(t.target).is(n(".card-reveal .card-title i"))?s({targets:e[0],translateY:0,duration:225,easing:"easeInOutQuad",complete:function(t){var e=t.animatables[0].target;n(e).css({display:"none"}),i.css("overflow",i.data("initialOverflow"))}}):(n(t.target).is(n(".card .activator"))||n(t.target).is(n(".card .activator i")))&&(i.css("overflow","hidden"),e.css({display:"block"}),s({targets:e[0],translateY:"-100%",duration:300,easing:"easeInOutQuad"}))}})}(cash,M.anime),function(h){"use strict";var e={data:[],placeholder:"",secondaryPlaceholder:"",autocompleteOptions:{},limit:1/0,onChipAdd:null,onChipSelect:null,onChipDelete:null},t=function(t){function l(t,e){_classCallCheck(this,l);var i=_possibleConstructorReturn(this,(l.__proto__||Object.getPrototypeOf(l)).call(this,l,t,e));return(i.el.M_Chips=i).options=h.extend({},l.defaults,e),i.$el.addClass("chips input-field"),i.chipsData=[],i.$chips=h(),i._setupInput(),i.hasAutocomplete=0"),this.$el.append(this.$input)),this.$input.addClass("input")}},{key:"_setupLabel",value:function(){this.$label=this.$el.find("label"),this.$label.length&&this.$label.setAttribute("for",this.$input.attr("id"))}},{key:"_setPlaceholder",value:function(){void 0!==this.chipsData&&!this.chipsData.length&&this.options.placeholder?h(this.$input).prop("placeholder",this.options.placeholder):(void 0===this.chipsData||this.chipsData.length)&&this.options.secondaryPlaceholder&&h(this.$input).prop("placeholder",this.options.secondaryPlaceholder)}},{key:"_isValid",value:function(t){if(t.hasOwnProperty("tag")&&""!==t.tag){for(var e=!1,i=0;i=this.options.limit)){var e=this._renderChip(t);this.$chips.add(e),this.chipsData.push(t),h(this.$input).before(e),this._setPlaceholder(),"function"==typeof this.options.onChipAdd&&this.options.onChipAdd.call(this,this.$el,e)}}},{key:"deleteChip",value:function(t){var e=this.$chips.eq(t);this.$chips.eq(t).remove(),this.$chips=this.$chips.filter(function(t){return 0<=h(t).index()}),this.chipsData.splice(t,1),this._setPlaceholder(),"function"==typeof this.options.onChipDelete&&this.options.onChipDelete.call(this,this.$el,e[0])}},{key:"selectChip",value:function(t){var e=this.$chips.eq(t);(this._selectedChip=e)[0].focus(),"function"==typeof this.options.onChipSelect&&this.options.onChipSelect.call(this,this.$el,e[0])}}],[{key:"init",value:function(t,e){return _get(l.__proto__||Object.getPrototypeOf(l),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Chips}},{key:"_handleChipsKeydown",value:function(t){l._keydown=!0;var e=h(t.target).closest(".chips"),i=t.target&&e.length;if(!h(t.target).is("input, textarea")&&i){var n=e[0].M_Chips;if(8===t.keyCode||46===t.keyCode){t.preventDefault();var s=n.chipsData.length;if(n._selectedChip){var o=n._selectedChip.index();n.deleteChip(o),n._selectedChip=null,s=Math.max(o-1,0)}n.chipsData.length&&n.selectChip(s)}else if(37===t.keyCode){if(n._selectedChip){var a=n._selectedChip.index()-1;if(a<0)return;n.selectChip(a)}}else if(39===t.keyCode&&n._selectedChip){var r=n._selectedChip.index()+1;r>=n.chipsData.length?n.$input[0].focus():n.selectChip(r)}}}},{key:"_handleChipsKeyup",value:function(t){l._keydown=!1}},{key:"_handleChipsBlur",value:function(t){l._keydown||(h(t.target).closest(".chips")[0].M_Chips._selectedChip=null)}},{key:"defaults",get:function(){return e}}]),l}();t._keydown=!1,M.Chips=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"chips","M_Chips"),h(document).ready(function(){h(document.body).on("click",".chip .close",function(){var t=h(this).closest(".chips");t.length&&t[0].M_Chips||h(this).closest(".chip").remove()})})}(cash),function(s){"use strict";var e={top:0,bottom:1/0,offset:0,onPositionChange:null},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Pushpin=i).options=s.extend({},n.defaults,e),i.originalOffset=i.el.offsetTop,n._pushpins.push(i),i._setupEventHandlers(),i._updatePosition(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this.el.style.top=null,this._removePinClasses(),this._removeEventHandlers();var t=n._pushpins.indexOf(this);n._pushpins.splice(t,1)}},{key:"_setupEventHandlers",value:function(){document.addEventListener("scroll",n._updateElements)}},{key:"_removeEventHandlers",value:function(){document.removeEventListener("scroll",n._updateElements)}},{key:"_updatePosition",value:function(){var t=M.getDocumentScrollTop()+this.options.offset;this.options.top<=t&&this.options.bottom>=t&&!this.el.classList.contains("pinned")&&(this._removePinClasses(),this.el.style.top=this.options.offset+"px",this.el.classList.add("pinned"),"function"==typeof this.options.onPositionChange&&this.options.onPositionChange.call(this,"pinned")),tthis.options.bottom&&!this.el.classList.contains("pin-bottom")&&(this._removePinClasses(),this.el.classList.add("pin-bottom"),this.el.style.top=this.options.bottom-this.originalOffset+"px","function"==typeof this.options.onPositionChange&&this.options.onPositionChange.call(this,"pin-bottom"))}},{key:"_removePinClasses",value:function(){this.el.classList.remove("pin-top"),this.el.classList.remove("pinned"),this.el.classList.remove("pin-bottom")}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Pushpin}},{key:"_updateElements",value:function(){for(var t in n._pushpins){n._pushpins[t]._updatePosition()}}},{key:"defaults",get:function(){return e}}]),n}();t._pushpins=[],M.Pushpin=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"pushpin","M_Pushpin")}(cash),function(r,s){"use strict";var e={direction:"top",hoverEnabled:!0,toolbarEnabled:!1};r.fn.reverse=[].reverse;var t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_FloatingActionButton=i).options=r.extend({},n.defaults,e),i.isOpen=!1,i.$anchor=i.$el.children("a").first(),i.$menu=i.$el.children("ul").first(),i.$floatingBtns=i.$el.find("ul .btn-floating"),i.$floatingBtnsReverse=i.$el.find("ul .btn-floating").reverse(),i.offsetY=0,i.offsetX=0,i.$el.addClass("direction-"+i.options.direction),"top"===i.options.direction?i.offsetY=40:"right"===i.options.direction?i.offsetX=-40:"bottom"===i.options.direction?i.offsetY=-40:i.offsetX=40,i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.M_FloatingActionButton=void 0}},{key:"_setupEventHandlers",value:function(){this._handleFABClickBound=this._handleFABClick.bind(this),this._handleOpenBound=this.open.bind(this),this._handleCloseBound=this.close.bind(this),this.options.hoverEnabled&&!this.options.toolbarEnabled?(this.el.addEventListener("mouseenter",this._handleOpenBound),this.el.addEventListener("mouseleave",this._handleCloseBound)):this.el.addEventListener("click",this._handleFABClickBound)}},{key:"_removeEventHandlers",value:function(){this.options.hoverEnabled&&!this.options.toolbarEnabled?(this.el.removeEventListener("mouseenter",this._handleOpenBound),this.el.removeEventListener("mouseleave",this._handleCloseBound)):this.el.removeEventListener("click",this._handleFABClickBound)}},{key:"_handleFABClick",value:function(){this.isOpen?this.close():this.open()}},{key:"_handleDocumentClick",value:function(t){r(t.target).closest(this.$menu).length||this.close()}},{key:"open",value:function(){this.isOpen||(this.options.toolbarEnabled?this._animateInToolbar():this._animateInFAB(),this.isOpen=!0)}},{key:"close",value:function(){this.isOpen&&(this.options.toolbarEnabled?(window.removeEventListener("scroll",this._handleCloseBound,!0),document.body.removeEventListener("click",this._handleDocumentClickBound,!0),this._animateOutToolbar()):this._animateOutFAB(),this.isOpen=!1)}},{key:"_animateInFAB",value:function(){var e=this;this.$el.addClass("active");var i=0;this.$floatingBtnsReverse.each(function(t){s({targets:t,opacity:1,scale:[.4,1],translateY:[e.offsetY,0],translateX:[e.offsetX,0],duration:275,delay:i,easing:"easeInOutQuad"}),i+=40})}},{key:"_animateOutFAB",value:function(){var e=this;this.$floatingBtnsReverse.each(function(t){s.remove(t),s({targets:t,opacity:0,scale:.4,translateY:e.offsetY,translateX:e.offsetX,duration:175,easing:"easeOutQuad",complete:function(){e.$el.removeClass("active")}})})}},{key:"_animateInToolbar",value:function(){var t,e=this,i=window.innerWidth,n=window.innerHeight,s=this.el.getBoundingClientRect(),o=r('
'),a=this.$anchor.css("background-color");this.$anchor.append(o),this.offsetX=s.left-i/2+s.width/2,this.offsetY=n-s.bottom,t=i/o[0].clientWidth,this.btnBottom=s.bottom,this.btnLeft=s.left,this.btnWidth=s.width,this.$el.addClass("active"),this.$el.css({"text-align":"center",width:"100%",bottom:0,left:0,transform:"translateX("+this.offsetX+"px)",transition:"none"}),this.$anchor.css({transform:"translateY("+-this.offsetY+"px)",transition:"none"}),o.css({"background-color":a}),setTimeout(function(){e.$el.css({transform:"",transition:"transform .2s cubic-bezier(0.550, 0.085, 0.680, 0.530), background-color 0s linear .2s"}),e.$anchor.css({overflow:"visible",transform:"",transition:"transform .2s"}),setTimeout(function(){e.$el.css({overflow:"hidden","background-color":a}),o.css({transform:"scale("+t+")",transition:"transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)"}),e.$menu.children("li").children("a").css({opacity:1}),e._handleDocumentClickBound=e._handleDocumentClick.bind(e),window.addEventListener("scroll",e._handleCloseBound,!0),document.body.addEventListener("click",e._handleDocumentClickBound,!0)},100)},0)}},{key:"_animateOutToolbar",value:function(){var t=this,e=window.innerWidth,i=window.innerHeight,n=this.$el.find(".fab-backdrop"),s=this.$anchor.css("background-color");this.offsetX=this.btnLeft-e/2+this.btnWidth/2,this.offsetY=i-this.btnBottom,this.$el.removeClass("active"),this.$el.css({"background-color":"transparent",transition:"none"}),this.$anchor.css({transition:"none"}),n.css({transform:"scale(0)","background-color":s}),this.$menu.children("li").children("a").css({opacity:""}),setTimeout(function(){n.remove(),t.$el.css({"text-align":"",width:"",bottom:"",left:"",overflow:"","background-color":"",transform:"translate3d("+-t.offsetX+"px,0,0)"}),t.$anchor.css({overflow:"",transform:"translate3d(0,"+t.offsetY+"px,0)"}),setTimeout(function(){t.$el.css({transform:"translate3d(0,0,0)",transition:"transform .2s"}),t.$anchor.css({transform:"translate3d(0,0,0)",transition:"transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)"})},20)},200)}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_FloatingActionButton}},{key:"defaults",get:function(){return e}}]),n}();M.FloatingActionButton=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"floatingActionButton","M_FloatingActionButton")}(cash,M.anime),function(g){"use strict";var e={autoClose:!1,format:"mmm dd, yyyy",parse:null,defaultDate:null,setDefaultDate:!1,disableWeekends:!1,disableDayFn:null,firstDay:0,minDate:null,maxDate:null,yearRange:10,minYear:0,maxYear:9999,minMonth:void 0,maxMonth:void 0,startRange:null,endRange:null,isRTL:!1,showMonthAfterYear:!1,showDaysInNextAndPreviousMonths:!1,container:null,showClearBtn:!1,i18n:{cancel:"Cancel",clear:"Clear",done:"Ok",previousMonth:"‹",nextMonth:"›",months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],weekdays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],weekdaysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],weekdaysAbbrev:["S","M","T","W","T","F","S"]},events:[],onSelect:null,onOpen:null,onClose:null,onDraw:null},t=function(t){function B(t,e){_classCallCheck(this,B);var i=_possibleConstructorReturn(this,(B.__proto__||Object.getPrototypeOf(B)).call(this,B,t,e));(i.el.M_Datepicker=i).options=g.extend({},B.defaults,e),e&&e.hasOwnProperty("i18n")&&"object"==typeof e.i18n&&(i.options.i18n=g.extend({},B.defaults.i18n,e.i18n)),i.options.minDate&&i.options.minDate.setHours(0,0,0,0),i.options.maxDate&&i.options.maxDate.setHours(0,0,0,0),i.id=M.guid(),i._setupVariables(),i._insertHTMLIntoDOM(),i._setupModal(),i._setupEventHandlers(),i.options.defaultDate||(i.options.defaultDate=new Date(Date.parse(i.el.value)));var n=i.options.defaultDate;return B._isDate(n)?i.options.setDefaultDate?(i.setDate(n,!0),i.setInputValue()):i.gotoDate(n):i.gotoDate(new Date),i.isOpen=!1,i}return _inherits(B,Component),_createClass(B,[{key:"destroy",value:function(){this._removeEventHandlers(),this.modal.destroy(),g(this.modalEl).remove(),this.destroySelects(),this.el.M_Datepicker=void 0}},{key:"destroySelects",value:function(){var t=this.calendarEl.querySelector(".orig-select-year");t&&M.FormSelect.getInstance(t).destroy();var e=this.calendarEl.querySelector(".orig-select-month");e&&M.FormSelect.getInstance(e).destroy()}},{key:"_insertHTMLIntoDOM",value:function(){this.options.showClearBtn&&(g(this.clearBtn).css({visibility:""}),this.clearBtn.innerHTML=this.options.i18n.clear),this.doneBtn.innerHTML=this.options.i18n.done,this.cancelBtn.innerHTML=this.options.i18n.cancel,this.options.container?this.$modalEl.appendTo(this.options.container):this.$modalEl.insertBefore(this.el)}},{key:"_setupModal",value:function(){var t=this;this.modalEl.id="modal-"+this.id,this.modal=M.Modal.init(this.modalEl,{onCloseEnd:function(){t.isOpen=!1}})}},{key:"toString",value:function(t){var e=this;return t=t||this.options.format,B._isDate(this.date)?t.split(/(d{1,4}|m{1,4}|y{4}|yy|!.)/g).map(function(t){return e.formats[t]?e.formats[t]():t}).join(""):""}},{key:"setDate",value:function(t,e){if(!t)return this.date=null,this._renderDateDisplay(),this.draw();if("string"==typeof t&&(t=new Date(Date.parse(t))),B._isDate(t)){var i=this.options.minDate,n=this.options.maxDate;B._isDate(i)&&tn.maxDate||n.disableWeekends&&B._isWeekend(y)||n.disableDayFn&&n.disableDayFn(y),isEmpty:C,isStartRange:x,isEndRange:L,isInRange:T,showDaysInNextAndPreviousMonths:n.showDaysInNextAndPreviousMonths};l.push(this.renderDay($)),7==++_&&(r.push(this.renderRow(l,n.isRTL,m)),_=0,m=!(l=[]))}return this.renderTable(n,r,i)}},{key:"renderDay",value:function(t){var e=[],i="false";if(t.isEmpty){if(!t.showDaysInNextAndPreviousMonths)return' ';e.push("is-outside-current-month"),e.push("is-selection-disabled")}return t.isDisabled&&e.push("is-disabled"),t.isToday&&e.push("is-today"),t.isSelected&&(e.push("is-selected"),i="true"),t.hasEvent&&e.push("has-event"),t.isInRange&&e.push("is-inrange"),t.isStartRange&&e.push("is-startrange"),t.isEndRange&&e.push("is-endrange"),''+t.day+" "}},{key:"renderRow",value:function(t,e,i){return''+(e?t.reverse():t).join("")+" "}},{key:"renderTable",value:function(t,e,i){return''+this.renderHead(t)+this.renderBody(e)+"
"}},{key:"renderHead",value:function(t){var e=void 0,i=[];for(e=0;e<7;e++)i.push(''+this.renderDayName(t,e,!0)+" ");return""+(t.isRTL?i.reverse():i).join("")+" "}},{key:"renderBody",value:function(t){return""+t.join("")+" "}},{key:"renderTitle",value:function(t,e,i,n,s,o){var a,r,l=void 0,h=void 0,d=void 0,u=this.options,c=i===u.minYear,p=i===u.maxYear,v='',f=!0,m=!0;for(d=[],l=0;l<12;l++)d.push('
u.maxMonth?'disabled="disabled"':"")+">"+u.i18n.months[l]+" ");for(a='
'+d.join("")+" ",g.isArray(u.yearRange)?(l=u.yearRange[0],h=u.yearRange[1]+1):(l=i-u.yearRange,h=1+i+u.yearRange),d=[];l
=u.minYear&&d.push('"+l+" ");r=''+d.join("")+" ";v+=' ',v+='',u.showMonthAfterYear?v+=r+a:v+=a+r,v+="
",c&&(0===n||u.minMonth>=n)&&(f=!1),p&&(11===n||u.maxMonth<=n)&&(m=!1);return(v+=' ')+" "}},{key:"draw",value:function(t){if(this.isOpen||t){var e,i=this.options,n=i.minYear,s=i.maxYear,o=i.minMonth,a=i.maxMonth,r="";this._y<=n&&(this._y=n,!isNaN(o)&&this._m=s&&(this._y=s,!isNaN(a)&&this._m>a&&(this._m=a)),e="datepicker-title-"+Math.random().toString(36).replace(/[^a-z]+/g,"").substr(0,2);for(var l=0;l<1;l++)this._renderDateDisplay(),r+=this.renderTitle(this,l,this.calendars[l].year,this.calendars[l].month,this.calendars[0].year,e)+this.render(this.calendars[l].year,this.calendars[l].month,e);this.destroySelects(),this.calendarEl.innerHTML=r;var h=this.calendarEl.querySelector(".orig-select-year"),d=this.calendarEl.querySelector(".orig-select-month");M.FormSelect.init(h,{classes:"select-year",dropdownOptions:{container:document.body,constrainWidth:!1}}),M.FormSelect.init(d,{classes:"select-month",dropdownOptions:{container:document.body,constrainWidth:!1}}),h.addEventListener("change",this._handleYearChange.bind(this)),d.addEventListener("change",this._handleMonthChange.bind(this)),"function"==typeof this.options.onDraw&&this.options.onDraw(this)}}},{key:"_setupEventHandlers",value:function(){this._handleInputKeydownBound=this._handleInputKeydown.bind(this),this._handleInputClickBound=this._handleInputClick.bind(this),this._handleInputChangeBound=this._handleInputChange.bind(this),this._handleCalendarClickBound=this._handleCalendarClick.bind(this),this._finishSelectionBound=this._finishSelection.bind(this),this._handleMonthChange=this._handleMonthChange.bind(this),this._closeBound=this.close.bind(this),this.el.addEventListener("click",this._handleInputClickBound),this.el.addEventListener("keydown",this._handleInputKeydownBound),this.el.addEventListener("change",this._handleInputChangeBound),this.calendarEl.addEventListener("click",this._handleCalendarClickBound),this.doneBtn.addEventListener("click",this._finishSelectionBound),this.cancelBtn.addEventListener("click",this._closeBound),this.options.showClearBtn&&(this._handleClearClickBound=this._handleClearClick.bind(this),this.clearBtn.addEventListener("click",this._handleClearClickBound))}},{key:"_setupVariables",value:function(){var e=this;this.$modalEl=g(B._template),this.modalEl=this.$modalEl[0],this.calendarEl=this.modalEl.querySelector(".datepicker-calendar"),this.yearTextEl=this.modalEl.querySelector(".year-text"),this.dateTextEl=this.modalEl.querySelector(".date-text"),this.options.showClearBtn&&(this.clearBtn=this.modalEl.querySelector(".datepicker-clear")),this.doneBtn=this.modalEl.querySelector(".datepicker-done"),this.cancelBtn=this.modalEl.querySelector(".datepicker-cancel"),this.formats={d:function(){return e.date.getDate()},dd:function(){var t=e.date.getDate();return(t<10?"0":"")+t},ddd:function(){return e.options.i18n.weekdaysShort[e.date.getDay()]},dddd:function(){return e.options.i18n.weekdays[e.date.getDay()]},m:function(){return e.date.getMonth()+1},mm:function(){var t=e.date.getMonth()+1;return(t<10?"0":"")+t},mmm:function(){return e.options.i18n.monthsShort[e.date.getMonth()]},mmmm:function(){return e.options.i18n.months[e.date.getMonth()]},yy:function(){return(""+e.date.getFullYear()).slice(2)},yyyy:function(){return e.date.getFullYear()}}}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleInputClickBound),this.el.removeEventListener("keydown",this._handleInputKeydownBound),this.el.removeEventListener("change",this._handleInputChangeBound),this.calendarEl.removeEventListener("click",this._handleCalendarClickBound)}},{key:"_handleInputClick",value:function(){this.open()}},{key:"_handleInputKeydown",value:function(t){t.which===M.keys.ENTER&&(t.preventDefault(),this.open())}},{key:"_handleCalendarClick",value:function(t){if(this.isOpen){var e=g(t.target);e.hasClass("is-disabled")||(!e.hasClass("datepicker-day-button")||e.hasClass("is-empty")||e.parent().hasClass("is-disabled")?e.closest(".month-prev").length?this.prevMonth():e.closest(".month-next").length&&this.nextMonth():(this.setDate(new Date(t.target.getAttribute("data-year"),t.target.getAttribute("data-month"),t.target.getAttribute("data-day"))),this.options.autoClose&&this._finishSelection()))}}},{key:"_handleClearClick",value:function(){this.date=null,this.setInputValue(),this.close()}},{key:"_handleMonthChange",value:function(t){this.gotoMonth(t.target.value)}},{key:"_handleYearChange",value:function(t){this.gotoYear(t.target.value)}},{key:"gotoMonth",value:function(t){isNaN(t)||(this.calendars[0].month=parseInt(t,10),this.adjustCalendars())}},{key:"gotoYear",value:function(t){isNaN(t)||(this.calendars[0].year=parseInt(t,10),this.adjustCalendars())}},{key:"_handleInputChange",value:function(t){var e=void 0;t.firedBy!==this&&(e=this.options.parse?this.options.parse(this.el.value,this.options.format):new Date(Date.parse(this.el.value)),B._isDate(e)&&this.setDate(e))}},{key:"renderDayName",value:function(t,e,i){for(e+=t.firstDay;7<=e;)e-=7;return i?t.i18n.weekdaysAbbrev[e]:t.i18n.weekdays[e]}},{key:"_finishSelection",value:function(){this.setInputValue(),this.close()}},{key:"open",value:function(){if(!this.isOpen)return this.isOpen=!0,"function"==typeof this.options.onOpen&&this.options.onOpen.call(this),this.draw(),this.modal.open(),this}},{key:"close",value:function(){if(this.isOpen)return this.isOpen=!1,"function"==typeof this.options.onClose&&this.options.onClose.call(this),this.modal.close(),this}}],[{key:"init",value:function(t,e){return _get(B.__proto__||Object.getPrototypeOf(B),"init",this).call(this,this,t,e)}},{key:"_isDate",value:function(t){return/Date/.test(Object.prototype.toString.call(t))&&!isNaN(t.getTime())}},{key:"_isWeekend",value:function(t){var e=t.getDay();return 0===e||6===e}},{key:"_setToStartOfDay",value:function(t){B._isDate(t)&&t.setHours(0,0,0,0)}},{key:"_getDaysInMonth",value:function(t,e){return[31,B._isLeapYear(t)?29:28,31,30,31,30,31,31,30,31,30,31][e]}},{key:"_isLeapYear",value:function(t){return t%4==0&&t%100!=0||t%400==0}},{key:"_compareDates",value:function(t,e){return t.getTime()===e.getTime()}},{key:"_setToStartOfDay",value:function(t){B._isDate(t)&&t.setHours(0,0,0,0)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Datepicker}},{key:"defaults",get:function(){return e}}]),B}();t._template=['"].join(""),M.Datepicker=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"datepicker","M_Datepicker")}(cash),function(h){"use strict";var e={dialRadius:135,outerRadius:105,innerRadius:70,tickRadius:20,duration:350,container:null,defaultTime:"now",fromNow:0,showClearBtn:!1,i18n:{cancel:"Cancel",clear:"Clear",done:"Ok"},autoClose:!1,twelveHour:!0,vibrate:!0,onOpenStart:null,onOpenEnd:null,onCloseStart:null,onCloseEnd:null,onSelect:null},t=function(t){function f(t,e){_classCallCheck(this,f);var i=_possibleConstructorReturn(this,(f.__proto__||Object.getPrototypeOf(f)).call(this,f,t,e));return(i.el.M_Timepicker=i).options=h.extend({},f.defaults,e),i.id=M.guid(),i._insertHTMLIntoDOM(),i._setupModal(),i._setupVariables(),i._setupEventHandlers(),i._clockSetup(),i._pickerSetup(),i}return _inherits(f,Component),_createClass(f,[{key:"destroy",value:function(){this._removeEventHandlers(),this.modal.destroy(),h(this.modalEl).remove(),this.el.M_Timepicker=void 0}},{key:"_setupEventHandlers",value:function(){this._handleInputKeydownBound=this._handleInputKeydown.bind(this),this._handleInputClickBound=this._handleInputClick.bind(this),this._handleClockClickStartBound=this._handleClockClickStart.bind(this),this._handleDocumentClickMoveBound=this._handleDocumentClickMove.bind(this),this._handleDocumentClickEndBound=this._handleDocumentClickEnd.bind(this),this.el.addEventListener("click",this._handleInputClickBound),this.el.addEventListener("keydown",this._handleInputKeydownBound),this.plate.addEventListener("mousedown",this._handleClockClickStartBound),this.plate.addEventListener("touchstart",this._handleClockClickStartBound),h(this.spanHours).on("click",this.showView.bind(this,"hours")),h(this.spanMinutes).on("click",this.showView.bind(this,"minutes"))}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleInputClickBound),this.el.removeEventListener("keydown",this._handleInputKeydownBound)}},{key:"_handleInputClick",value:function(){this.open()}},{key:"_handleInputKeydown",value:function(t){t.which===M.keys.ENTER&&(t.preventDefault(),this.open())}},{key:"_handleClockClickStart",value:function(t){t.preventDefault();var e=this.plate.getBoundingClientRect(),i=e.left,n=e.top;this.x0=i+this.options.dialRadius,this.y0=n+this.options.dialRadius,this.moved=!1;var s=f._Pos(t);this.dx=s.x-this.x0,this.dy=s.y-this.y0,this.setHand(this.dx,this.dy,!1),document.addEventListener("mousemove",this._handleDocumentClickMoveBound),document.addEventListener("touchmove",this._handleDocumentClickMoveBound),document.addEventListener("mouseup",this._handleDocumentClickEndBound),document.addEventListener("touchend",this._handleDocumentClickEndBound)}},{key:"_handleDocumentClickMove",value:function(t){t.preventDefault();var e=f._Pos(t),i=e.x-this.x0,n=e.y-this.y0;this.moved=!0,this.setHand(i,n,!1,!0)}},{key:"_handleDocumentClickEnd",value:function(t){var e=this;t.preventDefault(),document.removeEventListener("mouseup",this._handleDocumentClickEndBound),document.removeEventListener("touchend",this._handleDocumentClickEndBound);var i=f._Pos(t),n=i.x-this.x0,s=i.y-this.y0;this.moved&&n===this.dx&&s===this.dy&&this.setHand(n,s),"hours"===this.currentView?this.showView("minutes",this.options.duration/2):this.options.autoClose&&(h(this.minutesView).addClass("timepicker-dial-out"),setTimeout(function(){e.done()},this.options.duration/2)),"function"==typeof this.options.onSelect&&this.options.onSelect.call(this,this.hours,this.minutes),document.removeEventListener("mousemove",this._handleDocumentClickMoveBound),document.removeEventListener("touchmove",this._handleDocumentClickMoveBound)}},{key:"_insertHTMLIntoDOM",value:function(){this.$modalEl=h(f._template),this.modalEl=this.$modalEl[0],this.modalEl.id="modal-"+this.id;var t=document.querySelector(this.options.container);this.options.container&&t?this.$modalEl.appendTo(t):this.$modalEl.insertBefore(this.el)}},{key:"_setupModal",value:function(){var t=this;this.modal=M.Modal.init(this.modalEl,{onOpenStart:this.options.onOpenStart,onOpenEnd:this.options.onOpenEnd,onCloseStart:this.options.onCloseStart,onCloseEnd:function(){"function"==typeof t.options.onCloseEnd&&t.options.onCloseEnd.call(t),t.isOpen=!1}})}},{key:"_setupVariables",value:function(){this.currentView="hours",this.vibrate=navigator.vibrate?"vibrate":navigator.webkitVibrate?"webkitVibrate":null,this._canvas=this.modalEl.querySelector(".timepicker-canvas"),this.plate=this.modalEl.querySelector(".timepicker-plate"),this.hoursView=this.modalEl.querySelector(".timepicker-hours"),this.minutesView=this.modalEl.querySelector(".timepicker-minutes"),this.spanHours=this.modalEl.querySelector(".timepicker-span-hours"),this.spanMinutes=this.modalEl.querySelector(".timepicker-span-minutes"),this.spanAmPm=this.modalEl.querySelector(".timepicker-span-am-pm"),this.footer=this.modalEl.querySelector(".timepicker-footer"),this.amOrPm="PM"}},{key:"_pickerSetup",value:function(){var t=h(''+this.options.i18n.clear+" ").appendTo(this.footer).on("click",this.clear.bind(this));this.options.showClearBtn&&t.css({visibility:""});var e=h('
');h(''+this.options.i18n.cancel+" ").appendTo(e).on("click",this.close.bind(this)),h(''+this.options.i18n.done+" ").appendTo(e).on("click",this.done.bind(this)),e.appendTo(this.footer)}},{key:"_clockSetup",value:function(){this.options.twelveHour&&(this.$amBtn=h('AM
'),this.$pmBtn=h('PM
'),this.$amBtn.on("click",this._handleAmPmClick.bind(this)).appendTo(this.spanAmPm),this.$pmBtn.on("click",this._handleAmPmClick.bind(this)).appendTo(this.spanAmPm)),this._buildHoursView(),this._buildMinutesView(),this._buildSVGClock()}},{key:"_buildSVGClock",value:function(){var t=this.options.dialRadius,e=this.options.tickRadius,i=2*t,n=f._createSVGEl("svg");n.setAttribute("class","timepicker-svg"),n.setAttribute("width",i),n.setAttribute("height",i);var s=f._createSVGEl("g");s.setAttribute("transform","translate("+t+","+t+")");var o=f._createSVGEl("circle");o.setAttribute("class","timepicker-canvas-bearing"),o.setAttribute("cx",0),o.setAttribute("cy",0),o.setAttribute("r",4);var a=f._createSVGEl("line");a.setAttribute("x1",0),a.setAttribute("y1",0);var r=f._createSVGEl("circle");r.setAttribute("class","timepicker-canvas-bg"),r.setAttribute("r",e),s.appendChild(a),s.appendChild(r),s.appendChild(o),n.appendChild(s),this._canvas.appendChild(n),this.hand=a,this.bg=r,this.bearing=o,this.g=s}},{key:"_buildHoursView",value:function(){var t=h('
');if(this.options.twelveHour)for(var e=1;e<13;e+=1){var i=t.clone(),n=e/6*Math.PI,s=this.options.outerRadius;i.css({left:this.options.dialRadius+Math.sin(n)*s-this.options.tickRadius+"px",top:this.options.dialRadius-Math.cos(n)*s-this.options.tickRadius+"px"}),i.html(0===e?"00":e),this.hoursView.appendChild(i[0])}else for(var o=0;o<24;o+=1){var a=t.clone(),r=o/6*Math.PI,l=0'),e=0;e<60;e+=5){var i=t.clone(),n=e/30*Math.PI;i.css({left:this.options.dialRadius+Math.sin(n)*this.options.outerRadius-this.options.tickRadius+"px",top:this.options.dialRadius-Math.cos(n)*this.options.outerRadius-this.options.tickRadius+"px"}),i.html(f._addLeadingZero(e)),this.minutesView.appendChild(i[0])}}},{key:"_handleAmPmClick",value:function(t){var e=h(t.target);this.amOrPm=e.hasClass("am-btn")?"AM":"PM",this._updateAmPmView()}},{key:"_updateAmPmView",value:function(){this.options.twelveHour&&(this.$amBtn.toggleClass("text-primary","AM"===this.amOrPm),this.$pmBtn.toggleClass("text-primary","PM"===this.amOrPm))}},{key:"_updateTimeFromInput",value:function(){var t=((this.el.value||this.options.defaultTime||"")+"").split(":");if(this.options.twelveHour&&void 0!==t[1]&&(0','",""].join(""),M.Timepicker=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"timepicker","M_Timepicker")}(cash),function(s){"use strict";var e={},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_CharacterCounter=i).options=s.extend({},n.defaults,e),i.isInvalid=!1,i.isValidLength=!1,i._setupCounter(),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.CharacterCounter=void 0,this._removeCounter()}},{key:"_setupEventHandlers",value:function(){this._handleUpdateCounterBound=this.updateCounter.bind(this),this.el.addEventListener("focus",this._handleUpdateCounterBound,!0),this.el.addEventListener("input",this._handleUpdateCounterBound,!0)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("focus",this._handleUpdateCounterBound,!0),this.el.removeEventListener("input",this._handleUpdateCounterBound,!0)}},{key:"_setupCounter",value:function(){this.counterEl=document.createElement("span"),s(this.counterEl).addClass("character-counter").css({float:"right","font-size":"12px",height:1}),this.$el.parent().append(this.counterEl)}},{key:"_removeCounter",value:function(){s(this.counterEl).remove()}},{key:"updateCounter",value:function(){var t=+this.$el.attr("data-length"),e=this.el.value.length;this.isValidLength=e<=t;var i=e;t&&(i+="/"+t,this._validateInput()),s(this.counterEl).html(i)}},{key:"_validateInput",value:function(){this.isValidLength&&this.isInvalid?(this.isInvalid=!1,this.$el.removeClass("invalid")):this.isValidLength||this.isInvalid||(this.isInvalid=!0,this.$el.removeClass("valid"),this.$el.addClass("invalid"))}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_CharacterCounter}},{key:"defaults",get:function(){return e}}]),n}();M.CharacterCounter=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"characterCounter","M_CharacterCounter")}(cash),function(b){"use strict";var e={duration:200,dist:-100,shift:0,padding:0,numVisible:5,fullWidth:!1,indicators:!1,noWrap:!1,onCycleTo:null},t=function(t){function i(t,e){_classCallCheck(this,i);var n=_possibleConstructorReturn(this,(i.__proto__||Object.getPrototypeOf(i)).call(this,i,t,e));return(n.el.M_Carousel=n).options=b.extend({},i.defaults,e),n.hasMultipleSlides=1'),n.$el.find(".carousel-item").each(function(t,e){if(n.images.push(t),n.showIndicators){var i=b(' ');0===e&&i[0].classList.add("active"),n.$indicators.append(i)}}),n.showIndicators&&n.$el.append(n.$indicators),n.count=n.images.length,n.options.numVisible=Math.min(n.count,n.options.numVisible),n.xform="transform",["webkit","Moz","O","ms"].every(function(t){var e=t+"Transform";return void 0===document.body.style[e]||(n.xform=e,!1)}),n._setupEventHandlers(),n._scroll(n.offset),n}return _inherits(i,Component),_createClass(i,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.M_Carousel=void 0}},{key:"_setupEventHandlers",value:function(){var i=this;this._handleCarouselTapBound=this._handleCarouselTap.bind(this),this._handleCarouselDragBound=this._handleCarouselDrag.bind(this),this._handleCarouselReleaseBound=this._handleCarouselRelease.bind(this),this._handleCarouselClickBound=this._handleCarouselClick.bind(this),void 0!==window.ontouchstart&&(this.el.addEventListener("touchstart",this._handleCarouselTapBound),this.el.addEventListener("touchmove",this._handleCarouselDragBound),this.el.addEventListener("touchend",this._handleCarouselReleaseBound)),this.el.addEventListener("mousedown",this._handleCarouselTapBound),this.el.addEventListener("mousemove",this._handleCarouselDragBound),this.el.addEventListener("mouseup",this._handleCarouselReleaseBound),this.el.addEventListener("mouseleave",this._handleCarouselReleaseBound),this.el.addEventListener("click",this._handleCarouselClickBound),this.showIndicators&&this.$indicators&&(this._handleIndicatorClickBound=this._handleIndicatorClick.bind(this),this.$indicators.find(".indicator-item").each(function(t,e){t.addEventListener("click",i._handleIndicatorClickBound)}));var t=M.throttle(this._handleResize,200);this._handleThrottledResizeBound=t.bind(this),window.addEventListener("resize",this._handleThrottledResizeBound)}},{key:"_removeEventHandlers",value:function(){var i=this;void 0!==window.ontouchstart&&(this.el.removeEventListener("touchstart",this._handleCarouselTapBound),this.el.removeEventListener("touchmove",this._handleCarouselDragBound),this.el.removeEventListener("touchend",this._handleCarouselReleaseBound)),this.el.removeEventListener("mousedown",this._handleCarouselTapBound),this.el.removeEventListener("mousemove",this._handleCarouselDragBound),this.el.removeEventListener("mouseup",this._handleCarouselReleaseBound),this.el.removeEventListener("mouseleave",this._handleCarouselReleaseBound),this.el.removeEventListener("click",this._handleCarouselClickBound),this.showIndicators&&this.$indicators&&this.$indicators.find(".indicator-item").each(function(t,e){t.removeEventListener("click",i._handleIndicatorClickBound)}),window.removeEventListener("resize",this._handleThrottledResizeBound)}},{key:"_handleCarouselTap",value:function(t){"mousedown"===t.type&&b(t.target).is("img")&&t.preventDefault(),this.pressed=!0,this.dragged=!1,this.verticalDragged=!1,this.reference=this._xpos(t),this.referenceY=this._ypos(t),this.velocity=this.amplitude=0,this.frame=this.offset,this.timestamp=Date.now(),clearInterval(this.ticker),this.ticker=setInterval(this._trackBound,100)}},{key:"_handleCarouselDrag",value:function(t){var e=void 0,i=void 0,n=void 0;if(this.pressed)if(e=this._xpos(t),i=this._ypos(t),n=this.reference-e,Math.abs(this.referenceY-i)<30&&!this.verticalDragged)(2=this.dim*(this.count-1)?this.target=this.dim*(this.count-1):this.target<0&&(this.target=0)),this.amplitude=this.target-this.offset,this.timestamp=Date.now(),requestAnimationFrame(this._autoScrollBound),this.dragged&&(t.preventDefault(),t.stopPropagation()),!1}},{key:"_handleCarouselClick",value:function(t){if(this.dragged)return t.preventDefault(),t.stopPropagation(),!1;if(!this.options.fullWidth){var e=b(t.target).closest(".carousel-item").index();0!==this._wrap(this.center)-e&&(t.preventDefault(),t.stopPropagation()),this._cycleTo(e)}}},{key:"_handleIndicatorClick",value:function(t){t.stopPropagation();var e=b(t.target).closest(".indicator-item");e.length&&this._cycleTo(e.index())}},{key:"_handleResize",value:function(t){this.options.fullWidth?(this.itemWidth=this.$el.find(".carousel-item").first().innerWidth(),this.imageHeight=this.$el.find(".carousel-item.active").height(),this.dim=2*this.itemWidth+this.options.padding,this.offset=2*this.center*this.itemWidth,this.target=this.offset,this._setCarouselHeight(!0)):this._scroll()}},{key:"_setCarouselHeight",value:function(t){var i=this,e=this.$el.find(".carousel-item.active").length?this.$el.find(".carousel-item.active").first():this.$el.find(".carousel-item").first(),n=e.find("img").first();if(n.length)if(n[0].complete){var s=n.height();if(0=this.count?t%this.count:t<0?this._wrap(this.count+t%this.count):t}},{key:"_track",value:function(){var t,e,i,n;e=(t=Date.now())-this.timestamp,this.timestamp=t,i=this.offset-this.frame,this.frame=this.offset,n=1e3*i/(1+e),this.velocity=.8*n+.2*this.velocity}},{key:"_autoScroll",value:function(){var t=void 0,e=void 0;this.amplitude&&(t=Date.now()-this.timestamp,2<(e=this.amplitude*Math.exp(-t/this.options.duration))||e<-2?(this._scroll(this.target-e),requestAnimationFrame(this._autoScrollBound)):this._scroll(this.target))}},{key:"_scroll",value:function(t){var e=this;this.$el.hasClass("scrolling")||this.el.classList.add("scrolling"),null!=this.scrollingTimeout&&window.clearTimeout(this.scrollingTimeout),this.scrollingTimeout=window.setTimeout(function(){e.$el.removeClass("scrolling")},this.options.duration);var i,n,s,o,a=void 0,r=void 0,l=void 0,h=void 0,d=void 0,u=void 0,c=this.center,p=1/this.options.numVisible;if(this.offset="number"==typeof t?t:this.offset,this.center=Math.floor((this.offset+this.dim/2)/this.dim),o=-(s=(n=this.offset-this.center*this.dim)<0?1:-1)*n*2/this.dim,i=this.count>>1,this.options.fullWidth?(l="translateX(0)",u=1):(l="translateX("+(this.el.clientWidth-this.itemWidth)/2+"px) ",l+="translateY("+(this.el.clientHeight-this.itemHeight)/2+"px)",u=1-p*o),this.showIndicators){var v=this.center%this.count,f=this.$indicators.find(".indicator-item.active");f.index()!==v&&(f.removeClass("active"),this.$indicators.find(".indicator-item").eq(v)[0].classList.add("active"))}if(!this.noWrap||0<=this.center&&this.center=this.count||e<0){if(this.noWrap)return;e=this._wrap(e)}this._cycleTo(e)}},{key:"prev",value:function(t){(void 0===t||isNaN(t))&&(t=1);var e=this.center-t;if(e>=this.count||e<0){if(this.noWrap)return;e=this._wrap(e)}this._cycleTo(e)}},{key:"set",value:function(t,e){if((void 0===t||isNaN(t))&&(t=0),t>this.count||t<0){if(this.noWrap)return;t=this._wrap(t)}this._cycleTo(t,e)}}],[{key:"init",value:function(t,e){return _get(i.__proto__||Object.getPrototypeOf(i),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Carousel}},{key:"defaults",get:function(){return e}}]),i}();M.Carousel=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"carousel","M_Carousel")}(cash),function(S){"use strict";var e={onOpen:void 0,onClose:void 0},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_TapTarget=i).options=S.extend({},n.defaults,e),i.isOpen=!1,i.$origin=S("#"+i.$el.attr("data-target")),i._setup(),i._calculatePositioning(),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this.el.TapTarget=void 0}},{key:"_setupEventHandlers",value:function(){this._handleDocumentClickBound=this._handleDocumentClick.bind(this),this._handleTargetClickBound=this._handleTargetClick.bind(this),this._handleOriginClickBound=this._handleOriginClick.bind(this),this.el.addEventListener("click",this._handleTargetClickBound),this.originEl.addEventListener("click",this._handleOriginClickBound);var t=M.throttle(this._handleResize,200);this._handleThrottledResizeBound=t.bind(this),window.addEventListener("resize",this._handleThrottledResizeBound)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("click",this._handleTargetClickBound),this.originEl.removeEventListener("click",this._handleOriginClickBound),window.removeEventListener("resize",this._handleThrottledResizeBound)}},{key:"_handleTargetClick",value:function(t){this.open()}},{key:"_handleOriginClick",value:function(t){this.close()}},{key:"_handleResize",value:function(t){this._calculatePositioning()}},{key:"_handleDocumentClick",value:function(t){S(t.target).closest(".tap-target-wrapper").length||(this.close(),t.preventDefault(),t.stopPropagation())}},{key:"_setup",value:function(){this.wrapper=this.$el.parent()[0],this.waveEl=S(this.wrapper).find(".tap-target-wave")[0],this.originEl=S(this.wrapper).find(".tap-target-origin")[0],this.contentEl=this.$el.find(".tap-target-content")[0],S(this.wrapper).hasClass(".tap-target-wrapper")||(this.wrapper=document.createElement("div"),this.wrapper.classList.add("tap-target-wrapper"),this.$el.before(S(this.wrapper)),this.wrapper.append(this.el)),this.contentEl||(this.contentEl=document.createElement("div"),this.contentEl.classList.add("tap-target-content"),this.$el.append(this.contentEl)),this.waveEl||(this.waveEl=document.createElement("div"),this.waveEl.classList.add("tap-target-wave"),this.originEl||(this.originEl=this.$origin.clone(!0,!0),this.originEl.addClass("tap-target-origin"),this.originEl.removeAttr("id"),this.originEl.removeAttr("style"),this.originEl=this.originEl[0],this.waveEl.append(this.originEl)),this.wrapper.append(this.waveEl))}},{key:"_calculatePositioning",value:function(){var t="fixed"===this.$origin.css("position");if(!t)for(var e=this.$origin.parents(),i=0;i'+t.getAttribute("label")+" ")[0]),i.each(function(t){var e=n._appendOptionWithIcon(n.$el,t,"optgroup-option");n._addOptionToValueDict(t,e)})}}),this.$el.after(this.dropdownOptions),this.input=document.createElement("input"),d(this.input).addClass("select-dropdown dropdown-trigger"),this.input.setAttribute("type","text"),this.input.setAttribute("readonly","true"),this.input.setAttribute("data-target",this.dropdownOptions.id),this.el.disabled&&d(this.input).prop("disabled","true"),this.$el.before(this.input),this._setValueToInput();var t=d(' ');if(this.$el.before(t[0]),!this.el.disabled){var e=d.extend({},this.options.dropdownOptions);e.onOpenEnd=function(t){var e=d(n.dropdownOptions).find(".selected").first();if(e.length&&(M.keyDown=!0,n.dropdown.focusedIndex=e.index(),n.dropdown._focusFocusedItem(),M.keyDown=!1,n.dropdown.isScrollable)){var i=e[0].getBoundingClientRect().top-n.dropdownOptions.getBoundingClientRect().top;i-=n.dropdownOptions.clientHeight/2,n.dropdownOptions.scrollTop=i}},this.isMultiple&&(e.closeOnClick=!1),this.dropdown=M.Dropdown.init(this.input,e)}this._setSelectedStates()}},{key:"_addOptionToValueDict",value:function(t,e){var i=Object.keys(this._valueDict).length,n=this.dropdownOptions.id+i,s={};e.id=n,s.el=t,s.optionEl=e,this._valueDict[n]=s}},{key:"_removeDropdown",value:function(){d(this.wrapper).find(".caret").remove(),d(this.input).remove(),d(this.dropdownOptions).remove(),d(this.wrapper).before(this.$el),d(this.wrapper).remove()}},{key:"_appendOptionWithIcon",value:function(t,e,i){var n=e.disabled?"disabled ":"",s="optgroup-option"===i?"optgroup-option ":"",o=this.isMultiple?''+e.innerHTML+" ":e.innerHTML,a=d(" "),r=d(" ");r.html(o),a.addClass(n+" "+s),a.append(r);var l=e.getAttribute("data-icon");if(l){var h=d(' ');a.prepend(h)}return d(this.dropdownOptions).append(a[0]),a[0]}},{key:"_toggleEntryFromArray",value:function(t){var e=!this._keysSelected.hasOwnProperty(t),i=d(this._valueDict[t].optionEl);return e?this._keysSelected[t]=!0:delete this._keysSelected[t],i.toggleClass("selected",e),i.find('input[type="checkbox"]').prop("checked",e),i.prop("selected",e),e}},{key:"_setValueToInput",value:function(){var i=[];if(this.$el.find("option").each(function(t){if(d(t).prop("selected")){var e=d(t).text();i.push(e)}}),!i.length){var t=this.$el.find("option:disabled").eq(0);t.length&&""===t[0].value&&i.push(t.text())}this.input.value=i.join(", ")}},{key:"_setSelectedStates",value:function(){for(var t in this._keysSelected={},this._valueDict){var e=this._valueDict[t],i=d(e.el).prop("selected");d(e.optionEl).find('input[type="checkbox"]').prop("checked",i),i?(this._activateOption(d(this.dropdownOptions),d(e.optionEl)),this._keysSelected[t]=!0):d(e.optionEl).removeClass("selected")}}},{key:"_activateOption",value:function(t,e){e&&(this.isMultiple||t.find("li.selected").removeClass("selected"),d(e).addClass("selected"))}},{key:"getSelectedValues",value:function(){var t=[];for(var e in this._keysSelected)t.push(this._valueDict[e].el.value);return t}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_FormSelect}},{key:"defaults",get:function(){return e}}]),n}();M.FormSelect=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"formSelect","M_FormSelect")}(cash),function(s,e){"use strict";var i={},t=function(t){function n(t,e){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,n,t,e));return(i.el.M_Range=i).options=s.extend({},n.defaults,e),i._mousedown=!1,i._setupThumb(),i._setupEventHandlers(),i}return _inherits(n,Component),_createClass(n,[{key:"destroy",value:function(){this._removeEventHandlers(),this._removeThumb(),this.el.M_Range=void 0}},{key:"_setupEventHandlers",value:function(){this._handleRangeChangeBound=this._handleRangeChange.bind(this),this._handleRangeMousedownTouchstartBound=this._handleRangeMousedownTouchstart.bind(this),this._handleRangeInputMousemoveTouchmoveBound=this._handleRangeInputMousemoveTouchmove.bind(this),this._handleRangeMouseupTouchendBound=this._handleRangeMouseupTouchend.bind(this),this._handleRangeBlurMouseoutTouchleaveBound=this._handleRangeBlurMouseoutTouchleave.bind(this),this.el.addEventListener("change",this._handleRangeChangeBound),this.el.addEventListener("mousedown",this._handleRangeMousedownTouchstartBound),this.el.addEventListener("touchstart",this._handleRangeMousedownTouchstartBound),this.el.addEventListener("input",this._handleRangeInputMousemoveTouchmoveBound),this.el.addEventListener("mousemove",this._handleRangeInputMousemoveTouchmoveBound),this.el.addEventListener("touchmove",this._handleRangeInputMousemoveTouchmoveBound),this.el.addEventListener("mouseup",this._handleRangeMouseupTouchendBound),this.el.addEventListener("touchend",this._handleRangeMouseupTouchendBound),this.el.addEventListener("blur",this._handleRangeBlurMouseoutTouchleaveBound),this.el.addEventListener("mouseout",this._handleRangeBlurMouseoutTouchleaveBound),this.el.addEventListener("touchleave",this._handleRangeBlurMouseoutTouchleaveBound)}},{key:"_removeEventHandlers",value:function(){this.el.removeEventListener("change",this._handleRangeChangeBound),this.el.removeEventListener("mousedown",this._handleRangeMousedownTouchstartBound),this.el.removeEventListener("touchstart",this._handleRangeMousedownTouchstartBound),this.el.removeEventListener("input",this._handleRangeInputMousemoveTouchmoveBound),this.el.removeEventListener("mousemove",this._handleRangeInputMousemoveTouchmoveBound),this.el.removeEventListener("touchmove",this._handleRangeInputMousemoveTouchmoveBound),this.el.removeEventListener("mouseup",this._handleRangeMouseupTouchendBound),this.el.removeEventListener("touchend",this._handleRangeMouseupTouchendBound),this.el.removeEventListener("blur",this._handleRangeBlurMouseoutTouchleaveBound),this.el.removeEventListener("mouseout",this._handleRangeBlurMouseoutTouchleaveBound),this.el.removeEventListener("touchleave",this._handleRangeBlurMouseoutTouchleaveBound)}},{key:"_handleRangeChange",value:function(){s(this.value).html(this.$el.val()),s(this.thumb).hasClass("active")||this._showRangeBubble();var t=this._calcRangeOffset();s(this.thumb).addClass("active").css("left",t+"px")}},{key:"_handleRangeMousedownTouchstart",value:function(t){if(s(this.value).html(this.$el.val()),this._mousedown=!0,this.$el.addClass("active"),s(this.thumb).hasClass("active")||this._showRangeBubble(),"input"!==t.type){var e=this._calcRangeOffset();s(this.thumb).addClass("active").css("left",e+"px")}}},{key:"_handleRangeInputMousemoveTouchmove",value:function(){if(this._mousedown){s(this.thumb).hasClass("active")||this._showRangeBubble();var t=this._calcRangeOffset();s(this.thumb).addClass("active").css("left",t+"px"),s(this.value).html(this.$el.val())}}},{key:"_handleRangeMouseupTouchend",value:function(){this._mousedown=!1,this.$el.removeClass("active")}},{key:"_handleRangeBlurMouseoutTouchleave",value:function(){if(!this._mousedown){var t=7+parseInt(this.$el.css("padding-left"))+"px";s(this.thumb).hasClass("active")&&(e.remove(this.thumb),e({targets:this.thumb,height:0,width:0,top:10,easing:"easeOutQuad",marginLeft:t,duration:100})),s(this.thumb).removeClass("active")}}},{key:"_setupThumb",value:function(){this.thumb=document.createElement("span"),this.value=document.createElement("span"),s(this.thumb).addClass("thumb"),s(this.value).addClass("value"),s(this.thumb).append(this.value),this.$el.after(this.thumb)}},{key:"_removeThumb",value:function(){s(this.thumb).remove()}},{key:"_showRangeBubble",value:function(){var t=-7+parseInt(s(this.thumb).parent().css("padding-left"))+"px";e.remove(this.thumb),e({targets:this.thumb,height:30,width:30,top:-30,marginLeft:t,duration:300,easing:"easeOutQuint"})}},{key:"_calcRangeOffset",value:function(){var t=this.$el.width()-15,e=parseFloat(this.$el.attr("max"))||100,i=parseFloat(this.$el.attr("min"))||0;return(parseFloat(this.$el.val())-i)/(e-i)*t}}],[{key:"init",value:function(t,e){return _get(n.__proto__||Object.getPrototypeOf(n),"init",this).call(this,this,t,e)}},{key:"getInstance",value:function(t){return(t.jquery?t[0]:t).M_Range}},{key:"defaults",get:function(){return i}}]),n}();M.Range=t,M.jQueryLoaded&&M.initializeJqueryWrapper(t,"range","M_Range"),t.init(s("input[type=range]"))}(cash,M.anime);
\ No newline at end of file
diff --git a/themes/cmd/theme.yaml.example b/themes/cmd/theme.yaml.example
deleted file mode 100644
index aeddfa5..0000000
--- a/themes/cmd/theme.yaml.example
+++ /dev/null
@@ -1,22 +0,0 @@
-
-menu:
- Home: /
- Archives: /archives
-
-copyright_addtional: ""
-
-copyright_year_string: "2020-2021"
-
-theme_self_claim: true
-
-about_this_blog: This blog is created with Classical Material Desgin, which try to keep the original taste of Material Design for hexo.
-
-my_mastodon: https://mastodon.example.com/@example
-
-footer_links:
- Link 1: "https://example.org"
- Link 2: "https://example.com"
-
-# All contents here will be added to the end of body
-script_snippets:
- # - ""
diff --git a/themes/hexo-theme-buck b/themes/hexo-theme-buck
deleted file mode 160000
index b38efd3..0000000
--- a/themes/hexo-theme-buck
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit b38efd3f7db191477c6e1c3034ed82dcdeeba84a
diff --git a/tsconfig.json b/tsconfig.json
new file mode 100644
index 0000000..ec9a785
--- /dev/null
+++ b/tsconfig.json
@@ -0,0 +1,10 @@
+{
+ "extends": "astro/tsconfigs/strict",
+ "compilerOptions": {
+ "jsx": "preserve",
+ "jsxImportSource": "solid-js",
+ "paths": {
+ "~/*": ["./src/*"]
+ }
+ }
+}