From efe41f68868a8926dfc1a6851a492805b56786db Mon Sep 17 00:00:00 2001
From: gjj <Ganjj@probim.com.cn>
Date: Fri, 21 Feb 2025 16:35:52 +0800
Subject: [PATCH] 样式开发

---
 src/assets/images/backgrounds/shigongdanwei.png     |    0 
 src/assets/images/titles/shebei.png                 |    0 
 src/assets/images/backgrounds/people.png            |    0 
 src/utils/http.js                                   |  280 
 src/assets/images/backgrounds/daqiwendu.png         |    0 
 src/assets/images/backgrounds/cover_bg.png          |    0 
 src/assets/images/backgrounds/jianshedanwei.png     |    0 
 src/assets/images/backgrounds/zhihui_active.png     |    0 
 src/assets/images/backgrounds/shejidanwei.png       |    0 
 src/assets/images/backgrounds/home.png              |    0 
 src/assets/images/backgrounds/zoomout.png           |    0 
 reg-js-sdjk.reg                                     |    8 
 public/crypto-js.js                                 | 5736 +++++++++++++++++++
 src/assets/images/backgrounds/search.png            |    0 
 src/components/SizeAdapter.vue                      |   45 
 .eslintrc.js                                        |   52 
 src/Dashboard.vue                                   |  188 
 index.html                                          |   25 
 src/components/MenuList.vue                         |  264 
 src/assets/images/titles/xiangmu_bg.png             |    0 
 src/assets/images/backgrounds/PM10.png              |    0 
 src/components/V2Echarts.vue                        |  176 
 vite.config.js                                      |   98 
 src/components/Collapse.vue                         |  154 
 src/components/Divide.vue                           |   46 
 src/assets/images/backgrounds/table_bg.png          |    0 
 src/assets/css/self-global.scss                     |   40 
 src/components/Login.vue                            |  171 
 src/assets/images/backgrounds/jianlidanwei.png      |    0 
 reg-js-sgfa.reg                                     |    8 
 src/api/app.js                                      |    9 
 src/store/index.js                                  |   16 
 src/components/FullScreenButton.vue                 |   62 
 src/assets/css/element-ui-override.scss             |  140 
 src/components/Warning.vue                          |   20 
 src/assets/css/sass.scss                            |    3 
 src/assets/images/backgrounds/fengxiang.png         |    0 
 src/assets/images/backgrounds/shishirenshu.png      |    0 
 src/router/index.js                                 |   45 
 src/assets/css/tail-wind/index.css                  |    5 
 README.md                                           |   14 
 src/components/TransitionSize.vue                   |  253 
 src/components/VideoPlayer.vue                      |   91 
 src/main.js                                         |   29 
 yarn.lock                                           | 1845 ++++++
 src/assets/images/backgrounds/PM2.png               |    0 
 src/components/Header.vue                           |   98 
 src/assets/images/backgrounds/home_active.png       |    0 
 src/assets/images/backgrounds/logo.png              |    0 
 src/views/Home.vue                                  |  314 +
 src/assets/images/backgrounds/time.png              |    0 
 src/mixins/index.js                                 |   22 
 src/assets/images/backgrounds/mubiaowancheng.png    |    0 
 src/components/TimeLine/TimeLineItem.vue            |   67 
 postcss.config.js                                   |   11 
 src/components/DialogFixed.vue                      |  108 
 src/views/EquipmentView.vue                         |  618 ++
 src/assets/images/titles/renyuan.png                |    0 
 src/views/ProjectView.vue                           |  305 +
 .gitignore                                          |   26 
 tailwind.config.js                                  |   23 
 icon.png                                            |    0 
 src/assets/images/backgrounds/daqishidu.png         |    0 
 jsconfig.json                                       |   11 
 src/assets/images/backgrounds/zhihui.png            |    0 
 src/utils/getToken.js                               |    9 
 public/base64.js                                    |  316 +
 src/assets/images/backgrounds/screen.png            |    0 
 src/components/DropDown.vue                         |  108 
 public/config.js                                    |   11 
 src/store/modules/common.js                         |   20 
 src/assets/images/titles/title_second.png           |    0 
 src/assets/images/backgrounds/mubiaowanc.png        |    0 
 src/assets/images/backgrounds/fengli.png            |    0 
 src/components/SwitchMap.vue                        |   46 
 src/components/TimeLine/TimeLine.vue                |  101 
 src/utils/getUserProfile.js                         |    9 
 src/assets/images/backgrounds/jianzhumianji.png     |    0 
 src/assets/images/backgrounds/home_line.png         |    0 
 src/api/home.js                                     |   45 
 大屏.xmind                                            |    0 
 src/assets/images/titles/xiangmu.png                |    0 
 public/ref/style/darkblue.json                      | 2571 ++++++++
 src/assets/images/backgrounds/zaigang.png           |    0 
 src/assets/images/titles/shigong.png                |    0 
 src/assets/css/DIN_font.css                         |   23 
 package.json                                        |   47 
 src/assets/images/titles/wendu_bg.png               |    0 
 .prettierrc.json                                    |   19 
 src/assets/images/backgrounds/shigongjinduchart.png |    0 
 public/ref/style/satellite.json                     | 2631 +++++++++
 src/sceneJSON.js                                    |    2 
 src/App.vue                                         |   17 
 src/assets/images/titles/huanjing.png               |    0 
 src/utils/logout.js                                 |   19 
 startscg.bat                                        |    3 
 96 files changed, 17,423 insertions(+), 0 deletions(-)

diff --git a/.eslintrc.js b/.eslintrc.js
new file mode 100644
index 0000000..5c8a138
--- /dev/null
+++ b/.eslintrc.js
@@ -0,0 +1,52 @@
+const { defineConfig } = require("eslint-define-config");
+module.exports = defineConfig({
+  root: true,
+  env: {
+    browser: true,
+    node: true,
+    es6: true,
+  },
+  parser: "vue-eslint-parser",
+  parserOptions: {
+    ecmaVersion: "latest",
+    sourceType: "module",
+  },
+  extends: ["plugin:vue/recommended", "plugin:prettier/recommended"],
+  plugins: ["vue"],
+  rules: {
+    "vue/script-setup-uses-vars": "error",
+    "vue/custom-event-name-casing": "off",
+    "no-use-before-define": "off",
+    "no-unused-vars": [
+      "error",
+      {
+        argsIgnorePattern: "^_",
+        varsIgnorePattern: "^_",
+      },
+    ],
+    "space-before-function-paren": "off",
+    "vue/attributes-order": "off",
+    "vue/one-component-per-file": "off",
+    "vue/html-closing-bracket-newline": "off",
+    "vue/max-attributes-per-line": "off",
+    "vue/multiline-html-element-content-newline": "off",
+    "vue/singleline-html-element-content-newline": "off",
+    "vue/attribute-hyphenation": "off",
+    "vue/require-default-prop": "off",
+    "vue/html-self-closing": [
+      "error",
+      {
+        html: {
+          void: "always",
+          normal: "never",
+          component: "always",
+        },
+        svg: "always",
+        math: "always",
+      },
+    ],
+    "vue/multi-word-component-names": "off",
+    "vue/component-definition-name-casing": "off",
+  },
+  ignorePatterns: ["*.sh", "node_modules", "*.md", "*.woff", "*.ttf", ".vscode", ".idea", "dist", "/public", "/docs", ".husky", ".local", "/bin", "Dockerfile"],
+});
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..1b51fec
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,26 @@
+.DS_Store
+node_modules
+/dist
+public/scenemanager
+
+
+# local env files
+.env.local
+.env.*.local
+
+# Log files
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+
+# Editor directories and files
+.idea
+.vscode
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
+
+.eslintcache
diff --git a/.prettierrc.json b/.prettierrc.json
new file mode 100644
index 0000000..d6d1d37
--- /dev/null
+++ b/.prettierrc.json
@@ -0,0 +1,19 @@
+{
+  "printWidth": 160,
+  "tabWidth": 2,
+  "useTabs": false,
+  "semi": true,
+  "vueIndentScriptAndStyle": true,
+  "singleQuote": false,
+  "quoteProps": "as-needed",
+  "bracketSpacing": true,
+  "trailingComma": "all",
+  "jsxBracketSameLine": false,
+  "jsxSingleQuote": false,
+  "arrowParens": "always",
+  "insertPragma": false,
+  "requirePragma": false,
+  "proseWrap": "never",
+  "htmlWhitespaceSensitivity": "strict",
+  "endOfLine": "auto"
+}
\ No newline at end of file
diff --git a/README.md b/README.md
index 5df9ffc..ffaa8cf 100644
--- a/README.md
+++ b/README.md
@@ -2,3 +2,17 @@
 
 北京交通大学驾驶舱
 
+
+## Build Setup
+
+``` bash
+# install dependencies
+yarn install
+
+# serve with hot reload at localhost:3000
+yarn run dev
+
+# build for production with minification
+yarn run build
+
+```
\ No newline at end of file
diff --git a/icon.png b/icon.png
new file mode 100644
index 0000000..14a16bc
--- /dev/null
+++ b/icon.png
Binary files differ
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..c87bfdd
--- /dev/null
+++ b/index.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html lang="zh-CN">
+
+<head>
+    <meta charset="UTF-8" />
+    <script src="/config.js"></script>
+    <link rel="shortcut icon" type="image/x-icon" href="icon.png" />
+    <link href="https://multiverse.vothing.com/css/multiverse.css" rel="stylesheet" />
+    <link href="https://multiverse.vothing.com/css/mapbox-gl.css" rel="stylesheet" />
+    <script src="https://multiverse.vothing.com/js/comlink.min.js"></script>
+    <script src="https://multiverse.vothing.com/multiverse.js"></script>
+    <script src="base64.js"></script>
+    <script src="crypto-js.js"></script>
+    <script src="iat/index.umd.js"></script>
+    <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0" />
+    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
+    <title>北京交通大学驾驶舱</title>
+</head>
+
+<body>
+    <div id="app"></div>
+    <script type="module" src="./src/main.js"></script>
+</body>
+
+</html>
\ No newline at end of file
diff --git a/jsconfig.json b/jsconfig.json
new file mode 100644
index 0000000..0f5cb53
--- /dev/null
+++ b/jsconfig.json
@@ -0,0 +1,11 @@
+{
+  "vueCompilerOptions": {
+    "target": 2.7
+  },
+  "compilerOptions": {
+    "baseUrl": ".",
+    "paths": {
+      "@/*": ["src/*"]
+    }
+  }
+}
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..51cad57
--- /dev/null
+++ b/package.json
@@ -0,0 +1,47 @@
+{
+  "name": "shanghaiproject",
+  "version": "1.0.0",
+  "description": "Shanghai construction saftey monitor project",
+  "author": "shanghaiproject",
+  "private": true,
+  "scripts": {
+    "dev": "vite",
+    "build": "vite build",
+    "preview": "vite preview",
+    "lint-fix": "eslint --max-warnings 0  \"src/**/*.{vue,js}\" --fix",
+    "lint": "eslint --max-warnings 0  \"src/**/*.{vue,js}\""
+  },
+  "devDependencies": {
+    "@vitejs/plugin-vue2": "^2.2.0",
+    "autoprefixer": "^10.4.13",
+    "eslint": "^8.30.0",
+    "eslint-config-prettier": "^8.5.0",
+    "eslint-define-config": "^1.12.0",
+    "eslint-plugin-prettier": "^4.2.1",
+    "eslint-plugin-vue": "^9.8.0",
+    "postcss-pxtorem": "^6.0.0",
+    "prettier": "^2.8.1",
+    "sass": "^1.57.1",
+    "tailwindcss": "^3.2.7",
+    "vite": "^4.0.3"
+  },
+  "dependencies": {
+    "axios": "^1.2.1",
+    "crypto-js": "^4.1.1",
+    "dayjs": "^1.11.7",
+    "echarts": "^5.4.1",
+    "echarts-gl": "2.0.9",
+    "element-ui": "^2.15.12",
+    "jquery": "^3.7.1",
+    "lodash-es": "^4.17.21",
+    "nanoid": "^4.0.0",
+    "nprogress": "^0.2.0",
+    "video.js": "^7.20.3",
+    "vue": "^2.7.14",
+    "vue-router": "^3.6.5",
+    "vue-seamless-scroll": "^1.1.23",
+    "vue-template-compiler": "^2.7.14",
+    "vuex": "^3.6.2",
+    "worker-loader": "2.0.0"
+  }
+}
diff --git a/postcss.config.js b/postcss.config.js
new file mode 100644
index 0000000..9cecbe0
--- /dev/null
+++ b/postcss.config.js
@@ -0,0 +1,11 @@
+module.exports = {
+  plugins: {
+    tailwindcss: {},
+    autoprefixer: {},
+    "postcss-pxtorem": {
+      propList: ["*"],
+      unitPrecision: 6,
+      exclude: /node_modules/i,
+    },
+  },
+};
diff --git a/public/base64.js b/public/base64.js
new file mode 100644
index 0000000..c44a6c8
--- /dev/null
+++ b/public/base64.js
@@ -0,0 +1,316 @@
+//
+// THIS FILE IS AUTOMATICALLY GENERATED! DO NOT EDIT BY HAND!
+//
+;
+(function (global, factory) {
+    typeof exports === 'object' && typeof module !== 'undefined'
+        ? module.exports = factory()
+        : typeof define === 'function' && define.amd
+            ? define(factory) :
+            // cf. https://github.com/dankogai/js-base64/issues/119
+            (function () {
+                // existing version for noConflict()
+                var _Base64 = global.Base64;
+                var gBase64 = factory();
+                gBase64.noConflict = function () {
+                    global.Base64 = _Base64;
+                    return gBase64;
+                };
+                if (global.Meteor) { // Meteor.js
+                    Base64 = gBase64;
+                }
+                global.Base64 = gBase64;
+            })();
+}((typeof self !== 'undefined' ? self
+    : typeof window !== 'undefined' ? window
+        : typeof global !== 'undefined' ? global
+            : this), function () {
+    'use strict';
+    /**
+     *  base64.ts
+     *
+     *  Licensed under the BSD 3-Clause License.
+     *    http://opensource.org/licenses/BSD-3-Clause
+     *
+     *  References:
+     *    http://en.wikipedia.org/wiki/Base64
+     *
+     * @author Dan Kogai (https://github.com/dankogai)
+     */
+    var version = '3.7.5';
+    /**
+     * @deprecated use lowercase `version`.
+     */
+    var VERSION = version;
+    var _hasatob = typeof atob === 'function';
+    var _hasbtoa = typeof btoa === 'function';
+    var _hasBuffer = typeof Buffer === 'function';
+    var _TD = typeof TextDecoder === 'function' ? new TextDecoder() : undefined;
+    var _TE = typeof TextEncoder === 'function' ? new TextEncoder() : undefined;
+    var b64ch = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
+    var b64chs = Array.prototype.slice.call(b64ch);
+    var b64tab = (function (a) {
+        var tab = {};
+        a.forEach(function (c, i) { return tab[c] = i; });
+        return tab;
+    })(b64chs);
+    var b64re = /^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/;
+    var _fromCC = String.fromCharCode.bind(String);
+    var _U8Afrom = typeof Uint8Array.from === 'function'
+        ? Uint8Array.from.bind(Uint8Array)
+        : function (it) { return new Uint8Array(Array.prototype.slice.call(it, 0)); };
+    var _mkUriSafe = function (src) { return src
+        .replace(/=/g, '').replace(/[+\/]/g, function (m0) { return m0 == '+' ? '-' : '_'; }); };
+    var _tidyB64 = function (s) { return s.replace(/[^A-Za-z0-9\+\/]/g, ''); };
+    /**
+     * polyfill version of `btoa`
+     */
+    var btoaPolyfill = function (bin) {
+        // console.log('polyfilled');
+        var u32, c0, c1, c2, asc = '';
+        var pad = bin.length % 3;
+        for (var i = 0; i < bin.length;) {
+            if ((c0 = bin.charCodeAt(i++)) > 255 ||
+                (c1 = bin.charCodeAt(i++)) > 255 ||
+                (c2 = bin.charCodeAt(i++)) > 255)
+                throw new TypeError('invalid character found');
+            u32 = (c0 << 16) | (c1 << 8) | c2;
+            asc += b64chs[u32 >> 18 & 63]
+                + b64chs[u32 >> 12 & 63]
+                + b64chs[u32 >> 6 & 63]
+                + b64chs[u32 & 63];
+        }
+        return pad ? asc.slice(0, pad - 3) + "===".substring(pad) : asc;
+    };
+    /**
+     * does what `window.btoa` of web browsers do.
+     * @param {String} bin binary string
+     * @returns {string} Base64-encoded string
+     */
+    var _btoa = _hasbtoa ? function (bin) { return btoa(bin); }
+        : _hasBuffer ? function (bin) { return Buffer.from(bin, 'binary').toString('base64'); }
+            : btoaPolyfill;
+    var _fromUint8Array = _hasBuffer
+        ? function (u8a) { return Buffer.from(u8a).toString('base64'); }
+        : function (u8a) {
+            // cf. https://stackoverflow.com/questions/12710001/how-to-convert-uint8-array-to-base64-encoded-string/12713326#12713326
+            var maxargs = 0x1000;
+            var strs = [];
+            for (var i = 0, l = u8a.length; i < l; i += maxargs) {
+                strs.push(_fromCC.apply(null, u8a.subarray(i, i + maxargs)));
+            }
+            return _btoa(strs.join(''));
+        };
+    /**
+     * converts a Uint8Array to a Base64 string.
+     * @param {boolean} [urlsafe] URL-and-filename-safe a la RFC4648 §5
+     * @returns {string} Base64 string
+     */
+    var fromUint8Array = function (u8a, urlsafe) {
+        if (urlsafe === void 0) { urlsafe = false; }
+        return urlsafe ? _mkUriSafe(_fromUint8Array(u8a)) : _fromUint8Array(u8a);
+    };
+    // This trick is found broken https://github.com/dankogai/js-base64/issues/130
+    // const utob = (src: string) => unescape(encodeURIComponent(src));
+    // reverting good old fationed regexp
+    var cb_utob = function (c) {
+        if (c.length < 2) {
+            var cc = c.charCodeAt(0);
+            return cc < 0x80 ? c
+                : cc < 0x800 ? (_fromCC(0xc0 | (cc >>> 6))
+                    + _fromCC(0x80 | (cc & 0x3f)))
+                    : (_fromCC(0xe0 | ((cc >>> 12) & 0x0f))
+                        + _fromCC(0x80 | ((cc >>> 6) & 0x3f))
+                        + _fromCC(0x80 | (cc & 0x3f)));
+        }
+        else {
+            var cc = 0x10000
+                + (c.charCodeAt(0) - 0xD800) * 0x400
+                + (c.charCodeAt(1) - 0xDC00);
+            return (_fromCC(0xf0 | ((cc >>> 18) & 0x07))
+                + _fromCC(0x80 | ((cc >>> 12) & 0x3f))
+                + _fromCC(0x80 | ((cc >>> 6) & 0x3f))
+                + _fromCC(0x80 | (cc & 0x3f)));
+        }
+    };
+    var re_utob = /[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g;
+    /**
+     * @deprecated should have been internal use only.
+     * @param {string} src UTF-8 string
+     * @returns {string} UTF-16 string
+     */
+    var utob = function (u) { return u.replace(re_utob, cb_utob); };
+    //
+    var _encode = _hasBuffer
+        ? function (s) { return Buffer.from(s, 'utf8').toString('base64'); }
+        : _TE
+            ? function (s) { return _fromUint8Array(_TE.encode(s)); }
+            : function (s) { return _btoa(utob(s)); };
+    /**
+     * converts a UTF-8-encoded string to a Base64 string.
+     * @param {boolean} [urlsafe] if `true` make the result URL-safe
+     * @returns {string} Base64 string
+     */
+    var encode = function (src, urlsafe) {
+        if (urlsafe === void 0) { urlsafe = false; }
+        return urlsafe
+            ? _mkUriSafe(_encode(src))
+            : _encode(src);
+    };
+    /**
+     * converts a UTF-8-encoded string to URL-safe Base64 RFC4648 §5.
+     * @returns {string} Base64 string
+     */
+    var encodeURI = function (src) { return encode(src, true); };
+    // This trick is found broken https://github.com/dankogai/js-base64/issues/130
+    // const btou = (src: string) => decodeURIComponent(escape(src));
+    // reverting good old fationed regexp
+    var re_btou = /[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g;
+    var cb_btou = function (cccc) {
+        switch (cccc.length) {
+            case 4:
+                var cp = ((0x07 & cccc.charCodeAt(0)) << 18)
+                    | ((0x3f & cccc.charCodeAt(1)) << 12)
+                    | ((0x3f & cccc.charCodeAt(2)) << 6)
+                    | (0x3f & cccc.charCodeAt(3)), offset = cp - 0x10000;
+                return (_fromCC((offset >>> 10) + 0xD800)
+                    + _fromCC((offset & 0x3FF) + 0xDC00));
+            case 3:
+                return _fromCC(((0x0f & cccc.charCodeAt(0)) << 12)
+                    | ((0x3f & cccc.charCodeAt(1)) << 6)
+                    | (0x3f & cccc.charCodeAt(2)));
+            default:
+                return _fromCC(((0x1f & cccc.charCodeAt(0)) << 6)
+                    | (0x3f & cccc.charCodeAt(1)));
+        }
+    };
+    /**
+     * @deprecated should have been internal use only.
+     * @param {string} src UTF-16 string
+     * @returns {string} UTF-8 string
+     */
+    var btou = function (b) { return b.replace(re_btou, cb_btou); };
+    /**
+     * polyfill version of `atob`
+     */
+    var atobPolyfill = function (asc) {
+        // console.log('polyfilled');
+        asc = asc.replace(/\s+/g, '');
+        if (!b64re.test(asc))
+            throw new TypeError('malformed base64.');
+        asc += '=='.slice(2 - (asc.length & 3));
+        var u24, bin = '', r1, r2;
+        for (var i = 0; i < asc.length;) {
+            u24 = b64tab[asc.charAt(i++)] << 18
+                | b64tab[asc.charAt(i++)] << 12
+                | (r1 = b64tab[asc.charAt(i++)]) << 6
+                | (r2 = b64tab[asc.charAt(i++)]);
+            bin += r1 === 64 ? _fromCC(u24 >> 16 & 255)
+                : r2 === 64 ? _fromCC(u24 >> 16 & 255, u24 >> 8 & 255)
+                    : _fromCC(u24 >> 16 & 255, u24 >> 8 & 255, u24 & 255);
+        }
+        return bin;
+    };
+    /**
+     * does what `window.atob` of web browsers do.
+     * @param {String} asc Base64-encoded string
+     * @returns {string} binary string
+     */
+    var _atob = _hasatob ? function (asc) { return atob(_tidyB64(asc)); }
+        : _hasBuffer ? function (asc) { return Buffer.from(asc, 'base64').toString('binary'); }
+            : atobPolyfill;
+    //
+    var _toUint8Array = _hasBuffer
+        ? function (a) { return _U8Afrom(Buffer.from(a, 'base64')); }
+        : function (a) { return _U8Afrom(_atob(a).split('').map(function (c) { return c.charCodeAt(0); })); };
+    /**
+     * converts a Base64 string to a Uint8Array.
+     */
+    var toUint8Array = function (a) { return _toUint8Array(_unURI(a)); };
+    //
+    var _decode = _hasBuffer
+        ? function (a) { return Buffer.from(a, 'base64').toString('utf8'); }
+        : _TD
+            ? function (a) { return _TD.decode(_toUint8Array(a)); }
+            : function (a) { return btou(_atob(a)); };
+    var _unURI = function (a) { return _tidyB64(a.replace(/[-_]/g, function (m0) { return m0 == '-' ? '+' : '/'; })); };
+    /**
+     * converts a Base64 string to a UTF-8 string.
+     * @param {String} src Base64 string.  Both normal and URL-safe are supported
+     * @returns {string} UTF-8 string
+     */
+    var decode = function (src) { return _decode(_unURI(src)); };
+    /**
+     * check if a value is a valid Base64 string
+     * @param {String} src a value to check
+      */
+    var isValid = function (src) {
+        if (typeof src !== 'string')
+            return false;
+        var s = src.replace(/\s+/g, '').replace(/={0,2}$/, '');
+        return !/[^\s0-9a-zA-Z\+/]/.test(s) || !/[^\s0-9a-zA-Z\-_]/.test(s);
+    };
+    //
+    var _noEnum = function (v) {
+        return {
+            value: v, enumerable: false, writable: true, configurable: true
+        };
+    };
+    /**
+     * extend String.prototype with relevant methods
+     */
+    var extendString = function () {
+        var _add = function (name, body) { return Object.defineProperty(String.prototype, name, _noEnum(body)); };
+        _add('fromBase64', function () { return decode(this); });
+        _add('toBase64', function (urlsafe) { return encode(this, urlsafe); });
+        _add('toBase64URI', function () { return encode(this, true); });
+        _add('toBase64URL', function () { return encode(this, true); });
+        _add('toUint8Array', function () { return toUint8Array(this); });
+    };
+    /**
+     * extend Uint8Array.prototype with relevant methods
+     */
+    var extendUint8Array = function () {
+        var _add = function (name, body) { return Object.defineProperty(Uint8Array.prototype, name, _noEnum(body)); };
+        _add('toBase64', function (urlsafe) { return fromUint8Array(this, urlsafe); });
+        _add('toBase64URI', function () { return fromUint8Array(this, true); });
+        _add('toBase64URL', function () { return fromUint8Array(this, true); });
+    };
+    /**
+     * extend Builtin prototypes with relevant methods
+     */
+    var extendBuiltins = function () {
+        extendString();
+        extendUint8Array();
+    };
+    var gBase64 = {
+        version: version,
+        VERSION: VERSION,
+        atob: _atob,
+        atobPolyfill: atobPolyfill,
+        btoa: _btoa,
+        btoaPolyfill: btoaPolyfill,
+        fromBase64: decode,
+        toBase64: encode,
+        encode: encode,
+        encodeURI: encodeURI,
+        encodeURL: encodeURI,
+        utob: utob,
+        btou: btou,
+        decode: decode,
+        isValid: isValid,
+        fromUint8Array: fromUint8Array,
+        toUint8Array: toUint8Array,
+        extendString: extendString,
+        extendUint8Array: extendUint8Array,
+        extendBuiltins: extendBuiltins
+    };
+    //
+    // export Base64 to the namespace
+    //
+    // ES5 is yet to have Object.assign() that may make transpilers unhappy.
+    // gBase64.Base64 = Object.assign({}, gBase64);
+    gBase64.Base64 = {};
+    Object.keys(gBase64).forEach(function (k) { return gBase64.Base64[k] = gBase64[k]; });
+    return gBase64;
+}));
diff --git a/public/config.js b/public/config.js
new file mode 100644
index 0000000..0089ef1
--- /dev/null
+++ b/public/config.js
@@ -0,0 +1,11 @@
+window.ProjectConfig = {
+    // axiosBaseURL: "http://47.117.124.20:2002/",
+    axiosBaseURL: "https://www.probim.cn:7707",
+    axiosTimeout: 1000 * 30, //毫秒
+    workflowLoginURL: "http://workflow-newapi.probim.cn/api/User/Home/Login",
+    workflowWebURL: "http://workflow.probim.cn",
+    pid: "71f7a5df-a7e3-42f4-bcea-36d7d2924ddd",
+    mapboxToken: 'pk.eyJ1Ijoiemhlbmd4dWZhbmciLCJhIjoiY2w5ejNiOWJ1MDE0bTN1cnp4MjNmM2dpNCJ9.qy3k-99E6-XSK5ldYUFz-A',
+    modelUrl: '//multiverse-server.vothing.com', // 模型服务 数据请求地址
+
+}
\ No newline at end of file
diff --git a/public/crypto-js.js b/public/crypto-js.js
new file mode 100644
index 0000000..b87a507
--- /dev/null
+++ b/public/crypto-js.js
@@ -0,0 +1,5736 @@
+(function (global, factory) {
+  typeof exports === "object" && typeof module !== "undefined"
+    ? (module.exports = factory(require("crypto")))
+    : typeof define === "function" && define.amd
+      ? define(["crypto"], factory)
+      : ((global = typeof globalThis !== "undefined" ? globalThis : global || self),
+      (global.CryptoJS = factory(global.require$$0)));
+})(this, function (require$$0) {
+  "use strict";
+
+  function _interopDefaultLegacy(e) {
+    return e && typeof e === "object" && "default" in e ? e : { default: e };
+  }
+
+  var require$$0__default = /*#__PURE__*/ _interopDefaultLegacy(require$$0);
+
+  var commonjsGlobal =
+    typeof globalThis !== "undefined"
+      ? globalThis
+      : typeof window !== "undefined"
+        ? window
+        : typeof global !== "undefined"
+          ? global
+          : typeof self !== "undefined"
+            ? self
+            : {};
+
+  function createCommonjsModule(fn, basedir, module) {
+    return (
+      (module = {
+        path: basedir,
+        exports: {},
+        require: function (path, base) {
+          return commonjsRequire(path, base === undefined || base === null ? module.path : base);
+        },
+      }),
+      fn(module, module.exports),
+      module.exports
+    );
+  }
+
+  function commonjsRequire() {
+    throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs");
+  }
+
+  var core = createCommonjsModule(function (module, exports) {
+    (function (root, factory) {
+      {
+        // CommonJS
+        module.exports = factory();
+      }
+    })(commonjsGlobal, function () {
+      /*globals window, global, require*/ /**
+       * CryptoJS core components.
+       */ var CryptoJS =
+        CryptoJS ||
+        (function (Math1, undefined1) {
+          var crypto;
+          // Native crypto from window (Browser)
+          if (typeof window !== "undefined" && window.crypto) {
+            crypto = window.crypto;
+          }
+          // Native crypto in web worker (Browser)
+          if (typeof self !== "undefined" && self.crypto) {
+            crypto = self.crypto;
+          }
+          // Native crypto from worker
+          if (typeof globalThis !== "undefined" && globalThis.crypto) {
+            crypto = globalThis.crypto;
+          }
+          // Native (experimental IE 11) crypto from window (Browser)
+          if (!crypto && typeof window !== "undefined" && window.msCrypto) {
+            crypto = window.msCrypto;
+          }
+          // Native crypto from global (NodeJS)
+          if (!crypto && typeof commonjsGlobal !== "undefined" && commonjsGlobal.crypto) {
+            crypto = commonjsGlobal.crypto;
+          }
+          // Native crypto import via require (NodeJS)
+          if (!crypto && typeof commonjsRequire === "function") {
+            try {
+              crypto = require$$0__default["default"];
+            } catch (err) {}
+          }
+          /*
+           * Cryptographically secure pseudorandom number generator
+           *
+           * As Math.random() is cryptographically not safe to use
+           */ var cryptoSecureRandomInt = function cryptoSecureRandomInt() {
+            if (crypto) {
+              // Use getRandomValues method (Browser)
+              if (typeof crypto.getRandomValues === "function") {
+                try {
+                  return crypto.getRandomValues(new Uint32Array(1))[0];
+                } catch (err) {}
+              }
+              // Use randomBytes method (NodeJS)
+              if (typeof crypto.randomBytes === "function") {
+                try {
+                  return crypto.randomBytes(4).readInt32LE();
+                } catch (err) {}
+              }
+            }
+            throw new Error("Native crypto module could not be used to get secure random number.");
+          };
+          /*
+		     * Local polyfill of Object.create
+
+		     */ var create =
+            Object.create ||
+            (function () {
+              var F = function F() {};
+              return function (obj) {
+                var subtype;
+                F.prototype = obj;
+                subtype = new F();
+                F.prototype = null;
+                return subtype;
+              };
+            })();
+          /**
+           * CryptoJS namespace.
+           */ var C = {};
+          /**
+           * Library namespace.
+           */ var C_lib = (C.lib = {});
+          /**
+           * Base object for prototypal inheritance.
+           */ var Base = (C_lib.Base = (function () {
+            return {
+              /**
+               * Creates a new object that inherits from this object.
+               *
+               * @param {Object} overrides Properties to copy into the new object.
+               *
+               * @return {Object} The new object.
+               *
+               * @static
+               *
+               * @example
+               *
+               *     var MyType = CryptoJS.lib.Base.extend({
+               *         field: 'value',
+               *
+               *         method: function () {
+               *         }
+               *     });
+               */ extend: function extend(overrides) {
+                // Spawn
+                var subtype = create(this);
+                // Augment
+                if (overrides) {
+                  subtype.mixIn(overrides);
+                }
+                // Create default initializer
+                if (!subtype.hasOwnProperty("init") || this.init === subtype.init) {
+                  subtype.init = function () {
+                    subtype.$super.init.apply(this, arguments);
+                  };
+                }
+                // Initializer's prototype is the subtype object
+                subtype.init.prototype = subtype;
+                // Reference supertype
+                subtype.$super = this;
+                return subtype;
+              },
+              /**
+               * Extends this object and runs the init method.
+               * Arguments to create() will be passed to init().
+               *
+               * @return {Object} The new object.
+               *
+               * @static
+               *
+               * @example
+               *
+               *     var instance = MyType.create();
+               */ create: function create() {
+                var instance = this.extend();
+                instance.init.apply(instance, arguments);
+                return instance;
+              },
+              /**
+               * Initializes a newly created object.
+               * Override this method to add some logic when your objects are created.
+               *
+               * @example
+               *
+               *     var MyType = CryptoJS.lib.Base.extend({
+               *         init: function () {
+               *             // ...
+               *         }
+               *     });
+               */ init: function init() {},
+              /**
+               * Copies properties into this object.
+               *
+               * @param {Object} properties The properties to mix in.
+               *
+               * @example
+               *
+               *     MyType.mixIn({
+               *         field: 'value'
+               *     });
+               */ mixIn: function mixIn(properties) {
+                for (var propertyName in properties) {
+                  if (properties.hasOwnProperty(propertyName)) {
+                    this[propertyName] = properties[propertyName];
+                  }
+                }
+                // IE won't copy toString using the loop above
+                if (properties.hasOwnProperty("toString")) {
+                  this.toString = properties.toString;
+                }
+              },
+              /**
+               * Creates a copy of this object.
+               *
+               * @return {Object} The clone.
+               *
+               * @example
+               *
+               *     var clone = instance.clone();
+               */ clone: function clone() {
+                return this.init.prototype.extend(this);
+              },
+            };
+          })());
+          /**
+           * An array of 32-bit words.
+           *
+           * @property {Array} words The array of 32-bit words.
+           * @property {number} sigBytes The number of significant bytes in this word array.
+           */ var WordArray = (C_lib.WordArray = Base.extend({
+            /**
+             * Initializes a newly created word array.
+             *
+             * @param {Array} words (Optional) An array of 32-bit words.
+             * @param {number} sigBytes (Optional) The number of significant bytes in the words.
+             *
+             * @example
+             *
+             *     var wordArray = CryptoJS.lib.WordArray.create();
+             *     var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607]);
+             *     var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607], 6);
+             */ init: function init(words, sigBytes) {
+              words = this.words = words || [];
+              if (sigBytes != undefined1) {
+                this.sigBytes = sigBytes;
+              } else {
+                this.sigBytes = words.length * 4;
+              }
+            },
+            /**
+             * Converts this word array to a string.
+             *
+             * @param {Encoder} encoder (Optional) The encoding strategy to use. Default: CryptoJS.enc.Hex
+             *
+             * @return {string} The stringified word array.
+             *
+             * @example
+             *
+             *     var string = wordArray + '';
+             *     var string = wordArray.toString();
+             *     var string = wordArray.toString(CryptoJS.enc.Utf8);
+             */ toString: function toString(encoder) {
+              return (encoder || Hex).stringify(this);
+            },
+            /**
+             * Concatenates a word array to this word array.
+             *
+             * @param {WordArray} wordArray The word array to append.
+             *
+             * @return {WordArray} This word array.
+             *
+             * @example
+             *
+             *     wordArray1.concat(wordArray2);
+             */ concat: function concat(wordArray) {
+              // Shortcuts
+              var thisWords = this.words;
+              var thatWords = wordArray.words;
+              var thisSigBytes = this.sigBytes;
+              var thatSigBytes = wordArray.sigBytes;
+              // Clamp excess bits
+              this.clamp();
+              // Concat
+              if (thisSigBytes % 4) {
+                // Copy one byte at a time
+                for (var i = 0; i < thatSigBytes; i++) {
+                  var thatByte = (thatWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;
+                  thisWords[(thisSigBytes + i) >>> 2] |=
+                    thatByte << (24 - ((thisSigBytes + i) % 4) * 8);
+                }
+              } else {
+                // Copy one word at a time
+                for (var j = 0; j < thatSigBytes; j += 4) {
+                  thisWords[(thisSigBytes + j) >>> 2] = thatWords[j >>> 2];
+                }
+              }
+              this.sigBytes += thatSigBytes;
+              // Chainable
+              return this;
+            },
+            /**
+             * Removes insignificant bits.
+             *
+             * @example
+             *
+             *     wordArray.clamp();
+             */ clamp: function clamp() {
+              // Shortcuts
+              var words = this.words;
+              var sigBytes = this.sigBytes;
+              // Clamp
+              words[sigBytes >>> 2] &= 0xffffffff << (32 - (sigBytes % 4) * 8);
+              words.length = Math1.ceil(sigBytes / 4);
+            },
+            /**
+             * Creates a copy of this word array.
+             *
+             * @return {WordArray} The clone.
+             *
+             * @example
+             *
+             *     var clone = wordArray.clone();
+             */ clone: function clone() {
+              var clone = Base.clone.call(this);
+              clone.words = this.words.slice(0);
+              return clone;
+            },
+            /**
+             * Creates a word array filled with random bytes.
+             *
+             * @param {number} nBytes The number of random bytes to generate.
+             *
+             * @return {WordArray} The random word array.
+             *
+             * @static
+             *
+             * @example
+             *
+             *     var wordArray = CryptoJS.lib.WordArray.random(16);
+             */ random: function random(nBytes) {
+              var words = [];
+              for (var i = 0; i < nBytes; i += 4) {
+                words.push(cryptoSecureRandomInt());
+              }
+              return new WordArray.init(words, nBytes);
+            },
+          }));
+          /**
+           * Encoder namespace.
+           */ var C_enc = (C.enc = {});
+          /**
+           * Hex encoding strategy.
+           */ var Hex = (C_enc.Hex = {
+            /**
+             * Converts a word array to a hex string.
+             *
+             * @param {WordArray} wordArray The word array.
+             *
+             * @return {string} The hex string.
+             *
+             * @static
+             *
+             * @example
+             *
+             *     var hexString = CryptoJS.enc.Hex.stringify(wordArray);
+             */ stringify: function stringify(wordArray) {
+              // Shortcuts
+              var words = wordArray.words;
+              var sigBytes = wordArray.sigBytes;
+              // Convert
+              var hexChars = [];
+              for (var i = 0; i < sigBytes; i++) {
+                var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;
+                hexChars.push((bite >>> 4).toString(16));
+                hexChars.push((bite & 0x0f).toString(16));
+              }
+              return hexChars.join("");
+            },
+            /**
+             * Converts a hex string to a word array.
+             *
+             * @param {string} hexStr The hex string.
+             *
+             * @return {WordArray} The word array.
+             *
+             * @static
+             *
+             * @example
+             *
+             *     var wordArray = CryptoJS.enc.Hex.parse(hexString);
+             */ parse: function parse(hexStr) {
+              // Shortcut
+              var hexStrLength = hexStr.length;
+              // Convert
+              var words = [];
+              for (var i = 0; i < hexStrLength; i += 2) {
+                words[i >>> 3] |= parseInt(hexStr.substr(i, 2), 16) << (24 - (i % 8) * 4);
+              }
+              return new WordArray.init(words, hexStrLength / 2);
+            },
+          });
+          /**
+           * Latin1 encoding strategy.
+           */ var Latin1 = (C_enc.Latin1 = {
+            /**
+             * Converts a word array to a Latin1 string.
+             *
+             * @param {WordArray} wordArray The word array.
+             *
+             * @return {string} The Latin1 string.
+             *
+             * @static
+             *
+             * @example
+             *
+             *     var latin1String = CryptoJS.enc.Latin1.stringify(wordArray);
+             */ stringify: function stringify(wordArray) {
+              // Shortcuts
+              var words = wordArray.words;
+              var sigBytes = wordArray.sigBytes;
+              // Convert
+              var latin1Chars = [];
+              for (var i = 0; i < sigBytes; i++) {
+                var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;
+                latin1Chars.push(String.fromCharCode(bite));
+              }
+              return latin1Chars.join("");
+            },
+            /**
+             * Converts a Latin1 string to a word array.
+             *
+             * @param {string} latin1Str The Latin1 string.
+             *
+             * @return {WordArray} The word array.
+             *
+             * @static
+             *
+             * @example
+             *
+             *     var wordArray = CryptoJS.enc.Latin1.parse(latin1String);
+             */ parse: function parse(latin1Str) {
+              // Shortcut
+              var latin1StrLength = latin1Str.length;
+              // Convert
+              var words = [];
+              for (var i = 0; i < latin1StrLength; i++) {
+                words[i >>> 2] |= (latin1Str.charCodeAt(i) & 0xff) << (24 - (i % 4) * 8);
+              }
+              return new WordArray.init(words, latin1StrLength);
+            },
+          });
+          /**
+           * UTF-8 encoding strategy.
+           */ var Utf8 = (C_enc.Utf8 = {
+            /**
+             * Converts a word array to a UTF-8 string.
+             *
+             * @param {WordArray} wordArray The word array.
+             *
+             * @return {string} The UTF-8 string.
+             *
+             * @static
+             *
+             * @example
+             *
+             *     var utf8String = CryptoJS.enc.Utf8.stringify(wordArray);
+             */ stringify: function stringify(wordArray) {
+              try {
+                return decodeURIComponent(escape(Latin1.stringify(wordArray)));
+              } catch (e) {
+                throw new Error("Malformed UTF-8 data");
+              }
+            },
+            /**
+             * Converts a UTF-8 string to a word array.
+             *
+             * @param {string} utf8Str The UTF-8 string.
+             *
+             * @return {WordArray} The word array.
+             *
+             * @static
+             *
+             * @example
+             *
+             *     var wordArray = CryptoJS.enc.Utf8.parse(utf8String);
+             */ parse: function parse(utf8Str) {
+              return Latin1.parse(unescape(encodeURIComponent(utf8Str)));
+            },
+          });
+          /**
+           * Abstract buffered block algorithm template.
+           *
+           * The property blockSize must be implemented in a concrete subtype.
+           *
+           * @property {number} _minBufferSize The number of blocks that should be kept unprocessed in the buffer. Default: 0
+           */ var BufferedBlockAlgorithm = (C_lib.BufferedBlockAlgorithm = Base.extend({
+            /**
+             * Resets this block algorithm's data buffer to its initial state.
+             *
+             * @example
+             *
+             *     bufferedBlockAlgorithm.reset();
+             */ reset: function reset() {
+              // Initial values
+              this._data = new WordArray.init();
+              this._nDataBytes = 0;
+            },
+            /**
+             * Adds new data to this block algorithm's buffer.
+             *
+             * @param {WordArray|string} data The data to append. Strings are converted to a WordArray using UTF-8.
+             *
+             * @example
+             *
+             *     bufferedBlockAlgorithm._append('data');
+             *     bufferedBlockAlgorithm._append(wordArray);
+             */ _append: function _append(data) {
+              // Convert string to WordArray, else assume WordArray already
+              if (typeof data == "string") {
+                data = Utf8.parse(data);
+              }
+              // Append
+              this._data.concat(data);
+              this._nDataBytes += data.sigBytes;
+            },
+            /**
+             * Processes available data blocks.
+             *
+             * This method invokes _doProcessBlock(offset), which must be implemented by a concrete subtype.
+             *
+             * @param {boolean} doFlush Whether all blocks and partial blocks should be processed.
+             *
+             * @return {WordArray} The processed data.
+             *
+             * @example
+             *
+             *     var processedData = bufferedBlockAlgorithm._process();
+             *     var processedData = bufferedBlockAlgorithm._process(!!'flush');
+             */ _process: function _process(doFlush) {
+              var processedWords;
+              // Shortcuts
+              var data = this._data;
+              var dataWords = data.words;
+              var dataSigBytes = data.sigBytes;
+              var blockSize = this.blockSize;
+              var blockSizeBytes = blockSize * 4;
+              // Count blocks ready
+              var nBlocksReady = dataSigBytes / blockSizeBytes;
+              if (doFlush) {
+                // Round up to include partial blocks
+                nBlocksReady = Math1.ceil(nBlocksReady);
+              } else {
+                // Round down to include only full blocks,
+                // less the number of blocks that must remain in the buffer
+                nBlocksReady = Math1.max((nBlocksReady | 0) - this._minBufferSize, 0);
+              }
+              // Count words ready
+              var nWordsReady = nBlocksReady * blockSize;
+              // Count bytes ready
+              var nBytesReady = Math1.min(nWordsReady * 4, dataSigBytes);
+              // Process blocks
+              if (nWordsReady) {
+                for (var offset = 0; offset < nWordsReady; offset += blockSize) {
+                  // Perform concrete-algorithm logic
+                  this._doProcessBlock(dataWords, offset);
+                }
+                // Remove processed words
+                processedWords = dataWords.splice(0, nWordsReady);
+                data.sigBytes -= nBytesReady;
+              }
+              // Return processed words
+              return new WordArray.init(processedWords, nBytesReady);
+            },
+            /**
+             * Creates a copy of this object.
+             *
+             * @return {Object} The clone.
+             *
+             * @example
+             *
+             *     var clone = bufferedBlockAlgorithm.clone();
+             */ clone: function clone() {
+              var clone = Base.clone.call(this);
+              clone._data = this._data.clone();
+              return clone;
+            },
+            _minBufferSize: 0,
+          }));
+          /**
+           * Abstract hasher template.
+           *
+           * @property {number} blockSize The number of 32-bit words this hasher operates on. Default: 16 (512 bits)
+           */ C_lib.Hasher = BufferedBlockAlgorithm.extend({
+            /**
+             * Configuration options.
+             */ cfg: Base.extend(),
+            /**
+             * Initializes a newly created hasher.
+             *
+             * @param {Object} cfg (Optional) The configuration options to use for this hash computation.
+             *
+             * @example
+             *
+             *     var hasher = CryptoJS.algo.SHA256.create();
+             */ init: function init(cfg) {
+              // Apply config defaults
+              this.cfg = this.cfg.extend(cfg);
+              // Set initial values
+              this.reset();
+            },
+            /**
+             * Resets this hasher to its initial state.
+             *
+             * @example
+             *
+             *     hasher.reset();
+             */ reset: function reset() {
+              // Reset data buffer
+              BufferedBlockAlgorithm.reset.call(this);
+              // Perform concrete-hasher logic
+              this._doReset();
+            },
+            /**
+             * Updates this hasher with a message.
+             *
+             * @param {WordArray|string} messageUpdate The message to append.
+             *
+             * @return {Hasher} This hasher.
+             *
+             * @example
+             *
+             *     hasher.update('message');
+             *     hasher.update(wordArray);
+             */ update: function update(messageUpdate) {
+              // Append
+              this._append(messageUpdate);
+              // Update the hash
+              this._process();
+              // Chainable
+              return this;
+            },
+            /**
+             * Finalizes the hash computation.
+             * Note that the finalize operation is effectively a destructive, read-once operation.
+             *
+             * @param {WordArray|string} messageUpdate (Optional) A final message update.
+             *
+             * @return {WordArray} The hash.
+             *
+             * @example
+             *
+             *     var hash = hasher.finalize();
+             *     var hash = hasher.finalize('message');
+             *     var hash = hasher.finalize(wordArray);
+             */ finalize: function finalize(messageUpdate) {
+              // Final message update
+              if (messageUpdate) {
+                this._append(messageUpdate);
+              }
+              // Perform concrete-hasher logic
+              var hash = this._doFinalize();
+              return hash;
+            },
+            blockSize: 512 / 32,
+            /**
+             * Creates a shortcut function to a hasher's object interface.
+             *
+             * @param {Hasher} hasher The hasher to create a helper for.
+             *
+             * @return {Function} The shortcut function.
+             *
+             * @static
+             *
+             * @example
+             *
+             *     var SHA256 = CryptoJS.lib.Hasher._createHelper(CryptoJS.algo.SHA256);
+             */ _createHelper: function _createHelper(hasher) {
+              return function (message, cfg) {
+                return new hasher.init(cfg).finalize(message);
+              };
+            },
+            /**
+             * Creates a shortcut function to the HMAC's object interface.
+             *
+             * @param {Hasher} hasher The hasher to use in this HMAC helper.
+             *
+             * @return {Function} The shortcut function.
+             *
+             * @static
+             *
+             * @example
+             *
+             *     var HmacSHA256 = CryptoJS.lib.Hasher._createHmacHelper(CryptoJS.algo.SHA256);
+             */ _createHmacHelper: function _createHmacHelper(hasher) {
+              return function (message, key) {
+                return new C_algo.HMAC.init(hasher, key).finalize(message);
+              };
+            },
+          });
+          /**
+           * Algorithm namespace.
+           */ var C_algo = (C.algo = {});
+          return C;
+        })(Math);
+      return CryptoJS;
+    });
+  });
+
+  var x64Core = createCommonjsModule(function (module, exports) {
+    (function (root, factory) {
+      {
+        // CommonJS
+        module.exports = factory(core);
+      }
+    })(commonjsGlobal, function (CryptoJS) {
+      (function (undefined1) {
+        // Shortcuts
+        var C = CryptoJS;
+        var C_lib = C.lib;
+        var Base = C_lib.Base;
+        var X32WordArray = C_lib.WordArray;
+        /**
+         * x64 namespace.
+         */ var C_x64 = (C.x64 = {});
+        /**
+         * A 64-bit word.
+         */ C_x64.Word = Base.extend({
+          /**
+           * Initializes a newly created 64-bit word.
+           *
+           * @param {number} high The high 32 bits.
+           * @param {number} low The low 32 bits.
+           *
+           * @example
+           *
+           *     var x64Word = CryptoJS.x64.Word.create(0x00010203, 0x04050607);
+           */ init: function init(high, low) {
+            this.high = high;
+            this.low = low;
+          },
+        });
+        /**
+         * An array of 64-bit words.
+         *
+         * @property {Array} words The array of CryptoJS.x64.Word objects.
+         * @property {number} sigBytes The number of significant bytes in this word array.
+         */ C_x64.WordArray = Base.extend({
+          /**
+           * Initializes a newly created word array.
+           *
+           * @param {Array} words (Optional) An array of CryptoJS.x64.Word objects.
+           * @param {number} sigBytes (Optional) The number of significant bytes in the words.
+           *
+           * @example
+           *
+           *     var wordArray = CryptoJS.x64.WordArray.create();
+           *
+           *     var wordArray = CryptoJS.x64.WordArray.create([
+           *         CryptoJS.x64.Word.create(0x00010203, 0x04050607),
+           *         CryptoJS.x64.Word.create(0x18191a1b, 0x1c1d1e1f)
+           *     ]);
+           *
+           *     var wordArray = CryptoJS.x64.WordArray.create([
+           *         CryptoJS.x64.Word.create(0x00010203, 0x04050607),
+           *         CryptoJS.x64.Word.create(0x18191a1b, 0x1c1d1e1f)
+           *     ], 10);
+           */ init: function init(words, sigBytes) {
+            words = this.words = words || [];
+            if (sigBytes != undefined1) {
+              this.sigBytes = sigBytes;
+            } else {
+              this.sigBytes = words.length * 8;
+            }
+          },
+          /**
+           * Converts this 64-bit word array to a 32-bit word array.
+           *
+           * @return {CryptoJS.lib.WordArray} This word array's data as a 32-bit word array.
+           *
+           * @example
+           *
+           *     var x32WordArray = x64WordArray.toX32();
+           */ toX32: function toX32() {
+            // Shortcuts
+            var x64Words = this.words;
+            var x64WordsLength = x64Words.length;
+            // Convert
+            var x32Words = [];
+            for (var i = 0; i < x64WordsLength; i++) {
+              var x64Word = x64Words[i];
+              x32Words.push(x64Word.high);
+              x32Words.push(x64Word.low);
+            }
+            return X32WordArray.create(x32Words, this.sigBytes);
+          },
+          /**
+           * Creates a copy of this word array.
+           *
+           * @return {X64WordArray} The clone.
+           *
+           * @example
+           *
+           *     var clone = x64WordArray.clone();
+           */ clone: function clone() {
+            var clone = Base.clone.call(this);
+            // Clone "words" array
+            var words = (clone.words = this.words.slice(0));
+            // Clone each X64Word object
+            var wordsLength = words.length;
+            for (var i = 0; i < wordsLength; i++) {
+              words[i] = words[i].clone();
+            }
+            return clone;
+          },
+        });
+      })();
+      return CryptoJS;
+    });
+  });
+
+  function _instanceof(left, right) {
+    if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
+      return !!right[Symbol.hasInstance](left);
+    } else {
+      return left instanceof right;
+    }
+  }
+  var libTypedarrays = createCommonjsModule(function (module, exports) {
+    (function (root, factory) {
+      {
+        // CommonJS
+        module.exports = factory(core);
+      }
+    })(commonjsGlobal, function (CryptoJS) {
+      (function () {
+        // Check if typed arrays are supported
+        if (typeof ArrayBuffer != "function") {
+          return;
+        }
+        // Shortcuts
+        var C = CryptoJS;
+        var C_lib = C.lib;
+        var WordArray = C_lib.WordArray;
+        // Reference original init
+        var superInit = WordArray.init;
+        // Augment WordArray.init to handle typed arrays
+        var subInit = (WordArray.init = function subInit(typedArray) {
+          // Convert buffers to uint8
+          if (_instanceof(typedArray, ArrayBuffer)) {
+            typedArray = new Uint8Array(typedArray);
+          }
+          // Convert other array views to uint8
+          if (
+            _instanceof(typedArray, Int8Array) ||
+            (typeof Uint8ClampedArray !== "undefined" &&
+              _instanceof(typedArray, Uint8ClampedArray)) ||
+            _instanceof(typedArray, Int16Array) ||
+            _instanceof(typedArray, Uint16Array) ||
+            _instanceof(typedArray, Int32Array) ||
+            _instanceof(typedArray, Uint32Array) ||
+            _instanceof(typedArray, Float32Array) ||
+            _instanceof(typedArray, Float64Array)
+          ) {
+            typedArray = new Uint8Array(
+              typedArray.buffer,
+              typedArray.byteOffset,
+              typedArray.byteLength
+            );
+          }
+          // Handle Uint8Array
+          if (_instanceof(typedArray, Uint8Array)) {
+            // Shortcut
+            var typedArrayByteLength = typedArray.byteLength;
+            // Extract bytes
+            var words = [];
+            for (var i = 0; i < typedArrayByteLength; i++) {
+              words[i >>> 2] |= typedArray[i] << (24 - (i % 4) * 8);
+            }
+            // Initialize this word array
+            superInit.call(this, words, typedArrayByteLength);
+          } else {
+            // Else call normal init
+            superInit.apply(this, arguments);
+          }
+        });
+        subInit.prototype = WordArray;
+      })();
+      return CryptoJS.lib.WordArray;
+    });
+  });
+
+  var encUtf16 = createCommonjsModule(function (module, exports) {
+    (function (root, factory) {
+      {
+        // CommonJS
+        module.exports = factory(core);
+      }
+    })(commonjsGlobal, function (CryptoJS) {
+      (function () {
+        var swapEndian = function swapEndian(word) {
+          return ((word << 8) & 0xff00ff00) | ((word >>> 8) & 0x00ff00ff);
+        };
+        // Shortcuts
+        var C = CryptoJS;
+        var C_lib = C.lib;
+        var WordArray = C_lib.WordArray;
+        var C_enc = C.enc;
+        /**
+         * UTF-16 BE encoding strategy.
+         */ C_enc.Utf16 = C_enc.Utf16BE = {
+          /**
+           * Converts a word array to a UTF-16 BE string.
+           *
+           * @param {WordArray} wordArray The word array.
+           *
+           * @return {string} The UTF-16 BE string.
+           *
+           * @static
+           *
+           * @example
+           *
+           *     var utf16String = CryptoJS.enc.Utf16.stringify(wordArray);
+           */ stringify: function stringify(wordArray) {
+            // Shortcuts
+            var words = wordArray.words;
+            var sigBytes = wordArray.sigBytes;
+            // Convert
+            var utf16Chars = [];
+            for (var i = 0; i < sigBytes; i += 2) {
+              var codePoint = (words[i >>> 2] >>> (16 - (i % 4) * 8)) & 0xffff;
+              utf16Chars.push(String.fromCharCode(codePoint));
+            }
+            return utf16Chars.join("");
+          },
+          /**
+           * Converts a UTF-16 BE string to a word array.
+           *
+           * @param {string} utf16Str The UTF-16 BE string.
+           *
+           * @return {WordArray} The word array.
+           *
+           * @static
+           *
+           * @example
+           *
+           *     var wordArray = CryptoJS.enc.Utf16.parse(utf16String);
+           */ parse: function parse(utf16Str) {
+            // Shortcut
+            var utf16StrLength = utf16Str.length;
+            // Convert
+            var words = [];
+            for (var i = 0; i < utf16StrLength; i++) {
+              words[i >>> 1] |= utf16Str.charCodeAt(i) << (16 - (i % 2) * 16);
+            }
+            return WordArray.create(words, utf16StrLength * 2);
+          },
+        };
+        /**
+         * UTF-16 LE encoding strategy.
+         */ C_enc.Utf16LE = {
+          /**
+           * Converts a word array to a UTF-16 LE string.
+           *
+           * @param {WordArray} wordArray The word array.
+           *
+           * @return {string} The UTF-16 LE string.
+           *
+           * @static
+           *
+           * @example
+           *
+           *     var utf16Str = CryptoJS.enc.Utf16LE.stringify(wordArray);
+           */ stringify: function stringify(wordArray) {
+            // Shortcuts
+            var words = wordArray.words;
+            var sigBytes = wordArray.sigBytes;
+            // Convert
+            var utf16Chars = [];
+            for (var i = 0; i < sigBytes; i += 2) {
+              var codePoint = swapEndian((words[i >>> 2] >>> (16 - (i % 4) * 8)) & 0xffff);
+              utf16Chars.push(String.fromCharCode(codePoint));
+            }
+            return utf16Chars.join("");
+          },
+          /**
+           * Converts a UTF-16 LE string to a word array.
+           *
+           * @param {string} utf16Str The UTF-16 LE string.
+           *
+           * @return {WordArray} The word array.
+           *
+           * @static
+           *
+           * @example
+           *
+           *     var wordArray = CryptoJS.enc.Utf16LE.parse(utf16Str);
+           */ parse: function parse(utf16Str) {
+            // Shortcut
+            var utf16StrLength = utf16Str.length;
+            // Convert
+            var words = [];
+            for (var i = 0; i < utf16StrLength; i++) {
+              words[i >>> 1] |= swapEndian(utf16Str.charCodeAt(i) << (16 - (i % 2) * 16));
+            }
+            return WordArray.create(words, utf16StrLength * 2);
+          },
+        };
+      })();
+      return CryptoJS.enc.Utf16;
+    });
+  });
+
+  var encBase64 = createCommonjsModule(function (module, exports) {
+    (function (root, factory) {
+      {
+        // CommonJS
+        module.exports = factory(core);
+      }
+    })(commonjsGlobal, function (CryptoJS) {
+      (function () {
+        var parseLoop = function parseLoop(base64Str, base64StrLength, reverseMap) {
+          var words = [];
+          var nBytes = 0;
+          for (var i = 0; i < base64StrLength; i++) {
+            if (i % 4) {
+              var bits1 = reverseMap[base64Str.charCodeAt(i - 1)] << ((i % 4) * 2);
+              var bits2 = reverseMap[base64Str.charCodeAt(i)] >>> (6 - (i % 4) * 2);
+              var bitsCombined = bits1 | bits2;
+              words[nBytes >>> 2] |= bitsCombined << (24 - (nBytes % 4) * 8);
+              nBytes++;
+            }
+          }
+          return WordArray.create(words, nBytes);
+        };
+        // Shortcuts
+        var C = CryptoJS;
+        var C_lib = C.lib;
+        var WordArray = C_lib.WordArray;
+        var C_enc = C.enc;
+        /**
+         * Base64 encoding strategy.
+         */ C_enc.Base64 = {
+          /**
+           * Converts a word array to a Base64 string.
+           *
+           * @param {WordArray} wordArray The word array.
+           *
+           * @return {string} The Base64 string.
+           *
+           * @static
+           *
+           * @example
+           *
+           *     var base64String = CryptoJS.enc.Base64.stringify(wordArray);
+           */ stringify: function stringify(wordArray) {
+            // Shortcuts
+            var words = wordArray.words;
+            var sigBytes = wordArray.sigBytes;
+            var map = this._map;
+            // Clamp excess bits
+            wordArray.clamp();
+            // Convert
+            var base64Chars = [];
+            for (var i = 0; i < sigBytes; i += 3) {
+              var byte1 = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;
+              var byte2 = (words[(i + 1) >>> 2] >>> (24 - ((i + 1) % 4) * 8)) & 0xff;
+              var byte3 = (words[(i + 2) >>> 2] >>> (24 - ((i + 2) % 4) * 8)) & 0xff;
+              var triplet = (byte1 << 16) | (byte2 << 8) | byte3;
+              for (var j = 0; j < 4 && i + j * 0.75 < sigBytes; j++) {
+                base64Chars.push(map.charAt((triplet >>> (6 * (3 - j))) & 0x3f));
+              }
+            }
+            // Add padding
+            var paddingChar = map.charAt(64);
+            if (paddingChar) {
+              while (base64Chars.length % 4) {
+                base64Chars.push(paddingChar);
+              }
+            }
+            return base64Chars.join("");
+          },
+          /**
+           * Converts a Base64 string to a word array.
+           *
+           * @param {string} base64Str The Base64 string.
+           *
+           * @return {WordArray} The word array.
+           *
+           * @static
+           *
+           * @example
+           *
+           *     var wordArray = CryptoJS.enc.Base64.parse(base64String);
+           */ parse: function parse(base64Str) {
+            // Shortcuts
+            var base64StrLength = base64Str.length;
+            var map = this._map;
+            var reverseMap = this._reverseMap;
+            if (!reverseMap) {
+              reverseMap = this._reverseMap = [];
+              for (var j = 0; j < map.length; j++) {
+                reverseMap[map.charCodeAt(j)] = j;
+              }
+            }
+            // Ignore padding
+            var paddingChar = map.charAt(64);
+            if (paddingChar) {
+              var paddingIndex = base64Str.indexOf(paddingChar);
+              if (paddingIndex !== -1) {
+                base64StrLength = paddingIndex;
+              }
+            }
+            // Convert
+            return parseLoop(base64Str, base64StrLength, reverseMap);
+          },
+          _map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
+        };
+      })();
+      return CryptoJS.enc.Base64;
+    });
+  });
+
+  var encBase64url = createCommonjsModule(function (module, exports) {
+    (function (root, factory) {
+      {
+        // CommonJS
+        module.exports = factory(core);
+      }
+    })(commonjsGlobal, function (CryptoJS) {
+      (function () {
+        var parseLoop = function parseLoop(base64Str, base64StrLength, reverseMap) {
+          var words = [];
+          var nBytes = 0;
+          for (var i = 0; i < base64StrLength; i++) {
+            if (i % 4) {
+              var bits1 = reverseMap[base64Str.charCodeAt(i - 1)] << ((i % 4) * 2);
+              var bits2 = reverseMap[base64Str.charCodeAt(i)] >>> (6 - (i % 4) * 2);
+              var bitsCombined = bits1 | bits2;
+              words[nBytes >>> 2] |= bitsCombined << (24 - (nBytes % 4) * 8);
+              nBytes++;
+            }
+          }
+          return WordArray.create(words, nBytes);
+        };
+        // Shortcuts
+        var C = CryptoJS;
+        var C_lib = C.lib;
+        var WordArray = C_lib.WordArray;
+        var C_enc = C.enc;
+        /**
+         * Base64url encoding strategy.
+         */ C_enc.Base64url = {
+          /**
+           * Converts a word array to a Base64url string.
+           *
+           * @param {WordArray} wordArray The word array.
+           *
+           * @param {boolean} urlSafe Whether to use url safe
+           *
+           * @return {string} The Base64url string.
+           *
+           * @static
+           *
+           * @example
+           *
+           *     var base64String = CryptoJS.enc.Base64url.stringify(wordArray);
+           */ stringify: function stringify(wordArray) {
+            var urlSafe = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true;
+            // Shortcuts
+            var words = wordArray.words;
+            var sigBytes = wordArray.sigBytes;
+            var map = urlSafe ? this._safe_map : this._map;
+            // Clamp excess bits
+            wordArray.clamp();
+            // Convert
+            var base64Chars = [];
+            for (var i = 0; i < sigBytes; i += 3) {
+              var byte1 = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;
+              var byte2 = (words[(i + 1) >>> 2] >>> (24 - ((i + 1) % 4) * 8)) & 0xff;
+              var byte3 = (words[(i + 2) >>> 2] >>> (24 - ((i + 2) % 4) * 8)) & 0xff;
+              var triplet = (byte1 << 16) | (byte2 << 8) | byte3;
+              for (var j = 0; j < 4 && i + j * 0.75 < sigBytes; j++) {
+                base64Chars.push(map.charAt((triplet >>> (6 * (3 - j))) & 0x3f));
+              }
+            }
+            // Add padding
+            var paddingChar = map.charAt(64);
+            if (paddingChar) {
+              while (base64Chars.length % 4) {
+                base64Chars.push(paddingChar);
+              }
+            }
+            return base64Chars.join("");
+          },
+          /**
+           * Converts a Base64url string to a word array.
+           *
+           * @param {string} base64Str The Base64url string.
+           *
+           * @param {boolean} urlSafe Whether to use url safe
+           *
+           * @return {WordArray} The word array.
+           *
+           * @static
+           *
+           * @example
+           *
+           *     var wordArray = CryptoJS.enc.Base64url.parse(base64String);
+           */ parse: function parse(base64Str) {
+            var urlSafe = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : true;
+            // Shortcuts
+            var base64StrLength = base64Str.length;
+            var map = urlSafe ? this._safe_map : this._map;
+            var reverseMap = this._reverseMap;
+            if (!reverseMap) {
+              reverseMap = this._reverseMap = [];
+              for (var j = 0; j < map.length; j++) {
+                reverseMap[map.charCodeAt(j)] = j;
+              }
+            }
+            // Ignore padding
+            var paddingChar = map.charAt(64);
+            if (paddingChar) {
+              var paddingIndex = base64Str.indexOf(paddingChar);
+              if (paddingIndex !== -1) {
+                base64StrLength = paddingIndex;
+              }
+            }
+            // Convert
+            return parseLoop(base64Str, base64StrLength, reverseMap);
+          },
+          _map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
+          _safe_map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",
+        };
+      })();
+      return CryptoJS.enc.Base64url;
+    });
+  });
+
+  var md5 = createCommonjsModule(function (module, exports) {
+    (function (root, factory) {
+      {
+        // CommonJS
+        module.exports = factory(core);
+      }
+    })(commonjsGlobal, function (CryptoJS) {
+      (function (Math1) {
+        var FF = function FF(a, b, c, d, x, s, t) {
+          var n = a + ((b & c) | (~b & d)) + x + t;
+          return ((n << s) | (n >>> (32 - s))) + b;
+        };
+        var GG = function GG(a, b, c, d, x, s, t) {
+          var n = a + ((b & d) | (c & ~d)) + x + t;
+          return ((n << s) | (n >>> (32 - s))) + b;
+        };
+        var HH = function HH(a, b, c, d, x, s, t) {
+          var n = a + (b ^ c ^ d) + x + t;
+          return ((n << s) | (n >>> (32 - s))) + b;
+        };
+        var II = function II(a, b, c, d, x, s, t) {
+          var n = a + (c ^ (b | ~d)) + x + t;
+          return ((n << s) | (n >>> (32 - s))) + b;
+        };
+        // Shortcuts
+        var C = CryptoJS;
+        var C_lib = C.lib;
+        var WordArray = C_lib.WordArray;
+        var Hasher = C_lib.Hasher;
+        var C_algo = C.algo;
+        // Constants table
+        var T = [];
+        // Compute constants
+        (function () {
+          for (var i = 0; i < 64; i++) {
+            T[i] = (Math1.abs(Math1.sin(i + 1)) * 0x100000000) | 0;
+          }
+        })();
+        /**
+         * MD5 hash algorithm.
+         */ var MD5 = (C_algo.MD5 = Hasher.extend({
+          _doReset: function _doReset() {
+            this._hash = new WordArray.init([0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476]);
+          },
+          _doProcessBlock: function _doProcessBlock(M, offset) {
+            // Swap endian
+            for (var i = 0; i < 16; i++) {
+              // Shortcuts
+              var offset_i = offset + i;
+              var M_offset_i = M[offset_i];
+              M[offset_i] =
+                (((M_offset_i << 8) | (M_offset_i >>> 24)) & 0x00ff00ff) |
+                (((M_offset_i << 24) | (M_offset_i >>> 8)) & 0xff00ff00);
+            }
+            // Shortcuts
+            var H = this._hash.words;
+            var M_offset_0 = M[offset + 0];
+            var M_offset_1 = M[offset + 1];
+            var M_offset_2 = M[offset + 2];
+            var M_offset_3 = M[offset + 3];
+            var M_offset_4 = M[offset + 4];
+            var M_offset_5 = M[offset + 5];
+            var M_offset_6 = M[offset + 6];
+            var M_offset_7 = M[offset + 7];
+            var M_offset_8 = M[offset + 8];
+            var M_offset_9 = M[offset + 9];
+            var M_offset_10 = M[offset + 10];
+            var M_offset_11 = M[offset + 11];
+            var M_offset_12 = M[offset + 12];
+            var M_offset_13 = M[offset + 13];
+            var M_offset_14 = M[offset + 14];
+            var M_offset_15 = M[offset + 15];
+            // Working varialbes
+            var a = H[0];
+            var b = H[1];
+            var c = H[2];
+            var d = H[3];
+            // Computation
+            a = FF(a, b, c, d, M_offset_0, 7, T[0]);
+            d = FF(d, a, b, c, M_offset_1, 12, T[1]);
+            c = FF(c, d, a, b, M_offset_2, 17, T[2]);
+            b = FF(b, c, d, a, M_offset_3, 22, T[3]);
+            a = FF(a, b, c, d, M_offset_4, 7, T[4]);
+            d = FF(d, a, b, c, M_offset_5, 12, T[5]);
+            c = FF(c, d, a, b, M_offset_6, 17, T[6]);
+            b = FF(b, c, d, a, M_offset_7, 22, T[7]);
+            a = FF(a, b, c, d, M_offset_8, 7, T[8]);
+            d = FF(d, a, b, c, M_offset_9, 12, T[9]);
+            c = FF(c, d, a, b, M_offset_10, 17, T[10]);
+            b = FF(b, c, d, a, M_offset_11, 22, T[11]);
+            a = FF(a, b, c, d, M_offset_12, 7, T[12]);
+            d = FF(d, a, b, c, M_offset_13, 12, T[13]);
+            c = FF(c, d, a, b, M_offset_14, 17, T[14]);
+            b = FF(b, c, d, a, M_offset_15, 22, T[15]);
+            a = GG(a, b, c, d, M_offset_1, 5, T[16]);
+            d = GG(d, a, b, c, M_offset_6, 9, T[17]);
+            c = GG(c, d, a, b, M_offset_11, 14, T[18]);
+            b = GG(b, c, d, a, M_offset_0, 20, T[19]);
+            a = GG(a, b, c, d, M_offset_5, 5, T[20]);
+            d = GG(d, a, b, c, M_offset_10, 9, T[21]);
+            c = GG(c, d, a, b, M_offset_15, 14, T[22]);
+            b = GG(b, c, d, a, M_offset_4, 20, T[23]);
+            a = GG(a, b, c, d, M_offset_9, 5, T[24]);
+            d = GG(d, a, b, c, M_offset_14, 9, T[25]);
+            c = GG(c, d, a, b, M_offset_3, 14, T[26]);
+            b = GG(b, c, d, a, M_offset_8, 20, T[27]);
+            a = GG(a, b, c, d, M_offset_13, 5, T[28]);
+            d = GG(d, a, b, c, M_offset_2, 9, T[29]);
+            c = GG(c, d, a, b, M_offset_7, 14, T[30]);
+            b = GG(b, c, d, a, M_offset_12, 20, T[31]);
+            a = HH(a, b, c, d, M_offset_5, 4, T[32]);
+            d = HH(d, a, b, c, M_offset_8, 11, T[33]);
+            c = HH(c, d, a, b, M_offset_11, 16, T[34]);
+            b = HH(b, c, d, a, M_offset_14, 23, T[35]);
+            a = HH(a, b, c, d, M_offset_1, 4, T[36]);
+            d = HH(d, a, b, c, M_offset_4, 11, T[37]);
+            c = HH(c, d, a, b, M_offset_7, 16, T[38]);
+            b = HH(b, c, d, a, M_offset_10, 23, T[39]);
+            a = HH(a, b, c, d, M_offset_13, 4, T[40]);
+            d = HH(d, a, b, c, M_offset_0, 11, T[41]);
+            c = HH(c, d, a, b, M_offset_3, 16, T[42]);
+            b = HH(b, c, d, a, M_offset_6, 23, T[43]);
+            a = HH(a, b, c, d, M_offset_9, 4, T[44]);
+            d = HH(d, a, b, c, M_offset_12, 11, T[45]);
+            c = HH(c, d, a, b, M_offset_15, 16, T[46]);
+            b = HH(b, c, d, a, M_offset_2, 23, T[47]);
+            a = II(a, b, c, d, M_offset_0, 6, T[48]);
+            d = II(d, a, b, c, M_offset_7, 10, T[49]);
+            c = II(c, d, a, b, M_offset_14, 15, T[50]);
+            b = II(b, c, d, a, M_offset_5, 21, T[51]);
+            a = II(a, b, c, d, M_offset_12, 6, T[52]);
+            d = II(d, a, b, c, M_offset_3, 10, T[53]);
+            c = II(c, d, a, b, M_offset_10, 15, T[54]);
+            b = II(b, c, d, a, M_offset_1, 21, T[55]);
+            a = II(a, b, c, d, M_offset_8, 6, T[56]);
+            d = II(d, a, b, c, M_offset_15, 10, T[57]);
+            c = II(c, d, a, b, M_offset_6, 15, T[58]);
+            b = II(b, c, d, a, M_offset_13, 21, T[59]);
+            a = II(a, b, c, d, M_offset_4, 6, T[60]);
+            d = II(d, a, b, c, M_offset_11, 10, T[61]);
+            c = II(c, d, a, b, M_offset_2, 15, T[62]);
+            b = II(b, c, d, a, M_offset_9, 21, T[63]);
+            // Intermediate hash value
+            H[0] = (H[0] + a) | 0;
+            H[1] = (H[1] + b) | 0;
+            H[2] = (H[2] + c) | 0;
+            H[3] = (H[3] + d) | 0;
+          },
+          _doFinalize: function _doFinalize() {
+            // Shortcuts
+            var data = this._data;
+            var dataWords = data.words;
+            var nBitsTotal = this._nDataBytes * 8;
+            var nBitsLeft = data.sigBytes * 8;
+            // Add padding
+            dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - (nBitsLeft % 32));
+            var nBitsTotalH = Math1.floor(nBitsTotal / 0x100000000);
+            var nBitsTotalL = nBitsTotal;
+            dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] =
+              (((nBitsTotalH << 8) | (nBitsTotalH >>> 24)) & 0x00ff00ff) |
+              (((nBitsTotalH << 24) | (nBitsTotalH >>> 8)) & 0xff00ff00);
+            dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] =
+              (((nBitsTotalL << 8) | (nBitsTotalL >>> 24)) & 0x00ff00ff) |
+              (((nBitsTotalL << 24) | (nBitsTotalL >>> 8)) & 0xff00ff00);
+            data.sigBytes = (dataWords.length + 1) * 4;
+            // Hash final blocks
+            this._process();
+            // Shortcuts
+            var hash = this._hash;
+            var H = hash.words;
+            // Swap endian
+            for (var i = 0; i < 4; i++) {
+              // Shortcut
+              var H_i = H[i];
+              H[i] =
+                (((H_i << 8) | (H_i >>> 24)) & 0x00ff00ff) |
+                (((H_i << 24) | (H_i >>> 8)) & 0xff00ff00);
+            }
+            // Return final computed hash
+            return hash;
+          },
+          clone: function clone() {
+            var clone = Hasher.clone.call(this);
+            clone._hash = this._hash.clone();
+            return clone;
+          },
+        }));
+        /**
+         * Shortcut function to the hasher's object interface.
+         *
+         * @param {WordArray|string} message The message to hash.
+         *
+         * @return {WordArray} The hash.
+         *
+         * @static
+         *
+         * @example
+         *
+         *     var hash = CryptoJS.MD5('message');
+         *     var hash = CryptoJS.MD5(wordArray);
+         */ C.MD5 = Hasher._createHelper(MD5);
+        /**
+         * Shortcut function to the HMAC's object interface.
+         *
+         * @param {WordArray|string} message The message to hash.
+         * @param {WordArray|string} key The secret key.
+         *
+         * @return {WordArray} The HMAC.
+         *
+         * @static
+         *
+         * @example
+         *
+         *     var hmac = CryptoJS.HmacMD5(message, key);
+         */ C.HmacMD5 = Hasher._createHmacHelper(MD5);
+      })(Math);
+      return CryptoJS.MD5;
+    });
+  });
+
+  var sha1 = createCommonjsModule(function (module, exports) {
+    (function (root, factory) {
+      {
+        // CommonJS
+        module.exports = factory(core);
+      }
+    })(commonjsGlobal, function (CryptoJS) {
+      (function () {
+        // Shortcuts
+        var C = CryptoJS;
+        var C_lib = C.lib;
+        var WordArray = C_lib.WordArray;
+        var Hasher = C_lib.Hasher;
+        var C_algo = C.algo;
+        // Reusable object
+        var W = [];
+        /**
+         * SHA-1 hash algorithm.
+         */ var SHA1 = (C_algo.SHA1 = Hasher.extend({
+          _doReset: function _doReset() {
+            this._hash = new WordArray.init([
+              0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0,
+            ]);
+          },
+          _doProcessBlock: function _doProcessBlock(M, offset) {
+            // Shortcut
+            var H = this._hash.words;
+            // Working variables
+            var a = H[0];
+            var b = H[1];
+            var c = H[2];
+            var d = H[3];
+            var e = H[4];
+            // Computation
+            for (var i = 0; i < 80; i++) {
+              if (i < 16) {
+                W[i] = M[offset + i] | 0;
+              } else {
+                var n = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16];
+                W[i] = (n << 1) | (n >>> 31);
+              }
+              var t = ((a << 5) | (a >>> 27)) + e + W[i];
+              if (i < 20) {
+                t += ((b & c) | (~b & d)) + 0x5a827999;
+              } else if (i < 40) {
+                t += (b ^ c ^ d) + 0x6ed9eba1;
+              } else if (i < 60) {
+                t += ((b & c) | (b & d) | (c & d)) - 0x70e44324;
+              } /* if (i < 80) */ else {
+                t += (b ^ c ^ d) - 0x359d3e2a;
+              }
+              e = d;
+              d = c;
+              c = (b << 30) | (b >>> 2);
+              b = a;
+              a = t;
+            }
+            // Intermediate hash value
+            H[0] = (H[0] + a) | 0;
+            H[1] = (H[1] + b) | 0;
+            H[2] = (H[2] + c) | 0;
+            H[3] = (H[3] + d) | 0;
+            H[4] = (H[4] + e) | 0;
+          },
+          _doFinalize: function _doFinalize() {
+            // Shortcuts
+            var data = this._data;
+            var dataWords = data.words;
+            var nBitsTotal = this._nDataBytes * 8;
+            var nBitsLeft = data.sigBytes * 8;
+            // Add padding
+            dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - (nBitsLeft % 32));
+            dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = Math.floor(nBitsTotal / 0x100000000);
+            dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = nBitsTotal;
+            data.sigBytes = dataWords.length * 4;
+            // Hash final blocks
+            this._process();
+            // Return final computed hash
+            return this._hash;
+          },
+          clone: function clone() {
+            var clone = Hasher.clone.call(this);
+            clone._hash = this._hash.clone();
+            return clone;
+          },
+        }));
+        /**
+         * Shortcut function to the hasher's object interface.
+         *
+         * @param {WordArray|string} message The message to hash.
+         *
+         * @return {WordArray} The hash.
+         *
+         * @static
+         *
+         * @example
+         *
+         *     var hash = CryptoJS.SHA1('message');
+         *     var hash = CryptoJS.SHA1(wordArray);
+         */ C.SHA1 = Hasher._createHelper(SHA1);
+        /**
+         * Shortcut function to the HMAC's object interface.
+         *
+         * @param {WordArray|string} message The message to hash.
+         * @param {WordArray|string} key The secret key.
+         *
+         * @return {WordArray} The HMAC.
+         *
+         * @static
+         *
+         * @example
+         *
+         *     var hmac = CryptoJS.HmacSHA1(message, key);
+         */ C.HmacSHA1 = Hasher._createHmacHelper(SHA1);
+      })();
+      return CryptoJS.SHA1;
+    });
+  });
+
+  var sha256 = createCommonjsModule(function (module, exports) {
+    (function (root, factory) {
+      {
+        // CommonJS
+        module.exports = factory(core);
+      }
+    })(commonjsGlobal, function (CryptoJS) {
+      (function (Math1) {
+        // Shortcuts
+        var C = CryptoJS;
+        var C_lib = C.lib;
+        var WordArray = C_lib.WordArray;
+        var Hasher = C_lib.Hasher;
+        var C_algo = C.algo;
+        // Initialization and round constants tables
+        var H = [];
+        var K = [];
+        // Compute constants
+        (function () {
+          var isPrime = function isPrime(n) {
+            var sqrtN = Math1.sqrt(n);
+            for (var factor = 2; factor <= sqrtN; factor++) {
+              if (!(n % factor)) {
+                return false;
+              }
+            }
+            return true;
+          };
+          var getFractionalBits = function getFractionalBits(n) {
+            return ((n - (n | 0)) * 0x100000000) | 0;
+          };
+          var n = 2;
+          var nPrime = 0;
+          while (nPrime < 64) {
+            if (isPrime(n)) {
+              if (nPrime < 8) {
+                H[nPrime] = getFractionalBits(Math1.pow(n, 1 / 2));
+              }
+              K[nPrime] = getFractionalBits(Math1.pow(n, 1 / 3));
+              nPrime++;
+            }
+            n++;
+          }
+        })();
+        // Reusable object
+        var W = [];
+        /**
+         * SHA-256 hash algorithm.
+         */ var SHA256 = (C_algo.SHA256 = Hasher.extend({
+          _doReset: function _doReset() {
+            this._hash = new WordArray.init(H.slice(0));
+          },
+          _doProcessBlock: function _doProcessBlock(M, offset) {
+            // Shortcut
+            var H = this._hash.words;
+            // Working variables
+            var a = H[0];
+            var b = H[1];
+            var c = H[2];
+            var d = H[3];
+            var e = H[4];
+            var f = H[5];
+            var g = H[6];
+            var h = H[7];
+            // Computation
+            for (var i = 0; i < 64; i++) {
+              if (i < 16) {
+                W[i] = M[offset + i] | 0;
+              } else {
+                var gamma0x = W[i - 15];
+                var gamma0 =
+                  ((gamma0x << 25) | (gamma0x >>> 7)) ^
+                  ((gamma0x << 14) | (gamma0x >>> 18)) ^
+                  (gamma0x >>> 3);
+                var gamma1x = W[i - 2];
+                var gamma1 =
+                  ((gamma1x << 15) | (gamma1x >>> 17)) ^
+                  ((gamma1x << 13) | (gamma1x >>> 19)) ^
+                  (gamma1x >>> 10);
+                W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16];
+              }
+              var ch = (e & f) ^ (~e & g);
+              var maj = (a & b) ^ (a & c) ^ (b & c);
+              var sigma0 =
+                ((a << 30) | (a >>> 2)) ^ ((a << 19) | (a >>> 13)) ^ ((a << 10) | (a >>> 22));
+              var sigma1 =
+                ((e << 26) | (e >>> 6)) ^ ((e << 21) | (e >>> 11)) ^ ((e << 7) | (e >>> 25));
+              var t1 = h + sigma1 + ch + K[i] + W[i];
+              var t2 = sigma0 + maj;
+              h = g;
+              g = f;
+              f = e;
+              e = (d + t1) | 0;
+              d = c;
+              c = b;
+              b = a;
+              a = (t1 + t2) | 0;
+            }
+            // Intermediate hash value
+            H[0] = (H[0] + a) | 0;
+            H[1] = (H[1] + b) | 0;
+            H[2] = (H[2] + c) | 0;
+            H[3] = (H[3] + d) | 0;
+            H[4] = (H[4] + e) | 0;
+            H[5] = (H[5] + f) | 0;
+            H[6] = (H[6] + g) | 0;
+            H[7] = (H[7] + h) | 0;
+          },
+          _doFinalize: function _doFinalize() {
+            // Shortcuts
+            var data = this._data;
+            var dataWords = data.words;
+            var nBitsTotal = this._nDataBytes * 8;
+            var nBitsLeft = data.sigBytes * 8;
+            // Add padding
+            dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - (nBitsLeft % 32));
+            dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = Math1.floor(nBitsTotal / 0x100000000);
+            dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = nBitsTotal;
+            data.sigBytes = dataWords.length * 4;
+            // Hash final blocks
+            this._process();
+            // Return final computed hash
+            return this._hash;
+          },
+          clone: function clone() {
+            var clone = Hasher.clone.call(this);
+            clone._hash = this._hash.clone();
+            return clone;
+          },
+        }));
+        /**
+         * Shortcut function to the hasher's object interface.
+         *
+         * @param {WordArray|string} message The message to hash.
+         *
+         * @return {WordArray} The hash.
+         *
+         * @static
+         *
+         * @example
+         *
+         *     var hash = CryptoJS.SHA256('message');
+         *     var hash = CryptoJS.SHA256(wordArray);
+         */ C.SHA256 = Hasher._createHelper(SHA256);
+        /**
+         * Shortcut function to the HMAC's object interface.
+         *
+         * @param {WordArray|string} message The message to hash.
+         * @param {WordArray|string} key The secret key.
+         *
+         * @return {WordArray} The HMAC.
+         *
+         * @static
+         *
+         * @example
+         *
+         *     var hmac = CryptoJS.HmacSHA256(message, key);
+         */ C.HmacSHA256 = Hasher._createHmacHelper(SHA256);
+      })(Math);
+      return CryptoJS.SHA256;
+    });
+  });
+
+  var sha224 = createCommonjsModule(function (module, exports) {
+    (function (root, factory, undef) {
+      {
+        // CommonJS
+        module.exports = factory(core, sha256);
+      }
+    })(commonjsGlobal, function (CryptoJS) {
+      (function () {
+        // Shortcuts
+        var C = CryptoJS;
+        var C_lib = C.lib;
+        var WordArray = C_lib.WordArray;
+        var C_algo = C.algo;
+        var SHA256 = C_algo.SHA256;
+        /**
+         * SHA-224 hash algorithm.
+         */ var SHA224 = (C_algo.SHA224 = SHA256.extend({
+          _doReset: function _doReset() {
+            this._hash = new WordArray.init([
+              0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939, 0xffc00b31, 0x68581511, 0x64f98fa7,
+              0xbefa4fa4,
+            ]);
+          },
+          _doFinalize: function _doFinalize() {
+            var hash = SHA256._doFinalize.call(this);
+            hash.sigBytes -= 4;
+            return hash;
+          },
+        }));
+        /**
+         * Shortcut function to the hasher's object interface.
+         *
+         * @param {WordArray|string} message The message to hash.
+         *
+         * @return {WordArray} The hash.
+         *
+         * @static
+         *
+         * @example
+         *
+         *     var hash = CryptoJS.SHA224('message');
+         *     var hash = CryptoJS.SHA224(wordArray);
+         */ C.SHA224 = SHA256._createHelper(SHA224);
+        /**
+         * Shortcut function to the HMAC's object interface.
+         *
+         * @param {WordArray|string} message The message to hash.
+         * @param {WordArray|string} key The secret key.
+         *
+         * @return {WordArray} The HMAC.
+         *
+         * @static
+         *
+         * @example
+         *
+         *     var hmac = CryptoJS.HmacSHA224(message, key);
+         */ C.HmacSHA224 = SHA256._createHmacHelper(SHA224);
+      })();
+      return CryptoJS.SHA224;
+    });
+  });
+
+  var sha512 = createCommonjsModule(function (module, exports) {
+    (function (root, factory, undef) {
+      {
+        // CommonJS
+        module.exports = factory(core, x64Core);
+      }
+    })(commonjsGlobal, function (CryptoJS) {
+      (function () {
+        var X64Word_create = function X64Word_create() {
+          return X64Word.create.apply(X64Word, arguments);
+        };
+        // Shortcuts
+        var C = CryptoJS;
+        var C_lib = C.lib;
+        var Hasher = C_lib.Hasher;
+        var C_x64 = C.x64;
+        var X64Word = C_x64.Word;
+        var X64WordArray = C_x64.WordArray;
+        var C_algo = C.algo;
+        // Constants
+        var K = [
+          X64Word_create(0x428a2f98, 0xd728ae22),
+          X64Word_create(0x71374491, 0x23ef65cd),
+          X64Word_create(0xb5c0fbcf, 0xec4d3b2f),
+          X64Word_create(0xe9b5dba5, 0x8189dbbc),
+          X64Word_create(0x3956c25b, 0xf348b538),
+          X64Word_create(0x59f111f1, 0xb605d019),
+          X64Word_create(0x923f82a4, 0xaf194f9b),
+          X64Word_create(0xab1c5ed5, 0xda6d8118),
+          X64Word_create(0xd807aa98, 0xa3030242),
+          X64Word_create(0x12835b01, 0x45706fbe),
+          X64Word_create(0x243185be, 0x4ee4b28c),
+          X64Word_create(0x550c7dc3, 0xd5ffb4e2),
+          X64Word_create(0x72be5d74, 0xf27b896f),
+          X64Word_create(0x80deb1fe, 0x3b1696b1),
+          X64Word_create(0x9bdc06a7, 0x25c71235),
+          X64Word_create(0xc19bf174, 0xcf692694),
+          X64Word_create(0xe49b69c1, 0x9ef14ad2),
+          X64Word_create(0xefbe4786, 0x384f25e3),
+          X64Word_create(0x0fc19dc6, 0x8b8cd5b5),
+          X64Word_create(0x240ca1cc, 0x77ac9c65),
+          X64Word_create(0x2de92c6f, 0x592b0275),
+          X64Word_create(0x4a7484aa, 0x6ea6e483),
+          X64Word_create(0x5cb0a9dc, 0xbd41fbd4),
+          X64Word_create(0x76f988da, 0x831153b5),
+          X64Word_create(0x983e5152, 0xee66dfab),
+          X64Word_create(0xa831c66d, 0x2db43210),
+          X64Word_create(0xb00327c8, 0x98fb213f),
+          X64Word_create(0xbf597fc7, 0xbeef0ee4),
+          X64Word_create(0xc6e00bf3, 0x3da88fc2),
+          X64Word_create(0xd5a79147, 0x930aa725),
+          X64Word_create(0x06ca6351, 0xe003826f),
+          X64Word_create(0x14292967, 0x0a0e6e70),
+          X64Word_create(0x27b70a85, 0x46d22ffc),
+          X64Word_create(0x2e1b2138, 0x5c26c926),
+          X64Word_create(0x4d2c6dfc, 0x5ac42aed),
+          X64Word_create(0x53380d13, 0x9d95b3df),
+          X64Word_create(0x650a7354, 0x8baf63de),
+          X64Word_create(0x766a0abb, 0x3c77b2a8),
+          X64Word_create(0x81c2c92e, 0x47edaee6),
+          X64Word_create(0x92722c85, 0x1482353b),
+          X64Word_create(0xa2bfe8a1, 0x4cf10364),
+          X64Word_create(0xa81a664b, 0xbc423001),
+          X64Word_create(0xc24b8b70, 0xd0f89791),
+          X64Word_create(0xc76c51a3, 0x0654be30),
+          X64Word_create(0xd192e819, 0xd6ef5218),
+          X64Word_create(0xd6990624, 0x5565a910),
+          X64Word_create(0xf40e3585, 0x5771202a),
+          X64Word_create(0x106aa070, 0x32bbd1b8),
+          X64Word_create(0x19a4c116, 0xb8d2d0c8),
+          X64Word_create(0x1e376c08, 0x5141ab53),
+          X64Word_create(0x2748774c, 0xdf8eeb99),
+          X64Word_create(0x34b0bcb5, 0xe19b48a8),
+          X64Word_create(0x391c0cb3, 0xc5c95a63),
+          X64Word_create(0x4ed8aa4a, 0xe3418acb),
+          X64Word_create(0x5b9cca4f, 0x7763e373),
+          X64Word_create(0x682e6ff3, 0xd6b2b8a3),
+          X64Word_create(0x748f82ee, 0x5defb2fc),
+          X64Word_create(0x78a5636f, 0x43172f60),
+          X64Word_create(0x84c87814, 0xa1f0ab72),
+          X64Word_create(0x8cc70208, 0x1a6439ec),
+          X64Word_create(0x90befffa, 0x23631e28),
+          X64Word_create(0xa4506ceb, 0xde82bde9),
+          X64Word_create(0xbef9a3f7, 0xb2c67915),
+          X64Word_create(0xc67178f2, 0xe372532b),
+          X64Word_create(0xca273ece, 0xea26619c),
+          X64Word_create(0xd186b8c7, 0x21c0c207),
+          X64Word_create(0xeada7dd6, 0xcde0eb1e),
+          X64Word_create(0xf57d4f7f, 0xee6ed178),
+          X64Word_create(0x06f067aa, 0x72176fba),
+          X64Word_create(0x0a637dc5, 0xa2c898a6),
+          X64Word_create(0x113f9804, 0xbef90dae),
+          X64Word_create(0x1b710b35, 0x131c471b),
+          X64Word_create(0x28db77f5, 0x23047d84),
+          X64Word_create(0x32caab7b, 0x40c72493),
+          X64Word_create(0x3c9ebe0a, 0x15c9bebc),
+          X64Word_create(0x431d67c4, 0x9c100d4c),
+          X64Word_create(0x4cc5d4be, 0xcb3e42b6),
+          X64Word_create(0x597f299c, 0xfc657e2a),
+          X64Word_create(0x5fcb6fab, 0x3ad6faec),
+          X64Word_create(0x6c44198c, 0x4a475817),
+        ];
+        // Reusable objects
+        var W = [];
+        (function () {
+          for (var i = 0; i < 80; i++) {
+            W[i] = X64Word_create();
+          }
+        })();
+        /**
+         * SHA-512 hash algorithm.
+         */ var SHA512 = (C_algo.SHA512 = Hasher.extend({
+          _doReset: function _doReset() {
+            this._hash = new X64WordArray.init([
+              new X64Word.init(0x6a09e667, 0xf3bcc908),
+              new X64Word.init(0xbb67ae85, 0x84caa73b),
+              new X64Word.init(0x3c6ef372, 0xfe94f82b),
+              new X64Word.init(0xa54ff53a, 0x5f1d36f1),
+              new X64Word.init(0x510e527f, 0xade682d1),
+              new X64Word.init(0x9b05688c, 0x2b3e6c1f),
+              new X64Word.init(0x1f83d9ab, 0xfb41bd6b),
+              new X64Word.init(0x5be0cd19, 0x137e2179),
+            ]);
+          },
+          _doProcessBlock: function _doProcessBlock(M, offset) {
+            // Shortcuts
+            var H = this._hash.words;
+            var H0 = H[0];
+            var H1 = H[1];
+            var H2 = H[2];
+            var H3 = H[3];
+            var H4 = H[4];
+            var H5 = H[5];
+            var H6 = H[6];
+            var H7 = H[7];
+            var H0h = H0.high;
+            var H0l = H0.low;
+            var H1h = H1.high;
+            var H1l = H1.low;
+            var H2h = H2.high;
+            var H2l = H2.low;
+            var H3h = H3.high;
+            var H3l = H3.low;
+            var H4h = H4.high;
+            var H4l = H4.low;
+            var H5h = H5.high;
+            var H5l = H5.low;
+            var H6h = H6.high;
+            var H6l = H6.low;
+            var H7h = H7.high;
+            var H7l = H7.low;
+            // Working variables
+            var ah = H0h;
+            var al = H0l;
+            var bh = H1h;
+            var bl = H1l;
+            var ch = H2h;
+            var cl = H2l;
+            var dh = H3h;
+            var dl = H3l;
+            var eh = H4h;
+            var el = H4l;
+            var fh = H5h;
+            var fl = H5l;
+            var gh = H6h;
+            var gl = H6l;
+            var hh = H7h;
+            var hl = H7l;
+            // Rounds
+            for (var i = 0; i < 80; i++) {
+              var Wil;
+              var Wih;
+              // Shortcut
+              var Wi = W[i];
+              // Extend message
+              if (i < 16) {
+                Wih = Wi.high = M[offset + i * 2] | 0;
+                Wil = Wi.low = M[offset + i * 2 + 1] | 0;
+              } else {
+                // Gamma0
+                var gamma0x = W[i - 15];
+                var gamma0xh = gamma0x.high;
+                var gamma0xl = gamma0x.low;
+                var gamma0h =
+                  ((gamma0xh >>> 1) | (gamma0xl << 31)) ^
+                  ((gamma0xh >>> 8) | (gamma0xl << 24)) ^
+                  (gamma0xh >>> 7);
+                var gamma0l =
+                  ((gamma0xl >>> 1) | (gamma0xh << 31)) ^
+                  ((gamma0xl >>> 8) | (gamma0xh << 24)) ^
+                  ((gamma0xl >>> 7) | (gamma0xh << 25));
+                // Gamma1
+                var gamma1x = W[i - 2];
+                var gamma1xh = gamma1x.high;
+                var gamma1xl = gamma1x.low;
+                var gamma1h =
+                  ((gamma1xh >>> 19) | (gamma1xl << 13)) ^
+                  ((gamma1xh << 3) | (gamma1xl >>> 29)) ^
+                  (gamma1xh >>> 6);
+                var gamma1l =
+                  ((gamma1xl >>> 19) | (gamma1xh << 13)) ^
+                  ((gamma1xl << 3) | (gamma1xh >>> 29)) ^
+                  ((gamma1xl >>> 6) | (gamma1xh << 26));
+                // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]
+                var Wi7 = W[i - 7];
+                var Wi7h = Wi7.high;
+                var Wi7l = Wi7.low;
+                var Wi16 = W[i - 16];
+                var Wi16h = Wi16.high;
+                var Wi16l = Wi16.low;
+                Wil = gamma0l + Wi7l;
+                Wih = gamma0h + Wi7h + (Wil >>> 0 < gamma0l >>> 0 ? 1 : 0);
+                Wil = Wil + gamma1l;
+                Wih = Wih + gamma1h + (Wil >>> 0 < gamma1l >>> 0 ? 1 : 0);
+                Wil = Wil + Wi16l;
+                Wih = Wih + Wi16h + (Wil >>> 0 < Wi16l >>> 0 ? 1 : 0);
+                Wi.high = Wih;
+                Wi.low = Wil;
+              }
+              var chh = (eh & fh) ^ (~eh & gh);
+              var chl = (el & fl) ^ (~el & gl);
+              var majh = (ah & bh) ^ (ah & ch) ^ (bh & ch);
+              var majl = (al & bl) ^ (al & cl) ^ (bl & cl);
+              var sigma0h =
+                ((ah >>> 28) | (al << 4)) ^ ((ah << 30) | (al >>> 2)) ^ ((ah << 25) | (al >>> 7));
+              var sigma0l =
+                ((al >>> 28) | (ah << 4)) ^ ((al << 30) | (ah >>> 2)) ^ ((al << 25) | (ah >>> 7));
+              var sigma1h =
+                ((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9));
+              var sigma1l =
+                ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9));
+              // t1 = h + sigma1 + ch + K[i] + W[i]
+              var Ki = K[i];
+              var Kih = Ki.high;
+              var Kil = Ki.low;
+              var t1l = hl + sigma1l;
+              var t1h = hh + sigma1h + (t1l >>> 0 < hl >>> 0 ? 1 : 0);
+              var t1l = t1l + chl;
+              var t1h = t1h + chh + (t1l >>> 0 < chl >>> 0 ? 1 : 0);
+              var t1l = t1l + Kil;
+              var t1h = t1h + Kih + (t1l >>> 0 < Kil >>> 0 ? 1 : 0);
+              var t1l = t1l + Wil;
+              var t1h = t1h + Wih + (t1l >>> 0 < Wil >>> 0 ? 1 : 0);
+              // t2 = sigma0 + maj
+              var t2l = sigma0l + majl;
+              var t2h = sigma0h + majh + (t2l >>> 0 < sigma0l >>> 0 ? 1 : 0);
+              // Update working variables
+              hh = gh;
+              hl = gl;
+              gh = fh;
+              gl = fl;
+              fh = eh;
+              fl = el;
+              el = (dl + t1l) | 0;
+              eh = (dh + t1h + (el >>> 0 < dl >>> 0 ? 1 : 0)) | 0;
+              dh = ch;
+              dl = cl;
+              ch = bh;
+              cl = bl;
+              bh = ah;
+              bl = al;
+              al = (t1l + t2l) | 0;
+              ah = (t1h + t2h + (al >>> 0 < t1l >>> 0 ? 1 : 0)) | 0;
+            }
+            // Intermediate hash value
+            H0l = H0.low = H0l + al;
+            H0.high = H0h + ah + (H0l >>> 0 < al >>> 0 ? 1 : 0);
+            H1l = H1.low = H1l + bl;
+            H1.high = H1h + bh + (H1l >>> 0 < bl >>> 0 ? 1 : 0);
+            H2l = H2.low = H2l + cl;
+            H2.high = H2h + ch + (H2l >>> 0 < cl >>> 0 ? 1 : 0);
+            H3l = H3.low = H3l + dl;
+            H3.high = H3h + dh + (H3l >>> 0 < dl >>> 0 ? 1 : 0);
+            H4l = H4.low = H4l + el;
+            H4.high = H4h + eh + (H4l >>> 0 < el >>> 0 ? 1 : 0);
+            H5l = H5.low = H5l + fl;
+            H5.high = H5h + fh + (H5l >>> 0 < fl >>> 0 ? 1 : 0);
+            H6l = H6.low = H6l + gl;
+            H6.high = H6h + gh + (H6l >>> 0 < gl >>> 0 ? 1 : 0);
+            H7l = H7.low = H7l + hl;
+            H7.high = H7h + hh + (H7l >>> 0 < hl >>> 0 ? 1 : 0);
+          },
+          _doFinalize: function _doFinalize() {
+            // Shortcuts
+            var data = this._data;
+            var dataWords = data.words;
+            var nBitsTotal = this._nDataBytes * 8;
+            var nBitsLeft = data.sigBytes * 8;
+            // Add padding
+            dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - (nBitsLeft % 32));
+            dataWords[(((nBitsLeft + 128) >>> 10) << 5) + 30] = Math.floor(
+              nBitsTotal / 0x100000000
+            );
+            dataWords[(((nBitsLeft + 128) >>> 10) << 5) + 31] = nBitsTotal;
+            data.sigBytes = dataWords.length * 4;
+            // Hash final blocks
+            this._process();
+            // Convert hash to 32-bit word array before returning
+            var hash = this._hash.toX32();
+            // Return final computed hash
+            return hash;
+          },
+          clone: function clone() {
+            var clone = Hasher.clone.call(this);
+            clone._hash = this._hash.clone();
+            return clone;
+          },
+          blockSize: 1024 / 32,
+        }));
+        /**
+         * Shortcut function to the hasher's object interface.
+         *
+         * @param {WordArray|string} message The message to hash.
+         *
+         * @return {WordArray} The hash.
+         *
+         * @static
+         *
+         * @example
+         *
+         *     var hash = CryptoJS.SHA512('message');
+         *     var hash = CryptoJS.SHA512(wordArray);
+         */ C.SHA512 = Hasher._createHelper(SHA512);
+        /**
+         * Shortcut function to the HMAC's object interface.
+         *
+         * @param {WordArray|string} message The message to hash.
+         * @param {WordArray|string} key The secret key.
+         *
+         * @return {WordArray} The HMAC.
+         *
+         * @static
+         *
+         * @example
+         *
+         *     var hmac = CryptoJS.HmacSHA512(message, key);
+         */ C.HmacSHA512 = Hasher._createHmacHelper(SHA512);
+      })();
+      return CryptoJS.SHA512;
+    });
+  });
+
+  var sha384 = createCommonjsModule(function (module, exports) {
+    (function (root, factory, undef) {
+      {
+        // CommonJS
+        module.exports = factory(core, x64Core, sha512);
+      }
+    })(commonjsGlobal, function (CryptoJS) {
+      (function () {
+        // Shortcuts
+        var C = CryptoJS;
+        var C_x64 = C.x64;
+        var X64Word = C_x64.Word;
+        var X64WordArray = C_x64.WordArray;
+        var C_algo = C.algo;
+        var SHA512 = C_algo.SHA512;
+        /**
+         * SHA-384 hash algorithm.
+         */ var SHA384 = (C_algo.SHA384 = SHA512.extend({
+          _doReset: function _doReset() {
+            this._hash = new X64WordArray.init([
+              new X64Word.init(0xcbbb9d5d, 0xc1059ed8),
+              new X64Word.init(0x629a292a, 0x367cd507),
+              new X64Word.init(0x9159015a, 0x3070dd17),
+              new X64Word.init(0x152fecd8, 0xf70e5939),
+              new X64Word.init(0x67332667, 0xffc00b31),
+              new X64Word.init(0x8eb44a87, 0x68581511),
+              new X64Word.init(0xdb0c2e0d, 0x64f98fa7),
+              new X64Word.init(0x47b5481d, 0xbefa4fa4),
+            ]);
+          },
+          _doFinalize: function _doFinalize() {
+            var hash = SHA512._doFinalize.call(this);
+            hash.sigBytes -= 16;
+            return hash;
+          },
+        }));
+        /**
+         * Shortcut function to the hasher's object interface.
+         *
+         * @param {WordArray|string} message The message to hash.
+         *
+         * @return {WordArray} The hash.
+         *
+         * @static
+         *
+         * @example
+         *
+         *     var hash = CryptoJS.SHA384('message');
+         *     var hash = CryptoJS.SHA384(wordArray);
+         */ C.SHA384 = SHA512._createHelper(SHA384);
+        /**
+         * Shortcut function to the HMAC's object interface.
+         *
+         * @param {WordArray|string} message The message to hash.
+         * @param {WordArray|string} key The secret key.
+         *
+         * @return {WordArray} The HMAC.
+         *
+         * @static
+         *
+         * @example
+         *
+         *     var hmac = CryptoJS.HmacSHA384(message, key);
+         */ C.HmacSHA384 = SHA512._createHmacHelper(SHA384);
+      })();
+      return CryptoJS.SHA384;
+    });
+  });
+
+  var sha3 = createCommonjsModule(function (module, exports) {
+    (function (root, factory, undef) {
+      {
+        // CommonJS
+        module.exports = factory(core, x64Core);
+      }
+    })(commonjsGlobal, function (CryptoJS) {
+      (function (Math1) {
+        // Shortcuts
+        var C = CryptoJS;
+        var C_lib = C.lib;
+        var WordArray = C_lib.WordArray;
+        var Hasher = C_lib.Hasher;
+        var C_x64 = C.x64;
+        var X64Word = C_x64.Word;
+        var C_algo = C.algo;
+        // Constants tables
+        var RHO_OFFSETS = [];
+        var PI_INDEXES = [];
+        var ROUND_CONSTANTS = [];
+        // Compute Constants
+        (function () {
+          // Compute rho offset constants
+          var x = 1,
+            y = 0;
+          for (var t = 0; t < 24; t++) {
+            RHO_OFFSETS[x + 5 * y] = (((t + 1) * (t + 2)) / 2) % 64;
+            var newX = y % 5;
+            var newY = (2 * x + 3 * y) % 5;
+            x = newX;
+            y = newY;
+          }
+          // Compute pi index constants
+          for (var x = 0; x < 5; x++) {
+            for (var y = 0; y < 5; y++) {
+              PI_INDEXES[x + 5 * y] = y + ((2 * x + 3 * y) % 5) * 5;
+            }
+          }
+          // Compute round constants
+          var LFSR = 0x01;
+          for (var i = 0; i < 24; i++) {
+            var roundConstantMsw = 0;
+            var roundConstantLsw = 0;
+            for (var j = 0; j < 7; j++) {
+              if (LFSR & 0x01) {
+                var bitPosition = (1 << j) - 1;
+                if (bitPosition < 32) {
+                  roundConstantLsw ^= 1 << bitPosition;
+                } /* if (bitPosition >= 32) */ else {
+                  roundConstantMsw ^= 1 << (bitPosition - 32);
+                }
+              }
+              // Compute next LFSR
+              if (LFSR & 0x80) {
+                // Primitive polynomial over GF(2): x^8 + x^6 + x^5 + x^4 + 1
+                LFSR = (LFSR << 1) ^ 0x71;
+              } else {
+                LFSR <<= 1;
+              }
+            }
+            ROUND_CONSTANTS[i] = X64Word.create(roundConstantMsw, roundConstantLsw);
+          }
+        })();
+        // Reusable objects for temporary values
+        var T = [];
+        (function () {
+          for (var i = 0; i < 25; i++) {
+            T[i] = X64Word.create();
+          }
+        })();
+        /**
+         * SHA-3 hash algorithm.
+         */ var SHA3 = (C_algo.SHA3 = Hasher.extend({
+          /**
+           * Configuration options.
+           *
+           * @property {number} outputLength
+           *   The desired number of bits in the output hash.
+           *   Only values permitted are: 224, 256, 384, 512.
+           *   Default: 512
+           */ cfg: Hasher.cfg.extend({
+            outputLength: 512,
+          }),
+          _doReset: function _doReset() {
+            var state = (this._state = []);
+            for (var i = 0; i < 25; i++) {
+              state[i] = new X64Word.init();
+            }
+            this.blockSize = (1600 - 2 * this.cfg.outputLength) / 32;
+          },
+          _doProcessBlock: function _doProcessBlock(M, offset) {
+            // Shortcuts
+            var state = this._state;
+            var nBlockSizeLanes = this.blockSize / 2;
+            // Absorb
+            for (var i = 0; i < nBlockSizeLanes; i++) {
+              // Shortcuts
+              var M2i = M[offset + 2 * i];
+              var M2i1 = M[offset + 2 * i + 1];
+              // Swap endian
+              M2i =
+                (((M2i << 8) | (M2i >>> 24)) & 0x00ff00ff) |
+                (((M2i << 24) | (M2i >>> 8)) & 0xff00ff00);
+              M2i1 =
+                (((M2i1 << 8) | (M2i1 >>> 24)) & 0x00ff00ff) |
+                (((M2i1 << 24) | (M2i1 >>> 8)) & 0xff00ff00);
+              // Absorb message into state
+              var lane = state[i];
+              lane.high ^= M2i1;
+              lane.low ^= M2i;
+            }
+            // Rounds
+            for (var round = 0; round < 24; round++) {
+              // Theta
+              for (var x = 0; x < 5; x++) {
+                // Mix column lanes
+                var tMsw = 0,
+                  tLsw = 0;
+                for (var y = 0; y < 5; y++) {
+                  var lane = state[x + 5 * y];
+                  tMsw ^= lane.high;
+                  tLsw ^= lane.low;
+                }
+                // Temporary values
+                var Tx = T[x];
+                Tx.high = tMsw;
+                Tx.low = tLsw;
+              }
+              for (var x = 0; x < 5; x++) {
+                // Shortcuts
+                var Tx4 = T[(x + 4) % 5];
+                var Tx1 = T[(x + 1) % 5];
+                var Tx1Msw = Tx1.high;
+                var Tx1Lsw = Tx1.low;
+                // Mix surrounding columns
+                var tMsw = Tx4.high ^ ((Tx1Msw << 1) | (Tx1Lsw >>> 31));
+                var tLsw = Tx4.low ^ ((Tx1Lsw << 1) | (Tx1Msw >>> 31));
+                for (var y = 0; y < 5; y++) {
+                  var lane = state[x + 5 * y];
+                  lane.high ^= tMsw;
+                  lane.low ^= tLsw;
+                }
+              }
+              // Rho Pi
+              for (var laneIndex = 1; laneIndex < 25; laneIndex++) {
+                var tMsw;
+                var tLsw;
+                // Shortcuts
+                var lane = state[laneIndex];
+                var laneMsw = lane.high;
+                var laneLsw = lane.low;
+                var rhoOffset = RHO_OFFSETS[laneIndex];
+                // Rotate lanes
+                if (rhoOffset < 32) {
+                  tMsw = (laneMsw << rhoOffset) | (laneLsw >>> (32 - rhoOffset));
+                  tLsw = (laneLsw << rhoOffset) | (laneMsw >>> (32 - rhoOffset));
+                } /* if (rhoOffset >= 32) */ else {
+                  tMsw = (laneLsw << (rhoOffset - 32)) | (laneMsw >>> (64 - rhoOffset));
+                  tLsw = (laneMsw << (rhoOffset - 32)) | (laneLsw >>> (64 - rhoOffset));
+                }
+                // Transpose lanes
+                var TPiLane = T[PI_INDEXES[laneIndex]];
+                TPiLane.high = tMsw;
+                TPiLane.low = tLsw;
+              }
+              // Rho pi at x = y = 0
+              var T0 = T[0];
+              var state0 = state[0];
+              T0.high = state0.high;
+              T0.low = state0.low;
+              // Chi
+              for (var x = 0; x < 5; x++) {
+                for (var y = 0; y < 5; y++) {
+                  // Shortcuts
+                  var laneIndex = x + 5 * y;
+                  var lane = state[laneIndex];
+                  var TLane = T[laneIndex];
+                  var Tx1Lane = T[((x + 1) % 5) + 5 * y];
+                  var Tx2Lane = T[((x + 2) % 5) + 5 * y];
+                  // Mix rows
+                  lane.high = TLane.high ^ (~Tx1Lane.high & Tx2Lane.high);
+                  lane.low = TLane.low ^ (~Tx1Lane.low & Tx2Lane.low);
+                }
+              }
+              // Iota
+              var lane = state[0];
+              var roundConstant = ROUND_CONSTANTS[round];
+              lane.high ^= roundConstant.high;
+              lane.low ^= roundConstant.low;
+            }
+          },
+          _doFinalize: function _doFinalize() {
+            // Shortcuts
+            var data = this._data;
+            var dataWords = data.words;
+            this._nDataBytes * 8;
+            var nBitsLeft = data.sigBytes * 8;
+            var blockSizeBits = this.blockSize * 32;
+            // Add padding
+            dataWords[nBitsLeft >>> 5] |= 0x1 << (24 - (nBitsLeft % 32));
+            dataWords[
+              ((Math1.ceil((nBitsLeft + 1) / blockSizeBits) * blockSizeBits) >>> 5) - 1
+            ] |= 0x80;
+            data.sigBytes = dataWords.length * 4;
+            // Hash final blocks
+            this._process();
+            // Shortcuts
+            var state = this._state;
+            var outputLengthBytes = this.cfg.outputLength / 8;
+            var outputLengthLanes = outputLengthBytes / 8;
+            // Squeeze
+            var hashWords = [];
+            for (var i = 0; i < outputLengthLanes; i++) {
+              // Shortcuts
+              var lane = state[i];
+              var laneMsw = lane.high;
+              var laneLsw = lane.low;
+              // Swap endian
+              laneMsw =
+                (((laneMsw << 8) | (laneMsw >>> 24)) & 0x00ff00ff) |
+                (((laneMsw << 24) | (laneMsw >>> 8)) & 0xff00ff00);
+              laneLsw =
+                (((laneLsw << 8) | (laneLsw >>> 24)) & 0x00ff00ff) |
+                (((laneLsw << 24) | (laneLsw >>> 8)) & 0xff00ff00);
+              // Squeeze state to retrieve hash
+              hashWords.push(laneLsw);
+              hashWords.push(laneMsw);
+            }
+            // Return final computed hash
+            return new WordArray.init(hashWords, outputLengthBytes);
+          },
+          clone: function clone() {
+            var clone = Hasher.clone.call(this);
+            var state = (clone._state = this._state.slice(0));
+            for (var i = 0; i < 25; i++) {
+              state[i] = state[i].clone();
+            }
+            return clone;
+          },
+        }));
+        /**
+         * Shortcut function to the hasher's object interface.
+         *
+         * @param {WordArray|string} message The message to hash.
+         *
+         * @return {WordArray} The hash.
+         *
+         * @static
+         *
+         * @example
+         *
+         *     var hash = CryptoJS.SHA3('message');
+         *     var hash = CryptoJS.SHA3(wordArray);
+         */ C.SHA3 = Hasher._createHelper(SHA3);
+        /**
+         * Shortcut function to the HMAC's object interface.
+         *
+         * @param {WordArray|string} message The message to hash.
+         * @param {WordArray|string} key The secret key.
+         *
+         * @return {WordArray} The HMAC.
+         *
+         * @static
+         *
+         * @example
+         *
+         *     var hmac = CryptoJS.HmacSHA3(message, key);
+         */ C.HmacSHA3 = Hasher._createHmacHelper(SHA3);
+      })(Math);
+      return CryptoJS.SHA3;
+    });
+  });
+
+  var ripemd160 = createCommonjsModule(function (module, exports) {
+    (function (root, factory) {
+      {
+        // CommonJS
+        module.exports = factory(core);
+      }
+    })(commonjsGlobal, function (CryptoJS) {
+      /** @preserve
+		(c) 2012 by Cédric Mesnil. All rights reserved.
+
+		Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+		    - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+		    - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+		THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+		*/ (function (Math1) {
+        var f1 = function f1(x, y, z) {
+          return x ^ y ^ z;
+        };
+        var f2 = function f2(x, y, z) {
+          return (x & y) | (~x & z);
+        };
+        var f3 = function f3(x, y, z) {
+          return (x | ~y) ^ z;
+        };
+        var f4 = function f4(x, y, z) {
+          return (x & z) | (y & ~z);
+        };
+        var f5 = function f5(x, y, z) {
+          return x ^ (y | ~z);
+        };
+        var rotl = function rotl(x, n) {
+          return (x << n) | (x >>> (32 - n));
+        };
+        // Shortcuts
+        var C = CryptoJS;
+        var C_lib = C.lib;
+        var WordArray = C_lib.WordArray;
+        var Hasher = C_lib.Hasher;
+        var C_algo = C.algo;
+        // Constants table
+        var _zl = WordArray.create([
+          0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9,
+          5, 2, 14, 11, 8, 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12, 1, 9, 11, 10, 0, 8,
+          12, 4, 13, 3, 7, 15, 14, 5, 6, 2, 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13,
+        ]);
+        var _zr = WordArray.create([
+          5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, 6, 11, 3, 7, 0, 13, 5, 10, 14, 15,
+          8, 12, 4, 9, 1, 2, 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13, 8, 6, 4, 1, 3,
+          11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14, 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9,
+          11,
+        ]);
+        var _sl = WordArray.create([
+          11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, 7, 6, 8, 13, 11, 9, 7, 15, 7, 12,
+          15, 9, 11, 7, 13, 12, 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5, 11, 12, 14,
+          15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12, 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11,
+          8, 5, 6,
+        ]);
+        var _sr = WordArray.create([
+          8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, 9, 13, 15, 7, 12, 8, 9, 11, 7, 7,
+          12, 7, 6, 15, 13, 11, 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5, 15, 5, 8,
+          11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15,
+          13, 11, 11,
+        ]);
+        var _hl = WordArray.create([0x00000000, 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xa953fd4e]);
+        var _hr = WordArray.create([0x50a28be6, 0x5c4dd124, 0x6d703ef3, 0x7a6d76e9, 0x00000000]);
+        /**
+         * RIPEMD160 hash algorithm.
+         */ var RIPEMD160 = (C_algo.RIPEMD160 = Hasher.extend({
+          _doReset: function _doReset() {
+            this._hash = WordArray.create([
+              0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0,
+            ]);
+          },
+          _doProcessBlock: function _doProcessBlock(M, offset) {
+            // Swap endian
+            for (var i = 0; i < 16; i++) {
+              // Shortcuts
+              var offset_i = offset + i;
+              var M_offset_i = M[offset_i];
+              // Swap
+              M[offset_i] =
+                (((M_offset_i << 8) | (M_offset_i >>> 24)) & 0x00ff00ff) |
+                (((M_offset_i << 24) | (M_offset_i >>> 8)) & 0xff00ff00);
+            }
+            // Shortcut
+            var H = this._hash.words;
+            var hl = _hl.words;
+            var hr = _hr.words;
+            var zl = _zl.words;
+            var zr = _zr.words;
+            var sl = _sl.words;
+            var sr = _sr.words;
+            // Working variables
+            var al, bl, cl, dl, el;
+            var ar, br, cr, dr, er;
+            ar = al = H[0];
+            br = bl = H[1];
+            cr = cl = H[2];
+            dr = dl = H[3];
+            er = el = H[4];
+            // Computation
+            var t;
+            for (var i = 0; i < 80; i += 1) {
+              t = (al + M[offset + zl[i]]) | 0;
+              if (i < 16) {
+                t += f1(bl, cl, dl) + hl[0];
+              } else if (i < 32) {
+                t += f2(bl, cl, dl) + hl[1];
+              } else if (i < 48) {
+                t += f3(bl, cl, dl) + hl[2];
+              } else if (i < 64) {
+                t += f4(bl, cl, dl) + hl[3];
+              } else {
+                t += f5(bl, cl, dl) + hl[4];
+              }
+              t = t | 0;
+              t = rotl(t, sl[i]);
+              t = (t + el) | 0;
+              al = el;
+              el = dl;
+              dl = rotl(cl, 10);
+              cl = bl;
+              bl = t;
+              t = (ar + M[offset + zr[i]]) | 0;
+              if (i < 16) {
+                t += f5(br, cr, dr) + hr[0];
+              } else if (i < 32) {
+                t += f4(br, cr, dr) + hr[1];
+              } else if (i < 48) {
+                t += f3(br, cr, dr) + hr[2];
+              } else if (i < 64) {
+                t += f2(br, cr, dr) + hr[3];
+              } else {
+                t += f1(br, cr, dr) + hr[4];
+              }
+              t = t | 0;
+              t = rotl(t, sr[i]);
+              t = (t + er) | 0;
+              ar = er;
+              er = dr;
+              dr = rotl(cr, 10);
+              cr = br;
+              br = t;
+            }
+            // Intermediate hash value
+            t = (H[1] + cl + dr) | 0;
+            H[1] = (H[2] + dl + er) | 0;
+            H[2] = (H[3] + el + ar) | 0;
+            H[3] = (H[4] + al + br) | 0;
+            H[4] = (H[0] + bl + cr) | 0;
+            H[0] = t;
+          },
+          _doFinalize: function _doFinalize() {
+            // Shortcuts
+            var data = this._data;
+            var dataWords = data.words;
+            var nBitsTotal = this._nDataBytes * 8;
+            var nBitsLeft = data.sigBytes * 8;
+            // Add padding
+            dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - (nBitsLeft % 32));
+            dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] =
+              (((nBitsTotal << 8) | (nBitsTotal >>> 24)) & 0x00ff00ff) |
+              (((nBitsTotal << 24) | (nBitsTotal >>> 8)) & 0xff00ff00);
+            data.sigBytes = (dataWords.length + 1) * 4;
+            // Hash final blocks
+            this._process();
+            // Shortcuts
+            var hash = this._hash;
+            var H = hash.words;
+            // Swap endian
+            for (var i = 0; i < 5; i++) {
+              // Shortcut
+              var H_i = H[i];
+              // Swap
+              H[i] =
+                (((H_i << 8) | (H_i >>> 24)) & 0x00ff00ff) |
+                (((H_i << 24) | (H_i >>> 8)) & 0xff00ff00);
+            }
+            // Return final computed hash
+            return hash;
+          },
+          clone: function clone() {
+            var clone = Hasher.clone.call(this);
+            clone._hash = this._hash.clone();
+            return clone;
+          },
+        }));
+        /**
+         * Shortcut function to the hasher's object interface.
+         *
+         * @param {WordArray|string} message The message to hash.
+         *
+         * @return {WordArray} The hash.
+         *
+         * @static
+         *
+         * @example
+         *
+         *     var hash = CryptoJS.RIPEMD160('message');
+         *     var hash = CryptoJS.RIPEMD160(wordArray);
+         */ C.RIPEMD160 = Hasher._createHelper(RIPEMD160);
+        /**
+         * Shortcut function to the HMAC's object interface.
+         *
+         * @param {WordArray|string} message The message to hash.
+         * @param {WordArray|string} key The secret key.
+         *
+         * @return {WordArray} The HMAC.
+         *
+         * @static
+         *
+         * @example
+         *
+         *     var hmac = CryptoJS.HmacRIPEMD160(message, key);
+         */ C.HmacRIPEMD160 = Hasher._createHmacHelper(RIPEMD160);
+      })();
+      return CryptoJS.RIPEMD160;
+    });
+  });
+
+  var hmac = createCommonjsModule(function (module, exports) {
+    (function (root, factory) {
+      {
+        // CommonJS
+        module.exports = factory(core);
+      }
+    })(commonjsGlobal, function (CryptoJS) {
+      (function () {
+        // Shortcuts
+        var C = CryptoJS;
+        var C_lib = C.lib;
+        var Base = C_lib.Base;
+        var C_enc = C.enc;
+        var Utf8 = C_enc.Utf8;
+        var C_algo = C.algo;
+        /**
+         * HMAC algorithm.
+         */ C_algo.HMAC = Base.extend({
+          /**
+           * Initializes a newly created HMAC.
+           *
+           * @param {Hasher} hasher The hash algorithm to use.
+           * @param {WordArray|string} key The secret key.
+           *
+           * @example
+           *
+           *     var hmacHasher = CryptoJS.algo.HMAC.create(CryptoJS.algo.SHA256, key);
+           */ init: function init(hasher, key) {
+            // Init hasher
+            hasher = this._hasher = new hasher.init();
+            // Convert string to WordArray, else assume WordArray already
+            if (typeof key == "string") {
+              key = Utf8.parse(key);
+            }
+            // Shortcuts
+            var hasherBlockSize = hasher.blockSize;
+            var hasherBlockSizeBytes = hasherBlockSize * 4;
+            // Allow arbitrary length keys
+            if (key.sigBytes > hasherBlockSizeBytes) {
+              key = hasher.finalize(key);
+            }
+            // Clamp excess bits
+            key.clamp();
+            // Clone key for inner and outer pads
+            var oKey = (this._oKey = key.clone());
+            var iKey = (this._iKey = key.clone());
+            // Shortcuts
+            var oKeyWords = oKey.words;
+            var iKeyWords = iKey.words;
+            // XOR keys with pad constants
+            for (var i = 0; i < hasherBlockSize; i++) {
+              oKeyWords[i] ^= 0x5c5c5c5c;
+              iKeyWords[i] ^= 0x36363636;
+            }
+            oKey.sigBytes = iKey.sigBytes = hasherBlockSizeBytes;
+            // Set initial values
+            this.reset();
+          },
+          /**
+           * Resets this HMAC to its initial state.
+           *
+           * @example
+           *
+           *     hmacHasher.reset();
+           */ reset: function reset() {
+            // Shortcut
+            var hasher = this._hasher;
+            // Reset
+            hasher.reset();
+            hasher.update(this._iKey);
+          },
+          /**
+           * Updates this HMAC with a message.
+           *
+           * @param {WordArray|string} messageUpdate The message to append.
+           *
+           * @return {HMAC} This HMAC instance.
+           *
+           * @example
+           *
+           *     hmacHasher.update('message');
+           *     hmacHasher.update(wordArray);
+           */ update: function update(messageUpdate) {
+            this._hasher.update(messageUpdate);
+            // Chainable
+            return this;
+          },
+          /**
+           * Finalizes the HMAC computation.
+           * Note that the finalize operation is effectively a destructive, read-once operation.
+           *
+           * @param {WordArray|string} messageUpdate (Optional) A final message update.
+           *
+           * @return {WordArray} The HMAC.
+           *
+           * @example
+           *
+           *     var hmac = hmacHasher.finalize();
+           *     var hmac = hmacHasher.finalize('message');
+           *     var hmac = hmacHasher.finalize(wordArray);
+           */ finalize: function finalize(messageUpdate) {
+            // Shortcut
+            var hasher = this._hasher;
+            // Compute HMAC
+            var innerHash = hasher.finalize(messageUpdate);
+            hasher.reset();
+            var hmac = hasher.finalize(this._oKey.clone().concat(innerHash));
+            return hmac;
+          },
+        });
+      })();
+    });
+  });
+
+  var pbkdf2 = createCommonjsModule(function (module, exports) {
+    (function (root, factory, undef) {
+      {
+        // CommonJS
+        module.exports = factory(core, sha1, hmac);
+      }
+    })(commonjsGlobal, function (CryptoJS) {
+      (function () {
+        // Shortcuts
+        var C = CryptoJS;
+        var C_lib = C.lib;
+        var Base = C_lib.Base;
+        var WordArray = C_lib.WordArray;
+        var C_algo = C.algo;
+        var SHA1 = C_algo.SHA1;
+        var HMAC = C_algo.HMAC;
+        /**
+         * Password-Based Key Derivation Function 2 algorithm.
+         */ var PBKDF2 = (C_algo.PBKDF2 = Base.extend({
+          /**
+           * Configuration options.
+           *
+           * @property {number} keySize The key size in words to generate. Default: 4 (128 bits)
+           * @property {Hasher} hasher The hasher to use. Default: SHA1
+           * @property {number} iterations The number of iterations to perform. Default: 1
+           */ cfg: Base.extend({
+            keySize: 128 / 32,
+            hasher: SHA1,
+            iterations: 1,
+          }),
+          /**
+           * Initializes a newly created key derivation function.
+           *
+           * @param {Object} cfg (Optional) The configuration options to use for the derivation.
+           *
+           * @example
+           *
+           *     var kdf = CryptoJS.algo.PBKDF2.create();
+           *     var kdf = CryptoJS.algo.PBKDF2.create({ keySize: 8 });
+           *     var kdf = CryptoJS.algo.PBKDF2.create({ keySize: 8, iterations: 1000 });
+           */ init: function init(cfg) {
+            this.cfg = this.cfg.extend(cfg);
+          },
+          /**
+           * Computes the Password-Based Key Derivation Function 2.
+           *
+           * @param {WordArray|string} password The password.
+           * @param {WordArray|string} salt A salt.
+           *
+           * @return {WordArray} The derived key.
+           *
+           * @example
+           *
+           *     var key = kdf.compute(password, salt);
+           */ compute: function compute(password, salt) {
+            // Shortcut
+            var cfg = this.cfg;
+            // Init HMAC
+            var hmac = HMAC.create(cfg.hasher, password);
+            // Initial values
+            var derivedKey = WordArray.create();
+            var blockIndex = WordArray.create([0x00000001]);
+            // Shortcuts
+            var derivedKeyWords = derivedKey.words;
+            var blockIndexWords = blockIndex.words;
+            var keySize = cfg.keySize;
+            var iterations = cfg.iterations;
+            // Generate key
+            while (derivedKeyWords.length < keySize) {
+              var block = hmac.update(salt).finalize(blockIndex);
+              hmac.reset();
+              // Shortcuts
+              var blockWords = block.words;
+              var blockWordsLength = blockWords.length;
+              // Iterations
+              var intermediate = block;
+              for (var i = 1; i < iterations; i++) {
+                intermediate = hmac.finalize(intermediate);
+                hmac.reset();
+                // Shortcut
+                var intermediateWords = intermediate.words;
+                // XOR intermediate with block
+                for (var j = 0; j < blockWordsLength; j++) {
+                  blockWords[j] ^= intermediateWords[j];
+                }
+              }
+              derivedKey.concat(block);
+              blockIndexWords[0]++;
+            }
+            derivedKey.sigBytes = keySize * 4;
+            return derivedKey;
+          },
+        }));
+        /**
+         * Computes the Password-Based Key Derivation Function 2.
+         *
+         * @param {WordArray|string} password The password.
+         * @param {WordArray|string} salt A salt.
+         * @param {Object} cfg (Optional) The configuration options to use for this computation.
+         *
+         * @return {WordArray} The derived key.
+         *
+         * @static
+         *
+         * @example
+         *
+         *     var key = CryptoJS.PBKDF2(password, salt);
+         *     var key = CryptoJS.PBKDF2(password, salt, { keySize: 8 });
+         *     var key = CryptoJS.PBKDF2(password, salt, { keySize: 8, iterations: 1000 });
+         */ C.PBKDF2 = function (password, salt, cfg) {
+          return PBKDF2.create(cfg).compute(password, salt);
+        };
+      })();
+      return CryptoJS.PBKDF2;
+    });
+  });
+
+  var evpkdf = createCommonjsModule(function (module, exports) {
+    (function (root, factory, undef) {
+      {
+        // CommonJS
+        module.exports = factory(core, sha1, hmac);
+      }
+    })(commonjsGlobal, function (CryptoJS) {
+      (function () {
+        // Shortcuts
+        var C = CryptoJS;
+        var C_lib = C.lib;
+        var Base = C_lib.Base;
+        var WordArray = C_lib.WordArray;
+        var C_algo = C.algo;
+        var MD5 = C_algo.MD5;
+        /**
+         * This key derivation function is meant to conform with EVP_BytesToKey.
+         * www.openssl.org/docs/crypto/EVP_BytesToKey.html
+         */ var EvpKDF = (C_algo.EvpKDF = Base.extend({
+          /**
+           * Configuration options.
+           *
+           * @property {number} keySize The key size in words to generate. Default: 4 (128 bits)
+           * @property {Hasher} hasher The hash algorithm to use. Default: MD5
+           * @property {number} iterations The number of iterations to perform. Default: 1
+           */ cfg: Base.extend({
+            keySize: 128 / 32,
+            hasher: MD5,
+            iterations: 1,
+          }),
+          /**
+           * Initializes a newly created key derivation function.
+           *
+           * @param {Object} cfg (Optional) The configuration options to use for the derivation.
+           *
+           * @example
+           *
+           *     var kdf = CryptoJS.algo.EvpKDF.create();
+           *     var kdf = CryptoJS.algo.EvpKDF.create({ keySize: 8 });
+           *     var kdf = CryptoJS.algo.EvpKDF.create({ keySize: 8, iterations: 1000 });
+           */ init: function init(cfg) {
+            this.cfg = this.cfg.extend(cfg);
+          },
+          /**
+           * Derives a key from a password.
+           *
+           * @param {WordArray|string} password The password.
+           * @param {WordArray|string} salt A salt.
+           *
+           * @return {WordArray} The derived key.
+           *
+           * @example
+           *
+           *     var key = kdf.compute(password, salt);
+           */ compute: function compute(password, salt) {
+            var block;
+            // Shortcut
+            var cfg = this.cfg;
+            // Init hasher
+            var hasher = cfg.hasher.create();
+            // Initial values
+            var derivedKey = WordArray.create();
+            // Shortcuts
+            var derivedKeyWords = derivedKey.words;
+            var keySize = cfg.keySize;
+            var iterations = cfg.iterations;
+            // Generate key
+            while (derivedKeyWords.length < keySize) {
+              if (block) {
+                hasher.update(block);
+              }
+              block = hasher.update(password).finalize(salt);
+              hasher.reset();
+              // Iterations
+              for (var i = 1; i < iterations; i++) {
+                block = hasher.finalize(block);
+                hasher.reset();
+              }
+              derivedKey.concat(block);
+            }
+            derivedKey.sigBytes = keySize * 4;
+            return derivedKey;
+          },
+        }));
+        /**
+         * Derives a key from a password.
+         *
+         * @param {WordArray|string} password The password.
+         * @param {WordArray|string} salt A salt.
+         * @param {Object} cfg (Optional) The configuration options to use for this computation.
+         *
+         * @return {WordArray} The derived key.
+         *
+         * @static
+         *
+         * @example
+         *
+         *     var key = CryptoJS.EvpKDF(password, salt);
+         *     var key = CryptoJS.EvpKDF(password, salt, { keySize: 8 });
+         *     var key = CryptoJS.EvpKDF(password, salt, { keySize: 8, iterations: 1000 });
+         */ C.EvpKDF = function (password, salt, cfg) {
+          return EvpKDF.create(cfg).compute(password, salt);
+        };
+      })();
+      return CryptoJS.EvpKDF;
+    });
+  });
+
+  var cipherCore = createCommonjsModule(function (module, exports) {
+    (function (root, factory, undef) {
+      {
+        // CommonJS
+        module.exports = factory(core, evpkdf);
+      }
+    })(commonjsGlobal, function (CryptoJS) {
+      /**
+       * Cipher core components.
+       */ CryptoJS.lib.Cipher ||
+        (function (undefined1) {
+          // Shortcuts
+          var C = CryptoJS;
+          var C_lib = C.lib;
+          var Base = C_lib.Base;
+          var WordArray = C_lib.WordArray;
+          var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm;
+          var C_enc = C.enc;
+          C_enc.Utf8;
+          var Base64 = C_enc.Base64;
+          var C_algo = C.algo;
+          var EvpKDF = C_algo.EvpKDF;
+          /**
+           * Abstract base cipher template.
+           *
+           * @property {number} keySize This cipher's key size. Default: 4 (128 bits)
+           * @property {number} ivSize This cipher's IV size. Default: 4 (128 bits)
+           * @property {number} _ENC_XFORM_MODE A constant representing encryption mode.
+           * @property {number} _DEC_XFORM_MODE A constant representing decryption mode.
+           */ var Cipher = (C_lib.Cipher = BufferedBlockAlgorithm.extend({
+            /**
+             * Configuration options.
+             *
+             * @property {WordArray} iv The IV to use for this operation.
+             */ cfg: Base.extend(),
+            /**
+             * Creates this cipher in encryption mode.
+             *
+             * @param {WordArray} key The key.
+             * @param {Object} cfg (Optional) The configuration options to use for this operation.
+             *
+             * @return {Cipher} A cipher instance.
+             *
+             * @static
+             *
+             * @example
+             *
+             *     var cipher = CryptoJS.algo.AES.createEncryptor(keyWordArray, { iv: ivWordArray });
+             */ createEncryptor: function createEncryptor(key, cfg) {
+              return this.create(this._ENC_XFORM_MODE, key, cfg);
+            },
+            /**
+             * Creates this cipher in decryption mode.
+             *
+             * @param {WordArray} key The key.
+             * @param {Object} cfg (Optional) The configuration options to use for this operation.
+             *
+             * @return {Cipher} A cipher instance.
+             *
+             * @static
+             *
+             * @example
+             *
+             *     var cipher = CryptoJS.algo.AES.createDecryptor(keyWordArray, { iv: ivWordArray });
+             */ createDecryptor: function createDecryptor(key, cfg) {
+              return this.create(this._DEC_XFORM_MODE, key, cfg);
+            },
+            /**
+             * Initializes a newly created cipher.
+             *
+             * @param {number} xformMode Either the encryption or decryption transormation mode constant.
+             * @param {WordArray} key The key.
+             * @param {Object} cfg (Optional) The configuration options to use for this operation.
+             *
+             * @example
+             *
+             *     var cipher = CryptoJS.algo.AES.create(CryptoJS.algo.AES._ENC_XFORM_MODE, keyWordArray, { iv: ivWordArray });
+             */ init: function init(xformMode, key, cfg) {
+              // Apply config defaults
+              this.cfg = this.cfg.extend(cfg);
+              // Store transform mode and key
+              this._xformMode = xformMode;
+              this._key = key;
+              // Set initial values
+              this.reset();
+            },
+            /**
+             * Resets this cipher to its initial state.
+             *
+             * @example
+             *
+             *     cipher.reset();
+             */ reset: function reset() {
+              // Reset data buffer
+              BufferedBlockAlgorithm.reset.call(this);
+              // Perform concrete-cipher logic
+              this._doReset();
+            },
+            /**
+             * Adds data to be encrypted or decrypted.
+             *
+             * @param {WordArray|string} dataUpdate The data to encrypt or decrypt.
+             *
+             * @return {WordArray} The data after processing.
+             *
+             * @example
+             *
+             *     var encrypted = cipher.process('data');
+             *     var encrypted = cipher.process(wordArray);
+             */ process: function process(dataUpdate) {
+              // Append
+              this._append(dataUpdate);
+              // Process available blocks
+              return this._process();
+            },
+            /**
+             * Finalizes the encryption or decryption process.
+             * Note that the finalize operation is effectively a destructive, read-once operation.
+             *
+             * @param {WordArray|string} dataUpdate The final data to encrypt or decrypt.
+             *
+             * @return {WordArray} The data after final processing.
+             *
+             * @example
+             *
+             *     var encrypted = cipher.finalize();
+             *     var encrypted = cipher.finalize('data');
+             *     var encrypted = cipher.finalize(wordArray);
+             */ finalize: function finalize(dataUpdate) {
+              // Final data update
+              if (dataUpdate) {
+                this._append(dataUpdate);
+              }
+              // Perform concrete-cipher logic
+              var finalProcessedData = this._doFinalize();
+              return finalProcessedData;
+            },
+            keySize: 128 / 32,
+            ivSize: 128 / 32,
+            _ENC_XFORM_MODE: 1,
+            _DEC_XFORM_MODE: 2,
+            /**
+             * Creates shortcut functions to a cipher's object interface.
+             *
+             * @param {Cipher} cipher The cipher to create a helper for.
+             *
+             * @return {Object} An object with encrypt and decrypt shortcut functions.
+             *
+             * @static
+             *
+             * @example
+             *
+             *     var AES = CryptoJS.lib.Cipher._createHelper(CryptoJS.algo.AES);
+             */ _createHelper: (function () {
+              var selectCipherStrategy = function selectCipherStrategy(key) {
+                if (typeof key == "string") {
+                  return PasswordBasedCipher;
+                } else {
+                  return SerializableCipher;
+                }
+              };
+              return function (cipher) {
+                return {
+                  encrypt: function encrypt(message, key, cfg) {
+                    return selectCipherStrategy(key).encrypt(cipher, message, key, cfg);
+                  },
+                  decrypt: function decrypt(ciphertext, key, cfg) {
+                    return selectCipherStrategy(key).decrypt(cipher, ciphertext, key, cfg);
+                  },
+                };
+              };
+            })(),
+          }));
+          /**
+           * Abstract base stream cipher template.
+           *
+           * @property {number} blockSize The number of 32-bit words this cipher operates on. Default: 1 (32 bits)
+           */ C_lib.StreamCipher = Cipher.extend({
+            _doFinalize: function _doFinalize() {
+              // Process partial blocks
+              var finalProcessedBlocks = this._process(!!"flush");
+              return finalProcessedBlocks;
+            },
+            blockSize: 1,
+          });
+          /**
+           * Mode namespace.
+           */ var C_mode = (C.mode = {});
+          /**
+           * Abstract base block cipher mode template.
+           */ var BlockCipherMode = (C_lib.BlockCipherMode = Base.extend({
+            /**
+             * Creates this mode for encryption.
+             *
+             * @param {Cipher} cipher A block cipher instance.
+             * @param {Array} iv The IV words.
+             *
+             * @static
+             *
+             * @example
+             *
+             *     var mode = CryptoJS.mode.CBC.createEncryptor(cipher, iv.words);
+             */ createEncryptor: function createEncryptor(cipher, iv) {
+              return this.Encryptor.create(cipher, iv);
+            },
+            /**
+             * Creates this mode for decryption.
+             *
+             * @param {Cipher} cipher A block cipher instance.
+             * @param {Array} iv The IV words.
+             *
+             * @static
+             *
+             * @example
+             *
+             *     var mode = CryptoJS.mode.CBC.createDecryptor(cipher, iv.words);
+             */ createDecryptor: function createDecryptor(cipher, iv) {
+              return this.Decryptor.create(cipher, iv);
+            },
+            /**
+             * Initializes a newly created mode.
+             *
+             * @param {Cipher} cipher A block cipher instance.
+             * @param {Array} iv The IV words.
+             *
+             * @example
+             *
+             *     var mode = CryptoJS.mode.CBC.Encryptor.create(cipher, iv.words);
+             */ init: function init(cipher, iv) {
+              this._cipher = cipher;
+              this._iv = iv;
+            },
+          }));
+          /**
+           * Cipher Block Chaining mode.
+           */ var CBC = (C_mode.CBC = (function () {
+            var xorBlock = function xorBlock(words, offset, blockSize) {
+              var block;
+              // Shortcut
+              var iv = this._iv;
+              // Choose mixing block
+              if (iv) {
+                block = iv;
+                // Remove IV for subsequent blocks
+                this._iv = undefined1;
+              } else {
+                block = this._prevBlock;
+              }
+              // XOR blocks
+              for (var i = 0; i < blockSize; i++) {
+                words[offset + i] ^= block[i];
+              }
+            };
+            /**
+             * Abstract base CBC mode.
+             */ var CBC = BlockCipherMode.extend();
+            /**
+             * CBC encryptor.
+             */ CBC.Encryptor = CBC.extend({
+              /**
+               * Processes the data block at offset.
+               *
+               * @param {Array} words The data words to operate on.
+               * @param {number} offset The offset where the block starts.
+               *
+               * @example
+               *
+               *     mode.processBlock(data.words, offset);
+               */ processBlock: function processBlock(words, offset) {
+                // Shortcuts
+                var cipher = this._cipher;
+                var blockSize = cipher.blockSize;
+                // XOR and encrypt
+                xorBlock.call(this, words, offset, blockSize);
+                cipher.encryptBlock(words, offset);
+                // Remember this block to use with next block
+                this._prevBlock = words.slice(offset, offset + blockSize);
+              },
+            });
+            /**
+             * CBC decryptor.
+             */ CBC.Decryptor = CBC.extend({
+              /**
+               * Processes the data block at offset.
+               *
+               * @param {Array} words The data words to operate on.
+               * @param {number} offset The offset where the block starts.
+               *
+               * @example
+               *
+               *     mode.processBlock(data.words, offset);
+               */ processBlock: function processBlock(words, offset) {
+                // Shortcuts
+                var cipher = this._cipher;
+                var blockSize = cipher.blockSize;
+                // Remember this block to use with next block
+                var thisBlock = words.slice(offset, offset + blockSize);
+                // Decrypt and XOR
+                cipher.decryptBlock(words, offset);
+                xorBlock.call(this, words, offset, blockSize);
+                // This block becomes the previous block
+                this._prevBlock = thisBlock;
+              },
+            });
+            return CBC;
+          })());
+          /**
+           * Padding namespace.
+           */ var C_pad = (C.pad = {});
+          /**
+           * PKCS #5/7 padding strategy.
+           */ var Pkcs7 = (C_pad.Pkcs7 = {
+            /**
+             * Pads data using the algorithm defined in PKCS #5/7.
+             *
+             * @param {WordArray} data The data to pad.
+             * @param {number} blockSize The multiple that the data should be padded to.
+             *
+             * @static
+             *
+             * @example
+             *
+             *     CryptoJS.pad.Pkcs7.pad(wordArray, 4);
+             */ pad: function pad(data, blockSize) {
+              // Shortcut
+              var blockSizeBytes = blockSize * 4;
+              // Count padding bytes
+              var nPaddingBytes = blockSizeBytes - (data.sigBytes % blockSizeBytes);
+              // Create padding word
+              var paddingWord =
+                (nPaddingBytes << 24) |
+                (nPaddingBytes << 16) |
+                (nPaddingBytes << 8) |
+                nPaddingBytes;
+              // Create padding
+              var paddingWords = [];
+              for (var i = 0; i < nPaddingBytes; i += 4) {
+                paddingWords.push(paddingWord);
+              }
+              var padding = WordArray.create(paddingWords, nPaddingBytes);
+              // Add padding
+              data.concat(padding);
+            },
+            /**
+             * Unpads data that had been padded using the algorithm defined in PKCS #5/7.
+             *
+             * @param {WordArray} data The data to unpad.
+             *
+             * @static
+             *
+             * @example
+             *
+             *     CryptoJS.pad.Pkcs7.unpad(wordArray);
+             */ unpad: function unpad(data) {
+              // Get number of padding bytes from last byte
+              var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff;
+              // Remove padding
+              data.sigBytes -= nPaddingBytes;
+            },
+          });
+          /**
+           * Abstract base block cipher template.
+           *
+           * @property {number} blockSize The number of 32-bit words this cipher operates on. Default: 4 (128 bits)
+           */ C_lib.BlockCipher = Cipher.extend({
+            /**
+             * Configuration options.
+             *
+             * @property {Mode} mode The block mode to use. Default: CBC
+             * @property {Padding} padding The padding strategy to use. Default: Pkcs7
+             */ cfg: Cipher.cfg.extend({
+              mode: CBC,
+              padding: Pkcs7,
+            }),
+            reset: function reset() {
+              var modeCreator;
+              // Reset cipher
+              Cipher.reset.call(this);
+              // Shortcuts
+              var cfg = this.cfg;
+              var iv = cfg.iv;
+              var mode = cfg.mode;
+              // Reset block mode
+              if (this._xformMode == this._ENC_XFORM_MODE) {
+                modeCreator = mode.createEncryptor;
+              } /* if (this._xformMode == this._DEC_XFORM_MODE) */ else {
+                modeCreator = mode.createDecryptor;
+                // Keep at least one block in the buffer for unpadding
+                this._minBufferSize = 1;
+              }
+              if (this._mode && this._mode.__creator == modeCreator) {
+                this._mode.init(this, iv && iv.words);
+              } else {
+                this._mode = modeCreator.call(mode, this, iv && iv.words);
+                this._mode.__creator = modeCreator;
+              }
+            },
+            _doProcessBlock: function _doProcessBlock(words, offset) {
+              this._mode.processBlock(words, offset);
+            },
+            _doFinalize: function _doFinalize() {
+              var finalProcessedBlocks;
+              // Shortcut
+              var padding = this.cfg.padding;
+              // Finalize
+              if (this._xformMode == this._ENC_XFORM_MODE) {
+                // Pad data
+                padding.pad(this._data, this.blockSize);
+                // Process final blocks
+                finalProcessedBlocks = this._process(!!"flush");
+              } /* if (this._xformMode == this._DEC_XFORM_MODE) */ else {
+                // Process final blocks
+                finalProcessedBlocks = this._process(!!"flush");
+                // Unpad data
+                padding.unpad(finalProcessedBlocks);
+              }
+              return finalProcessedBlocks;
+            },
+            blockSize: 128 / 32,
+          });
+          /**
+           * A collection of cipher parameters.
+           *
+           * @property {WordArray} ciphertext The raw ciphertext.
+           * @property {WordArray} key The key to this ciphertext.
+           * @property {WordArray} iv The IV used in the ciphering operation.
+           * @property {WordArray} salt The salt used with a key derivation function.
+           * @property {Cipher} algorithm The cipher algorithm.
+           * @property {Mode} mode The block mode used in the ciphering operation.
+           * @property {Padding} padding The padding scheme used in the ciphering operation.
+           * @property {number} blockSize The block size of the cipher.
+           * @property {Format} formatter The default formatting strategy to convert this cipher params object to a string.
+           */ var CipherParams = (C_lib.CipherParams = Base.extend({
+            /**
+             * Initializes a newly created cipher params object.
+             *
+             * @param {Object} cipherParams An object with any of the possible cipher parameters.
+             *
+             * @example
+             *
+             *     var cipherParams = CryptoJS.lib.CipherParams.create({
+             *         ciphertext: ciphertextWordArray,
+             *         key: keyWordArray,
+             *         iv: ivWordArray,
+             *         salt: saltWordArray,
+             *         algorithm: CryptoJS.algo.AES,
+             *         mode: CryptoJS.mode.CBC,
+             *         padding: CryptoJS.pad.PKCS7,
+             *         blockSize: 4,
+             *         formatter: CryptoJS.format.OpenSSL
+             *     });
+             */ init: function init(cipherParams) {
+              this.mixIn(cipherParams);
+            },
+            /**
+             * Converts this cipher params object to a string.
+             *
+             * @param {Format} formatter (Optional) The formatting strategy to use.
+             *
+             * @return {string} The stringified cipher params.
+             *
+             * @throws Error If neither the formatter nor the default formatter is set.
+             *
+             * @example
+             *
+             *     var string = cipherParams + '';
+             *     var string = cipherParams.toString();
+             *     var string = cipherParams.toString(CryptoJS.format.OpenSSL);
+             */ toString: function toString(formatter) {
+              return (formatter || this.formatter).stringify(this);
+            },
+          }));
+          /**
+           * Format namespace.
+           */ var C_format = (C.format = {});
+          /**
+           * OpenSSL formatting strategy.
+           */ var OpenSSLFormatter = (C_format.OpenSSL = {
+            /**
+             * Converts a cipher params object to an OpenSSL-compatible string.
+             *
+             * @param {CipherParams} cipherParams The cipher params object.
+             *
+             * @return {string} The OpenSSL-compatible string.
+             *
+             * @static
+             *
+             * @example
+             *
+             *     var openSSLString = CryptoJS.format.OpenSSL.stringify(cipherParams);
+             */ stringify: function stringify(cipherParams) {
+              var wordArray;
+              // Shortcuts
+              var ciphertext = cipherParams.ciphertext;
+              var salt = cipherParams.salt;
+              // Format
+              if (salt) {
+                wordArray = WordArray.create([0x53616c74, 0x65645f5f])
+                  .concat(salt)
+                  .concat(ciphertext);
+              } else {
+                wordArray = ciphertext;
+              }
+              return wordArray.toString(Base64);
+            },
+            /**
+             * Converts an OpenSSL-compatible string to a cipher params object.
+             *
+             * @param {string} openSSLStr The OpenSSL-compatible string.
+             *
+             * @return {CipherParams} The cipher params object.
+             *
+             * @static
+             *
+             * @example
+             *
+             *     var cipherParams = CryptoJS.format.OpenSSL.parse(openSSLString);
+             */ parse: function parse(openSSLStr) {
+              var salt;
+              // Parse base64
+              var ciphertext = Base64.parse(openSSLStr);
+              // Shortcut
+              var ciphertextWords = ciphertext.words;
+              // Test for salt
+              if (ciphertextWords[0] == 0x53616c74 && ciphertextWords[1] == 0x65645f5f) {
+                // Extract salt
+                salt = WordArray.create(ciphertextWords.slice(2, 4));
+                // Remove salt from ciphertext
+                ciphertextWords.splice(0, 4);
+                ciphertext.sigBytes -= 16;
+              }
+              return CipherParams.create({
+                ciphertext: ciphertext,
+                salt: salt,
+              });
+            },
+          });
+          /**
+           * A cipher wrapper that returns ciphertext as a serializable cipher params object.
+           */ var SerializableCipher = (C_lib.SerializableCipher = Base.extend({
+            /**
+             * Configuration options.
+             *
+             * @property {Formatter} format The formatting strategy to convert cipher param objects to and from a string. Default: OpenSSL
+             */ cfg: Base.extend({
+              format: OpenSSLFormatter,
+            }),
+            /**
+             * Encrypts a message.
+             *
+             * @param {Cipher} cipher The cipher algorithm to use.
+             * @param {WordArray|string} message The message to encrypt.
+             * @param {WordArray} key The key.
+             * @param {Object} cfg (Optional) The configuration options to use for this operation.
+             *
+             * @return {CipherParams} A cipher params object.
+             *
+             * @static
+             *
+             * @example
+             *
+             *     var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key);
+             *     var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key, { iv: iv });
+             *     var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key, { iv: iv, format: CryptoJS.format.OpenSSL });
+             */ encrypt: function encrypt(cipher, message, key, cfg) {
+              // Apply config defaults
+              cfg = this.cfg.extend(cfg);
+              // Encrypt
+              var encryptor = cipher.createEncryptor(key, cfg);
+              var ciphertext = encryptor.finalize(message);
+              // Shortcut
+              var cipherCfg = encryptor.cfg;
+              // Create and return serializable cipher params
+              return CipherParams.create({
+                ciphertext: ciphertext,
+                key: key,
+                iv: cipherCfg.iv,
+                algorithm: cipher,
+                mode: cipherCfg.mode,
+                padding: cipherCfg.padding,
+                blockSize: cipher.blockSize,
+                formatter: cfg.format,
+              });
+            },
+            /**
+             * Decrypts serialized ciphertext.
+             *
+             * @param {Cipher} cipher The cipher algorithm to use.
+             * @param {CipherParams|string} ciphertext The ciphertext to decrypt.
+             * @param {WordArray} key The key.
+             * @param {Object} cfg (Optional) The configuration options to use for this operation.
+             *
+             * @return {WordArray} The plaintext.
+             *
+             * @static
+             *
+             * @example
+             *
+             *     var plaintext = CryptoJS.lib.SerializableCipher.decrypt(CryptoJS.algo.AES, formattedCiphertext, key, { iv: iv, format: CryptoJS.format.OpenSSL });
+             *     var plaintext = CryptoJS.lib.SerializableCipher.decrypt(CryptoJS.algo.AES, ciphertextParams, key, { iv: iv, format: CryptoJS.format.OpenSSL });
+             */ decrypt: function decrypt(cipher, ciphertext, key, cfg) {
+              // Apply config defaults
+              cfg = this.cfg.extend(cfg);
+              // Convert string to CipherParams
+              ciphertext = this._parse(ciphertext, cfg.format);
+              // Decrypt
+              var plaintext = cipher.createDecryptor(key, cfg).finalize(ciphertext.ciphertext);
+              return plaintext;
+            },
+            /**
+             * Converts serialized ciphertext to CipherParams,
+             * else assumed CipherParams already and returns ciphertext unchanged.
+             *
+             * @param {CipherParams|string} ciphertext The ciphertext.
+             * @param {Formatter} format The formatting strategy to use to parse serialized ciphertext.
+             *
+             * @return {CipherParams} The unserialized ciphertext.
+             *
+             * @static
+             *
+             * @example
+             *
+             *     var ciphertextParams = CryptoJS.lib.SerializableCipher._parse(ciphertextStringOrParams, format);
+             */ _parse: function _parse(ciphertext, format) {
+              if (typeof ciphertext == "string") {
+                return format.parse(ciphertext, this);
+              } else {
+                return ciphertext;
+              }
+            },
+          }));
+          /**
+           * Key derivation function namespace.
+           */ var C_kdf = (C.kdf = {});
+          /**
+           * OpenSSL key derivation function.
+           */ var OpenSSLKdf = (C_kdf.OpenSSL = {
+            /**
+             * Derives a key and IV from a password.
+             *
+             * @param {string} password The password to derive from.
+             * @param {number} keySize The size in words of the key to generate.
+             * @param {number} ivSize The size in words of the IV to generate.
+             * @param {WordArray|string} salt (Optional) A 64-bit salt to use. If omitted, a salt will be generated randomly.
+             *
+             * @return {CipherParams} A cipher params object with the key, IV, and salt.
+             *
+             * @static
+             *
+             * @example
+             *
+             *     var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32);
+             *     var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32, 'saltsalt');
+             */ execute: function execute(password, keySize, ivSize, salt) {
+              // Generate random salt
+              if (!salt) {
+                salt = WordArray.random(64 / 8);
+              }
+              // Derive key and IV
+              var key = EvpKDF.create({
+                keySize: keySize + ivSize,
+              }).compute(password, salt);
+              // Separate key and IV
+              var iv = WordArray.create(key.words.slice(keySize), ivSize * 4);
+              key.sigBytes = keySize * 4;
+              // Return params
+              return CipherParams.create({
+                key: key,
+                iv: iv,
+                salt: salt,
+              });
+            },
+          });
+          /**
+           * A serializable cipher wrapper that derives the key from a password,
+           * and returns ciphertext as a serializable cipher params object.
+           */ var PasswordBasedCipher = (C_lib.PasswordBasedCipher = SerializableCipher.extend({
+            /**
+             * Configuration options.
+             *
+             * @property {KDF} kdf The key derivation function to use to generate a key and IV from a password. Default: OpenSSL
+             */ cfg: SerializableCipher.cfg.extend({
+              kdf: OpenSSLKdf,
+            }),
+            /**
+             * Encrypts a message using a password.
+             *
+             * @param {Cipher} cipher The cipher algorithm to use.
+             * @param {WordArray|string} message The message to encrypt.
+             * @param {string} password The password.
+             * @param {Object} cfg (Optional) The configuration options to use for this operation.
+             *
+             * @return {CipherParams} A cipher params object.
+             *
+             * @static
+             *
+             * @example
+             *
+             *     var ciphertextParams = CryptoJS.lib.PasswordBasedCipher.encrypt(CryptoJS.algo.AES, message, 'password');
+             *     var ciphertextParams = CryptoJS.lib.PasswordBasedCipher.encrypt(CryptoJS.algo.AES, message, 'password', { format: CryptoJS.format.OpenSSL });
+             */ encrypt: function encrypt(cipher, message, password, cfg) {
+              // Apply config defaults
+              cfg = this.cfg.extend(cfg);
+              // Derive key and other params
+              var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize);
+              // Add IV to config
+              cfg.iv = derivedParams.iv;
+              // Encrypt
+              var ciphertext = SerializableCipher.encrypt.call(
+                this,
+                cipher,
+                message,
+                derivedParams.key,
+                cfg
+              );
+              // Mix in derived params
+              ciphertext.mixIn(derivedParams);
+              return ciphertext;
+            },
+            /**
+             * Decrypts serialized ciphertext using a password.
+             *
+             * @param {Cipher} cipher The cipher algorithm to use.
+             * @param {CipherParams|string} ciphertext The ciphertext to decrypt.
+             * @param {string} password The password.
+             * @param {Object} cfg (Optional) The configuration options to use for this operation.
+             *
+             * @return {WordArray} The plaintext.
+             *
+             * @static
+             *
+             * @example
+             *
+             *     var plaintext = CryptoJS.lib.PasswordBasedCipher.decrypt(CryptoJS.algo.AES, formattedCiphertext, 'password', { format: CryptoJS.format.OpenSSL });
+             *     var plaintext = CryptoJS.lib.PasswordBasedCipher.decrypt(CryptoJS.algo.AES, ciphertextParams, 'password', { format: CryptoJS.format.OpenSSL });
+             */ decrypt: function decrypt(cipher, ciphertext, password, cfg) {
+              // Apply config defaults
+              cfg = this.cfg.extend(cfg);
+              // Convert string to CipherParams
+              ciphertext = this._parse(ciphertext, cfg.format);
+              // Derive key and other params
+              var derivedParams = cfg.kdf.execute(
+                password,
+                cipher.keySize,
+                cipher.ivSize,
+                ciphertext.salt
+              );
+              // Add IV to config
+              cfg.iv = derivedParams.iv;
+              // Decrypt
+              var plaintext = SerializableCipher.decrypt.call(
+                this,
+                cipher,
+                ciphertext,
+                derivedParams.key,
+                cfg
+              );
+              return plaintext;
+            },
+          }));
+        })();
+    });
+  });
+
+  var modeCfb = createCommonjsModule(function (module, exports) {
+    (function (root, factory, undef) {
+      {
+        // CommonJS
+        module.exports = factory(core, cipherCore);
+      }
+    })(commonjsGlobal, function (CryptoJS) {
+      /**
+       * Cipher Feedback block mode.
+       */ CryptoJS.mode.CFB = (function () {
+        var generateKeystreamAndEncrypt = function generateKeystreamAndEncrypt(
+          words,
+          offset,
+          blockSize,
+          cipher
+        ) {
+          var keystream;
+          // Shortcut
+          var iv = this._iv;
+          // Generate keystream
+          if (iv) {
+            keystream = iv.slice(0);
+            // Remove IV for subsequent blocks
+            this._iv = undefined;
+          } else {
+            keystream = this._prevBlock;
+          }
+          cipher.encryptBlock(keystream, 0);
+          // Encrypt
+          for (var i = 0; i < blockSize; i++) {
+            words[offset + i] ^= keystream[i];
+          }
+        };
+        var CFB = CryptoJS.lib.BlockCipherMode.extend();
+        CFB.Encryptor = CFB.extend({
+          processBlock: function processBlock(words, offset) {
+            // Shortcuts
+            var cipher = this._cipher;
+            var blockSize = cipher.blockSize;
+            generateKeystreamAndEncrypt.call(this, words, offset, blockSize, cipher);
+            // Remember this block to use with next block
+            this._prevBlock = words.slice(offset, offset + blockSize);
+          },
+        });
+        CFB.Decryptor = CFB.extend({
+          processBlock: function processBlock(words, offset) {
+            // Shortcuts
+            var cipher = this._cipher;
+            var blockSize = cipher.blockSize;
+            // Remember this block to use with next block
+            var thisBlock = words.slice(offset, offset + blockSize);
+            generateKeystreamAndEncrypt.call(this, words, offset, blockSize, cipher);
+            // This block becomes the previous block
+            this._prevBlock = thisBlock;
+          },
+        });
+        return CFB;
+      })();
+      return CryptoJS.mode.CFB;
+    });
+  });
+
+  var modeCtr = createCommonjsModule(function (module, exports) {
+    (function (root, factory, undef) {
+      {
+        // CommonJS
+        module.exports = factory(core, cipherCore);
+      }
+    })(commonjsGlobal, function (CryptoJS) {
+      /**
+       * Counter block mode.
+       */ CryptoJS.mode.CTR = (function () {
+        var CTR = CryptoJS.lib.BlockCipherMode.extend();
+        var Encryptor = (CTR.Encryptor = CTR.extend({
+          processBlock: function processBlock(words, offset) {
+            // Shortcuts
+            var cipher = this._cipher;
+            var blockSize = cipher.blockSize;
+            var iv = this._iv;
+            var counter = this._counter;
+            // Generate keystream
+            if (iv) {
+              counter = this._counter = iv.slice(0);
+              // Remove IV for subsequent blocks
+              this._iv = undefined;
+            }
+            var keystream = counter.slice(0);
+            cipher.encryptBlock(keystream, 0);
+            // Increment counter
+            counter[blockSize - 1] = (counter[blockSize - 1] + 1) | 0;
+            // Encrypt
+            for (var i = 0; i < blockSize; i++) {
+              words[offset + i] ^= keystream[i];
+            }
+          },
+        }));
+        CTR.Decryptor = Encryptor;
+        return CTR;
+      })();
+      return CryptoJS.mode.CTR;
+    });
+  });
+
+  var modeCtrGladman = createCommonjsModule(function (module, exports) {
+    (function (root, factory, undef) {
+      {
+        // CommonJS
+        module.exports = factory(core, cipherCore);
+      }
+    })(commonjsGlobal, function (CryptoJS) {
+      /** @preserve
+       * Counter block mode compatible with  Dr Brian Gladman fileenc.c
+       * derived from CryptoJS.mode.CTR
+       * Jan Hruby jhruby.web@gmail.com
+       */ CryptoJS.mode.CTRGladman = (function () {
+        var incWord = function incWord(word) {
+          if (((word >> 24) & 0xff) === 0xff) {
+            var b1 = (word >> 16) & 0xff;
+            var b2 = (word >> 8) & 0xff;
+            var b3 = word & 0xff;
+            if (b1 === 0xff) {
+              b1 = 0;
+              if (b2 === 0xff) {
+                b2 = 0;
+                if (b3 === 0xff) {
+                  b3 = 0;
+                } else {
+                  ++b3;
+                }
+              } else {
+                ++b2;
+              }
+            } else {
+              ++b1;
+            }
+            word = 0;
+            word += b1 << 16;
+            word += b2 << 8;
+            word += b3;
+          } else {
+            word += 0x01 << 24;
+          }
+          return word;
+        };
+        var incCounter = function incCounter(counter) {
+          if ((counter[0] = incWord(counter[0])) === 0) {
+            // encr_data in fileenc.c from  Dr Brian Gladman's counts only with DWORD j < 8
+            counter[1] = incWord(counter[1]);
+          }
+          return counter;
+        };
+        var CTRGladman = CryptoJS.lib.BlockCipherMode.extend();
+        var Encryptor = (CTRGladman.Encryptor = CTRGladman.extend({
+          processBlock: function processBlock(words, offset) {
+            // Shortcuts
+            var cipher = this._cipher;
+            var blockSize = cipher.blockSize;
+            var iv = this._iv;
+            var counter = this._counter;
+            // Generate keystream
+            if (iv) {
+              counter = this._counter = iv.slice(0);
+              // Remove IV for subsequent blocks
+              this._iv = undefined;
+            }
+            incCounter(counter);
+            var keystream = counter.slice(0);
+            cipher.encryptBlock(keystream, 0);
+            // Encrypt
+            for (var i = 0; i < blockSize; i++) {
+              words[offset + i] ^= keystream[i];
+            }
+          },
+        }));
+        CTRGladman.Decryptor = Encryptor;
+        return CTRGladman;
+      })();
+      return CryptoJS.mode.CTRGladman;
+    });
+  });
+
+  var modeOfb = createCommonjsModule(function (module, exports) {
+    (function (root, factory, undef) {
+      {
+        // CommonJS
+        module.exports = factory(core, cipherCore);
+      }
+    })(commonjsGlobal, function (CryptoJS) {
+      /**
+       * Output Feedback block mode.
+       */ CryptoJS.mode.OFB = (function () {
+        var OFB = CryptoJS.lib.BlockCipherMode.extend();
+        var Encryptor = (OFB.Encryptor = OFB.extend({
+          processBlock: function processBlock(words, offset) {
+            // Shortcuts
+            var cipher = this._cipher;
+            var blockSize = cipher.blockSize;
+            var iv = this._iv;
+            var keystream = this._keystream;
+            // Generate keystream
+            if (iv) {
+              keystream = this._keystream = iv.slice(0);
+              // Remove IV for subsequent blocks
+              this._iv = undefined;
+            }
+            cipher.encryptBlock(keystream, 0);
+            // Encrypt
+            for (var i = 0; i < blockSize; i++) {
+              words[offset + i] ^= keystream[i];
+            }
+          },
+        }));
+        OFB.Decryptor = Encryptor;
+        return OFB;
+      })();
+      return CryptoJS.mode.OFB;
+    });
+  });
+
+  var modeEcb = createCommonjsModule(function (module, exports) {
+    (function (root, factory, undef) {
+      {
+        // CommonJS
+        module.exports = factory(core, cipherCore);
+      }
+    })(commonjsGlobal, function (CryptoJS) {
+      /**
+       * Electronic Codebook block mode.
+       */ CryptoJS.mode.ECB = (function () {
+        var ECB = CryptoJS.lib.BlockCipherMode.extend();
+        ECB.Encryptor = ECB.extend({
+          processBlock: function processBlock(words, offset) {
+            this._cipher.encryptBlock(words, offset);
+          },
+        });
+        ECB.Decryptor = ECB.extend({
+          processBlock: function processBlock(words, offset) {
+            this._cipher.decryptBlock(words, offset);
+          },
+        });
+        return ECB;
+      })();
+      return CryptoJS.mode.ECB;
+    });
+  });
+
+  var padAnsix923 = createCommonjsModule(function (module, exports) {
+    (function (root, factory, undef) {
+      {
+        // CommonJS
+        module.exports = factory(core, cipherCore);
+      }
+    })(commonjsGlobal, function (CryptoJS) {
+      /**
+       * ANSI X.923 padding strategy.
+       */ CryptoJS.pad.AnsiX923 = {
+        pad: function pad(data, blockSize) {
+          // Shortcuts
+          var dataSigBytes = data.sigBytes;
+          var blockSizeBytes = blockSize * 4;
+          // Count padding bytes
+          var nPaddingBytes = blockSizeBytes - (dataSigBytes % blockSizeBytes);
+          // Compute last byte position
+          var lastBytePos = dataSigBytes + nPaddingBytes - 1;
+          // Pad
+          data.clamp();
+          data.words[lastBytePos >>> 2] |= nPaddingBytes << (24 - (lastBytePos % 4) * 8);
+          data.sigBytes += nPaddingBytes;
+        },
+        unpad: function unpad(data) {
+          // Get number of padding bytes from last byte
+          var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff;
+          // Remove padding
+          data.sigBytes -= nPaddingBytes;
+        },
+      };
+      return CryptoJS.pad.Ansix923;
+    });
+  });
+
+  var padIso10126 = createCommonjsModule(function (module, exports) {
+    (function (root, factory, undef) {
+      {
+        // CommonJS
+        module.exports = factory(core, cipherCore);
+      }
+    })(commonjsGlobal, function (CryptoJS) {
+      /**
+       * ISO 10126 padding strategy.
+       */ CryptoJS.pad.Iso10126 = {
+        pad: function pad(data, blockSize) {
+          // Shortcut
+          var blockSizeBytes = blockSize * 4;
+          // Count padding bytes
+          var nPaddingBytes = blockSizeBytes - (data.sigBytes % blockSizeBytes);
+          // Pad
+          data
+            .concat(CryptoJS.lib.WordArray.random(nPaddingBytes - 1))
+            .concat(CryptoJS.lib.WordArray.create([nPaddingBytes << 24], 1));
+        },
+        unpad: function unpad(data) {
+          // Get number of padding bytes from last byte
+          var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff;
+          // Remove padding
+          data.sigBytes -= nPaddingBytes;
+        },
+      };
+      return CryptoJS.pad.Iso10126;
+    });
+  });
+
+  var padIso97971 = createCommonjsModule(function (module, exports) {
+    (function (root, factory, undef) {
+      {
+        // CommonJS
+        module.exports = factory(core, cipherCore);
+      }
+    })(commonjsGlobal, function (CryptoJS) {
+      /**
+       * ISO/IEC 9797-1 Padding Method 2.
+       */ CryptoJS.pad.Iso97971 = {
+        pad: function pad(data, blockSize) {
+          // Add 0x80 byte
+          data.concat(CryptoJS.lib.WordArray.create([0x80000000], 1));
+          // Zero pad the rest
+          CryptoJS.pad.ZeroPadding.pad(data, blockSize);
+        },
+        unpad: function unpad(data) {
+          // Remove zero padding
+          CryptoJS.pad.ZeroPadding.unpad(data);
+          // Remove one more byte -- the 0x80 byte
+          data.sigBytes--;
+        },
+      };
+      return CryptoJS.pad.Iso97971;
+    });
+  });
+
+  var padZeropadding = createCommonjsModule(function (module, exports) {
+    (function (root, factory, undef) {
+      {
+        // CommonJS
+        module.exports = factory(core, cipherCore);
+      }
+    })(commonjsGlobal, function (CryptoJS) {
+      /**
+       * Zero padding strategy.
+       */ CryptoJS.pad.ZeroPadding = {
+        pad: function pad(data, blockSize) {
+          // Shortcut
+          var blockSizeBytes = blockSize * 4;
+          // Pad
+          data.clamp();
+          data.sigBytes += blockSizeBytes - (data.sigBytes % blockSizeBytes || blockSizeBytes);
+        },
+        unpad: function unpad(data) {
+          // Shortcut
+          var dataWords = data.words;
+          // Unpad
+          var i = data.sigBytes - 1;
+          for (var i = data.sigBytes - 1; i >= 0; i--) {
+            if ((dataWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff) {
+              data.sigBytes = i + 1;
+              break;
+            }
+          }
+        },
+      };
+      return CryptoJS.pad.ZeroPadding;
+    });
+  });
+
+  var padNopadding = createCommonjsModule(function (module, exports) {
+    (function (root, factory, undef) {
+      {
+        // CommonJS
+        module.exports = factory(core, cipherCore);
+      }
+    })(commonjsGlobal, function (CryptoJS) {
+      /**
+       * A noop padding strategy.
+       */ CryptoJS.pad.NoPadding = {
+        pad: function pad() {},
+        unpad: function unpad() {},
+      };
+      return CryptoJS.pad.NoPadding;
+    });
+  });
+
+  var formatHex = createCommonjsModule(function (module, exports) {
+    (function (root, factory, undef) {
+      {
+        // CommonJS
+        module.exports = factory(core, cipherCore);
+      }
+    })(commonjsGlobal, function (CryptoJS) {
+      (function (undefined1) {
+        // Shortcuts
+        var C = CryptoJS;
+        var C_lib = C.lib;
+        var CipherParams = C_lib.CipherParams;
+        var C_enc = C.enc;
+        var Hex = C_enc.Hex;
+        var C_format = C.format;
+        C_format.Hex = {
+          /**
+           * Converts the ciphertext of a cipher params object to a hexadecimally encoded string.
+           *
+           * @param {CipherParams} cipherParams The cipher params object.
+           *
+           * @return {string} The hexadecimally encoded string.
+           *
+           * @static
+           *
+           * @example
+           *
+           *     var hexString = CryptoJS.format.Hex.stringify(cipherParams);
+           */ stringify: function stringify(cipherParams) {
+            return cipherParams.ciphertext.toString(Hex);
+          },
+          /**
+           * Converts a hexadecimally encoded ciphertext string to a cipher params object.
+           *
+           * @param {string} input The hexadecimally encoded string.
+           *
+           * @return {CipherParams} The cipher params object.
+           *
+           * @static
+           *
+           * @example
+           *
+           *     var cipherParams = CryptoJS.format.Hex.parse(hexString);
+           */ parse: function parse(input) {
+            var ciphertext = Hex.parse(input);
+            return CipherParams.create({
+              ciphertext: ciphertext,
+            });
+          },
+        };
+      })();
+      return CryptoJS.format.Hex;
+    });
+  });
+
+  var aes = createCommonjsModule(function (module, exports) {
+    (function (root, factory, undef) {
+      {
+        // CommonJS
+        module.exports = factory(core, encBase64, md5, evpkdf, cipherCore);
+      }
+    })(commonjsGlobal, function (CryptoJS) {
+      (function () {
+        // Shortcuts
+        var C = CryptoJS;
+        var C_lib = C.lib;
+        var BlockCipher = C_lib.BlockCipher;
+        var C_algo = C.algo;
+        // Lookup tables
+        var SBOX = [];
+        var INV_SBOX = [];
+        var SUB_MIX_0 = [];
+        var SUB_MIX_1 = [];
+        var SUB_MIX_2 = [];
+        var SUB_MIX_3 = [];
+        var INV_SUB_MIX_0 = [];
+        var INV_SUB_MIX_1 = [];
+        var INV_SUB_MIX_2 = [];
+        var INV_SUB_MIX_3 = [];
+        // Compute lookup tables
+        (function () {
+          // Compute double table
+          var d = [];
+          for (var i = 0; i < 256; i++) {
+            if (i < 128) {
+              d[i] = i << 1;
+            } else {
+              d[i] = (i << 1) ^ 0x11b;
+            }
+          }
+          // Walk GF(2^8)
+          var x = 0;
+          var xi = 0;
+          for (var i = 0; i < 256; i++) {
+            // Compute sbox
+            var sx = xi ^ (xi << 1) ^ (xi << 2) ^ (xi << 3) ^ (xi << 4);
+            sx = (sx >>> 8) ^ (sx & 0xff) ^ 0x63;
+            SBOX[x] = sx;
+            INV_SBOX[sx] = x;
+            // Compute multiplication
+            var x2 = d[x];
+            var x4 = d[x2];
+            var x8 = d[x4];
+            // Compute sub bytes, mix columns tables
+            var t = (d[sx] * 0x101) ^ (sx * 0x1010100);
+            SUB_MIX_0[x] = (t << 24) | (t >>> 8);
+            SUB_MIX_1[x] = (t << 16) | (t >>> 16);
+            SUB_MIX_2[x] = (t << 8) | (t >>> 24);
+            SUB_MIX_3[x] = t;
+            // Compute inv sub bytes, inv mix columns tables
+            var t = (x8 * 0x1010101) ^ (x4 * 0x10001) ^ (x2 * 0x101) ^ (x * 0x1010100);
+            INV_SUB_MIX_0[sx] = (t << 24) | (t >>> 8);
+            INV_SUB_MIX_1[sx] = (t << 16) | (t >>> 16);
+            INV_SUB_MIX_2[sx] = (t << 8) | (t >>> 24);
+            INV_SUB_MIX_3[sx] = t;
+            // Compute next counter
+            if (!x) {
+              x = xi = 1;
+            } else {
+              x = x2 ^ d[d[d[x8 ^ x2]]];
+              xi ^= d[d[xi]];
+            }
+          }
+        })();
+        // Precomputed Rcon lookup
+        var RCON = [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36];
+        /**
+         * AES block cipher algorithm.
+         */ var AES = (C_algo.AES = BlockCipher.extend({
+          _doReset: function _doReset() {
+            var t;
+            // Skip reset of nRounds has been set before and key did not change
+            if (this._nRounds && this._keyPriorReset === this._key) {
+              return;
+            }
+            // Shortcuts
+            var key = (this._keyPriorReset = this._key);
+            var keyWords = key.words;
+            var keySize = key.sigBytes / 4;
+            // Compute number of rounds
+            var nRounds = (this._nRounds = keySize + 6);
+            // Compute number of key schedule rows
+            var ksRows = (nRounds + 1) * 4;
+            // Compute key schedule
+            var keySchedule = (this._keySchedule = []);
+            for (var ksRow = 0; ksRow < ksRows; ksRow++) {
+              if (ksRow < keySize) {
+                keySchedule[ksRow] = keyWords[ksRow];
+              } else {
+                t = keySchedule[ksRow - 1];
+                if (!(ksRow % keySize)) {
+                  // Rot word
+                  t = (t << 8) | (t >>> 24);
+                  // Sub word
+                  t =
+                    (SBOX[t >>> 24] << 24) |
+                    (SBOX[(t >>> 16) & 0xff] << 16) |
+                    (SBOX[(t >>> 8) & 0xff] << 8) |
+                    SBOX[t & 0xff];
+                  // Mix Rcon
+                  t ^= RCON[(ksRow / keySize) | 0] << 24;
+                } else if (keySize > 6 && ksRow % keySize == 4) {
+                  // Sub word
+                  t =
+                    (SBOX[t >>> 24] << 24) |
+                    (SBOX[(t >>> 16) & 0xff] << 16) |
+                    (SBOX[(t >>> 8) & 0xff] << 8) |
+                    SBOX[t & 0xff];
+                }
+                keySchedule[ksRow] = keySchedule[ksRow - keySize] ^ t;
+              }
+            }
+            // Compute inv key schedule
+            var invKeySchedule = (this._invKeySchedule = []);
+            for (var invKsRow = 0; invKsRow < ksRows; invKsRow++) {
+              var ksRow = ksRows - invKsRow;
+              if (invKsRow % 4) {
+                var t = keySchedule[ksRow];
+              } else {
+                var t = keySchedule[ksRow - 4];
+              }
+              if (invKsRow < 4 || ksRow <= 4) {
+                invKeySchedule[invKsRow] = t;
+              } else {
+                invKeySchedule[invKsRow] =
+                  INV_SUB_MIX_0[SBOX[t >>> 24]] ^
+                  INV_SUB_MIX_1[SBOX[(t >>> 16) & 0xff]] ^
+                  INV_SUB_MIX_2[SBOX[(t >>> 8) & 0xff]] ^
+                  INV_SUB_MIX_3[SBOX[t & 0xff]];
+              }
+            }
+          },
+          encryptBlock: function encryptBlock(M, offset) {
+            this._doCryptBlock(
+              M,
+              offset,
+              this._keySchedule,
+              SUB_MIX_0,
+              SUB_MIX_1,
+              SUB_MIX_2,
+              SUB_MIX_3,
+              SBOX
+            );
+          },
+          decryptBlock: function decryptBlock(M, offset) {
+            // Swap 2nd and 4th rows
+            var t = M[offset + 1];
+            M[offset + 1] = M[offset + 3];
+            M[offset + 3] = t;
+            this._doCryptBlock(
+              M,
+              offset,
+              this._invKeySchedule,
+              INV_SUB_MIX_0,
+              INV_SUB_MIX_1,
+              INV_SUB_MIX_2,
+              INV_SUB_MIX_3,
+              INV_SBOX
+            );
+            // Inv swap 2nd and 4th rows
+            var t = M[offset + 1];
+            M[offset + 1] = M[offset + 3];
+            M[offset + 3] = t;
+          },
+          _doCryptBlock: function _doCryptBlock(
+            M,
+            offset,
+            keySchedule,
+            SUB_MIX_0,
+            SUB_MIX_1,
+            SUB_MIX_2,
+            SUB_MIX_3,
+            SBOX
+          ) {
+            // Shortcut
+            var nRounds = this._nRounds;
+            // Get input, add round key
+            var s0 = M[offset] ^ keySchedule[0];
+            var s1 = M[offset + 1] ^ keySchedule[1];
+            var s2 = M[offset + 2] ^ keySchedule[2];
+            var s3 = M[offset + 3] ^ keySchedule[3];
+            // Key schedule row counter
+            var ksRow = 4;
+            // Rounds
+            for (var round = 1; round < nRounds; round++) {
+              // Shift rows, sub bytes, mix columns, add round key
+              var t0 =
+                SUB_MIX_0[s0 >>> 24] ^
+                SUB_MIX_1[(s1 >>> 16) & 0xff] ^
+                SUB_MIX_2[(s2 >>> 8) & 0xff] ^
+                SUB_MIX_3[s3 & 0xff] ^
+                keySchedule[ksRow++];
+              var t1 =
+                SUB_MIX_0[s1 >>> 24] ^
+                SUB_MIX_1[(s2 >>> 16) & 0xff] ^
+                SUB_MIX_2[(s3 >>> 8) & 0xff] ^
+                SUB_MIX_3[s0 & 0xff] ^
+                keySchedule[ksRow++];
+              var t2 =
+                SUB_MIX_0[s2 >>> 24] ^
+                SUB_MIX_1[(s3 >>> 16) & 0xff] ^
+                SUB_MIX_2[(s0 >>> 8) & 0xff] ^
+                SUB_MIX_3[s1 & 0xff] ^
+                keySchedule[ksRow++];
+              var t3 =
+                SUB_MIX_0[s3 >>> 24] ^
+                SUB_MIX_1[(s0 >>> 16) & 0xff] ^
+                SUB_MIX_2[(s1 >>> 8) & 0xff] ^
+                SUB_MIX_3[s2 & 0xff] ^
+                keySchedule[ksRow++];
+              // Update state
+              s0 = t0;
+              s1 = t1;
+              s2 = t2;
+              s3 = t3;
+            }
+            // Shift rows, sub bytes, add round key
+            var t0 =
+              ((SBOX[s0 >>> 24] << 24) |
+                (SBOX[(s1 >>> 16) & 0xff] << 16) |
+                (SBOX[(s2 >>> 8) & 0xff] << 8) |
+                SBOX[s3 & 0xff]) ^
+              keySchedule[ksRow++];
+            var t1 =
+              ((SBOX[s1 >>> 24] << 24) |
+                (SBOX[(s2 >>> 16) & 0xff] << 16) |
+                (SBOX[(s3 >>> 8) & 0xff] << 8) |
+                SBOX[s0 & 0xff]) ^
+              keySchedule[ksRow++];
+            var t2 =
+              ((SBOX[s2 >>> 24] << 24) |
+                (SBOX[(s3 >>> 16) & 0xff] << 16) |
+                (SBOX[(s0 >>> 8) & 0xff] << 8) |
+                SBOX[s1 & 0xff]) ^
+              keySchedule[ksRow++];
+            var t3 =
+              ((SBOX[s3 >>> 24] << 24) |
+                (SBOX[(s0 >>> 16) & 0xff] << 16) |
+                (SBOX[(s1 >>> 8) & 0xff] << 8) |
+                SBOX[s2 & 0xff]) ^
+              keySchedule[ksRow++];
+            // Set output
+            M[offset] = t0;
+            M[offset + 1] = t1;
+            M[offset + 2] = t2;
+            M[offset + 3] = t3;
+          },
+          keySize: 256 / 32,
+        }));
+        /**
+         * Shortcut functions to the cipher's object interface.
+         *
+         * @example
+         *
+         *     var ciphertext = CryptoJS.AES.encrypt(message, key, cfg);
+         *     var plaintext  = CryptoJS.AES.decrypt(ciphertext, key, cfg);
+         */ C.AES = BlockCipher._createHelper(AES);
+      })();
+      return CryptoJS.AES;
+    });
+  });
+
+  var tripledes = createCommonjsModule(function (module, exports) {
+    (function (root, factory, undef) {
+      {
+        // CommonJS
+        module.exports = factory(core, encBase64, md5, evpkdf, cipherCore);
+      }
+    })(commonjsGlobal, function (CryptoJS) {
+      (function () {
+        var exchangeLR = // Swap bits across the left and right words
+          function exchangeLR(offset, mask) {
+            var t = ((this._lBlock >>> offset) ^ this._rBlock) & mask;
+            this._rBlock ^= t;
+            this._lBlock ^= t << offset;
+          };
+        var exchangeRL = function exchangeRL(offset, mask) {
+          var t = ((this._rBlock >>> offset) ^ this._lBlock) & mask;
+          this._lBlock ^= t;
+          this._rBlock ^= t << offset;
+        };
+        // Shortcuts
+        var C = CryptoJS;
+        var C_lib = C.lib;
+        var WordArray = C_lib.WordArray;
+        var BlockCipher = C_lib.BlockCipher;
+        var C_algo = C.algo;
+        // Permuted Choice 1 constants
+        var PC1 = [
+          57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35, 27, 19, 11,
+          3, 60, 52, 44, 36, 63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22, 14, 6, 61, 53,
+          45, 37, 29, 21, 13, 5, 28, 20, 12, 4,
+        ];
+        // Permuted Choice 2 constants
+        var PC2 = [
+          14, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10, 23, 19, 12, 4, 26, 8, 16, 7, 27, 20, 13, 2,
+          41, 52, 31, 37, 47, 55, 30, 40, 51, 45, 33, 48, 44, 49, 39, 56, 34, 53, 46, 42, 50, 36,
+          29, 32,
+        ];
+        // Cumulative bit shift constants
+        var BIT_SHIFTS = [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28];
+        // SBOXes and round permutation constants
+        var SBOX_P = [
+          {
+            0x0: 0x808200,
+            0x10000000: 0x8000,
+            0x20000000: 0x808002,
+            0x30000000: 0x2,
+            0x40000000: 0x200,
+            0x50000000: 0x808202,
+            0x60000000: 0x800202,
+            0x70000000: 0x800000,
+            0x80000000: 0x202,
+            0x90000000: 0x800200,
+            0xa0000000: 0x8200,
+            0xb0000000: 0x808000,
+            0xc0000000: 0x8002,
+            0xd0000000: 0x800002,
+            0xe0000000: 0x0,
+            0xf0000000: 0x8202,
+            0x8000000: 0x0,
+            0x18000000: 0x808202,
+            0x28000000: 0x8202,
+            0x38000000: 0x8000,
+            0x48000000: 0x808200,
+            0x58000000: 0x200,
+            0x68000000: 0x808002,
+            0x78000000: 0x2,
+            0x88000000: 0x800200,
+            0x98000000: 0x8200,
+            0xa8000000: 0x808000,
+            0xb8000000: 0x800202,
+            0xc8000000: 0x800002,
+            0xd8000000: 0x8002,
+            0xe8000000: 0x202,
+            0xf8000000: 0x800000,
+            0x1: 0x8000,
+            0x10000001: 0x2,
+            0x20000001: 0x808200,
+            0x30000001: 0x800000,
+            0x40000001: 0x808002,
+            0x50000001: 0x8200,
+            0x60000001: 0x200,
+            0x70000001: 0x800202,
+            0x80000001: 0x808202,
+            0x90000001: 0x808000,
+            0xa0000001: 0x800002,
+            0xb0000001: 0x8202,
+            0xc0000001: 0x202,
+            0xd0000001: 0x800200,
+            0xe0000001: 0x8002,
+            0xf0000001: 0x0,
+            0x8000001: 0x808202,
+            0x18000001: 0x808000,
+            0x28000001: 0x800000,
+            0x38000001: 0x200,
+            0x48000001: 0x8000,
+            0x58000001: 0x800002,
+            0x68000001: 0x2,
+            0x78000001: 0x8202,
+            0x88000001: 0x8002,
+            0x98000001: 0x800202,
+            0xa8000001: 0x202,
+            0xb8000001: 0x808200,
+            0xc8000001: 0x800200,
+            0xd8000001: 0x0,
+            0xe8000001: 0x8200,
+            0xf8000001: 0x808002,
+          },
+          {
+            0x0: 0x40084010,
+            0x1000000: 0x4000,
+            0x2000000: 0x80000,
+            0x3000000: 0x40080010,
+            0x4000000: 0x40000010,
+            0x5000000: 0x40084000,
+            0x6000000: 0x40004000,
+            0x7000000: 0x10,
+            0x8000000: 0x84000,
+            0x9000000: 0x40004010,
+            0xa000000: 0x40000000,
+            0xb000000: 0x84010,
+            0xc000000: 0x80010,
+            0xd000000: 0x0,
+            0xe000000: 0x4010,
+            0xf000000: 0x40080000,
+            0x800000: 0x40004000,
+            0x1800000: 0x84010,
+            0x2800000: 0x10,
+            0x3800000: 0x40004010,
+            0x4800000: 0x40084010,
+            0x5800000: 0x40000000,
+            0x6800000: 0x80000,
+            0x7800000: 0x40080010,
+            0x8800000: 0x80010,
+            0x9800000: 0x0,
+            0xa800000: 0x4000,
+            0xb800000: 0x40080000,
+            0xc800000: 0x40000010,
+            0xd800000: 0x84000,
+            0xe800000: 0x40084000,
+            0xf800000: 0x4010,
+            0x10000000: 0x0,
+            0x11000000: 0x40080010,
+            0x12000000: 0x40004010,
+            0x13000000: 0x40084000,
+            0x14000000: 0x40080000,
+            0x15000000: 0x10,
+            0x16000000: 0x84010,
+            0x17000000: 0x4000,
+            0x18000000: 0x4010,
+            0x19000000: 0x80000,
+            0x1a000000: 0x80010,
+            0x1b000000: 0x40000010,
+            0x1c000000: 0x84000,
+            0x1d000000: 0x40004000,
+            0x1e000000: 0x40000000,
+            0x1f000000: 0x40084010,
+            0x10800000: 0x84010,
+            0x11800000: 0x80000,
+            0x12800000: 0x40080000,
+            0x13800000: 0x4000,
+            0x14800000: 0x40004000,
+            0x15800000: 0x40084010,
+            0x16800000: 0x10,
+            0x17800000: 0x40000000,
+            0x18800000: 0x40084000,
+            0x19800000: 0x40000010,
+            0x1a800000: 0x40004010,
+            0x1b800000: 0x80010,
+            0x1c800000: 0x0,
+            0x1d800000: 0x4010,
+            0x1e800000: 0x40080010,
+            0x1f800000: 0x84000,
+          },
+          {
+            0x0: 0x104,
+            0x100000: 0x0,
+            0x200000: 0x4000100,
+            0x300000: 0x10104,
+            0x400000: 0x10004,
+            0x500000: 0x4000004,
+            0x600000: 0x4010104,
+            0x700000: 0x4010000,
+            0x800000: 0x4000000,
+            0x900000: 0x4010100,
+            0xa00000: 0x10100,
+            0xb00000: 0x4010004,
+            0xc00000: 0x4000104,
+            0xd00000: 0x10000,
+            0xe00000: 0x4,
+            0xf00000: 0x100,
+            0x80000: 0x4010100,
+            0x180000: 0x4010004,
+            0x280000: 0x0,
+            0x380000: 0x4000100,
+            0x480000: 0x4000004,
+            0x580000: 0x10000,
+            0x680000: 0x10004,
+            0x780000: 0x104,
+            0x880000: 0x4,
+            0x980000: 0x100,
+            0xa80000: 0x4010000,
+            0xb80000: 0x10104,
+            0xc80000: 0x10100,
+            0xd80000: 0x4000104,
+            0xe80000: 0x4010104,
+            0xf80000: 0x4000000,
+            0x1000000: 0x4010100,
+            0x1100000: 0x10004,
+            0x1200000: 0x10000,
+            0x1300000: 0x4000100,
+            0x1400000: 0x100,
+            0x1500000: 0x4010104,
+            0x1600000: 0x4000004,
+            0x1700000: 0x0,
+            0x1800000: 0x4000104,
+            0x1900000: 0x4000000,
+            0x1a00000: 0x4,
+            0x1b00000: 0x10100,
+            0x1c00000: 0x4010000,
+            0x1d00000: 0x104,
+            0x1e00000: 0x10104,
+            0x1f00000: 0x4010004,
+            0x1080000: 0x4000000,
+            0x1180000: 0x104,
+            0x1280000: 0x4010100,
+            0x1380000: 0x0,
+            0x1480000: 0x10004,
+            0x1580000: 0x4000100,
+            0x1680000: 0x100,
+            0x1780000: 0x4010004,
+            0x1880000: 0x10000,
+            0x1980000: 0x4010104,
+            0x1a80000: 0x10104,
+            0x1b80000: 0x4000004,
+            0x1c80000: 0x4000104,
+            0x1d80000: 0x4010000,
+            0x1e80000: 0x4,
+            0x1f80000: 0x10100,
+          },
+          {
+            0x0: 0x80401000,
+            0x10000: 0x80001040,
+            0x20000: 0x401040,
+            0x30000: 0x80400000,
+            0x40000: 0x0,
+            0x50000: 0x401000,
+            0x60000: 0x80000040,
+            0x70000: 0x400040,
+            0x80000: 0x80000000,
+            0x90000: 0x400000,
+            0xa0000: 0x40,
+            0xb0000: 0x80001000,
+            0xc0000: 0x80400040,
+            0xd0000: 0x1040,
+            0xe0000: 0x1000,
+            0xf0000: 0x80401040,
+            0x8000: 0x80001040,
+            0x18000: 0x40,
+            0x28000: 0x80400040,
+            0x38000: 0x80001000,
+            0x48000: 0x401000,
+            0x58000: 0x80401040,
+            0x68000: 0x0,
+            0x78000: 0x80400000,
+            0x88000: 0x1000,
+            0x98000: 0x80401000,
+            0xa8000: 0x400000,
+            0xb8000: 0x1040,
+            0xc8000: 0x80000000,
+            0xd8000: 0x400040,
+            0xe8000: 0x401040,
+            0xf8000: 0x80000040,
+            0x100000: 0x400040,
+            0x110000: 0x401000,
+            0x120000: 0x80000040,
+            0x130000: 0x0,
+            0x140000: 0x1040,
+            0x150000: 0x80400040,
+            0x160000: 0x80401000,
+            0x170000: 0x80001040,
+            0x180000: 0x80401040,
+            0x190000: 0x80000000,
+            0x1a0000: 0x80400000,
+            0x1b0000: 0x401040,
+            0x1c0000: 0x80001000,
+            0x1d0000: 0x400000,
+            0x1e0000: 0x40,
+            0x1f0000: 0x1000,
+            0x108000: 0x80400000,
+            0x118000: 0x80401040,
+            0x128000: 0x0,
+            0x138000: 0x401000,
+            0x148000: 0x400040,
+            0x158000: 0x80000000,
+            0x168000: 0x80001040,
+            0x178000: 0x40,
+            0x188000: 0x80000040,
+            0x198000: 0x1000,
+            0x1a8000: 0x80001000,
+            0x1b8000: 0x80400040,
+            0x1c8000: 0x1040,
+            0x1d8000: 0x80401000,
+            0x1e8000: 0x400000,
+            0x1f8000: 0x401040,
+          },
+          {
+            0x0: 0x80,
+            0x1000: 0x1040000,
+            0x2000: 0x40000,
+            0x3000: 0x20000000,
+            0x4000: 0x20040080,
+            0x5000: 0x1000080,
+            0x6000: 0x21000080,
+            0x7000: 0x40080,
+            0x8000: 0x1000000,
+            0x9000: 0x20040000,
+            0xa000: 0x20000080,
+            0xb000: 0x21040080,
+            0xc000: 0x21040000,
+            0xd000: 0x0,
+            0xe000: 0x1040080,
+            0xf000: 0x21000000,
+            0x800: 0x1040080,
+            0x1800: 0x21000080,
+            0x2800: 0x80,
+            0x3800: 0x1040000,
+            0x4800: 0x40000,
+            0x5800: 0x20040080,
+            0x6800: 0x21040000,
+            0x7800: 0x20000000,
+            0x8800: 0x20040000,
+            0x9800: 0x0,
+            0xa800: 0x21040080,
+            0xb800: 0x1000080,
+            0xc800: 0x20000080,
+            0xd800: 0x21000000,
+            0xe800: 0x1000000,
+            0xf800: 0x40080,
+            0x10000: 0x40000,
+            0x11000: 0x80,
+            0x12000: 0x20000000,
+            0x13000: 0x21000080,
+            0x14000: 0x1000080,
+            0x15000: 0x21040000,
+            0x16000: 0x20040080,
+            0x17000: 0x1000000,
+            0x18000: 0x21040080,
+            0x19000: 0x21000000,
+            0x1a000: 0x1040000,
+            0x1b000: 0x20040000,
+            0x1c000: 0x40080,
+            0x1d000: 0x20000080,
+            0x1e000: 0x0,
+            0x1f000: 0x1040080,
+            0x10800: 0x21000080,
+            0x11800: 0x1000000,
+            0x12800: 0x1040000,
+            0x13800: 0x20040080,
+            0x14800: 0x20000000,
+            0x15800: 0x1040080,
+            0x16800: 0x80,
+            0x17800: 0x21040000,
+            0x18800: 0x40080,
+            0x19800: 0x21040080,
+            0x1a800: 0x0,
+            0x1b800: 0x21000000,
+            0x1c800: 0x1000080,
+            0x1d800: 0x40000,
+            0x1e800: 0x20040000,
+            0x1f800: 0x20000080,
+          },
+          {
+            0x0: 0x10000008,
+            0x100: 0x2000,
+            0x200: 0x10200000,
+            0x300: 0x10202008,
+            0x400: 0x10002000,
+            0x500: 0x200000,
+            0x600: 0x200008,
+            0x700: 0x10000000,
+            0x800: 0x0,
+            0x900: 0x10002008,
+            0xa00: 0x202000,
+            0xb00: 0x8,
+            0xc00: 0x10200008,
+            0xd00: 0x202008,
+            0xe00: 0x2008,
+            0xf00: 0x10202000,
+            0x80: 0x10200000,
+            0x180: 0x10202008,
+            0x280: 0x8,
+            0x380: 0x200000,
+            0x480: 0x202008,
+            0x580: 0x10000008,
+            0x680: 0x10002000,
+            0x780: 0x2008,
+            0x880: 0x200008,
+            0x980: 0x2000,
+            0xa80: 0x10002008,
+            0xb80: 0x10200008,
+            0xc80: 0x0,
+            0xd80: 0x10202000,
+            0xe80: 0x202000,
+            0xf80: 0x10000000,
+            0x1000: 0x10002000,
+            0x1100: 0x10200008,
+            0x1200: 0x10202008,
+            0x1300: 0x2008,
+            0x1400: 0x200000,
+            0x1500: 0x10000000,
+            0x1600: 0x10000008,
+            0x1700: 0x202000,
+            0x1800: 0x202008,
+            0x1900: 0x0,
+            0x1a00: 0x8,
+            0x1b00: 0x10200000,
+            0x1c00: 0x2000,
+            0x1d00: 0x10002008,
+            0x1e00: 0x10202000,
+            0x1f00: 0x200008,
+            0x1080: 0x8,
+            0x1180: 0x202000,
+            0x1280: 0x200000,
+            0x1380: 0x10000008,
+            0x1480: 0x10002000,
+            0x1580: 0x2008,
+            0x1680: 0x10202008,
+            0x1780: 0x10200000,
+            0x1880: 0x10202000,
+            0x1980: 0x10200008,
+            0x1a80: 0x2000,
+            0x1b80: 0x202008,
+            0x1c80: 0x200008,
+            0x1d80: 0x0,
+            0x1e80: 0x10000000,
+            0x1f80: 0x10002008,
+          },
+          {
+            0x0: 0x100000,
+            0x10: 0x2000401,
+            0x20: 0x400,
+            0x30: 0x100401,
+            0x40: 0x2100401,
+            0x50: 0x0,
+            0x60: 0x1,
+            0x70: 0x2100001,
+            0x80: 0x2000400,
+            0x90: 0x100001,
+            0xa0: 0x2000001,
+            0xb0: 0x2100400,
+            0xc0: 0x2100000,
+            0xd0: 0x401,
+            0xe0: 0x100400,
+            0xf0: 0x2000000,
+            0x8: 0x2100001,
+            0x18: 0x0,
+            0x28: 0x2000401,
+            0x38: 0x2100400,
+            0x48: 0x100000,
+            0x58: 0x2000001,
+            0x68: 0x2000000,
+            0x78: 0x401,
+            0x88: 0x100401,
+            0x98: 0x2000400,
+            0xa8: 0x2100000,
+            0xb8: 0x100001,
+            0xc8: 0x400,
+            0xd8: 0x2100401,
+            0xe8: 0x1,
+            0xf8: 0x100400,
+            0x100: 0x2000000,
+            0x110: 0x100000,
+            0x120: 0x2000401,
+            0x130: 0x2100001,
+            0x140: 0x100001,
+            0x150: 0x2000400,
+            0x160: 0x2100400,
+            0x170: 0x100401,
+            0x180: 0x401,
+            0x190: 0x2100401,
+            0x1a0: 0x100400,
+            0x1b0: 0x1,
+            0x1c0: 0x0,
+            0x1d0: 0x2100000,
+            0x1e0: 0x2000001,
+            0x1f0: 0x400,
+            0x108: 0x100400,
+            0x118: 0x2000401,
+            0x128: 0x2100001,
+            0x138: 0x1,
+            0x148: 0x2000000,
+            0x158: 0x100000,
+            0x168: 0x401,
+            0x178: 0x2100400,
+            0x188: 0x2000001,
+            0x198: 0x2100000,
+            0x1a8: 0x0,
+            0x1b8: 0x2100401,
+            0x1c8: 0x100401,
+            0x1d8: 0x400,
+            0x1e8: 0x2000400,
+            0x1f8: 0x100001,
+          },
+          {
+            0x0: 0x8000820,
+            0x1: 0x20000,
+            0x2: 0x8000000,
+            0x3: 0x20,
+            0x4: 0x20020,
+            0x5: 0x8020820,
+            0x6: 0x8020800,
+            0x7: 0x800,
+            0x8: 0x8020000,
+            0x9: 0x8000800,
+            0xa: 0x20800,
+            0xb: 0x8020020,
+            0xc: 0x820,
+            0xd: 0x0,
+            0xe: 0x8000020,
+            0xf: 0x20820,
+            0x80000000: 0x800,
+            0x80000001: 0x8020820,
+            0x80000002: 0x8000820,
+            0x80000003: 0x8000000,
+            0x80000004: 0x8020000,
+            0x80000005: 0x20800,
+            0x80000006: 0x20820,
+            0x80000007: 0x20,
+            0x80000008: 0x8000020,
+            0x80000009: 0x820,
+            0x8000000a: 0x20020,
+            0x8000000b: 0x8020800,
+            0x8000000c: 0x0,
+            0x8000000d: 0x8020020,
+            0x8000000e: 0x8000800,
+            0x8000000f: 0x20000,
+            0x10: 0x20820,
+            0x11: 0x8020800,
+            0x12: 0x20,
+            0x13: 0x800,
+            0x14: 0x8000800,
+            0x15: 0x8000020,
+            0x16: 0x8020020,
+            0x17: 0x20000,
+            0x18: 0x0,
+            0x19: 0x20020,
+            0x1a: 0x8020000,
+            0x1b: 0x8000820,
+            0x1c: 0x8020820,
+            0x1d: 0x20800,
+            0x1e: 0x820,
+            0x1f: 0x8000000,
+            0x80000010: 0x20000,
+            0x80000011: 0x800,
+            0x80000012: 0x8020020,
+            0x80000013: 0x20820,
+            0x80000014: 0x20,
+            0x80000015: 0x8020000,
+            0x80000016: 0x8000000,
+            0x80000017: 0x8000820,
+            0x80000018: 0x8020820,
+            0x80000019: 0x8000020,
+            0x8000001a: 0x8000800,
+            0x8000001b: 0x0,
+            0x8000001c: 0x20800,
+            0x8000001d: 0x820,
+            0x8000001e: 0x20020,
+            0x8000001f: 0x8020800,
+          },
+        ];
+        // Masks that select the SBOX input
+        var SBOX_MASK = [
+          0xf8000001, 0x1f800000, 0x01f80000, 0x001f8000, 0x0001f800, 0x00001f80, 0x000001f8,
+          0x8000001f,
+        ];
+        /**
+         * DES block cipher algorithm.
+         */ var DES = (C_algo.DES = BlockCipher.extend({
+          _doReset: function _doReset() {
+            // Shortcuts
+            var key = this._key;
+            var keyWords = key.words;
+            // Select 56 bits according to PC1
+            var keyBits = [];
+            for (var i = 0; i < 56; i++) {
+              var keyBitPos = PC1[i] - 1;
+              keyBits[i] = (keyWords[keyBitPos >>> 5] >>> (31 - (keyBitPos % 32))) & 1;
+            }
+            // Assemble 16 subkeys
+            var subKeys = (this._subKeys = []);
+            for (var nSubKey = 0; nSubKey < 16; nSubKey++) {
+              // Create subkey
+              var subKey = (subKeys[nSubKey] = []);
+              // Shortcut
+              var bitShift = BIT_SHIFTS[nSubKey];
+              // Select 48 bits according to PC2
+              for (var i = 0; i < 24; i++) {
+                // Select from the left 28 key bits
+                subKey[(i / 6) | 0] |= keyBits[(PC2[i] - 1 + bitShift) % 28] << (31 - (i % 6));
+                // Select from the right 28 key bits
+                subKey[4 + ((i / 6) | 0)] |=
+                  keyBits[28 + ((PC2[i + 24] - 1 + bitShift) % 28)] << (31 - (i % 6));
+              }
+              // Since each subkey is applied to an expanded 32-bit input,
+              // the subkey can be broken into 8 values scaled to 32-bits,
+              // which allows the key to be used without expansion
+              subKey[0] = (subKey[0] << 1) | (subKey[0] >>> 31);
+              for (var i = 1; i < 7; i++) {
+                subKey[i] = subKey[i] >>> ((i - 1) * 4 + 3);
+              }
+              subKey[7] = (subKey[7] << 5) | (subKey[7] >>> 27);
+            }
+            // Compute inverse subkeys
+            var invSubKeys = (this._invSubKeys = []);
+            for (var i = 0; i < 16; i++) {
+              invSubKeys[i] = subKeys[15 - i];
+            }
+          },
+          encryptBlock: function encryptBlock(M, offset) {
+            this._doCryptBlock(M, offset, this._subKeys);
+          },
+          decryptBlock: function decryptBlock(M, offset) {
+            this._doCryptBlock(M, offset, this._invSubKeys);
+          },
+          _doCryptBlock: function _doCryptBlock(M, offset, subKeys) {
+            // Get input
+            this._lBlock = M[offset];
+            this._rBlock = M[offset + 1];
+            // Initial permutation
+            exchangeLR.call(this, 4, 0x0f0f0f0f);
+            exchangeLR.call(this, 16, 0x0000ffff);
+            exchangeRL.call(this, 2, 0x33333333);
+            exchangeRL.call(this, 8, 0x00ff00ff);
+            exchangeLR.call(this, 1, 0x55555555);
+            // Rounds
+            for (var round = 0; round < 16; round++) {
+              // Shortcuts
+              var subKey = subKeys[round];
+              var lBlock = this._lBlock;
+              var rBlock = this._rBlock;
+              // Feistel function
+              var f = 0;
+              for (var i = 0; i < 8; i++) {
+                f |= SBOX_P[i][((rBlock ^ subKey[i]) & SBOX_MASK[i]) >>> 0];
+              }
+              this._lBlock = rBlock;
+              this._rBlock = lBlock ^ f;
+            }
+            // Undo swap from last round
+            var t = this._lBlock;
+            this._lBlock = this._rBlock;
+            this._rBlock = t;
+            // Final permutation
+            exchangeLR.call(this, 1, 0x55555555);
+            exchangeRL.call(this, 8, 0x00ff00ff);
+            exchangeRL.call(this, 2, 0x33333333);
+            exchangeLR.call(this, 16, 0x0000ffff);
+            exchangeLR.call(this, 4, 0x0f0f0f0f);
+            // Set output
+            M[offset] = this._lBlock;
+            M[offset + 1] = this._rBlock;
+          },
+          keySize: 64 / 32,
+          ivSize: 64 / 32,
+          blockSize: 64 / 32,
+        }));
+        /**
+         * Shortcut functions to the cipher's object interface.
+         *
+         * @example
+         *
+         *     var ciphertext = CryptoJS.DES.encrypt(message, key, cfg);
+         *     var plaintext  = CryptoJS.DES.decrypt(ciphertext, key, cfg);
+         */ C.DES = BlockCipher._createHelper(DES);
+        /**
+         * Triple-DES block cipher algorithm.
+         */ var TripleDES = (C_algo.TripleDES = BlockCipher.extend({
+          _doReset: function _doReset() {
+            // Shortcuts
+            var key = this._key;
+            var keyWords = key.words;
+            // Make sure the key length is valid (64, 128 or >= 192 bit)
+            if (keyWords.length !== 2 && keyWords.length !== 4 && keyWords.length < 6) {
+              throw new Error(
+                "Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192."
+              );
+            }
+            // Extend the key according to the keying options defined in 3DES standard
+            var key1 = keyWords.slice(0, 2);
+            var key2 = keyWords.length < 4 ? keyWords.slice(0, 2) : keyWords.slice(2, 4);
+            var key3 = keyWords.length < 6 ? keyWords.slice(0, 2) : keyWords.slice(4, 6);
+            // Create DES instances
+            this._des1 = DES.createEncryptor(WordArray.create(key1));
+            this._des2 = DES.createEncryptor(WordArray.create(key2));
+            this._des3 = DES.createEncryptor(WordArray.create(key3));
+          },
+          encryptBlock: function encryptBlock(M, offset) {
+            this._des1.encryptBlock(M, offset);
+            this._des2.decryptBlock(M, offset);
+            this._des3.encryptBlock(M, offset);
+          },
+          decryptBlock: function decryptBlock(M, offset) {
+            this._des3.decryptBlock(M, offset);
+            this._des2.encryptBlock(M, offset);
+            this._des1.decryptBlock(M, offset);
+          },
+          keySize: 192 / 32,
+          ivSize: 64 / 32,
+          blockSize: 64 / 32,
+        }));
+        /**
+         * Shortcut functions to the cipher's object interface.
+         *
+         * @example
+         *
+         *     var ciphertext = CryptoJS.TripleDES.encrypt(message, key, cfg);
+         *     var plaintext  = CryptoJS.TripleDES.decrypt(ciphertext, key, cfg);
+         */ C.TripleDES = BlockCipher._createHelper(TripleDES);
+      })();
+      return CryptoJS.TripleDES;
+    });
+  });
+
+  var rc4 = createCommonjsModule(function (module, exports) {
+    (function (root, factory, undef) {
+      {
+        // CommonJS
+        module.exports = factory(core, encBase64, md5, evpkdf, cipherCore);
+      }
+    })(commonjsGlobal, function (CryptoJS) {
+      (function () {
+        var generateKeystreamWord = function generateKeystreamWord() {
+          // Shortcuts
+          var S = this._S;
+          var i = this._i;
+          var j = this._j;
+          // Generate keystream word
+          var keystreamWord = 0;
+          for (var n = 0; n < 4; n++) {
+            i = (i + 1) % 256;
+            j = (j + S[i]) % 256;
+            // Swap
+            var t = S[i];
+            S[i] = S[j];
+            S[j] = t;
+            keystreamWord |= S[(S[i] + S[j]) % 256] << (24 - n * 8);
+          }
+          // Update counters
+          this._i = i;
+          this._j = j;
+          return keystreamWord;
+        };
+        // Shortcuts
+        var C = CryptoJS;
+        var C_lib = C.lib;
+        var StreamCipher = C_lib.StreamCipher;
+        var C_algo = C.algo;
+        /**
+         * RC4 stream cipher algorithm.
+         */ var RC4 = (C_algo.RC4 = StreamCipher.extend({
+          _doReset: function _doReset() {
+            // Shortcuts
+            var key = this._key;
+            var keyWords = key.words;
+            var keySigBytes = key.sigBytes;
+            // Init sbox
+            var S = (this._S = []);
+            for (var i = 0; i < 256; i++) {
+              S[i] = i;
+            }
+            // Key setup
+            for (var i = 0, j = 0; i < 256; i++) {
+              var keyByteIndex = i % keySigBytes;
+              var keyByte = (keyWords[keyByteIndex >>> 2] >>> (24 - (keyByteIndex % 4) * 8)) & 0xff;
+              j = (j + S[i] + keyByte) % 256;
+              // Swap
+              var t = S[i];
+              S[i] = S[j];
+              S[j] = t;
+            }
+            // Counters
+            this._i = this._j = 0;
+          },
+          _doProcessBlock: function _doProcessBlock(M, offset) {
+            M[offset] ^= generateKeystreamWord.call(this);
+          },
+          keySize: 256 / 32,
+          ivSize: 0,
+        }));
+        /**
+         * Shortcut functions to the cipher's object interface.
+         *
+         * @example
+         *
+         *     var ciphertext = CryptoJS.RC4.encrypt(message, key, cfg);
+         *     var plaintext  = CryptoJS.RC4.decrypt(ciphertext, key, cfg);
+         */ C.RC4 = StreamCipher._createHelper(RC4);
+        /**
+         * Modified RC4 stream cipher algorithm.
+         */ var RC4Drop = (C_algo.RC4Drop = RC4.extend({
+          /**
+           * Configuration options.
+           *
+           * @property {number} drop The number of keystream words to drop. Default 192
+           */ cfg: RC4.cfg.extend({
+            drop: 192,
+          }),
+          _doReset: function _doReset() {
+            RC4._doReset.call(this);
+            // Drop
+            for (var i = this.cfg.drop; i > 0; i--) {
+              generateKeystreamWord.call(this);
+            }
+          },
+        }));
+        /**
+         * Shortcut functions to the cipher's object interface.
+         *
+         * @example
+         *
+         *     var ciphertext = CryptoJS.RC4Drop.encrypt(message, key, cfg);
+         *     var plaintext  = CryptoJS.RC4Drop.decrypt(ciphertext, key, cfg);
+         */ C.RC4Drop = StreamCipher._createHelper(RC4Drop);
+      })();
+      return CryptoJS.RC4;
+    });
+  });
+
+  var rabbit = createCommonjsModule(function (module, exports) {
+    (function (root, factory, undef) {
+      {
+        // CommonJS
+        module.exports = factory(core, encBase64, md5, evpkdf, cipherCore);
+      }
+    })(commonjsGlobal, function (CryptoJS) {
+      (function () {
+        var nextState = function nextState() {
+          // Shortcuts
+          var X = this._X;
+          var C = this._C;
+          // Save old counter values
+          for (var i = 0; i < 8; i++) {
+            C_[i] = C[i];
+          }
+          // Calculate new counter values
+          C[0] = (C[0] + 0x4d34d34d + this._b) | 0;
+          C[1] = (C[1] + 0xd34d34d3 + (C[0] >>> 0 < C_[0] >>> 0 ? 1 : 0)) | 0;
+          C[2] = (C[2] + 0x34d34d34 + (C[1] >>> 0 < C_[1] >>> 0 ? 1 : 0)) | 0;
+          C[3] = (C[3] + 0x4d34d34d + (C[2] >>> 0 < C_[2] >>> 0 ? 1 : 0)) | 0;
+          C[4] = (C[4] + 0xd34d34d3 + (C[3] >>> 0 < C_[3] >>> 0 ? 1 : 0)) | 0;
+          C[5] = (C[5] + 0x34d34d34 + (C[4] >>> 0 < C_[4] >>> 0 ? 1 : 0)) | 0;
+          C[6] = (C[6] + 0x4d34d34d + (C[5] >>> 0 < C_[5] >>> 0 ? 1 : 0)) | 0;
+          C[7] = (C[7] + 0xd34d34d3 + (C[6] >>> 0 < C_[6] >>> 0 ? 1 : 0)) | 0;
+          this._b = C[7] >>> 0 < C_[7] >>> 0 ? 1 : 0;
+          // Calculate the g-values
+          for (var i = 0; i < 8; i++) {
+            var gx = X[i] + C[i];
+            // Construct high and low argument for squaring
+            var ga = gx & 0xffff;
+            var gb = gx >>> 16;
+            // Calculate high and low result of squaring
+            var gh = ((((ga * ga) >>> 17) + ga * gb) >>> 15) + gb * gb;
+            var gl = (((gx & 0xffff0000) * gx) | 0) + (((gx & 0x0000ffff) * gx) | 0);
+            // High XOR low
+            G[i] = gh ^ gl;
+          }
+          // Calculate new state values
+          X[0] = (G[0] + ((G[7] << 16) | (G[7] >>> 16)) + ((G[6] << 16) | (G[6] >>> 16))) | 0;
+          X[1] = (G[1] + ((G[0] << 8) | (G[0] >>> 24)) + G[7]) | 0;
+          X[2] = (G[2] + ((G[1] << 16) | (G[1] >>> 16)) + ((G[0] << 16) | (G[0] >>> 16))) | 0;
+          X[3] = (G[3] + ((G[2] << 8) | (G[2] >>> 24)) + G[1]) | 0;
+          X[4] = (G[4] + ((G[3] << 16) | (G[3] >>> 16)) + ((G[2] << 16) | (G[2] >>> 16))) | 0;
+          X[5] = (G[5] + ((G[4] << 8) | (G[4] >>> 24)) + G[3]) | 0;
+          X[6] = (G[6] + ((G[5] << 16) | (G[5] >>> 16)) + ((G[4] << 16) | (G[4] >>> 16))) | 0;
+          X[7] = (G[7] + ((G[6] << 8) | (G[6] >>> 24)) + G[5]) | 0;
+        };
+        // Shortcuts
+        var C = CryptoJS;
+        var C_lib = C.lib;
+        var StreamCipher = C_lib.StreamCipher;
+        var C_algo = C.algo;
+        // Reusable objects
+        var S = [];
+        var C_ = [];
+        var G = [];
+        /**
+         * Rabbit stream cipher algorithm
+         */ var Rabbit = (C_algo.Rabbit = StreamCipher.extend({
+          _doReset: function _doReset() {
+            // Shortcuts
+            var K = this._key.words;
+            var iv = this.cfg.iv;
+            // Swap endian
+            for (var i = 0; i < 4; i++) {
+              K[i] =
+                (((K[i] << 8) | (K[i] >>> 24)) & 0x00ff00ff) |
+                (((K[i] << 24) | (K[i] >>> 8)) & 0xff00ff00);
+            }
+            // Generate initial state values
+            var X = (this._X = [
+              K[0],
+              (K[3] << 16) | (K[2] >>> 16),
+              K[1],
+              (K[0] << 16) | (K[3] >>> 16),
+              K[2],
+              (K[1] << 16) | (K[0] >>> 16),
+              K[3],
+              (K[2] << 16) | (K[1] >>> 16),
+            ]);
+            // Generate initial counter values
+            var C = (this._C = [
+              (K[2] << 16) | (K[2] >>> 16),
+              (K[0] & 0xffff0000) | (K[1] & 0x0000ffff),
+              (K[3] << 16) | (K[3] >>> 16),
+              (K[1] & 0xffff0000) | (K[2] & 0x0000ffff),
+              (K[0] << 16) | (K[0] >>> 16),
+              (K[2] & 0xffff0000) | (K[3] & 0x0000ffff),
+              (K[1] << 16) | (K[1] >>> 16),
+              (K[3] & 0xffff0000) | (K[0] & 0x0000ffff),
+            ]);
+            // Carry bit
+            this._b = 0;
+            // Iterate the system four times
+            for (var i = 0; i < 4; i++) {
+              nextState.call(this);
+            }
+            // Modify the counters
+            for (var i = 0; i < 8; i++) {
+              C[i] ^= X[(i + 4) & 7];
+            }
+            // IV setup
+            if (iv) {
+              // Shortcuts
+              var IV = iv.words;
+              var IV_0 = IV[0];
+              var IV_1 = IV[1];
+              // Generate four subvectors
+              var i0 =
+                (((IV_0 << 8) | (IV_0 >>> 24)) & 0x00ff00ff) |
+                (((IV_0 << 24) | (IV_0 >>> 8)) & 0xff00ff00);
+              var i2 =
+                (((IV_1 << 8) | (IV_1 >>> 24)) & 0x00ff00ff) |
+                (((IV_1 << 24) | (IV_1 >>> 8)) & 0xff00ff00);
+              var i1 = (i0 >>> 16) | (i2 & 0xffff0000);
+              var i3 = (i2 << 16) | (i0 & 0x0000ffff);
+              // Modify counter values
+              C[0] ^= i0;
+              C[1] ^= i1;
+              C[2] ^= i2;
+              C[3] ^= i3;
+              C[4] ^= i0;
+              C[5] ^= i1;
+              C[6] ^= i2;
+              C[7] ^= i3;
+              // Iterate the system four times
+              for (var i = 0; i < 4; i++) {
+                nextState.call(this);
+              }
+            }
+          },
+          _doProcessBlock: function _doProcessBlock(M, offset) {
+            // Shortcut
+            var X = this._X;
+            // Iterate the system
+            nextState.call(this);
+            // Generate four keystream words
+            S[0] = X[0] ^ (X[5] >>> 16) ^ (X[3] << 16);
+            S[1] = X[2] ^ (X[7] >>> 16) ^ (X[5] << 16);
+            S[2] = X[4] ^ (X[1] >>> 16) ^ (X[7] << 16);
+            S[3] = X[6] ^ (X[3] >>> 16) ^ (X[1] << 16);
+            for (var i = 0; i < 4; i++) {
+              // Swap endian
+              S[i] =
+                (((S[i] << 8) | (S[i] >>> 24)) & 0x00ff00ff) |
+                (((S[i] << 24) | (S[i] >>> 8)) & 0xff00ff00);
+              // Encrypt
+              M[offset + i] ^= S[i];
+            }
+          },
+          blockSize: 128 / 32,
+          ivSize: 64 / 32,
+        }));
+        /**
+         * Shortcut functions to the cipher's object interface.
+         *
+         * @example
+         *
+         *     var ciphertext = CryptoJS.Rabbit.encrypt(message, key, cfg);
+         *     var plaintext  = CryptoJS.Rabbit.decrypt(ciphertext, key, cfg);
+         */ C.Rabbit = StreamCipher._createHelper(Rabbit);
+      })();
+      return CryptoJS.Rabbit;
+    });
+  });
+
+  var rabbitLegacy = createCommonjsModule(function (module, exports) {
+    (function (root, factory, undef) {
+      {
+        // CommonJS
+        module.exports = factory(core, encBase64, md5, evpkdf, cipherCore);
+      }
+    })(commonjsGlobal, function (CryptoJS) {
+      (function () {
+        var nextState = function nextState() {
+          // Shortcuts
+          var X = this._X;
+          var C = this._C;
+          // Save old counter values
+          for (var i = 0; i < 8; i++) {
+            C_[i] = C[i];
+          }
+          // Calculate new counter values
+          C[0] = (C[0] + 0x4d34d34d + this._b) | 0;
+          C[1] = (C[1] + 0xd34d34d3 + (C[0] >>> 0 < C_[0] >>> 0 ? 1 : 0)) | 0;
+          C[2] = (C[2] + 0x34d34d34 + (C[1] >>> 0 < C_[1] >>> 0 ? 1 : 0)) | 0;
+          C[3] = (C[3] + 0x4d34d34d + (C[2] >>> 0 < C_[2] >>> 0 ? 1 : 0)) | 0;
+          C[4] = (C[4] + 0xd34d34d3 + (C[3] >>> 0 < C_[3] >>> 0 ? 1 : 0)) | 0;
+          C[5] = (C[5] + 0x34d34d34 + (C[4] >>> 0 < C_[4] >>> 0 ? 1 : 0)) | 0;
+          C[6] = (C[6] + 0x4d34d34d + (C[5] >>> 0 < C_[5] >>> 0 ? 1 : 0)) | 0;
+          C[7] = (C[7] + 0xd34d34d3 + (C[6] >>> 0 < C_[6] >>> 0 ? 1 : 0)) | 0;
+          this._b = C[7] >>> 0 < C_[7] >>> 0 ? 1 : 0;
+          // Calculate the g-values
+          for (var i = 0; i < 8; i++) {
+            var gx = X[i] + C[i];
+            // Construct high and low argument for squaring
+            var ga = gx & 0xffff;
+            var gb = gx >>> 16;
+            // Calculate high and low result of squaring
+            var gh = ((((ga * ga) >>> 17) + ga * gb) >>> 15) + gb * gb;
+            var gl = (((gx & 0xffff0000) * gx) | 0) + (((gx & 0x0000ffff) * gx) | 0);
+            // High XOR low
+            G[i] = gh ^ gl;
+          }
+          // Calculate new state values
+          X[0] = (G[0] + ((G[7] << 16) | (G[7] >>> 16)) + ((G[6] << 16) | (G[6] >>> 16))) | 0;
+          X[1] = (G[1] + ((G[0] << 8) | (G[0] >>> 24)) + G[7]) | 0;
+          X[2] = (G[2] + ((G[1] << 16) | (G[1] >>> 16)) + ((G[0] << 16) | (G[0] >>> 16))) | 0;
+          X[3] = (G[3] + ((G[2] << 8) | (G[2] >>> 24)) + G[1]) | 0;
+          X[4] = (G[4] + ((G[3] << 16) | (G[3] >>> 16)) + ((G[2] << 16) | (G[2] >>> 16))) | 0;
+          X[5] = (G[5] + ((G[4] << 8) | (G[4] >>> 24)) + G[3]) | 0;
+          X[6] = (G[6] + ((G[5] << 16) | (G[5] >>> 16)) + ((G[4] << 16) | (G[4] >>> 16))) | 0;
+          X[7] = (G[7] + ((G[6] << 8) | (G[6] >>> 24)) + G[5]) | 0;
+        };
+        // Shortcuts
+        var C = CryptoJS;
+        var C_lib = C.lib;
+        var StreamCipher = C_lib.StreamCipher;
+        var C_algo = C.algo;
+        // Reusable objects
+        var S = [];
+        var C_ = [];
+        var G = [];
+        /**
+         * Rabbit stream cipher algorithm.
+         *
+         * This is a legacy version that neglected to convert the key to little-endian.
+         * This error doesn't affect the cipher's security,
+         * but it does affect its compatibility with other implementations.
+         */ var RabbitLegacy = (C_algo.RabbitLegacy = StreamCipher.extend({
+          _doReset: function _doReset() {
+            // Shortcuts
+            var K = this._key.words;
+            var iv = this.cfg.iv;
+            // Generate initial state values
+            var X = (this._X = [
+              K[0],
+              (K[3] << 16) | (K[2] >>> 16),
+              K[1],
+              (K[0] << 16) | (K[3] >>> 16),
+              K[2],
+              (K[1] << 16) | (K[0] >>> 16),
+              K[3],
+              (K[2] << 16) | (K[1] >>> 16),
+            ]);
+            // Generate initial counter values
+            var C = (this._C = [
+              (K[2] << 16) | (K[2] >>> 16),
+              (K[0] & 0xffff0000) | (K[1] & 0x0000ffff),
+              (K[3] << 16) | (K[3] >>> 16),
+              (K[1] & 0xffff0000) | (K[2] & 0x0000ffff),
+              (K[0] << 16) | (K[0] >>> 16),
+              (K[2] & 0xffff0000) | (K[3] & 0x0000ffff),
+              (K[1] << 16) | (K[1] >>> 16),
+              (K[3] & 0xffff0000) | (K[0] & 0x0000ffff),
+            ]);
+            // Carry bit
+            this._b = 0;
+            // Iterate the system four times
+            for (var i = 0; i < 4; i++) {
+              nextState.call(this);
+            }
+            // Modify the counters
+            for (var i = 0; i < 8; i++) {
+              C[i] ^= X[(i + 4) & 7];
+            }
+            // IV setup
+            if (iv) {
+              // Shortcuts
+              var IV = iv.words;
+              var IV_0 = IV[0];
+              var IV_1 = IV[1];
+              // Generate four subvectors
+              var i0 =
+                (((IV_0 << 8) | (IV_0 >>> 24)) & 0x00ff00ff) |
+                (((IV_0 << 24) | (IV_0 >>> 8)) & 0xff00ff00);
+              var i2 =
+                (((IV_1 << 8) | (IV_1 >>> 24)) & 0x00ff00ff) |
+                (((IV_1 << 24) | (IV_1 >>> 8)) & 0xff00ff00);
+              var i1 = (i0 >>> 16) | (i2 & 0xffff0000);
+              var i3 = (i2 << 16) | (i0 & 0x0000ffff);
+              // Modify counter values
+              C[0] ^= i0;
+              C[1] ^= i1;
+              C[2] ^= i2;
+              C[3] ^= i3;
+              C[4] ^= i0;
+              C[5] ^= i1;
+              C[6] ^= i2;
+              C[7] ^= i3;
+              // Iterate the system four times
+              for (var i = 0; i < 4; i++) {
+                nextState.call(this);
+              }
+            }
+          },
+          _doProcessBlock: function _doProcessBlock(M, offset) {
+            // Shortcut
+            var X = this._X;
+            // Iterate the system
+            nextState.call(this);
+            // Generate four keystream words
+            S[0] = X[0] ^ (X[5] >>> 16) ^ (X[3] << 16);
+            S[1] = X[2] ^ (X[7] >>> 16) ^ (X[5] << 16);
+            S[2] = X[4] ^ (X[1] >>> 16) ^ (X[7] << 16);
+            S[3] = X[6] ^ (X[3] >>> 16) ^ (X[1] << 16);
+            for (var i = 0; i < 4; i++) {
+              // Swap endian
+              S[i] =
+                (((S[i] << 8) | (S[i] >>> 24)) & 0x00ff00ff) |
+                (((S[i] << 24) | (S[i] >>> 8)) & 0xff00ff00);
+              // Encrypt
+              M[offset + i] ^= S[i];
+            }
+          },
+          blockSize: 128 / 32,
+          ivSize: 64 / 32,
+        }));
+        /**
+         * Shortcut functions to the cipher's object interface.
+         *
+         * @example
+         *
+         *     var ciphertext = CryptoJS.RabbitLegacy.encrypt(message, key, cfg);
+         *     var plaintext  = CryptoJS.RabbitLegacy.decrypt(ciphertext, key, cfg);
+         */ C.RabbitLegacy = StreamCipher._createHelper(RabbitLegacy);
+      })();
+      return CryptoJS.RabbitLegacy;
+    });
+  });
+
+  var cryptoJs = createCommonjsModule(function (module, exports) {
+    (function (root, factory, undef) {
+      {
+        // CommonJS
+        module.exports = factory(
+          core,
+          x64Core,
+          libTypedarrays,
+          encUtf16,
+          encBase64,
+          encBase64url,
+          md5,
+          sha1,
+          sha256,
+          sha224,
+          sha512,
+          sha384,
+          sha3,
+          ripemd160,
+          hmac,
+          pbkdf2,
+          evpkdf,
+          cipherCore,
+          modeCfb,
+          modeCtr,
+          modeCtrGladman,
+          modeOfb,
+          modeEcb,
+          padAnsix923,
+          padIso10126,
+          padIso97971,
+          padZeropadding,
+          padNopadding,
+          formatHex,
+          aes,
+          tripledes,
+          rc4,
+          rabbit,
+          rabbitLegacy
+        );
+      }
+    })(commonjsGlobal, function (CryptoJS) {
+      return CryptoJS;
+    });
+  });
+
+  return cryptoJs;
+});
+//# sourceMappingURL=crypto-js.min.js.map
diff --git a/public/ref/style/darkblue.json b/public/ref/style/darkblue.json
new file mode 100644
index 0000000..cbd1a1b
--- /dev/null
+++ b/public/ref/style/darkblue.json
@@ -0,0 +1,2571 @@
+{
+  "version": 8,
+  "name": "深蓝科技",
+  "metadata": {
+    "mapbox:type": "default",
+    "mapbox:origin": "navigation-night-v1",
+    "mapbox:sdk-support": { "android": "10.6.0", "ios": "10.6.0", "js": "2.9.0" },
+    "mapbox:autocomposite": true,
+    "mapbox:groups": {
+      "Transit, transit-labels": { "name": "Transit, transit-labels", "collapsed": true },
+      "Administrative boundaries, admin": { "name": "Administrative boundaries, admin", "collapsed": false },
+      "Land & water, built": { "name": "Land & water, built", "collapsed": true },
+      "Transit, bridges": { "name": "Transit, bridges", "collapsed": true },
+      "Transit, surface": { "name": "Transit, surface", "collapsed": true },
+      "Land & water, land": { "name": "Land & water, land", "collapsed": true },
+      "Road network, bridges": { "name": "Road network, bridges", "collapsed": true },
+      "Road network, tunnels": { "name": "Road network, tunnels", "collapsed": true },
+      "Road network, road-labels": { "name": "Road network, road-labels", "collapsed": false },
+      "Buildings, built": { "name": "Buildings, built", "collapsed": true },
+      "Natural features, natural-labels": { "name": "Natural features, natural-labels", "collapsed": true },
+      "Road network, surface": { "name": "Road network, surface", "collapsed": true },
+      "Walking, cycling, etc., barriers-bridges": { "name": "Walking, cycling, etc., barriers-bridges", "collapsed": true },
+      "Place labels, place-labels": { "name": "Place labels, place-labels", "collapsed": false },
+      "Transit, ferries": { "name": "Transit, ferries", "collapsed": true },
+      "Transit, elevated": { "name": "Transit, elevated", "collapsed": true },
+      "Buildings, extruded": { "name": "Buildings, extruded", "collapsed": true },
+      "Point of interest labels, poi-labels": { "name": "Point of interest labels, poi-labels", "collapsed": false },
+      "Road network, tunnels-case": { "name": "Road network, tunnels-case", "collapsed": true },
+      "Transit, built": { "name": "Transit, built", "collapsed": true },
+      "Road network, surface-icons": { "name": "Road network, surface-icons", "collapsed": true },
+      "Land & water, water": { "name": "Land & water, water", "collapsed": true },
+      "Transit, ferry-aerialway-labels": { "name": "Transit, ferry-aerialway-labels", "collapsed": true }
+    }
+  },
+  "center": [116.40723286491766, 39.884181989706775],
+  "zoom": 17.58181390300712,
+  "bearing": -32.80000000000001,
+  "pitch": 85,
+  "light": { "anchor": ["step", ["zoom"], "map", 22, "map"] },
+  "fog": { "color": "hsla(0, 0%, 100%, 0)", "high-color": "hsl(205, 35%, 25%)" },
+  "sources": { "composite": { "url": "mapbox://mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v8", "type": "vector" } },
+  "sprite": "mapbox://sprites/mapbox/streets-v8",
+  "glyphs": "mapbox://fonts/mapbox/{fontstack}/{range}.pbf",
+  "projection": { "name": "globe" },
+  "layers": [
+    {
+      "id": "land",
+      "type": "background",
+      "layout": {},
+      "paint": { "background-color": ["interpolate", ["linear"], ["zoom"], 5, "hsl(220, 60%, 25%)", 7, "hsla(227, 86%, 6%, 0.9)"] },
+      "metadata": { "mapbox:featureComponent": "land-and-water", "mapbox:group": "Land & water, land" }
+    },
+    {
+      "layout": {},
+      "metadata": { "mapbox:featureComponent": "land-and-water", "mapbox:group": "Land & water, land" },
+      "maxzoom": 9,
+      "type": "fill",
+      "source": "composite",
+      "id": "landcover",
+      "paint": {
+        "fill-color": [
+          "interpolate",
+          ["linear"],
+          ["zoom"],
+          0,
+          ["match", ["get", "class"], "wood", "#2d4a86", ["snow"], "#ffffff", "#2d4a86"],
+          22,
+          ["match", ["get", "class"], "wood", "#2d4a86", ["snow"], "#ffffff", "#2d4a86"]
+        ],
+        "fill-opacity": ["interpolate", ["exponential", 1.5], ["zoom"], 8, 0.4, 9, 0],
+        "fill-antialias": false
+      },
+      "source-layer": "landcover"
+    },
+    {
+      "minzoom": 5,
+      "layout": {},
+      "metadata": { "mapbox:featureComponent": "land-and-water", "mapbox:group": "Land & water, land" },
+      "filter": ["==", ["get", "class"], "national_park"],
+      "type": "fill",
+      "source": "composite",
+      "id": "national-park",
+      "paint": { "fill-color": "hsl(175, 60%, 21%)", "fill-opacity": ["interpolate", ["linear"], ["zoom"], 5, 0, 6, 0.6, 12, 0.2] },
+      "source-layer": "landuse_overlay"
+    },
+    {
+      "minzoom": 5,
+      "layout": {},
+      "metadata": { "mapbox:featureComponent": "land-and-water", "mapbox:group": "Land & water, land" },
+      "filter": [
+        "all",
+        [">=", ["to-number", ["get", "sizerank"]], 0],
+        [
+          "match",
+          ["get", "class"],
+          ["agriculture", "wood", "grass", "scrub", "park", "airport", "glacier", "pitch", "sand"],
+          true,
+          "residential",
+          ["step", ["zoom"], true, 12, false],
+          ["facility", "industrial"],
+          ["step", ["zoom"], false, 12, true],
+          "cemetery",
+          true,
+          "school",
+          true,
+          "hospital",
+          true,
+          "commercial_area",
+          true,
+          "parking",
+          ["step", ["zoom"], false, 15, true],
+          false
+        ],
+        ["<=", ["-", ["to-number", ["get", "sizerank"]], ["interpolate", ["exponential", 1.5], ["zoom"], 12, 0, 18, 14]], 14]
+      ],
+      "type": "fill",
+      "source": "composite",
+      "id": "landuse",
+      "paint": {
+        "fill-color": [
+          "interpolate",
+          ["linear"],
+          ["zoom"],
+          15,
+          [
+            "match",
+            ["get", "class"],
+            "wood",
+            "hsla(180, 80%, 64%, 0.8)",
+            "scrub",
+            "hsla(175, 77%, 65%, 0.6)",
+            "agriculture",
+            "hsla(175, 80%, 69%, 0.6)",
+            "park",
+            "hsl(175, 85%, 23%)",
+            "grass",
+            "hsla(175, 80%, 69%, 0.6)",
+            "airport",
+            "hsl(230, 77%, 59%)",
+            "cemetery",
+            "hsl(175, 69%, 28%)",
+            "glacier",
+            "hsl(185, 60%, 60%)",
+            "hospital",
+            "hsl(250, 10%, 35%)",
+            "pitch",
+            "hsl(165, 95%, 25%)",
+            "sand",
+            "hsla(175, 90%, 69%, 0.05)",
+            "school",
+            "hsl(200, 10%, 30%)",
+            "commercial_area",
+            "hsl(215, 15%, 30%)",
+            "parking",
+            "hsl(215, 15%, 34%)",
+            "residential",
+            "hsla(230, 17%, 59%, 0)",
+            ["facility", "industrial"],
+            "hsl(230, 12%, 28%)",
+            "hsla(230, 33%, 62%, 0)"
+          ],
+          16,
+          [
+            "match",
+            ["get", "class"],
+            "wood",
+            "hsla(180, 80%, 64%, 0.8)",
+            "scrub",
+            "hsla(175, 77%, 65%, 0.6)",
+            "agriculture",
+            "hsla(175, 80%, 69%, 0.6)",
+            "park",
+            "hsl(175, 85%, 23%)",
+            "grass",
+            "hsla(175, 80%, 69%, 0.6)",
+            "airport",
+            "hsl(230, 77%, 59%)",
+            "cemetery",
+            "hsl(175, 69%, 28%)",
+            "glacier",
+            "hsl(185, 60%, 60%)",
+            "hospital",
+            "hsl(250, 10%, 35%)",
+            "pitch",
+            "hsl(165, 95%, 25%)",
+            "sand",
+            "hsla(175, 90%, 69%, 0.05)",
+            "school",
+            "hsl(200, 10%, 30%)",
+            "commercial_area",
+            "hsla(215, 15%, 30%, 0.5)",
+            "parking",
+            "hsl(215, 15%, 34%)",
+            ["facility", "industrial"],
+            "hsl(230, 12%, 28%)",
+            "hsla(230, 33%, 62%, 0)"
+          ]
+        ],
+        "fill-opacity": [
+          "interpolate",
+          ["linear"],
+          ["zoom"],
+          8,
+          ["match", ["get", "class"], ["residential", "airport"], 0.8, 0.2],
+          12,
+          ["match", ["get", "class"], "residential", 0, 1]
+        ]
+      },
+      "source-layer": "landuse"
+    },
+    {
+      "minzoom": 15,
+      "layout": {},
+      "metadata": { "mapbox:featureComponent": "land-and-water", "mapbox:group": "Land & water, land" },
+      "filter": ["==", ["get", "class"], "pitch"],
+      "type": "line",
+      "source": "composite",
+      "id": "pitch-outline",
+      "paint": { "line-color": "hsl(165, 90%, 18%)" },
+      "source-layer": "landuse"
+    },
+    {
+      "id": "waterway",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "waterway",
+      "minzoom": 8,
+      "layout": { "line-cap": ["step", ["zoom"], "butt", 11, "round"], "line-join": "round" },
+      "paint": {
+        "line-color": "hsl(185, 90%, 35%)",
+        "line-width": [
+          "interpolate",
+          ["exponential", 1.3],
+          ["zoom"],
+          9,
+          ["match", ["get", "class"], ["canal", "river"], 0.1, 0],
+          20,
+          ["match", ["get", "class"], ["canal", "river"], 8, 3]
+        ],
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 8, 0, 8.5, 1]
+      },
+      "metadata": { "mapbox:featureComponent": "land-and-water", "mapbox:group": "Land & water, water" }
+    },
+    {
+      "id": "water",
+      "type": "fill",
+      "source": "composite",
+      "source-layer": "water",
+      "layout": {},
+      "paint": { "fill-color": ["interpolate", ["linear"], ["zoom"], 2, "hsl(224, 50%, 15%)", 10, "hsl(195, 90%, 45%)"] },
+      "metadata": { "mapbox:featureComponent": "land-and-water", "mapbox:group": "Land & water, water" }
+    },
+    {
+      "minzoom": 13,
+      "layout": {},
+      "metadata": { "mapbox:featureComponent": "land-and-water", "mapbox:group": "Land & water, built" },
+      "filter": ["all", ["==", ["get", "class"], "land"], ["==", ["geometry-type"], "Polygon"]],
+      "type": "fill",
+      "source": "composite",
+      "id": "land-structure-polygon",
+      "paint": { "fill-color": ["interpolate", ["linear"], ["zoom"], 9, "hsla(230, 32%, 78%, 0)", 11, "hsla(230, 30%, 65%, 0)"] },
+      "source-layer": "structure"
+    },
+    {
+      "minzoom": 13,
+      "layout": { "line-cap": "square" },
+      "metadata": { "mapbox:featureComponent": "land-and-water", "mapbox:group": "Land & water, built" },
+      "filter": ["all", ["==", ["get", "class"], "land"], ["==", ["geometry-type"], "LineString"]],
+      "type": "line",
+      "source": "composite",
+      "id": "land-structure-line",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.99], ["zoom"], 14, 0.75, 20, 40],
+        "line-color": ["interpolate", ["linear"], ["zoom"], 9, "hsla(230, 32%, 78%, 0)", 11, "hsla(230, 30%, 65%, 0)"]
+      },
+      "source-layer": "structure"
+    },
+    {
+      "id": "aeroway-polygon",
+      "type": "fill",
+      "source": "composite",
+      "source-layer": "aeroway",
+      "minzoom": 11,
+      "filter": ["all", ["match", ["get", "type"], ["runway", "taxiway", "helipad"], true, false], ["==", ["geometry-type"], "Polygon"]],
+      "paint": { "fill-color": "hsl(230, 68%, 68%)", "fill-opacity": ["interpolate", ["linear"], ["zoom"], 10, 0, 11, 1] },
+      "metadata": { "mapbox:featureComponent": "transit", "mapbox:group": "Transit, built" }
+    },
+    {
+      "id": "aeroway-line",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "aeroway",
+      "minzoom": 9,
+      "filter": ["==", ["geometry-type"], "LineString"],
+      "paint": {
+        "line-color": "hsl(230, 68%, 68%)",
+        "line-width": [
+          "interpolate",
+          ["exponential", 1.5],
+          ["zoom"],
+          9,
+          ["match", ["get", "type"], "runway", 1, 0.5],
+          18,
+          ["match", ["get", "type"], "runway", 80, 20]
+        ],
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 10, 0, 11, 1]
+      },
+      "metadata": { "mapbox:featureComponent": "transit", "mapbox:group": "Transit, built" }
+    },
+    {
+      "minzoom": 15,
+      "layout": {},
+      "metadata": { "mapbox:featureComponent": "buildings", "mapbox:group": "Buildings, built" },
+      "filter": ["all", ["!=", ["get", "type"], "building:part"], ["==", ["get", "underground"], "false"]],
+      "type": "fill",
+      "source": "composite",
+      "id": "building",
+      "paint": {
+        "fill-color": "hsla(230, 27%, 59%, 0)",
+        "fill-opacity": ["interpolate", ["linear"], ["zoom"], 15, 0, 16, 1],
+        "fill-outline-color": "hsla(230, 22%, 56%, 0)"
+      },
+      "source-layer": "building"
+    },
+    {
+      "id": "tunnel-minor-case",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 13,
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "tunnel"],
+        ["match", ["get", "class"], ["track"], true, "service", ["step", ["zoom"], false, 14, true], false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 0.8, 22, 2],
+        "line-color": "hsla(217, 4%, 19%, 0)",
+        "line-gap-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 1, 18, 10, 22, 100],
+        "line-dasharray": [3, 3]
+      },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, tunnels-case" }
+    },
+    {
+      "id": "tunnel-street-case",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 14,
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "tunnel"],
+        ["match", ["get", "class"], ["street", "street_limited"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 0.8, 22, 2],
+        "line-color": "hsla(217, 4%, 19%, 0)",
+        "line-gap-width": ["interpolate", ["exponential", 1.5], ["zoom"], 12, 0.5, 18, 20, 22, 200],
+        "line-opacity": ["step", ["zoom"], 0, 14, 1],
+        "line-dasharray": [3, 3]
+      },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, tunnels-case" }
+    },
+    {
+      "minzoom": 13,
+      "layout": { "line-cap": ["step", ["zoom"], "butt", 14, "round"], "line-join": ["step", ["zoom"], "miter", 14, "round"] },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, tunnels-case" },
+      "filter": [
+        "all",
+        ["match", ["get", "class"], ["primary_link", "secondary_link", "tertiary_link"], true, false],
+        ["==", ["get", "structure"], "tunnel"],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "tunnel-minor-link-case",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 0.8, 22, 2],
+        "line-color": "hsla(217, 11%, 32%, 0)",
+        "line-gap-width": ["interpolate", ["exponential", 1.5], ["zoom"], 12, 0.4, 18, 18, 22, 180],
+        "line-opacity": ["step", ["zoom"], 0, 11, 1]
+      },
+      "source-layer": "road"
+    },
+    {
+      "id": "tunnel-secondary-tertiary-case",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 11,
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "tunnel"],
+        ["match", ["get", "class"], ["secondary", "tertiary"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 1, 22, 2],
+        "line-color": "hsla(217, 4%, 19%, 0)",
+        "line-gap-width": ["interpolate", ["exponential", 1.5], ["zoom"], 3, 0, 18, 26, 22, 260],
+        "line-dasharray": [3, 3]
+      },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, tunnels-case" }
+    },
+    {
+      "id": "tunnel-primary-case",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 9,
+      "filter": ["all", ["==", ["get", "structure"], "tunnel"], ["==", ["get", "class"], "primary"], ["==", ["geometry-type"], "LineString"]],
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 1, 22, 2],
+        "line-color": "hsla(217, 4%, 19%, 0)",
+        "line-gap-width": ["interpolate", ["exponential", 1.5], ["zoom"], 3, 0.8, 18, 28, 22, 280],
+        "line-dasharray": [3, 3]
+      },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, tunnels-case" }
+    },
+    {
+      "id": "tunnel-major-link-case",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 12,
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "tunnel"],
+        ["match", ["get", "class"], ["motorway_link", "trunk_link"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 0.8, 22, 2],
+        "line-color": "hsl(215, 20%, 35%)",
+        "line-gap-width": ["interpolate", ["exponential", 1.5], ["zoom"], 12, 0.8, 18, 20, 22, 200],
+        "line-dasharray": [3, 3]
+      },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, tunnels-case" }
+    },
+    {
+      "id": "tunnel-motorway-trunk-case",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 13,
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "tunnel"],
+        ["match", ["get", "class"], ["motorway", "trunk"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 1, 22, 2],
+        "line-color": "hsla(217, 11%, 44%, 0)",
+        "line-gap-width": ["interpolate", ["exponential", 1.5], ["zoom"], 3, 0.8, 18, 30, 22, 300],
+        "line-dasharray": [3, 3]
+      },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, tunnels-case" }
+    },
+    {
+      "id": "tunnel-construction",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 14,
+      "filter": ["all", ["==", ["get", "structure"], "tunnel"], ["==", ["get", "class"], "construction"], ["==", ["geometry-type"], "LineString"]],
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 2, 18, 20, 22, 200],
+        "line-color": "hsla(217, 11%, 32%, 0)",
+        "line-dasharray": [
+          "step",
+          ["zoom"],
+          ["literal", [0.4, 0.8]],
+          15,
+          ["literal", [0.3, 0.6]],
+          16,
+          ["literal", [0.2, 0.3]],
+          17,
+          ["literal", [0.2, 0.25]],
+          18,
+          ["literal", [0.15, 0.15]]
+        ]
+      },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, tunnels" }
+    },
+    {
+      "id": "tunnel-minor",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 13,
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "tunnel"],
+        ["match", ["get", "class"], ["track"], true, "service", ["step", ["zoom"], false, 14, true], false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 1, 18, 10, 22, 100],
+        "line-color": ["match", ["get", "class"], "street_limited", "hsla(230, 34%, 71%, 0)", "hsl(215, 20%, 35%)"]
+      },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, tunnels" }
+    },
+    {
+      "minzoom": 13,
+      "layout": { "line-cap": ["step", ["zoom"], "butt", 13, "round"], "line-join": ["step", ["zoom"], "miter", 13, "round"] },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, tunnels" },
+      "filter": [
+        "all",
+        ["match", ["get", "class"], ["primary_link", "secondary_link", "tertiary_link"], true, false],
+        ["==", ["get", "structure"], "tunnel"],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "tunnel-minor-link",
+      "paint": { "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 12, 0.4, 18, 18, 22, 180], "line-color": "hsl(215, 20%, 35%)" },
+      "source-layer": "road"
+    },
+    {
+      "id": "tunnel-major-link",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 12,
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "tunnel"],
+        ["match", ["get", "class"], ["motorway_link", "trunk_link"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 12, 0.8, 18, 20, 22, 200],
+        "line-color": ["match", ["get", "class"], "motorway_link", "hsl(205, 50%, 65%)", "hsl(225, 55%, 65%)"]
+      },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, tunnels" }
+    },
+    {
+      "id": "tunnel-street",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 13,
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "tunnel"],
+        ["match", ["get", "class"], ["street", "street_limited"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 12, 0.5, 18, 20, 22, 200],
+        "line-color": ["match", ["get", "class"], "street_limited", "hsla(230, 34%, 71%, 0)", "hsl(215, 20%, 35%)"],
+        "line-opacity": ["step", ["zoom"], 0, 14, 1]
+      },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, tunnels" }
+    },
+    {
+      "minzoom": 13,
+      "layout": { "line-cap": ["step", ["zoom"], "butt", 14, "round"], "line-join": ["step", ["zoom"], "miter", 14, "round"] },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, tunnels" },
+      "maxzoom": 14,
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "tunnel"],
+        ["match", ["get", "class"], ["street", "street_limited"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "tunnel-street-low",
+      "paint": { "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 12, 0.5, 18, 20, 22, 200], "line-color": "hsl(215, 20%, 35%)" },
+      "source-layer": "road"
+    },
+    {
+      "id": "tunnel-secondary-tertiary",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 13,
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "tunnel"],
+        ["match", ["get", "class"], ["secondary", "tertiary"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "paint": { "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 3, 0, 18, 26, 22, 260], "line-color": "hsl(215, 20%, 35%)" },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, tunnels" }
+    },
+    {
+      "id": "tunnel-primary",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 13,
+      "filter": ["all", ["==", ["get", "structure"], "tunnel"], ["==", ["get", "class"], "primary"], ["==", ["geometry-type"], "LineString"]],
+      "paint": { "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 3, 0.8, 18, 28, 22, 280], "line-color": "hsl(215, 20%, 35%)" },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, tunnels" }
+    },
+    {
+      "id": "tunnel-motorway-trunk",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 13,
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "tunnel"],
+        ["match", ["get", "class"], ["motorway", "trunk"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 3, 0.8, 18, 30, 22, 300],
+        "line-color": ["match", ["get", "class"], "motorway", "hsl(205, 50%, 65%)", "hsl(225, 55%, 65%)"]
+      },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, tunnels" }
+    },
+    {
+      "minzoom": 16,
+      "layout": {
+        "symbol-placement": "line",
+        "icon-image": ["step", ["zoom"], "oneway-small", 18, "oneway-large"],
+        "symbol-spacing": 200,
+        "icon-rotation-alignment": "map",
+        "icon-allow-overlap": true,
+        "icon-ignore-placement": true
+      },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, tunnels" },
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "tunnel"],
+        ["==", ["get", "oneway"], "true"],
+        [
+          "step",
+          ["zoom"],
+          ["match", ["get", "class"], ["primary", "secondary", "street", "street_limited", "tertiary"], true, false],
+          16,
+          [
+            "match",
+            ["get", "class"],
+            ["primary", "secondary", "tertiary", "street", "street_limited", "primary_link", "secondary_link", "tertiary_link", "service", "track"],
+            true,
+            false
+          ]
+        ]
+      ],
+      "type": "symbol",
+      "source": "composite",
+      "id": "tunnel-oneway-arrow-blue",
+      "paint": {},
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 16,
+      "layout": {
+        "symbol-placement": "line",
+        "icon-image": ["step", ["zoom"], "oneway-white-small", 18, "oneway-white-large"],
+        "symbol-spacing": 200,
+        "icon-rotation-alignment": "map",
+        "icon-allow-overlap": true,
+        "icon-ignore-placement": true
+      },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, tunnels" },
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "tunnel"],
+        ["match", ["get", "class"], ["motorway", "motorway_link", "trunk", "trunk_link"], true, false],
+        ["==", ["get", "oneway"], "true"]
+      ],
+      "type": "symbol",
+      "source": "composite",
+      "id": "tunnel-oneway-arrow-white",
+      "paint": {},
+      "source-layer": "road"
+    },
+    {
+      "id": "ferry",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 8,
+      "filter": ["==", ["get", "type"], "ferry"],
+      "paint": {
+        "line-color": ["interpolate", ["linear"], ["zoom"], 15, "hsl(194, 83%, 28%)", 17, "hsl(219, 83%, 28%)"],
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 0.5, 20, 1],
+        "line-dasharray": ["step", ["zoom"], ["literal", [1, 0]], 13, ["literal", [12, 4]]]
+      },
+      "metadata": { "mapbox:featureComponent": "transit", "mapbox:group": "Transit, ferries" }
+    },
+    {
+      "id": "ferry-auto",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 8,
+      "filter": ["==", ["get", "type"], "ferry_auto"],
+      "paint": {
+        "line-color": ["interpolate", ["linear"], ["zoom"], 15, "hsl(194, 83%, 28%)", 17, "hsl(219, 83%, 28%)"],
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 0.5, 20, 1]
+      },
+      "metadata": { "mapbox:featureComponent": "transit", "mapbox:group": "Transit, ferries" }
+    },
+    {
+      "id": "road-polygon",
+      "type": "fill",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 12,
+      "filter": [
+        "all",
+        [
+          "match",
+          ["get", "class"],
+          [
+            "primary",
+            "secondary",
+            "tertiary",
+            "primary_link",
+            "secondary_link",
+            "tertiary_link",
+            "trunk",
+            "trunk_link",
+            "street",
+            "street_limited",
+            "track",
+            "service"
+          ],
+          true,
+          false
+        ],
+        ["match", ["get", "structure"], ["none", "ford"], true, false],
+        ["==", ["geometry-type"], "Polygon"]
+      ],
+      "paint": { "fill-color": "hsl(215, 20%, 35%)", "fill-outline-color": "hsla(217, 11%, 32%, 0)" },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, surface" }
+    },
+    {
+      "id": "turning-feature-outline",
+      "type": "circle",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 15,
+      "filter": ["all", ["match", ["get", "class"], ["turning_circle", "turning_loop"], true, false], ["==", ["geometry-type"], "Point"]],
+      "paint": {
+        "circle-radius": ["interpolate", ["exponential", 1.5], ["zoom"], 15, 4.5, 16, 8, 18, 20, 22, 200],
+        "circle-color": "hsl(215, 20%, 35%)",
+        "circle-stroke-width": ["interpolate", ["linear"], ["zoom"], 15, 0.8, 16, 1.2, 18, 2],
+        "circle-stroke-color": "hsla(217, 11%, 32%, 0)",
+        "circle-pitch-alignment": "map"
+      },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, surface" }
+    },
+    {
+      "minzoom": 13,
+      "layout": { "line-cap": ["step", ["zoom"], "butt", 14, "round"], "line-join": ["step", ["zoom"], "miter", 14, "round"] },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, surface" },
+      "filter": [
+        "all",
+        ["match", ["get", "class"], ["track"], true, "service", ["step", ["zoom"], false, 14, true], false],
+        ["match", ["get", "structure"], ["none", "ford"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "road-minor-case",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 0.8, 22, 2],
+        "line-color": "hsla(217, 11%, 32%, 0)",
+        "line-gap-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 1, 18, 10, 22, 100]
+      },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 14,
+      "layout": { "line-cap": ["step", ["zoom"], "butt", 14, "round"], "line-join": ["step", ["zoom"], "miter", 14, "round"] },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, surface" },
+      "filter": [
+        "all",
+        ["match", ["get", "class"], ["street", "street_limited"], true, false],
+        ["match", ["get", "structure"], ["none", "ford"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "road-street-case",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 0.8, 22, 2],
+        "line-color": "hsla(217, 11%, 32%, 0)",
+        "line-gap-width": ["interpolate", ["exponential", 1.5], ["zoom"], 12, 0.5, 18, 20, 22, 200],
+        "line-opacity": ["step", ["zoom"], 0, 14, 1]
+      },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 13,
+      "layout": { "line-cap": ["step", ["zoom"], "butt", 14, "round"], "line-join": ["step", ["zoom"], "miter", 14, "round"] },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, surface" },
+      "filter": [
+        "all",
+        ["match", ["get", "class"], ["primary_link", "secondary_link", "tertiary_link"], true, false],
+        ["match", ["get", "structure"], ["none", "ford"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "road-minor-link-case",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 0.8, 22, 2],
+        "line-color": "hsla(217, 11%, 32%, 0)",
+        "line-gap-width": ["interpolate", ["exponential", 1.5], ["zoom"], 12, 0.4, 18, 18, 22, 180],
+        "line-opacity": ["step", ["zoom"], 0, 11, 1]
+      },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 11,
+      "layout": { "line-cap": ["step", ["zoom"], "butt", 14, "round"], "line-join": ["step", ["zoom"], "miter", 14, "round"] },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, surface" },
+      "filter": [
+        "all",
+        ["match", ["get", "class"], ["secondary", "tertiary"], true, false],
+        ["match", ["get", "structure"], ["none", "ford"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "road-secondary-tertiary-case",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 0.8, 22, 2],
+        "line-color": "hsla(217, 11%, 32%, 0)",
+        "line-gap-width": ["interpolate", ["exponential", 1.5], ["zoom"], 3, 0, 18, 26, 22, 260]
+      },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 9,
+      "layout": { "line-cap": ["step", ["zoom"], "butt", 14, "round"], "line-join": ["step", ["zoom"], "miter", 14, "round"] },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, surface" },
+      "filter": [
+        "all",
+        ["==", ["get", "class"], "primary"],
+        ["match", ["get", "structure"], ["none", "ford"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "road-primary-case",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 1, 22, 2],
+        "line-color": "hsla(217, 11%, 32%, 0)",
+        "line-gap-width": ["interpolate", ["exponential", 1.5], ["zoom"], 3, 0.8, 18, 28, 22, 280]
+      },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 12,
+      "layout": { "line-cap": ["step", ["zoom"], "butt", 14, "round"], "line-join": ["step", ["zoom"], "miter", 14, "round"] },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, surface" },
+      "filter": [
+        "all",
+        ["match", ["get", "class"], ["motorway_link", "trunk_link"], true, false],
+        ["match", ["get", "structure"], ["none", "ford"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "road-major-link-case",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 0.8, 22, 2],
+        "line-color": "hsla(217, 11%, 44%, 0)",
+        "line-gap-width": ["interpolate", ["exponential", 1.5], ["zoom"], 12, 0.8, 18, 20, 22, 200],
+        "line-opacity": ["step", ["zoom"], 0, 11, 1]
+      },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 3,
+      "layout": { "line-cap": ["step", ["zoom"], "butt", 14, "round"], "line-join": ["step", ["zoom"], "miter", 14, "round"] },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, surface" },
+      "filter": [
+        "all",
+        [
+          "step",
+          ["zoom"],
+          ["match", ["get", "class"], ["motorway", "trunk"], true, false],
+          5,
+          ["all", ["match", ["get", "class"], ["motorway", "trunk"], true, false], ["match", ["get", "structure"], ["none", "ford"], true, false]]
+        ],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "road-motorway-trunk-case",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 1, 22, 2],
+        "line-color": "hsla(217, 11%, 44%, 0)",
+        "line-gap-width": ["interpolate", ["exponential", 1.5], ["zoom"], 3, 0.8, 18, 30, 22, 300],
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 3, 0, 3.5, 1]
+      },
+      "source-layer": "road"
+    },
+    {
+      "id": "turning-feature",
+      "type": "circle",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 15,
+      "filter": ["all", ["match", ["get", "class"], ["turning_circle", "turning_loop"], true, false], ["==", ["geometry-type"], "Point"]],
+      "paint": {
+        "circle-radius": ["interpolate", ["exponential", 1.5], ["zoom"], 15, 4.5, 16, 8, 18, 20, 22, 200],
+        "circle-color": "hsl(215, 20%, 35%)",
+        "circle-pitch-alignment": "map"
+      },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, surface" }
+    },
+    {
+      "id": "road-construction",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 14,
+      "filter": [
+        "all",
+        ["==", ["get", "class"], "construction"],
+        ["match", ["get", "structure"], ["none", "ford"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 2, 18, 20, 22, 200],
+        "line-color": "hsl(215, 20%, 35%)",
+        "line-dasharray": [
+          "step",
+          ["zoom"],
+          ["literal", [0.4, 0.8]],
+          15,
+          ["literal", [0.3, 0.6]],
+          16,
+          ["literal", [0.2, 0.3]],
+          17,
+          ["literal", [0.2, 0.25]],
+          18,
+          ["literal", [0.15, 0.15]]
+        ]
+      },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, surface" }
+    },
+    {
+      "minzoom": 13,
+      "layout": { "line-cap": ["step", ["zoom"], "butt", 14, "round"], "line-join": ["step", ["zoom"], "miter", 14, "round"] },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, surface" },
+      "filter": [
+        "all",
+        ["match", ["get", "class"], ["track"], true, "service", ["step", ["zoom"], false, 14, true], false],
+        ["match", ["get", "structure"], ["none", "ford"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "road-minor",
+      "paint": { "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 1, 18, 10, 22, 100], "line-color": "hsl(215, 20%, 35%)" },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 12,
+      "layout": { "line-cap": ["step", ["zoom"], "butt", 13, "round"], "line-join": ["step", ["zoom"], "miter", 13, "round"] },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, surface" },
+      "filter": [
+        "all",
+        ["match", ["get", "class"], ["primary_link", "secondary_link", "tertiary_link"], true, false],
+        ["match", ["get", "structure"], ["none", "ford"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "road-minor-link",
+      "paint": { "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 12, 0.4, 18, 18, 22, 180], "line-color": "hsl(215, 20%, 35%)" },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 12,
+      "layout": { "line-cap": ["step", ["zoom"], "butt", 13, "round"], "line-join": ["step", ["zoom"], "miter", 13, "round"] },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, surface" },
+      "filter": [
+        "all",
+        ["match", ["get", "class"], ["motorway_link", "trunk_link"], true, false],
+        ["match", ["get", "structure"], ["none", "ford"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "road-major-link",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 12, 0.8, 18, 20, 22, 200],
+        "line-color": ["match", ["get", "class"], "motorway_link", "hsl(205, 43%, 55%)", "hsl(225, 56%, 55%)"]
+      },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 13,
+      "layout": { "line-cap": ["step", ["zoom"], "butt", 14, "round"], "line-join": ["step", ["zoom"], "miter", 14, "round"] },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, surface" },
+      "filter": [
+        "all",
+        ["match", ["get", "class"], ["street", "street_limited"], true, false],
+        ["match", ["get", "structure"], ["none", "ford"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "road-street",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 12, 0.5, 18, 20, 22, 200],
+        "line-color": ["match", ["get", "class"], "street_limited", "hsla(230, 34%, 71%, 0)", "hsl(215, 20%, 35%)"],
+        "line-opacity": ["step", ["zoom"], 0, 14, 1]
+      },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 11,
+      "layout": { "line-cap": ["step", ["zoom"], "butt", 14, "round"], "line-join": ["step", ["zoom"], "miter", 14, "round"] },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, surface" },
+      "maxzoom": 14,
+      "filter": [
+        "all",
+        ["match", ["get", "class"], ["street", "street_limited"], true, false],
+        ["match", ["get", "structure"], ["none", "ford"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "road-street-low",
+      "paint": { "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 12, 0.5, 18, 20, 22, 200], "line-color": "hsl(215, 20%, 35%)" },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 8,
+      "layout": { "line-cap": ["step", ["zoom"], "butt", 14, "round"], "line-join": ["step", ["zoom"], "miter", 14, "round"] },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, surface" },
+      "filter": [
+        "all",
+        ["match", ["get", "class"], ["secondary", "tertiary"], true, false],
+        ["match", ["get", "structure"], ["none", "ford"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "road-secondary-tertiary",
+      "paint": { "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 3, 0, 18, 26, 22, 260], "line-color": "hsl(215, 20%, 35%)" },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 6,
+      "layout": { "line-cap": ["step", ["zoom"], "butt", 14, "round"], "line-join": ["step", ["zoom"], "miter", 14, "round"] },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, surface" },
+      "filter": [
+        "all",
+        ["==", ["get", "class"], "primary"],
+        ["match", ["get", "structure"], ["none", "ford"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "road-primary",
+      "paint": { "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 3, 0.8, 18, 28, 22, 280], "line-color": "hsl(215, 20%, 35%)" },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 3,
+      "layout": { "line-cap": ["step", ["zoom"], "butt", 13, "round"], "line-join": ["step", ["zoom"], "miter", 13, "round"] },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, surface" },
+      "filter": [
+        "all",
+        [
+          "step",
+          ["zoom"],
+          ["match", ["get", "class"], ["motorway", "trunk"], true, false],
+          5,
+          ["all", ["match", ["get", "class"], ["motorway", "trunk"], true, false], ["match", ["get", "structure"], ["none", "ford"], true, false]]
+        ],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "road-motorway-trunk",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 3, 0.8, 18, 30, 22, 300],
+        "line-color": [
+          "step",
+          ["zoom"],
+          ["match", ["get", "class"], "motorway", "hsl(205, 65%, 49%)", "trunk", "hsl(225, 58%, 39%)", "hsla(230, 31%, 74%, 0)"],
+          9,
+          ["match", ["get", "class"], "motorway", "hsl(205, 43%, 55%)", "hsl(225, 56%, 55%)"]
+        ],
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 3, 0, 3.5, 1]
+      },
+      "source-layer": "road"
+    },
+    {
+      "id": "road-rail",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 13,
+      "filter": ["all", ["match", ["get", "class"], ["major_rail", "minor_rail"], true, false], ["match", ["get", "structure"], ["none", "ford"], true, false]],
+      "paint": {
+        "line-color": ["interpolate", ["linear"], ["zoom"], 13, "hsla(245, 37%, 59%, 0)", 16, "hsla(217, 0%, 47%, 0)"],
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 0.5, 20, 1]
+      },
+      "metadata": { "mapbox:featureComponent": "transit", "mapbox:group": "Transit, surface" }
+    },
+    {
+      "id": "road-rail-tracks",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 13,
+      "filter": ["all", ["match", ["get", "class"], ["major_rail", "minor_rail"], true, false], ["match", ["get", "structure"], ["none", "ford"], true, false]],
+      "paint": {
+        "line-color": ["interpolate", ["linear"], ["zoom"], 13, "hsla(245, 37%, 59%, 0)", 16, "hsla(217, 0%, 47%, 0)"],
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 4, 20, 8],
+        "line-dasharray": [0.1, 15],
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 13.75, 0, 14, 1]
+      },
+      "metadata": { "mapbox:featureComponent": "transit", "mapbox:group": "Transit, surface" }
+    },
+    {
+      "minzoom": 16,
+      "layout": { "icon-image": "level-crossing", "icon-rotation-alignment": "map", "icon-allow-overlap": true, "icon-ignore-placement": true },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, surface-icons" },
+      "filter": ["==", ["get", "class"], "level_crossing"],
+      "type": "symbol",
+      "source": "composite",
+      "id": "level-crossing",
+      "paint": {},
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 16,
+      "layout": {
+        "symbol-placement": "line",
+        "icon-image": ["step", ["zoom"], "oneway-small", 18, "oneway-large"],
+        "symbol-spacing": 200,
+        "icon-rotation-alignment": "map",
+        "icon-allow-overlap": true,
+        "icon-ignore-placement": true
+      },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, surface-icons" },
+      "filter": [
+        "all",
+        ["==", ["get", "oneway"], "true"],
+        [
+          "step",
+          ["zoom"],
+          ["match", ["get", "class"], ["primary", "secondary", "tertiary", "street", "street_limited"], true, false],
+          16,
+          [
+            "match",
+            ["get", "class"],
+            ["primary", "secondary", "tertiary", "street", "street_limited", "primary_link", "secondary_link", "tertiary_link", "service", "track"],
+            true,
+            false
+          ]
+        ],
+        ["match", ["get", "structure"], ["none", "ford"], true, false]
+      ],
+      "type": "symbol",
+      "source": "composite",
+      "id": "road-oneway-arrow-blue",
+      "paint": {},
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 16,
+      "layout": {
+        "symbol-placement": "line",
+        "icon-image": ["step", ["zoom"], "oneway-white-small", 18, "oneway-white-large"],
+        "symbol-spacing": 200,
+        "icon-rotation-alignment": "map",
+        "icon-allow-overlap": true,
+        "icon-ignore-placement": true
+      },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, surface-icons" },
+      "filter": [
+        "all",
+        ["==", ["get", "oneway"], "true"],
+        ["match", ["get", "class"], ["motorway", "trunk", "motorway_link", "trunk_link"], true, false],
+        ["match", ["get", "structure"], ["none", "ford"], true, false]
+      ],
+      "type": "symbol",
+      "source": "composite",
+      "id": "road-oneway-arrow-white",
+      "paint": {},
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 17,
+      "layout": {
+        "icon-size": ["interpolate", ["linear"], ["zoom"], 16, 0.1, 18, 0.2, 19, 0.5, 22, 1.5],
+        "icon-image": ["step", ["zoom"], "crosswalk-small", 18, "crosswalk-large"],
+        "icon-rotate": ["get", "direction"],
+        "icon-rotation-alignment": "map",
+        "icon-allow-overlap": true,
+        "icon-ignore-placement": true
+      },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, surface-icons" },
+      "filter": ["all", ["==", ["get", "type"], "crosswalk"], ["==", ["geometry-type"], "Point"]],
+      "type": "symbol",
+      "source": "composite",
+      "id": "crosswalks",
+      "paint": {},
+      "source-layer": "structure"
+    },
+    {
+      "minzoom": 16,
+      "layout": {},
+      "metadata": { "mapbox:featureComponent": "walking-cycling", "mapbox:group": "Walking, cycling, etc., barriers-bridges" },
+      "filter": ["match", ["get", "class"], ["gate", "fence", "hedge"], true, false],
+      "type": "line",
+      "source": "composite",
+      "id": "gate-fence-hedge",
+      "paint": {
+        "line-color": ["match", ["get", "class"], "hedge", "hsl(175, 50%, 64%)", "hsla(230, 37%, 54%, 0)"],
+        "line-width": ["interpolate", ["linear"], ["zoom"], 16, 1, 20, 3],
+        "line-opacity": ["match", ["get", "class"], "gate", 0.5, 1],
+        "line-dasharray": [1, 2, 5, 2, 1, 2]
+      },
+      "source-layer": "structure"
+    },
+    {
+      "minzoom": 16,
+      "layout": { "icon-image": ["match", ["get", "type"], "gate", "gate", "lift_gate", "lift-gate", ""] },
+      "metadata": { "mapbox:featureComponent": "walking-cycling", "mapbox:group": "Walking, cycling, etc., barriers-bridges" },
+      "filter": ["==", ["get", "class"], "gate"],
+      "type": "symbol",
+      "source": "composite",
+      "id": "gate-label",
+      "paint": {},
+      "source-layer": "structure"
+    },
+    {
+      "id": "bridge-minor-case",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 13,
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "bridge"],
+        ["match", ["get", "class"], ["track"], true, "service", ["step", ["zoom"], false, 14, true], false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 0.8, 22, 2],
+        "line-color": "hsla(217, 11%, 32%, 0)",
+        "line-gap-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 1, 18, 10, 22, 100]
+      },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, bridges" }
+    },
+    {
+      "id": "bridge-street-case",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 14,
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "bridge"],
+        ["match", ["get", "class"], ["street", "street_limited"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 0.8, 22, 2],
+        "line-color": "hsla(217, 11%, 32%, 0)",
+        "line-gap-width": ["interpolate", ["exponential", 1.5], ["zoom"], 12, 0.5, 18, 20, 22, 200],
+        "line-opacity": ["step", ["zoom"], 0, 14, 1]
+      },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, bridges" }
+    },
+    {
+      "minzoom": 13,
+      "layout": { "line-join": ["step", ["zoom"], "miter", 14, "round"] },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, bridges" },
+      "filter": [
+        "all",
+        ["match", ["get", "class"], ["primary_link", "secondary_link", "tertiary_link"], true, false],
+        ["==", ["get", "structure"], "bridge"],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "bridge-minor-link-case",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 0.8, 22, 2],
+        "line-color": "hsla(217, 11%, 32%, 0)",
+        "line-gap-width": ["interpolate", ["exponential", 1.5], ["zoom"], 12, 0.4, 18, 18, 22, 180],
+        "line-opacity": ["step", ["zoom"], 0, 11, 1]
+      },
+      "source-layer": "road"
+    },
+    {
+      "id": "bridge-secondary-tertiary-case",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 11,
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "bridge"],
+        ["match", ["get", "class"], ["secondary", "tertiary"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 1, 22, 2],
+        "line-color": "hsla(217, 11%, 32%, 0)",
+        "line-gap-width": ["interpolate", ["exponential", 1.5], ["zoom"], 3, 0, 18, 26, 22, 260],
+        "line-opacity": ["step", ["zoom"], 0, 10, 1]
+      },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, bridges" }
+    },
+    {
+      "id": "bridge-primary-case",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 9,
+      "filter": ["all", ["==", ["get", "structure"], "bridge"], ["==", ["get", "class"], "primary"], ["==", ["geometry-type"], "LineString"]],
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 1, 22, 2],
+        "line-color": "hsla(217, 11%, 32%, 0)",
+        "line-gap-width": ["interpolate", ["exponential", 1.5], ["zoom"], 3, 0.8, 18, 28, 22, 280],
+        "line-opacity": ["step", ["zoom"], 0, 10, 1]
+      },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, bridges" }
+    },
+    {
+      "id": "bridge-major-link-case",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 12,
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "bridge"],
+        ["match", ["get", "class"], ["motorway_link", "trunk_link"], true, false],
+        ["<=", ["get", "layer"], 1],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 0.8, 22, 2],
+        "line-color": "hsla(217, 11%, 44%, 0)",
+        "line-gap-width": ["interpolate", ["exponential", 1.5], ["zoom"], 12, 0.8, 18, 20, 22, 200]
+      },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, bridges" }
+    },
+    {
+      "id": "bridge-motorway-trunk-case",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 13,
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "bridge"],
+        ["match", ["get", "class"], ["motorway", "trunk"], true, false],
+        ["<=", ["get", "layer"], 1],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 1, 22, 2],
+        "line-color": "hsla(217, 11%, 44%, 0)",
+        "line-gap-width": ["interpolate", ["exponential", 1.5], ["zoom"], 3, 0.8, 18, 30, 22, 300]
+      },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, bridges" }
+    },
+    {
+      "id": "bridge-construction",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 14,
+      "filter": ["all", ["==", ["get", "structure"], "bridge"], ["==", ["get", "class"], "construction"], ["==", ["geometry-type"], "LineString"]],
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 2, 18, 20, 22, 200],
+        "line-color": "hsla(217, 11%, 32%, 0)",
+        "line-dasharray": [
+          "step",
+          ["zoom"],
+          ["literal", [0.4, 0.8]],
+          15,
+          ["literal", [0.3, 0.6]],
+          16,
+          ["literal", [0.2, 0.3]],
+          17,
+          ["literal", [0.2, 0.25]],
+          18,
+          ["literal", [0.15, 0.15]]
+        ]
+      },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, bridges" }
+    },
+    {
+      "minzoom": 13,
+      "layout": { "line-cap": ["step", ["zoom"], "butt", 14, "round"] },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, bridges" },
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "bridge"],
+        ["match", ["get", "class"], ["track"], true, "service", ["step", ["zoom"], false, 14, true], false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "bridge-minor",
+      "paint": { "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 1, 18, 10, 22, 100], "line-color": "hsl(215, 20%, 35%)" },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 13,
+      "layout": { "line-cap": "round" },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, bridges" },
+      "filter": [
+        "all",
+        ["match", ["get", "class"], ["primary_link", "secondary_link", "tertiary_link"], true, false],
+        ["==", ["get", "structure"], "bridge"],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "bridge-minor-link",
+      "paint": { "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 12, 0.4, 18, 18, 22, 180], "line-color": "hsl(215, 20%, 35%)" },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 12,
+      "layout": { "line-cap": "round" },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, bridges" },
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "bridge"],
+        ["match", ["get", "class"], ["motorway_link", "trunk_link"], true, false],
+        ["<=", ["get", "layer"], 1],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "bridge-major-link",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 12, 0.8, 18, 20, 22, 200],
+        "line-color": ["match", ["get", "class"], "motorway_link", "hsl(205, 43%, 55%)", "hsl(225, 56%, 55%)"]
+      },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 13,
+      "layout": { "line-cap": ["step", ["zoom"], "butt", 14, "round"] },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, bridges" },
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "bridge"],
+        ["match", ["get", "class"], ["street", "street_limited"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "bridge-street",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 12, 0.5, 18, 20, 22, 200],
+        "line-color": ["match", ["get", "class"], "street_limited", "hsla(230, 34%, 71%, 0)", "hsl(215, 20%, 35%)"],
+        "line-opacity": ["step", ["zoom"], 0, 14, 1]
+      },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 13,
+      "layout": { "line-cap": ["step", ["zoom"], "butt", 14, "round"], "line-join": ["step", ["zoom"], "miter", 14, "round"] },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, bridges" },
+      "maxzoom": 14,
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "bridge"],
+        ["match", ["get", "class"], ["street", "street_limited"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "bridge-street-low",
+      "paint": { "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 12, 0.5, 18, 20, 22, 200], "line-color": "hsl(215, 20%, 35%)" },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 13,
+      "layout": { "line-cap": ["step", ["zoom"], "butt", 14, "round"] },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, bridges" },
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "bridge"],
+        ["match", ["get", "class"], ["secondary", "tertiary"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "bridge-secondary-tertiary",
+      "paint": { "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 3, 0, 18, 26, 22, 260], "line-color": "hsl(215, 20%, 35%)" },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 13,
+      "layout": { "line-cap": ["step", ["zoom"], "butt", 14, "round"] },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, bridges" },
+      "filter": ["all", ["==", ["get", "structure"], "bridge"], ["==", ["get", "class"], "primary"], ["==", ["geometry-type"], "LineString"]],
+      "type": "line",
+      "source": "composite",
+      "id": "bridge-primary",
+      "paint": { "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 3, 0.8, 18, 28, 22, 280], "line-color": "hsl(215, 20%, 35%)" },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 13,
+      "layout": { "line-cap": "round" },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, bridges" },
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "bridge"],
+        ["match", ["get", "class"], ["motorway", "trunk"], true, false],
+        ["<=", ["get", "layer"], 1],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "bridge-motorway-trunk",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 3, 0.8, 18, 30, 22, 300],
+        "line-color": ["match", ["get", "class"], "motorway", "hsl(205, 43%, 55%)", "hsl(225, 56%, 55%)"]
+      },
+      "source-layer": "road"
+    },
+    {
+      "id": "bridge-major-link-2-case",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 12,
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "bridge"],
+        [">=", ["get", "layer"], 2],
+        ["match", ["get", "class"], ["motorway_link", "trunk_link"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 0.8, 22, 2],
+        "line-color": "hsla(217, 11%, 44%, 0)",
+        "line-gap-width": ["interpolate", ["exponential", 1.5], ["zoom"], 12, 0.8, 18, 20, 22, 200]
+      },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, bridges" }
+    },
+    {
+      "id": "bridge-motorway-trunk-2-case",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 13,
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "bridge"],
+        [">=", ["get", "layer"], 2],
+        ["match", ["get", "class"], ["motorway", "trunk"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 1, 22, 2],
+        "line-color": "hsla(217, 11%, 44%, 0)",
+        "line-gap-width": ["interpolate", ["exponential", 1.5], ["zoom"], 3, 0.8, 18, 30, 22, 300]
+      },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, bridges" }
+    },
+    {
+      "minzoom": 12,
+      "layout": { "line-cap": "round" },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, bridges" },
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "bridge"],
+        [">=", ["get", "layer"], 2],
+        ["match", ["get", "class"], ["motorway_link", "trunk_link"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "bridge-major-link-2",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 12, 0.8, 18, 20, 22, 200],
+        "line-color": ["match", ["get", "class"], "motorway_link", "hsl(205, 43%, 55%)", "hsl(225, 56%, 55%)"]
+      },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 13,
+      "layout": { "line-cap": ["step", ["zoom"], "butt", 14, "round"] },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, bridges" },
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "bridge"],
+        [">=", ["get", "layer"], 2],
+        ["match", ["get", "class"], ["motorway", "trunk"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "bridge-motorway-trunk-2",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 3, 0.8, 18, 30, 22, 300],
+        "line-color": ["match", ["get", "class"], "motorway", "hsl(205, 43%, 55%)", "hsl(225, 56%, 55%)"]
+      },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 16,
+      "layout": {
+        "symbol-placement": "line",
+        "icon-image": ["step", ["zoom"], "oneway-small", 18, "oneway-large"],
+        "symbol-spacing": 200,
+        "icon-rotation-alignment": "map",
+        "icon-allow-overlap": true,
+        "icon-ignore-placement": true
+      },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, bridges" },
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "bridge"],
+        ["==", ["get", "oneway"], "true"],
+        [
+          "step",
+          ["zoom"],
+          ["match", ["get", "class"], ["primary", "secondary", "tertiary", "street", "street_limited"], true, false],
+          16,
+          [
+            "match",
+            ["get", "class"],
+            ["primary", "secondary", "tertiary", "street", "street_limited", "primary_link", "secondary_link", "tertiary_link", "service", "track"],
+            true,
+            false
+          ]
+        ]
+      ],
+      "type": "symbol",
+      "source": "composite",
+      "id": "bridge-oneway-arrow-blue",
+      "paint": {},
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 16,
+      "layout": {
+        "symbol-placement": "line",
+        "icon-image": "oneway-white-small",
+        "symbol-spacing": 200,
+        "icon-rotation-alignment": "map",
+        "icon-allow-overlap": true,
+        "icon-ignore-placement": true
+      },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, bridges" },
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "bridge"],
+        ["match", ["get", "class"], ["motorway", "trunk", "motorway_link", "trunk_link"], true, false],
+        ["==", ["get", "oneway"], "true"]
+      ],
+      "type": "symbol",
+      "source": "composite",
+      "id": "bridge-oneway-arrow-white",
+      "paint": {},
+      "source-layer": "road"
+    },
+    {
+      "id": "bridge-rail",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 13,
+      "filter": ["all", ["==", ["get", "structure"], "bridge"], ["match", ["get", "class"], ["major_rail", "minor_rail"], true, false]],
+      "paint": {
+        "line-color": ["interpolate", ["linear"], ["zoom"], 13, "hsla(245, 37%, 59%, 0)", 16, "hsla(217, 0%, 47%, 0)"],
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 0.5, 20, 1]
+      },
+      "metadata": { "mapbox:featureComponent": "transit", "mapbox:group": "Transit, bridges" }
+    },
+    {
+      "id": "bridge-rail-tracks",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 13,
+      "filter": ["all", ["==", ["get", "structure"], "bridge"], ["match", ["get", "class"], ["major_rail", "minor_rail"], true, false]],
+      "paint": {
+        "line-color": ["interpolate", ["linear"], ["zoom"], 13, "hsla(245, 37%, 59%, 0)", 16, "hsla(217, 0%, 47%, 0)"],
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 4, 20, 8],
+        "line-dasharray": [0.1, 15],
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 13.75, 0, 14, 1]
+      },
+      "metadata": { "mapbox:featureComponent": "transit", "mapbox:group": "Transit, bridges" }
+    },
+    {
+      "id": "aerialway",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 12,
+      "filter": ["==", ["get", "class"], "aerialway"],
+      "paint": { "line-color": "hsl(230, 54%, 85%)", "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 1, 20, 2], "line-dasharray": [4, 1] },
+      "metadata": { "mapbox:featureComponent": "transit", "mapbox:group": "Transit, elevated" }
+    },
+    {
+      "minzoom": 7,
+      "layout": {},
+      "metadata": { "mapbox:featureComponent": "admin-boundaries", "mapbox:group": "Administrative boundaries, admin" },
+      "filter": ["all", ["==", ["get", "admin_level"], 1], ["==", ["get", "maritime"], "false"], ["match", ["get", "worldview"], ["all", "CN"], true, false]],
+      "type": "line",
+      "source": "composite",
+      "id": "admin-1-boundary-bg",
+      "paint": {
+        "line-color": "hsl(250, 30%, 79%)",
+        "line-width": ["interpolate", ["linear"], ["zoom"], 3, 3, 12, 6],
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 7, 0, 8, 0.5],
+        "line-dasharray": [1, 0],
+        "line-blur": ["interpolate", ["linear"], ["zoom"], 3, 0, 12, 3]
+      },
+      "source-layer": "admin"
+    },
+    {
+      "minzoom": 1,
+      "layout": {},
+      "metadata": { "mapbox:featureComponent": "admin-boundaries", "mapbox:group": "Administrative boundaries, admin" },
+      "filter": ["all", ["==", ["get", "admin_level"], 0], ["==", ["get", "maritime"], "false"], ["match", ["get", "worldview"], ["all", "CN"], true, false]],
+      "type": "line",
+      "source": "composite",
+      "id": "admin-0-boundary-bg",
+      "paint": {
+        "line-width": ["interpolate", ["linear"], ["zoom"], 3, 4, 12, 8],
+        "line-color": "hsla(251, 31%, 79%, 0)",
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 3, 0, 4, 0.5],
+        "line-blur": ["interpolate", ["linear"], ["zoom"], 3, 0, 12, 2]
+      },
+      "source-layer": "admin"
+    },
+    {
+      "minzoom": 2,
+      "layout": {},
+      "metadata": { "mapbox:featureComponent": "admin-boundaries", "mapbox:group": "Administrative boundaries, admin" },
+      "filter": ["all", ["==", ["get", "admin_level"], 1], ["==", ["get", "maritime"], "false"], ["match", ["get", "worldview"], ["all", "CN"], true, false]],
+      "type": "line",
+      "source": "composite",
+      "id": "admin-1-boundary",
+      "paint": {
+        "line-dasharray": ["step", ["zoom"], ["literal", [2, 0]], 7, ["literal", [2, 2, 6, 2]]],
+        "line-width": ["interpolate", ["linear"], ["zoom"], 3, 0.5, 12, 1.5],
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 2, 0, 3, 1],
+        "line-color": "hsl(215, 76%, 58%)"
+      },
+      "source-layer": "admin"
+    },
+    {
+      "minzoom": 1,
+      "layout": { "line-join": "round" },
+      "metadata": { "mapbox:featureComponent": "admin-boundaries", "mapbox:group": "Administrative boundaries, admin" },
+      "filter": [
+        "all",
+        ["==", ["get", "admin_level"], 0],
+        ["==", ["get", "disputed"], "false"],
+        ["==", ["get", "maritime"], "false"],
+        ["match", ["get", "worldview"], ["all", "CN"], true, false]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "admin-0-boundary",
+      "paint": { "line-color": "hsl(205, 50%, 45%)", "line-width": ["interpolate", ["linear"], ["zoom"], 2, 1.5, 12, 1.5], "line-dasharray": [10, 0] },
+      "source-layer": "admin"
+    },
+    {
+      "minzoom": 1,
+      "layout": {},
+      "metadata": { "mapbox:featureComponent": "admin-boundaries", "mapbox:group": "Administrative boundaries, admin" },
+      "filter": [
+        "all",
+        ["==", ["get", "disputed"], "true"],
+        ["==", ["get", "admin_level"], 0],
+        ["==", ["get", "maritime"], "false"],
+        ["match", ["get", "worldview"], ["all", "CN"], true, false]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "admin-0-boundary-disputed",
+      "paint": {
+        "line-color": "hsl(250, 10%, 65%)",
+        "line-width": ["interpolate", ["linear"], ["zoom"], 3, 0.5, 12, 2],
+        "line-dasharray": ["step", ["zoom"], ["literal", [3, 2, 5]], 7, ["literal", [2, 1.5]]]
+      },
+      "source-layer": "admin"
+    },
+    {
+      "minzoom": 10,
+      "layout": {
+        "text-size": [
+          "interpolate",
+          ["linear"],
+          ["zoom"],
+          10,
+          [
+            "match",
+            ["get", "class"],
+            ["motorway", "trunk", "primary", "secondary", "tertiary"],
+            11,
+            ["motorway_link", "trunk_link", "primary_link", "secondary_link", "tertiary_link", "street", "street_limited"],
+            9.9,
+            7.15
+          ],
+          18,
+          [
+            "match",
+            ["get", "class"],
+            ["motorway", "trunk", "primary", "secondary", "tertiary"],
+            17.6,
+            ["motorway_link", "trunk_link", "primary_link", "secondary_link", "tertiary_link", "street", "street_limited"],
+            15.400000000000002,
+            14.3
+          ]
+        ],
+        "text-max-angle": 30,
+        "text-font": ["DIN Pro Medium", "Arial Unicode MS Regular"],
+        "symbol-placement": "line",
+        "text-padding": 1,
+        "text-rotation-alignment": "map",
+        "text-pitch-alignment": "viewport",
+        "text-field": ["coalesce", ["get", "name_zh-Hans"], ["get", "name"]],
+        "text-letter-spacing": 0.01
+      },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, road-labels" },
+      "filter": [
+        "all",
+        ["has", "name"],
+        [
+          "step",
+          ["zoom"],
+          ["match", ["get", "class"], ["motorway", "trunk", "primary", "secondary", "tertiary"], true, false],
+          12,
+          ["match", ["get", "class"], ["motorway", "trunk", "primary", "secondary", "tertiary", "street", "street_limited"], true, false],
+          15,
+          ["match", ["get", "class"], ["path", "pedestrian", "golf", "ferry", "aerialway"], false, true]
+        ]
+      ],
+      "type": "symbol",
+      "source": "composite",
+      "id": "road-label",
+      "paint": {
+        "text-color": "#e6e6e6",
+        "text-halo-color": ["match", ["get", "class"], ["motorway", "trunk"], "hsla(230, 37%, 63%, 0.75)", "hsla(230, 37%, 63%, 0)"],
+        "text-halo-width": 1,
+        "text-halo-blur": 1
+      },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 15,
+      "layout": {
+        "text-field": ["coalesce", ["get", "name_zh-Hans"], ["get", "name"]],
+        "icon-image": "intersection",
+        "icon-text-fit": "both",
+        "icon-text-fit-padding": [1, 2, 1, 2],
+        "text-size": ["interpolate", ["exponential", 1.2], ["zoom"], 15, 9, 18, 12],
+        "text-font": ["DIN Pro Bold", "Arial Unicode MS Bold"]
+      },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, road-labels" },
+      "filter": ["all", ["==", ["get", "class"], "intersection"], ["has", "name"]],
+      "type": "symbol",
+      "source": "composite",
+      "id": "road-intersection",
+      "paint": { "text-color": "hsl(230, 40%, 52%)" },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 6,
+      "layout": {
+        "text-size": 9,
+        "icon-image": [
+          "case",
+          ["has", "shield_beta"],
+          [
+            "coalesce",
+            ["image", ["concat", ["get", "shield_beta"], "-", ["to-string", ["get", "reflen"]]]],
+            ["image", ["concat", "default-", ["to-string", ["get", "reflen"]]]]
+          ],
+          ["concat", ["get", "shield"], "-", ["to-string", ["get", "reflen"]]]
+        ],
+        "icon-rotation-alignment": "viewport",
+        "text-max-angle": 38,
+        "symbol-spacing": ["interpolate", ["linear"], ["zoom"], 11, 1333.3333333333333, 14, 2000],
+        "text-font": ["DIN Pro Bold", "Arial Unicode MS Bold"],
+        "symbol-placement": ["step", ["zoom"], "point", 11, "line"],
+        "text-rotation-alignment": "viewport",
+        "text-field": ["get", "ref"],
+        "text-letter-spacing": 0.05,
+        "icon-padding": 6.66667
+      },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, road-labels" },
+      "filter": [
+        "all",
+        ["has", "reflen"],
+        ["<=", ["get", "reflen"], 6],
+        ["match", ["get", "class"], ["pedestrian", "service"], false, true],
+        [
+          "step",
+          ["zoom"],
+          ["==", ["geometry-type"], "Point"],
+          11,
+          [">", ["get", "len"], 5000],
+          12,
+          [">", ["get", "len"], 2500],
+          13,
+          [">", ["get", "len"], 1000],
+          14,
+          true
+        ]
+      ],
+      "type": "symbol",
+      "source": "composite",
+      "id": "road-number-shield",
+      "paint": {
+        "text-color": [
+          "case",
+          [
+            "all",
+            ["has", "shield_text_color_beta"],
+            ["to-boolean", ["coalesce", ["image", ["concat", ["get", "shield_beta"], "-", ["to-string", ["get", "reflen"]]]], ""]]
+          ],
+          [
+            "match",
+            ["get", "shield_text_color_beta"],
+            "white",
+            "hsl(0, 0%, 78%)",
+            "yellow",
+            "hsl(50, 70%, 54%)",
+            "orange",
+            "hsl(25, 70%, 61%)",
+            "blue",
+            "hsl(230, 40%, 32%)",
+            "red",
+            "hsl(0, 61%, 46%)",
+            "green",
+            "hsl(140, 52%, 29%)",
+            "hsl(230, 13%, 10%)"
+          ],
+          [
+            "match",
+            ["get", "shield_text_color"],
+            "white",
+            "hsl(0, 0%, 78%)",
+            "yellow",
+            "hsl(50, 70%, 54%)",
+            "orange",
+            "hsl(25, 70%, 61%)",
+            "blue",
+            "hsl(230, 40%, 32%)",
+            "red",
+            "hsl(0, 61%, 46%)",
+            "green",
+            "hsl(140, 52%, 29%)",
+            "hsl(230, 13%, 10%)"
+          ]
+        ]
+      },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 14,
+      "layout": {
+        "text-field": ["get", "ref"],
+        "text-size": 9,
+        "icon-image": ["concat", "motorway-exit-", ["to-string", ["get", "reflen"]]],
+        "text-font": ["DIN Pro Bold", "Arial Unicode MS Bold"]
+      },
+      "metadata": { "mapbox:featureComponent": "road-network", "mapbox:group": "Road network, road-labels" },
+      "filter": ["all", ["has", "reflen"], ["<=", ["get", "reflen"], 9]],
+      "type": "symbol",
+      "source": "composite",
+      "id": "road-exit-shield",
+      "paint": { "text-color": "hsl(0, 0%, 78%)", "text-translate": [0, 0] },
+      "source-layer": "motorway_junction"
+    },
+    {
+      "minzoom": 15,
+      "layout": {
+        "text-size": ["interpolate", ["linear"], ["zoom"], 10, 8.450000000000001, 18, 16.900000000000002],
+        "text-max-angle": 30,
+        "text-font": ["DIN Pro Regular", "Arial Unicode MS Regular"],
+        "symbol-placement": "line",
+        "text-padding": 1,
+        "text-rotation-alignment": "map",
+        "text-pitch-alignment": "viewport",
+        "text-field": ["coalesce", ["get", "name_zh-Hans"], ["get", "name"]],
+        "text-letter-spacing": 0.01
+      },
+      "metadata": { "mapbox:featureComponent": "transit", "mapbox:group": "Transit, ferry-aerialway-labels" },
+      "filter": ["match", ["get", "class"], "aerialway", true, "ferry", true, false],
+      "type": "symbol",
+      "source": "composite",
+      "id": "ferry-aerialway-label",
+      "paint": {
+        "text-color": ["match", ["get", "class"], "ferry", "hsl(185, 58%, 70%)", "hsl(230, 54%, 85%)"],
+        "text-halo-color": ["match", ["get", "class"], "ferry", "hsl(185, 90%, 35%)", "hsla(230, 32%, 99%, 0)"],
+        "text-halo-width": 1,
+        "text-halo-blur": 1
+      },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 13,
+      "layout": {
+        "text-font": ["DIN Pro Italic", "Arial Unicode MS Regular"],
+        "text-max-angle": 30,
+        "symbol-spacing": ["interpolate", ["linear", 1], ["zoom"], 15, 250, 17, 400],
+        "text-size": ["interpolate", ["linear"], ["zoom"], 13, 12, 18, 18],
+        "symbol-placement": "line",
+        "text-pitch-alignment": "viewport",
+        "text-field": ["coalesce", ["get", "name_zh-Hans"], ["get", "name"]]
+      },
+      "metadata": { "mapbox:featureComponent": "natural-features", "mapbox:group": "Natural features, natural-labels" },
+      "filter": [
+        "all",
+        [
+          "match",
+          ["get", "class"],
+          ["canal", "river", "stream", "disputed_canal", "disputed_river", "disputed_stream"],
+          ["match", ["get", "worldview"], ["all", "CN"], true, false],
+          false
+        ],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "symbol",
+      "source": "composite",
+      "id": "waterway-label",
+      "paint": { "text-color": "hsl(185, 58%, 90%)", "text-halo-color": "hsla(230, 29%, 62%, 0.5)" },
+      "source-layer": "natural_label"
+    },
+    {
+      "minzoom": 4,
+      "layout": {
+        "text-size": [
+          "step",
+          ["zoom"],
+          ["step", ["get", "sizerank"], 19.8, 5, 13.200000000000001],
+          17,
+          ["step", ["get", "sizerank"], 19.8, 13, 13.200000000000001]
+        ],
+        "text-max-angle": 30,
+        "text-field": ["coalesce", ["get", "name_zh-Hans"], ["get", "name"]],
+        "text-font": ["DIN Pro Medium", "Arial Unicode MS Regular"],
+        "symbol-placement": "line-center",
+        "text-pitch-alignment": "viewport"
+      },
+      "metadata": { "mapbox:featureComponent": "natural-features", "mapbox:group": "Natural features, natural-labels" },
+      "filter": [
+        "all",
+        [
+          "match",
+          ["get", "class"],
+          ["glacier", "landform", "disputed_glacier", "disputed_landform"],
+          ["match", ["get", "worldview"], ["all", "CN"], true, false],
+          false
+        ],
+        ["<=", ["get", "filterrank"], 0],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "symbol",
+      "source": "composite",
+      "id": "natural-line-label",
+      "paint": { "text-halo-width": 0.5, "text-halo-color": "hsla(230, 29%, 62%, 0)", "text-halo-blur": 0.5, "text-color": "hsl(236, 50%, 95%)" },
+      "source-layer": "natural_label"
+    },
+    {
+      "minzoom": 4,
+      "layout": {
+        "text-size": [
+          "step",
+          ["zoom"],
+          ["step", ["get", "sizerank"], 19.8, 5, 13.200000000000001],
+          17,
+          ["step", ["get", "sizerank"], 19.8, 13, 13.200000000000001]
+        ],
+        "icon-image": ["get", "maki"],
+        "text-font": ["DIN Pro Medium", "Arial Unicode MS Regular"],
+        "text-offset": [
+          "step",
+          ["zoom"],
+          ["step", ["get", "sizerank"], ["literal", [0, 0]], 5, ["literal", [0, 0.6499999999999999]]],
+          17,
+          ["step", ["get", "sizerank"], ["literal", [0, 0]], 13, ["literal", [0, 0.75]]]
+        ],
+        "text-anchor": ["step", ["zoom"], ["step", ["get", "sizerank"], "center", 5, "top"], 17, ["step", ["get", "sizerank"], "center", 13, "top"]],
+        "text-field": ["coalesce", ["get", "name_zh-Hans"], ["get", "name"]]
+      },
+      "metadata": { "mapbox:featureComponent": "natural-features", "mapbox:group": "Natural features, natural-labels" },
+      "filter": [
+        "all",
+        [
+          "match",
+          ["get", "class"],
+          [
+            "dock",
+            "glacier",
+            "landform",
+            "water_feature",
+            "wetland",
+            "disputed_dock",
+            "disputed_glacier",
+            "disputed_landform",
+            "disputed_water_feature",
+            "disputed_wetland"
+          ],
+          ["match", ["get", "worldview"], ["all", "CN"], true, false],
+          false
+        ],
+        ["<=", ["get", "filterrank"], 0],
+        ["==", ["geometry-type"], "Point"]
+      ],
+      "type": "symbol",
+      "source": "composite",
+      "id": "natural-point-label",
+      "paint": {
+        "icon-opacity": ["step", ["zoom"], ["step", ["get", "sizerank"], 0, 5, 1], 17, ["step", ["get", "sizerank"], 0, 13, 1]],
+        "text-halo-color": "hsla(230, 32%, 99%, 0)",
+        "text-halo-width": 0.5,
+        "text-halo-blur": 0.5,
+        "text-color": "hsl(236, 50%, 95%)"
+      },
+      "source-layer": "natural_label"
+    },
+    {
+      "minzoom": 1,
+      "layout": {
+        "text-size": [
+          "interpolate",
+          ["linear"],
+          ["zoom"],
+          0,
+          ["*", ["-", 16, ["sqrt", ["get", "sizerank"]]], 1],
+          22,
+          ["*", ["-", 22, ["sqrt", ["get", "sizerank"]]], 1]
+        ],
+        "text-max-angle": 30,
+        "text-letter-spacing": ["match", ["get", "class"], "ocean", 0.25, ["sea", "bay"], 0.15, 0],
+        "text-font": ["DIN Pro Italic", "Arial Unicode MS Regular"],
+        "symbol-placement": "line-center",
+        "text-pitch-alignment": "viewport",
+        "text-field": ["coalesce", ["get", "name_zh-Hans"], ["get", "name"]]
+      },
+      "metadata": { "mapbox:featureComponent": "natural-features", "mapbox:group": "Natural features, natural-labels" },
+      "filter": [
+        "all",
+        [
+          "match",
+          ["get", "class"],
+          ["bay", "ocean", "reservoir", "sea", "water", "disputed_bay", "disputed_ocean", "disputed_reservoir", "disputed_sea", "disputed_water"],
+          ["match", ["get", "worldview"], ["all", "CN"], true, false],
+          false
+        ],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "symbol",
+      "source": "composite",
+      "id": "water-line-label",
+      "paint": {
+        "text-color": ["match", ["get", "class"], ["bay", "ocean", "sea"], "hsl(185, 86%, 55%)", "hsl(185, 58%, 90%)"],
+        "text-halo-color": "hsla(230, 29%, 62%, 0.5)"
+      },
+      "source-layer": "natural_label"
+    },
+    {
+      "minzoom": 1,
+      "layout": {
+        "text-line-height": 1.3,
+        "text-size": [
+          "interpolate",
+          ["linear"],
+          ["zoom"],
+          0,
+          ["*", ["-", 16, ["sqrt", ["get", "sizerank"]]], 1],
+          22,
+          ["*", ["-", 22, ["sqrt", ["get", "sizerank"]]], 1]
+        ],
+        "text-font": ["DIN Pro Italic", "Arial Unicode MS Regular"],
+        "text-field": ["coalesce", ["get", "name_zh-Hans"], ["get", "name"]],
+        "text-letter-spacing": ["match", ["get", "class"], "ocean", 0.25, ["bay", "sea"], 0.15, 0.01],
+        "text-max-width": ["match", ["get", "class"], "ocean", 4, "sea", 5, ["bay", "water"], 7, 10]
+      },
+      "metadata": { "mapbox:featureComponent": "natural-features", "mapbox:group": "Natural features, natural-labels" },
+      "filter": [
+        "all",
+        [
+          "match",
+          ["get", "class"],
+          ["bay", "ocean", "reservoir", "sea", "water", "disputed_bay", "disputed_ocean", "disputed_reservoir", "disputed_sea", "disputed_water"],
+          ["match", ["get", "worldview"], ["all", "CN"], true, false],
+          false
+        ],
+        ["==", ["geometry-type"], "Point"]
+      ],
+      "type": "symbol",
+      "source": "composite",
+      "id": "water-point-label",
+      "paint": {
+        "text-color": ["match", ["get", "class"], ["bay", "ocean", "sea"], "hsl(185, 86%, 55%)", "hsl(185, 58%, 90%)"],
+        "text-halo-color": "hsla(230, 29%, 62%, 0.5)"
+      },
+      "source-layer": "natural_label"
+    },
+    {
+      "minzoom": 6,
+      "layout": {
+        "text-size": [
+          "step",
+          ["zoom"],
+          ["step", ["get", "sizerank"], 19.8, 5, 13.200000000000001],
+          17,
+          ["step", ["get", "sizerank"], 19.8, 13, 13.200000000000001]
+        ],
+        "icon-image": ["case", ["has", "maki_beta"], ["coalesce", ["image", ["get", "maki_beta"]], ["image", ["get", "maki"]]], ["image", ["get", "maki"]]],
+        "text-font": ["DIN Pro Medium", "Arial Unicode MS Regular"],
+        "text-offset": [
+          "step",
+          ["zoom"],
+          ["step", ["get", "sizerank"], ["literal", [0, 0]], 5, ["literal", [0, 0.8999999999999999]]],
+          17,
+          ["step", ["get", "sizerank"], ["literal", [0, 0]], 13, ["literal", [0, 0.8999999999999999]]]
+        ],
+        "text-anchor": ["step", ["zoom"], ["step", ["get", "sizerank"], "center", 5, "top"], 17, ["step", ["get", "sizerank"], "center", 13, "top"]],
+        "text-field": ["coalesce", ["get", "name_zh-Hans"], ["get", "name"]],
+        "symbol-placement": "line"
+      },
+      "metadata": { "mapbox:featureComponent": "point-of-interest-labels", "mapbox:group": "Point of interest labels, poi-labels" },
+      "filter": [
+        "<=",
+        ["get", "filterrank"],
+        ["+", ["step", ["zoom"], 0, 16, 1, 17, 2], ["match", ["get", "class"], "education", 1, "landmark", 2, "medical", 1, "motorist", 3, "park_like", 1, 0]]
+      ],
+      "type": "symbol",
+      "source": "composite",
+      "id": "poi-label",
+      "paint": {
+        "icon-opacity": ["step", ["zoom"], ["step", ["get", "sizerank"], 0, 5, 1], 17, ["step", ["get", "sizerank"], 0, 13, 1]],
+        "text-halo-color": "hsla(230, 32%, 99%, 0)",
+        "text-halo-width": 0.5,
+        "text-halo-blur": 0.5,
+        "text-color": ["match", ["get", "class"], "park_like", "hsl(150, 50%, 85%)", "medical", "hsl(0, 50%, 85%)", "hsl(236, 50%, 95%)"]
+      },
+      "source-layer": "poi_label"
+    },
+    {
+      "minzoom": 8,
+      "layout": {
+        "text-line-height": 1.1,
+        "text-size": ["step", ["get", "sizerank"], 19.8, 9, 13.200000000000001],
+        "icon-image": ["get", "maki"],
+        "text-font": ["DIN Pro Medium", "Arial Unicode MS Regular"],
+        "text-offset": [0, 0.8999999999999999],
+        "text-rotation-alignment": "viewport",
+        "text-anchor": "top",
+        "text-field": [
+          "step",
+          ["get", "sizerank"],
+          [
+            "case",
+            ["has", "ref"],
+            ["concat", ["get", "ref"], " -\n", ["coalesce", ["get", "name_zh-Hans"], ["get", "name"]]],
+            ["coalesce", ["get", "name_zh-Hans"], ["get", "name"]]
+          ],
+          15,
+          ["get", "ref"]
+        ],
+        "text-letter-spacing": 0.01,
+        "text-max-width": 9
+      },
+      "metadata": { "mapbox:featureComponent": "transit", "mapbox:group": "Transit, transit-labels" },
+      "filter": [
+        "match",
+        ["get", "class"],
+        ["military", "civil", "disputed_military", "disputed_civil"],
+        ["match", ["get", "worldview"], ["all", "CN"], true, false],
+        false
+      ],
+      "type": "symbol",
+      "source": "composite",
+      "id": "airport-label",
+      "paint": { "text-color": "hsl(230, 77%, 60%)", "text-halo-color": "hsla(230, 32%, 99%, 0)", "text-halo-width": 1 },
+      "source-layer": "airport_label"
+    },
+    {
+      "minzoom": 10,
+      "layout": {
+        "text-field": ["coalesce", ["get", "name_zh-Hans"], ["get", "name"]],
+        "text-transform": "uppercase",
+        "text-font": ["DIN Pro Medium", "Arial Unicode MS Regular"],
+        "text-letter-spacing": ["match", ["get", "type"], "suburb", 0.15, 0.05],
+        "text-max-width": 7,
+        "text-padding": 3,
+        "text-size": [
+          "interpolate",
+          ["cubic-bezier", 0.5, 0, 1, 1],
+          ["zoom"],
+          11,
+          ["match", ["get", "type"], "suburb", 12.100000000000001, 11.55],
+          15,
+          ["match", ["get", "type"], "suburb", 16.5, 15.400000000000002]
+        ]
+      },
+      "metadata": { "mapbox:featureComponent": "place-labels", "mapbox:group": "Place labels, place-labels" },
+      "maxzoom": 15,
+      "filter": [
+        "all",
+        [
+          "match",
+          ["get", "class"],
+          ["settlement_subdivision", "disputed_settlement_subdivision"],
+          ["match", ["get", "worldview"], ["all", "CN"], true, false],
+          false
+        ],
+        ["<=", ["get", "filterrank"], 1]
+      ],
+      "type": "symbol",
+      "source": "composite",
+      "id": "settlement-subdivision-label",
+      "paint": { "text-halo-color": "hsla(230, 37%, 63%, 0.75)", "text-halo-width": 1, "text-color": "hsl(215, 28%, 100%)", "text-halo-blur": 0.5 },
+      "source-layer": "place_label"
+    },
+    {
+      "minzoom": 2,
+      "layout": {
+        "text-line-height": 1.1,
+        "text-size": [
+          "interpolate",
+          ["cubic-bezier", 0.2, 0, 0.9, 1],
+          ["zoom"],
+          3,
+          ["step", ["get", "symbolrank"], 12.100000000000001, 9, 11],
+          6,
+          ["step", ["get", "symbolrank"], 15.400000000000002, 9, 13.200000000000001, 12, 11],
+          8,
+          ["step", ["get", "symbolrank"], 17.6, 9, 15.400000000000002, 12, 13.200000000000001, 15, 11],
+          13,
+          ["step", ["get", "symbolrank"], 24.200000000000003, 9, 22, 12, 17.6, 15, 15.400000000000002]
+        ],
+        "text-radial-offset": ["step", ["zoom"], ["match", ["get", "capital"], 2, 0.6, 0.55], 8, 0],
+        "symbol-sort-key": ["get", "symbolrank"],
+        "icon-image": [
+          "step",
+          ["zoom"],
+          ["case", ["==", ["get", "capital"], 2], "border-dot-13", ["step", ["get", "symbolrank"], "dot-11", 9, "dot-10", 11, "dot-9"]],
+          8,
+          ""
+        ],
+        "text-font": ["DIN Pro Regular", "Arial Unicode MS Regular"],
+        "text-justify": "auto",
+        "text-anchor": ["step", ["zoom"], ["get", "text_anchor"], 8, "center"],
+        "text-field": ["coalesce", ["get", "name_zh-Hans"], ["get", "name"]],
+        "text-max-width": 7
+      },
+      "metadata": { "mapbox:featureComponent": "place-labels", "mapbox:group": "Place labels, place-labels" },
+      "maxzoom": 13,
+      "filter": [
+        "all",
+        ["<=", ["get", "filterrank"], 1],
+        ["match", ["get", "class"], ["settlement", "disputed_settlement"], ["match", ["get", "worldview"], ["all", "CN"], true, false], false],
+        [
+          "step",
+          ["zoom"],
+          [">", ["get", "symbolrank"], 6],
+          4,
+          [">=", ["get", "symbolrank"], 7],
+          6,
+          [">=", ["get", "symbolrank"], 8],
+          7,
+          [">=", ["get", "symbolrank"], 10],
+          10,
+          [">=", ["get", "symbolrank"], 11],
+          11,
+          [">=", ["get", "symbolrank"], 13],
+          12,
+          [">=", ["get", "symbolrank"], 15]
+        ]
+      ],
+      "type": "symbol",
+      "source": "composite",
+      "id": "settlement-minor-label",
+      "paint": { "text-color": "hsl(215, 28%, 93%)", "text-halo-color": "hsla(230, 37%, 63%, 0)", "text-halo-width": 1, "text-halo-blur": 1 },
+      "source-layer": "place_label"
+    },
+    {
+      "minzoom": 2,
+      "layout": {
+        "text-line-height": 1.1,
+        "text-size": [
+          "interpolate",
+          ["cubic-bezier", 0.2, 0, 0.9, 1],
+          ["zoom"],
+          3,
+          ["step", ["get", "symbolrank"], 16.900000000000002, 6, 14.3],
+          6,
+          ["step", ["get", "symbolrank"], 23.400000000000002, 6, 20.8, 7, 18.2],
+          8,
+          ["step", ["get", "symbolrank"], 26, 9, 20.8, 10, 18.2],
+          15,
+          ["step", ["get", "symbolrank"], 31.200000000000003, 9, 26, 12, 20.8, 15, 18.2]
+        ],
+        "text-radial-offset": ["step", ["zoom"], ["match", ["get", "capital"], 2, 0.6, 0.55], 8, 0],
+        "symbol-sort-key": ["get", "symbolrank"],
+        "icon-image": [
+          "step",
+          ["zoom"],
+          ["case", ["==", ["get", "capital"], 2], "border-dot-13", ["step", ["get", "symbolrank"], "dot-11", 9, "dot-10", 11, "dot-9"]],
+          8,
+          ""
+        ],
+        "text-font": ["DIN Pro Bold", "Arial Unicode MS Regular"],
+        "text-justify": [
+          "step",
+          ["zoom"],
+          ["match", ["get", "text_anchor"], ["left", "bottom-left", "top-left"], "left", ["right", "bottom-right", "top-right"], "right", "center"],
+          8,
+          "center"
+        ],
+        "text-anchor": ["step", ["zoom"], ["get", "text_anchor"], 8, "center"],
+        "text-field": ["coalesce", ["get", "name_zh-Hans"], ["get", "name"]],
+        "text-max-width": 7
+      },
+      "metadata": { "mapbox:featureComponent": "place-labels", "mapbox:group": "Place labels, place-labels" },
+      "maxzoom": 15,
+      "filter": [
+        "all",
+        ["<=", ["get", "filterrank"], 1],
+        ["match", ["get", "class"], ["settlement", "disputed_settlement"], ["match", ["get", "worldview"], ["all", "CN"], true, false], false],
+        [
+          "step",
+          ["zoom"],
+          false,
+          2,
+          ["<=", ["get", "symbolrank"], 6],
+          4,
+          ["<", ["get", "symbolrank"], 7],
+          6,
+          ["<", ["get", "symbolrank"], 8],
+          7,
+          ["<", ["get", "symbolrank"], 10],
+          10,
+          ["<", ["get", "symbolrank"], 11],
+          11,
+          ["<", ["get", "symbolrank"], 13],
+          12,
+          ["<", ["get", "symbolrank"], 15],
+          13,
+          [">=", ["get", "symbolrank"], 11],
+          14,
+          [">=", ["get", "symbolrank"], 15]
+        ]
+      ],
+      "type": "symbol",
+      "source": "composite",
+      "id": "settlement-major-label",
+      "paint": { "text-color": "hsl(215, 28%, 93%)", "text-halo-color": "hsla(230, 37%, 63%, 0)", "text-halo-width": 1, "text-halo-blur": 1 },
+      "source-layer": "place_label"
+    },
+    {
+      "minzoom": 3,
+      "layout": {
+        "text-size": [
+          "interpolate",
+          ["cubic-bezier", 0.85, 0.7, 0.65, 1],
+          ["zoom"],
+          4,
+          ["step", ["get", "symbolrank"], 10.799999999999999, 6, 9.6, 7, 8.4],
+          9,
+          ["step", ["get", "symbolrank"], 25.2, 6, 19.2, 7, 16.8]
+        ],
+        "text-transform": "uppercase",
+        "text-font": ["DIN Pro Bold", "Arial Unicode MS Bold"],
+        "text-field": ["coalesce", ["get", "name_zh-Hans"], ["get", "name"]],
+        "text-letter-spacing": 0.15,
+        "text-max-width": 6
+      },
+      "metadata": { "mapbox:featureComponent": "place-labels", "mapbox:group": "Place labels, place-labels" },
+      "maxzoom": 9,
+      "filter": ["match", ["get", "class"], ["state", "disputed_state"], ["match", ["get", "worldview"], ["all", "CN"], true, false], false],
+      "type": "symbol",
+      "source": "composite",
+      "id": "state-label",
+      "paint": { "text-color": "hsl(215, 28%, 93%)", "text-halo-color": "hsla(230, 37%, 63%, 0)", "text-halo-width": 1, "text-opacity": 0.5 },
+      "source-layer": "place_label"
+    },
+    {
+      "minzoom": 1,
+      "layout": {
+        "icon-image": "",
+        "text-field": ["coalesce", ["get", "name_zh-Hans"], ["get", "name"]],
+        "text-line-height": 1.1,
+        "text-max-width": 6,
+        "text-font": ["DIN Pro Medium", "Arial Unicode MS Regular"],
+        "text-radial-offset": ["step", ["zoom"], 0.6, 8, 0],
+        "text-justify": [
+          "step",
+          ["zoom"],
+          ["match", ["get", "text_anchor"], ["left", "bottom-left", "top-left"], "left", ["right", "bottom-right", "top-right"], "right", "center"],
+          7,
+          "auto"
+        ],
+        "text-size": [
+          "interpolate",
+          ["cubic-bezier", 0.2, 0, 0.7, 1],
+          ["zoom"],
+          1,
+          ["step", ["get", "symbolrank"], 12.1, 4, 9.9, 5, 8.8],
+          9,
+          ["step", ["get", "symbolrank"], 30.799999999999997, 4, 26.599999999999998, 5, 23.799999999999997]
+        ]
+      },
+      "metadata": { "mapbox:featureComponent": "place-labels", "mapbox:group": "Place labels, place-labels" },
+      "maxzoom": 10,
+      "filter": ["match", ["get", "class"], ["country", "disputed_country"], ["match", ["get", "worldview"], ["all", "CN"], true, false], false],
+      "type": "symbol",
+      "source": "composite",
+      "id": "country-label",
+      "paint": {
+        "icon-opacity": ["step", ["zoom"], ["case", ["has", "text_anchor"], 1, 0], 7, 0],
+        "text-color": "hsl(215, 28%, 93%)",
+        "text-halo-color": ["interpolate", ["linear"], ["zoom"], 2, "hsla(230, 37%, 63%, 0.75)", 3, "hsla(230, 37%, 63%, 0)"],
+        "text-halo-width": 1.25
+      },
+      "source-layer": "place_label"
+    },
+    {
+      "minzoom": 0.75,
+      "layout": {
+        "text-field": ["coalesce", ["get", "name_zh-Hans"], ["get", "name"]],
+        "text-line-height": 1.1,
+        "text-max-width": 6,
+        "text-font": ["DIN Pro Medium", "Arial Unicode MS Regular"],
+        "text-size": ["interpolate", ["exponential", 0.5], ["zoom"], 0, 10, 2.5, 15],
+        "text-transform": "uppercase",
+        "text-letter-spacing": 0.05
+      },
+      "metadata": { "mapbox:featureComponent": "place-labels", "mapbox:group": "Place labels, place-labels" },
+      "maxzoom": 3,
+      "filter": ["==", ["get", "class"], "continent"],
+      "type": "symbol",
+      "source": "composite",
+      "id": "continent-label",
+      "paint": {
+        "text-color": "hsl(215, 28%, 93%)",
+        "text-halo-color": ["interpolate", ["linear"], ["zoom"], 0, "hsla(230, 37%, 63%, 0.75)", 3, "hsla(230, 37%, 63%, 0)"],
+        "text-halo-width": 1.5,
+        "text-opacity": ["interpolate", ["linear"], ["zoom"], 0, 0.8, 1.5, 0.5, 2.5, 0]
+      },
+      "source-layer": "natural_label"
+    }
+  ],
+  "created": "2022-11-11T07:06:36.814Z",
+  "modified": "2022-11-15T10:20:07.721Z",
+  "id": "clac5oby2000c14o27c4d529k",
+  "owner": "Vothing",
+  "visibility": "private",
+  "protected": false,
+  "draft": false
+}
diff --git a/public/ref/style/satellite.json b/public/ref/style/satellite.json
new file mode 100644
index 0000000..7d1bf9b
--- /dev/null
+++ b/public/ref/style/satellite.json
@@ -0,0 +1,2631 @@
+{
+  "version": 8,
+  "name": "影像注记",
+  "metadata": {
+    "mapbox:type": "default",
+    "mapbox:origin": "satellite-streets-v12",
+    "mapbox:sdk-support": {
+      "android": "10.6.0",
+      "ios": "10.6.0",
+      "js": "2.9.0"
+    },
+    "mapbox:autocomposite": true,
+    "mapbox:groups": {
+      "Transit, transit-labels": {
+        "name": "Transit, transit-labels",
+        "collapsed": true
+      },
+      "Administrative boundaries, admin": {
+        "name": "Administrative boundaries, admin",
+        "collapsed": true
+      },
+      "Road network, bridges": {
+        "name": "Road network, bridges",
+        "collapsed": true
+      },
+      "Road network, tunnels": {
+        "name": "Road network, tunnels",
+        "collapsed": true
+      },
+      "Road network, road-labels": {
+        "name": "Road network, road-labels",
+        "collapsed": true
+      },
+      "Natural features, natural-labels": {
+        "name": "Natural features, natural-labels",
+        "collapsed": true
+      },
+      "Road network, surface": {
+        "name": "Road network, surface",
+        "collapsed": true
+      },
+      "Walking, cycling, etc., barriers-bridges": {
+        "name": "Walking, cycling, etc., barriers-bridges",
+        "collapsed": true
+      },
+      "Place labels, place-labels": {
+        "name": "Place labels, place-labels",
+        "collapsed": true
+      },
+      "Transit, elevated": {
+        "name": "Transit, elevated",
+        "collapsed": true
+      },
+      "Point of interest labels, poi-labels": {
+        "name": "Point of interest labels, poi-labels",
+        "collapsed": true
+      },
+      "Walking, cycling, etc., tunnels": {
+        "name": "Walking, cycling, etc., tunnels",
+        "collapsed": true
+      },
+      "Road network, tunnels-case": {
+        "name": "Road network, tunnels-case",
+        "collapsed": true
+      },
+      "Walking, cycling, etc., walking-cycling-labels": {
+        "name": "Walking, cycling, etc., walking-cycling-labels",
+        "collapsed": true
+      },
+      "Walking, cycling, etc., surface": {
+        "name": "Walking, cycling, etc., surface",
+        "collapsed": true
+      },
+      "Satellite imagery, land": {
+        "name": "Satellite imagery, land",
+        "collapsed": true
+      },
+      "Transit, ferry-aerialway-labels": {
+        "name": "Transit, ferry-aerialway-labels",
+        "collapsed": true
+      }
+    }
+  },
+  "center": [116.40446932693203, 39.9209801377464],
+  "zoom": 19.393526793882586,
+  "bearing": 11.200000000000273,
+  "pitch": 41.99999999999993,
+  "fog": {
+    "range": [1, 10],
+    "color": ["interpolate", ["exponential", 1.2], ["zoom"], 5.5, "hsl(240, 12%, 70%)", 6, "hsl(0, 0%, 100%)"],
+    "high-color": ["interpolate", ["exponential", 1.2], ["zoom"], 5.5, "hsl(240, 12%, 7%)", 6, "hsl(38, 63%, 84%)"],
+    "space-color": ["interpolate", ["exponential", 1.2], ["zoom"], 5.5, "hsl(240, 12%, 9%)", 6, "hsl(199, 61%, 80%)"],
+    "horizon-blend": ["interpolate", ["exponential", 1.2], ["zoom"], 5.5, 0.008, 6, 0.15],
+    "star-intensity": ["interpolate", ["exponential", 1.2], ["zoom"], 5.5, 0.1, 6, 0]
+  },
+  "sources": {
+    "mapbox://mapbox.satellite": {
+      "url": "mapbox://mapbox.satellite",
+      "type": "raster",
+      "tileSize": 256
+    },
+    "composite": {
+      "url": "mapbox://mapbox.mapbox-streets-v8",
+      "type": "vector"
+    }
+  },
+  "sprite": "mapbox://sprites/mapbox/satellite-v9",
+  "glyphs": "mapbox://fonts/mapbox/{fontstack}/{range}.pbf",
+  "projection": {
+    "name": "globe"
+  },
+  "layers": [
+    {
+      "id": "background",
+      "type": "background",
+      "layout": {},
+      "paint": {
+        "background-color": "hsl(222, 56%, 4%)",
+        "background-opacity": 0.9
+      },
+      "metadata": {
+        "mapbox:featureComponent": "satellite",
+        "mapbox:group": "Satellite imagery, land"
+      }
+    },
+    {
+      "id": "satellite",
+      "type": "raster",
+      "source": "mapbox://mapbox.satellite",
+      "layout": {},
+      "paint": {},
+      "metadata": {
+        "mapbox:featureComponent": "satellite",
+        "mapbox:group": "Satellite imagery, land"
+      }
+    },
+    {
+      "id": "tunnel-minor-case",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 13,
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "tunnel"],
+        ["match", ["get", "class"], ["track"], true, "service", ["step", ["zoom"], false, 14, true], false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 0.8, 22, 2],
+        "line-color": "hsla(0, 0%, 0%, 0.7)",
+        "line-gap-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 1, 18, 10, 22, 100],
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 13, 1, 15, 0],
+        "line-dasharray": [3, 3]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, tunnels-case"
+      }
+    },
+    {
+      "id": "tunnel-street-case",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 14,
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "tunnel"],
+        ["match", ["get", "class"], ["street", "street_limited"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 0.8, 22, 2],
+        "line-color": "hsla(0, 0%, 0%, 0.7)",
+        "line-gap-width": ["interpolate", ["exponential", 1.5], ["zoom"], 12, 0.5, 18, 20, 22, 200],
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 13, 1, 15, 0],
+        "line-dasharray": [3, 3]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, tunnels-case"
+      }
+    },
+    {
+      "minzoom": 13,
+      "layout": {
+        "line-cap": ["step", ["zoom"], "butt", 14, "round"],
+        "line-join": ["step", ["zoom"], "miter", 14, "round"]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, tunnels-case"
+      },
+      "filter": [
+        "all",
+        ["match", ["get", "class"], ["primary_link", "secondary_link", "tertiary_link"], true, false],
+        ["==", ["get", "structure"], "tunnel"],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "tunnel-minor-link-case",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 0.8, 22, 2],
+        "line-color": "hsla(0, 1%, 10%, 0.7)",
+        "line-gap-width": ["interpolate", ["exponential", 1.5], ["zoom"], 12, 0.4, 18, 18, 22, 180],
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 13, 1, 15, 0]
+      },
+      "source-layer": "road"
+    },
+    {
+      "id": "tunnel-secondary-tertiary-case",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 11,
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "tunnel"],
+        ["match", ["get", "class"], ["secondary", "tertiary"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 1, 22, 2],
+        "line-color": "hsla(0, 0%, 0%, 0.7)",
+        "line-gap-width": ["interpolate", ["exponential", 1.5], ["zoom"], 3, 0, 18, 26, 22, 260],
+        "line-dasharray": [3, 3],
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 13, 0.3, 15, 0]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, tunnels-case"
+      }
+    },
+    {
+      "id": "tunnel-primary-case",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 9,
+      "filter": ["all", ["==", ["get", "structure"], "tunnel"], ["==", ["get", "class"], "primary"], ["==", ["geometry-type"], "LineString"]],
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 1, 22, 2],
+        "line-color": "hsla(0, 0%, 0%, 0.7)",
+        "line-gap-width": ["interpolate", ["exponential", 1.5], ["zoom"], 3, 0.8, 18, 28, 22, 280],
+        "line-dasharray": [3, 3],
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 13, 0.3, 15, 0]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, tunnels-case"
+      }
+    },
+    {
+      "id": "tunnel-major-link-case",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 12,
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "tunnel"],
+        ["match", ["get", "class"], ["motorway_link", "trunk_link"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 0.8, 22, 2],
+        "line-color": "hsla(0, 0%, 80%, 0.8)",
+        "line-gap-width": ["interpolate", ["exponential", 1.5], ["zoom"], 12, 0.8, 18, 20, 22, 200],
+        "line-dasharray": [3, 3],
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 13, 1, 15, 0]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, tunnels-case"
+      }
+    },
+    {
+      "id": "tunnel-motorway-trunk-case",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 13,
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "tunnel"],
+        ["match", ["get", "class"], ["motorway", "trunk"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 1, 22, 2],
+        "line-color": "hsla(0, 1%, 22%, 0.7)",
+        "line-gap-width": ["interpolate", ["exponential", 1.5], ["zoom"], 3, 0.8, 18, 30, 22, 300],
+        "line-dasharray": [3, 3],
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 13, 1, 15, 0]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, tunnels-case"
+      }
+    },
+    {
+      "minzoom": 14,
+      "layout": {},
+      "metadata": {
+        "mapbox:featureComponent": "walking-cycling",
+        "mapbox:group": "Walking, cycling, etc., tunnels"
+      },
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "tunnel"],
+        ["==", ["get", "class"], "path"],
+        ["!=", ["get", "type"], "steps"],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "tunnel-path",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 15, 1, 18, 4],
+        "line-color": "hsla(40, 88%, 77%, 0.8)",
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 17, 1, 18, 0],
+        "line-dasharray": ["step", ["zoom"], ["literal", [1, 0]], 15, ["literal", [1.75, 1]], 16, ["literal", [1, 0.75]], 17, ["literal", [1, 0.5]]]
+      },
+      "source-layer": "road"
+    },
+    {
+      "id": "tunnel-steps",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 14,
+      "filter": ["all", ["==", ["get", "structure"], "tunnel"], ["==", ["get", "type"], "steps"], ["==", ["geometry-type"], "LineString"]],
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 15, 1, 16, 1.6, 18, 6],
+        "line-color": "hsla(40, 88%, 77%, 0.8)",
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 17, 1, 18, 0],
+        "line-dasharray": ["step", ["zoom"], ["literal", [1, 0]], 15, ["literal", [1.75, 1]], 16, ["literal", [1, 0.75]], 17, ["literal", [0.3, 0.3]]]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "walking-cycling",
+        "mapbox:group": "Walking, cycling, etc., tunnels"
+      }
+    },
+    {
+      "id": "tunnel-pedestrian",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 13,
+      "filter": ["all", ["==", ["get", "structure"], "tunnel"], ["==", ["get", "class"], "pedestrian"], ["==", ["geometry-type"], "LineString"]],
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 0.5, 18, 12],
+        "line-color": "hsla(40, 95%, 90%, 0.8)",
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 17, 1, 18, 0],
+        "line-dasharray": ["step", ["zoom"], ["literal", [1, 0]], 15, ["literal", [1.5, 0.4]], 16, ["literal", [1, 0.2]]]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "walking-cycling",
+        "mapbox:group": "Walking, cycling, etc., tunnels"
+      }
+    },
+    {
+      "id": "tunnel-minor",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 13,
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "tunnel"],
+        ["match", ["get", "class"], ["track"], true, "service", ["step", ["zoom"], false, 14, true], false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 1, 18, 10, 22, 100],
+        "line-color": ["match", ["get", "class"], "street_limited", "hsl(0, 2%, 22%)", "hsla(0, 0%, 80%, 0.8)"],
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 13, 1, 15, 0]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, tunnels"
+      }
+    },
+    {
+      "minzoom": 13,
+      "layout": {
+        "line-cap": ["step", ["zoom"], "butt", 13, "round"],
+        "line-join": ["step", ["zoom"], "miter", 13, "round"]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, tunnels"
+      },
+      "filter": [
+        "all",
+        ["match", ["get", "class"], ["primary_link", "secondary_link", "tertiary_link"], true, false],
+        ["==", ["get", "structure"], "tunnel"],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "tunnel-minor-link",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 12, 0.4, 18, 18, 22, 180],
+        "line-color": "hsla(0, 0%, 80%, 0.8)",
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 13, 1, 15, 0]
+      },
+      "source-layer": "road"
+    },
+    {
+      "id": "tunnel-major-link",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 12,
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "tunnel"],
+        ["match", ["get", "class"], ["motorway_link", "trunk_link"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 12, 0.8, 18, 20, 22, 200],
+        "line-color": ["match", ["get", "class"], "motorway_link", "hsla(30, 100%, 80%, 0.8)", "hsla(50, 78%, 80%, 0.8)"],
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 13, 1, 15, 0]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, tunnels"
+      }
+    },
+    {
+      "id": "tunnel-street",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 13,
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "tunnel"],
+        ["match", ["get", "class"], ["street", "street_limited"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 12, 0.5, 18, 20, 22, 200],
+        "line-color": ["match", ["get", "class"], "street_limited", "hsl(0, 2%, 22%)", "hsla(0, 0%, 80%, 0.8)"],
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 13, 1, 15, 0]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, tunnels"
+      }
+    },
+    {
+      "minzoom": 13,
+      "layout": {
+        "line-cap": ["step", ["zoom"], "butt", 14, "round"],
+        "line-join": ["step", ["zoom"], "miter", 14, "round"]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, tunnels"
+      },
+      "maxzoom": 14,
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "tunnel"],
+        ["match", ["get", "class"], ["street", "street_limited"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "tunnel-street-low",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 12, 0.5, 18, 20, 22, 200],
+        "line-color": "hsla(0, 0%, 80%, 0.8)",
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 13, 0.3, 15, 0]
+      },
+      "source-layer": "road"
+    },
+    {
+      "id": "tunnel-secondary-tertiary",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 13,
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "tunnel"],
+        ["match", ["get", "class"], ["secondary", "tertiary"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 3, 0, 18, 26, 22, 260],
+        "line-color": "hsla(0, 0%, 80%, 0.8)",
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 13, 0.3, 15, 0]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, tunnels"
+      }
+    },
+    {
+      "id": "tunnel-primary",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 13,
+      "filter": ["all", ["==", ["get", "structure"], "tunnel"], ["==", ["get", "class"], "primary"], ["==", ["geometry-type"], "LineString"]],
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 3, 0.8, 18, 28, 22, 280],
+        "line-color": "hsla(0, 0%, 80%, 0.8)",
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 13, 0.3, 15, 0]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, tunnels"
+      }
+    },
+    {
+      "id": "tunnel-motorway-trunk",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 13,
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "tunnel"],
+        ["match", ["get", "class"], ["motorway", "trunk"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 3, 0.8, 18, 30, 22, 300],
+        "line-color": ["match", ["get", "class"], "motorway", "hsla(30, 100%, 80%, 0.8)", "hsla(50, 78%, 80%, 0.8)"],
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 13, 1, 15, 0]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, tunnels"
+      }
+    },
+    {
+      "minzoom": 12,
+      "layout": {
+        "line-join": ["step", ["zoom"], "miter", 14, "round"]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "walking-cycling",
+        "mapbox:group": "Walking, cycling, etc., surface"
+      },
+      "filter": [
+        "all",
+        ["==", ["get", "class"], "path"],
+        ["step", ["zoom"], ["!", ["match", ["get", "type"], ["steps", "sidewalk", "crossing"], true, false]], 16, ["!=", ["get", "type"], "steps"]],
+        ["match", ["get", "structure"], ["none", "ford"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "road-path",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 13, 0.5, 14, 1, 15, 1, 18, 4],
+        "line-color": "hsla(40, 95%, 90%, 0.8)",
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 17, 1, 18, 0],
+        "line-dasharray": ["step", ["zoom"], ["literal", [4, 0.3]], 15, ["literal", [1.75, 0.3]], 16, ["literal", [1, 0.3]], 17, ["literal", [1, 0.25]]]
+      },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 14,
+      "layout": {
+        "line-join": "round"
+      },
+      "metadata": {
+        "mapbox:featureComponent": "walking-cycling",
+        "mapbox:group": "Walking, cycling, etc., surface"
+      },
+      "filter": [
+        "all",
+        ["==", ["get", "type"], "steps"],
+        ["match", ["get", "structure"], ["none", "ford"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "road-steps",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 15, 1, 16, 1.6, 18, 6],
+        "line-color": "hsla(40, 95%, 90%, 0.8)",
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 17, 1, 18, 0],
+        "line-dasharray": ["step", ["zoom"], ["literal", [1, 0]], 15, ["literal", [1.75, 1]], 16, ["literal", [1, 0.75]], 17, ["literal", [0.3, 0.3]]]
+      },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 12,
+      "layout": {
+        "line-join": ["step", ["zoom"], "miter", 14, "round"]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "walking-cycling",
+        "mapbox:group": "Walking, cycling, etc., surface"
+      },
+      "filter": [
+        "all",
+        ["==", ["get", "class"], "pedestrian"],
+        ["match", ["get", "structure"], ["none", "ford"], true, false],
+        ["case", ["has", "layer"], [">=", ["get", "layer"], 0], true],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "road-pedestrian",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 0.5, 18, 12],
+        "line-color": "hsla(40, 95%, 90%, 0.8)",
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 17, 1, 18, 0],
+        "line-dasharray": ["step", ["zoom"], ["literal", [1, 0]], 15, ["literal", [1.5, 0.4]], 16, ["literal", [1, 0.2]]]
+      },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 13,
+      "layout": {
+        "line-cap": ["step", ["zoom"], "butt", 14, "round"],
+        "line-join": ["step", ["zoom"], "miter", 14, "round"]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, surface"
+      },
+      "filter": [
+        "all",
+        ["match", ["get", "class"], ["track"], true, "service", ["step", ["zoom"], false, 14, true], false],
+        ["match", ["get", "structure"], ["none", "ford"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "road-minor-case",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 0.8, 22, 2],
+        "line-color": ["match", ["get", "class"], "track", "hsla(40, 95%, 90%, 0.8)", "hsla(0, 1%, 10%, 0.7)"],
+        "line-gap-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 1, 18, 10, 22, 100],
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 13, 1, 15, 0]
+      },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 14,
+      "layout": {
+        "line-cap": ["step", ["zoom"], "butt", 14, "round"],
+        "line-join": ["step", ["zoom"], "miter", 14, "round"]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, surface"
+      },
+      "filter": [
+        "all",
+        ["match", ["get", "class"], ["street", "street_limited"], true, false],
+        ["match", ["get", "structure"], ["none", "ford"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "road-street-case",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 0.8, 22, 2],
+        "line-color": "hsla(0, 1%, 10%, 0.7)",
+        "line-gap-width": ["interpolate", ["exponential", 1.5], ["zoom"], 12, 0.5, 18, 20, 22, 200],
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 13, 0.3, 15, 0]
+      },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 13,
+      "layout": {
+        "line-cap": ["step", ["zoom"], "butt", 14, "round"],
+        "line-join": ["step", ["zoom"], "miter", 14, "round"]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, surface"
+      },
+      "filter": [
+        "all",
+        ["match", ["get", "class"], ["primary_link", "secondary_link", "tertiary_link"], true, false],
+        ["match", ["get", "structure"], ["none", "ford"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "road-minor-link-case",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 0.8, 22, 2],
+        "line-color": "hsla(0, 1%, 10%, 0.7)",
+        "line-gap-width": ["interpolate", ["exponential", 1.5], ["zoom"], 12, 0.4, 18, 18, 22, 180],
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 13, 1, 15, 0]
+      },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 11,
+      "layout": {
+        "line-cap": ["step", ["zoom"], "butt", 14, "round"],
+        "line-join": ["step", ["zoom"], "miter", 14, "round"]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, surface"
+      },
+      "filter": [
+        "all",
+        ["match", ["get", "class"], ["secondary", "tertiary"], true, false],
+        ["match", ["get", "structure"], ["none", "ford"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "road-secondary-tertiary-case",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 0.8, 22, 2],
+        "line-color": "hsla(0, 1%, 10%, 0.7)",
+        "line-gap-width": ["interpolate", ["exponential", 1.5], ["zoom"], 3, 0, 18, 26, 22, 260],
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 13, 0.3, 15, 0]
+      },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 9,
+      "layout": {
+        "line-cap": ["step", ["zoom"], "butt", 14, "round"],
+        "line-join": ["step", ["zoom"], "miter", 14, "round"]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, surface"
+      },
+      "filter": [
+        "all",
+        ["==", ["get", "class"], "primary"],
+        ["match", ["get", "structure"], ["none", "ford"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "road-primary-case",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 1, 22, 2],
+        "line-color": "hsla(0, 1%, 10%, 0.7)",
+        "line-gap-width": ["interpolate", ["exponential", 1.5], ["zoom"], 3, 0.8, 18, 28, 22, 280],
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 13, 1, 15, 0]
+      },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 12,
+      "layout": {
+        "line-cap": ["step", ["zoom"], "butt", 14, "round"],
+        "line-join": ["step", ["zoom"], "miter", 14, "round"]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, surface"
+      },
+      "filter": [
+        "all",
+        ["match", ["get", "class"], ["motorway_link", "trunk_link"], true, false],
+        ["match", ["get", "structure"], ["none", "ford"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "road-major-link-case",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 0.8, 22, 2],
+        "line-color": "hsla(0, 1%, 22%, 0.7)",
+        "line-gap-width": ["interpolate", ["exponential", 1.5], ["zoom"], 12, 0.8, 18, 20, 22, 200],
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 13, 1, 15, 0]
+      },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 3,
+      "layout": {
+        "line-cap": ["step", ["zoom"], "butt", 14, "round"],
+        "line-join": ["step", ["zoom"], "miter", 14, "round"]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, surface"
+      },
+      "filter": [
+        "all",
+        [
+          "step",
+          ["zoom"],
+          ["match", ["get", "class"], ["motorway", "trunk"], true, false],
+          5,
+          ["all", ["match", ["get", "class"], ["motorway", "trunk"], true, false], ["match", ["get", "structure"], ["none", "ford"], true, false]]
+        ],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "road-motorway-trunk-case",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 1, 22, 2],
+        "line-color": "hsla(0, 1%, 22%, 0.7)",
+        "line-gap-width": ["interpolate", ["exponential", 1.5], ["zoom"], 3, 0.8, 18, 30, 22, 300],
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 3, 0, 3.5, 1, 13, 1, 15, 0]
+      },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 13,
+      "layout": {
+        "line-cap": ["step", ["zoom"], "butt", 14, "round"],
+        "line-join": ["step", ["zoom"], "miter", 14, "round"]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, surface"
+      },
+      "filter": [
+        "all",
+        ["match", ["get", "class"], ["track"], true, "service", ["step", ["zoom"], false, 14, true], false],
+        ["match", ["get", "structure"], ["none", "ford"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "road-minor",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 1, 18, 10, 22, 100],
+        "line-color": "hsla(0, 0%, 80%, 0.8)",
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 13, 1, 15, 0]
+      },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 12,
+      "layout": {
+        "line-cap": ["step", ["zoom"], "butt", 13, "round"],
+        "line-join": ["step", ["zoom"], "miter", 13, "round"]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, surface"
+      },
+      "filter": [
+        "all",
+        ["match", ["get", "class"], ["primary_link", "secondary_link", "tertiary_link"], true, false],
+        ["match", ["get", "structure"], ["none", "ford"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "road-minor-link",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 12, 0.4, 18, 18, 22, 180],
+        "line-color": "hsla(0, 0%, 80%, 0.8)",
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 13, 1, 15, 0]
+      },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 12,
+      "layout": {
+        "line-cap": ["step", ["zoom"], "butt", 13, "round"],
+        "line-join": ["step", ["zoom"], "miter", 13, "round"]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, surface"
+      },
+      "filter": [
+        "all",
+        ["match", ["get", "class"], ["motorway_link", "trunk_link"], true, false],
+        ["match", ["get", "structure"], ["none", "ford"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "road-major-link",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 12, 0.8, 18, 20, 22, 200],
+        "line-color": ["match", ["get", "class"], "motorway_link", "hsla(30, 100%, 70%, 0.8)", "hsla(50, 89%, 70%, 0.8)"],
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 13, 1, 15, 0]
+      },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 13,
+      "layout": {
+        "line-cap": ["step", ["zoom"], "butt", 14, "round"],
+        "line-join": ["step", ["zoom"], "miter", 14, "round"]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, surface"
+      },
+      "filter": [
+        "all",
+        ["match", ["get", "class"], ["street", "street_limited"], true, false],
+        ["match", ["get", "structure"], ["none", "ford"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "road-street",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 12, 0.5, 18, 20, 22, 200],
+        "line-color": ["match", ["get", "class"], "street_limited", "hsl(0, 2%, 22%)", "hsla(0, 0%, 80%, 0.8)"],
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 13, 0.3, 15, 0]
+      },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 11,
+      "layout": {
+        "line-cap": ["step", ["zoom"], "butt", 14, "round"],
+        "line-join": ["step", ["zoom"], "miter", 14, "round"]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, surface"
+      },
+      "maxzoom": 14,
+      "filter": [
+        "all",
+        ["match", ["get", "class"], ["street", "street_limited"], true, false],
+        ["match", ["get", "structure"], ["none", "ford"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "road-street-low",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 12, 0.5, 18, 20, 22, 200],
+        "line-color": "hsla(0, 0%, 80%, 0.8)",
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 13, 0.3, 15, 0]
+      },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 8,
+      "layout": {
+        "line-cap": ["step", ["zoom"], "butt", 14, "round"],
+        "line-join": ["step", ["zoom"], "miter", 14, "round"]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, surface"
+      },
+      "filter": [
+        "all",
+        ["match", ["get", "class"], ["secondary", "tertiary"], true, false],
+        ["match", ["get", "structure"], ["none", "ford"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "road-secondary-tertiary",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 3, 0, 18, 26, 22, 260],
+        "line-color": "hsla(0, 0%, 80%, 0.8)",
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 13, 0.3, 15, 0]
+      },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 6,
+      "layout": {
+        "line-cap": ["step", ["zoom"], "butt", 14, "round"],
+        "line-join": ["step", ["zoom"], "miter", 14, "round"]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, surface"
+      },
+      "filter": [
+        "all",
+        ["==", ["get", "class"], "primary"],
+        ["match", ["get", "structure"], ["none", "ford"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "road-primary",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 3, 0.8, 18, 28, 22, 280],
+        "line-color": "hsla(0, 0%, 80%, 0.8)",
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 13, 1, 15, 0]
+      },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 3,
+      "layout": {
+        "line-cap": ["step", ["zoom"], "butt", 13, "round"],
+        "line-join": ["step", ["zoom"], "miter", 13, "round"]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, surface"
+      },
+      "filter": [
+        "all",
+        [
+          "step",
+          ["zoom"],
+          ["match", ["get", "class"], ["motorway", "trunk"], true, false],
+          5,
+          ["all", ["match", ["get", "class"], ["motorway", "trunk"], true, false], ["match", ["get", "structure"], ["none", "ford"], true, false]]
+        ],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "road-motorway-trunk",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 3, 0.8, 18, 30, 22, 300],
+        "line-color": [
+          "step",
+          ["zoom"],
+          ["match", ["get", "class"], "motorway", "hsla(30, 88%, 64%, 0.8)", "trunk", "hsla(50, 81%, 54%, 0.8)", "hsl(0, 0%, 22%)"],
+          9,
+          ["match", ["get", "class"], "motorway", "hsla(30, 100%, 70%, 0.8)", "hsla(50, 89%, 70%, 0.8)"]
+        ],
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 3, 0, 3.5, 1, 13, 1, 15, 0]
+      },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 14,
+      "layout": {},
+      "metadata": {
+        "mapbox:featureComponent": "walking-cycling",
+        "mapbox:group": "Walking, cycling, etc., barriers-bridges"
+      },
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "bridge"],
+        ["==", ["get", "class"], "path"],
+        ["!=", ["get", "type"], "steps"],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "bridge-path",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 15, 1, 18, 4],
+        "line-color": "hsla(40, 95%, 90%, 0.8)",
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 17, 1, 18, 0],
+        "line-dasharray": ["step", ["zoom"], ["literal", [4, 0.3]], 15, ["literal", [1.75, 0.3]], 16, ["literal", [1, 0.3]], 17, ["literal", [1, 0.25]]]
+      },
+      "source-layer": "road"
+    },
+    {
+      "id": "bridge-steps",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 14,
+      "filter": ["all", ["==", ["get", "type"], "steps"], ["==", ["get", "structure"], "bridge"], ["==", ["geometry-type"], "LineString"]],
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 15, 1, 16, 1.6, 18, 6],
+        "line-color": "hsla(40, 95%, 90%, 0.8)",
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 17, 1, 18, 0],
+        "line-dasharray": ["step", ["zoom"], ["literal", [1, 0]], 15, ["literal", [1.75, 1]], 16, ["literal", [1, 0.75]], 17, ["literal", [0.3, 0.3]]]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "walking-cycling",
+        "mapbox:group": "Walking, cycling, etc., barriers-bridges"
+      }
+    },
+    {
+      "id": "bridge-pedestrian",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 13,
+      "filter": ["all", ["==", ["get", "structure"], "bridge"], ["==", ["get", "class"], "pedestrian"], ["==", ["geometry-type"], "LineString"]],
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 0.5, 18, 12],
+        "line-color": "hsla(40, 95%, 90%, 0.8)",
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 17, 1, 18, 0],
+        "line-dasharray": ["step", ["zoom"], ["literal", [1, 0]], 15, ["literal", [1.5, 0.4]], 16, ["literal", [1, 0.2]]]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "walking-cycling",
+        "mapbox:group": "Walking, cycling, etc., barriers-bridges"
+      }
+    },
+    {
+      "id": "bridge-minor-case",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 13,
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "bridge"],
+        ["match", ["get", "class"], ["track"], true, "service", ["step", ["zoom"], false, 14, true], false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 0.8, 22, 2],
+        "line-color": ["match", ["get", "class"], "track", "hsla(40, 95%, 90%, 0.8)", "hsla(0, 1%, 10%, 0.7)"],
+        "line-gap-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 1, 18, 10, 22, 100],
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 13, 1, 15, 0]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, bridges"
+      }
+    },
+    {
+      "id": "bridge-street-case",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 14,
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "bridge"],
+        ["match", ["get", "class"], ["street", "street_limited"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 0.8, 22, 2],
+        "line-color": ["match", ["get", "class"], "track", "hsla(40, 95%, 90%, 0.8)", "hsla(0, 1%, 10%, 0.7)"],
+        "line-gap-width": ["interpolate", ["exponential", 1.5], ["zoom"], 12, 0.5, 18, 20, 22, 200],
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 13, 1, 15, 0]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, bridges"
+      }
+    },
+    {
+      "minzoom": 13,
+      "layout": {
+        "line-join": ["step", ["zoom"], "miter", 14, "round"]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, bridges"
+      },
+      "filter": [
+        "all",
+        ["match", ["get", "class"], ["primary_link", "secondary_link", "tertiary_link"], true, false],
+        ["==", ["get", "structure"], "bridge"],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "bridge-minor-link-case",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 0.8, 22, 2],
+        "line-color": "hsla(0, 1%, 10%, 0.7)",
+        "line-gap-width": ["interpolate", ["exponential", 1.5], ["zoom"], 12, 0.4, 18, 18, 22, 180],
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 13, 1, 15, 0]
+      },
+      "source-layer": "road"
+    },
+    {
+      "id": "bridge-secondary-tertiary-case",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 11,
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "bridge"],
+        ["match", ["get", "class"], ["secondary", "tertiary"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 1, 22, 2],
+        "line-color": "hsla(0, 1%, 10%, 0.7)",
+        "line-gap-width": ["interpolate", ["exponential", 1.5], ["zoom"], 3, 0, 18, 26, 22, 260],
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 13, 0.3, 15, 0]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, bridges"
+      }
+    },
+    {
+      "id": "bridge-primary-case",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 9,
+      "filter": ["all", ["==", ["get", "structure"], "bridge"], ["==", ["get", "class"], "primary"], ["==", ["geometry-type"], "LineString"]],
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 1, 22, 2],
+        "line-color": "hsla(0, 1%, 10%, 0.7)",
+        "line-gap-width": ["interpolate", ["exponential", 1.5], ["zoom"], 3, 0.8, 18, 28, 22, 280],
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 13, 0.3, 15, 0]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, bridges"
+      }
+    },
+    {
+      "id": "bridge-major-link-case",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 12,
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "bridge"],
+        ["match", ["get", "class"], ["motorway_link", "trunk_link"], true, false],
+        ["<=", ["get", "layer"], 1],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 0.8, 22, 2],
+        "line-color": "hsla(0, 1%, 22%, 0.7)",
+        "line-gap-width": ["interpolate", ["exponential", 1.5], ["zoom"], 12, 0.8, 18, 20, 22, 200],
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 13, 1, 15, 0]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, bridges"
+      }
+    },
+    {
+      "id": "bridge-motorway-trunk-case",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 13,
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "bridge"],
+        ["match", ["get", "class"], ["motorway", "trunk"], true, false],
+        ["<=", ["get", "layer"], 1],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 1, 22, 2],
+        "line-color": "hsla(0, 1%, 22%, 0.7)",
+        "line-gap-width": ["interpolate", ["exponential", 1.5], ["zoom"], 3, 0.8, 18, 30, 22, 300],
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 13, 1, 15, 0]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, bridges"
+      }
+    },
+    {
+      "minzoom": 13,
+      "layout": {
+        "line-cap": ["step", ["zoom"], "butt", 14, "round"]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, bridges"
+      },
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "bridge"],
+        ["match", ["get", "class"], ["track"], true, "service", ["step", ["zoom"], false, 14, true], false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "bridge-minor",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 1, 18, 10, 22, 100],
+        "line-color": "hsla(0, 0%, 80%, 0.8)",
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 13, 1, 15, 0]
+      },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 13,
+      "layout": {
+        "line-cap": "round"
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, bridges"
+      },
+      "filter": [
+        "all",
+        ["match", ["get", "class"], ["primary_link", "secondary_link", "tertiary_link"], true, false],
+        ["==", ["get", "structure"], "bridge"],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "bridge-minor-link",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 12, 0.4, 18, 18, 22, 180],
+        "line-color": "hsla(0, 0%, 80%, 0.8)",
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 13, 1, 15, 0]
+      },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 12,
+      "layout": {
+        "line-cap": "round"
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, bridges"
+      },
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "bridge"],
+        ["match", ["get", "class"], ["motorway_link", "trunk_link"], true, false],
+        ["<=", ["get", "layer"], 1],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "bridge-major-link",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 12, 0.8, 18, 20, 22, 200],
+        "line-color": ["match", ["get", "class"], "motorway_link", "hsla(30, 100%, 70%, 0.8)", "hsla(50, 89%, 70%, 0.8)"],
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 13, 1, 15, 0]
+      },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 13,
+      "layout": {
+        "line-cap": ["step", ["zoom"], "butt", 14, "round"]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, bridges"
+      },
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "bridge"],
+        ["match", ["get", "class"], ["street", "street_limited"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "bridge-street",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 12, 0.5, 18, 20, 22, 200],
+        "line-color": ["match", ["get", "class"], "street_limited", "hsl(0, 2%, 22%)", "hsla(0, 0%, 80%, 0.8)"],
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 13, 1, 15, 0]
+      },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 13,
+      "layout": {
+        "line-cap": ["step", ["zoom"], "butt", 14, "round"],
+        "line-join": ["step", ["zoom"], "miter", 14, "round"]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, bridges"
+      },
+      "maxzoom": 14,
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "bridge"],
+        ["match", ["get", "class"], ["street", "street_limited"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "bridge-street-low",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 12, 0.5, 18, 20, 22, 200],
+        "line-color": "hsla(0, 0%, 80%, 0.8)",
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 13, 0.3, 15, 0]
+      },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 13,
+      "layout": {
+        "line-cap": ["step", ["zoom"], "butt", 14, "round"]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, bridges"
+      },
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "bridge"],
+        ["match", ["get", "class"], ["secondary", "tertiary"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "bridge-secondary-tertiary",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 3, 0, 18, 26, 22, 260],
+        "line-color": "hsla(0, 0%, 80%, 0.8)",
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 13, 0.3, 15, 0]
+      },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 13,
+      "layout": {
+        "line-cap": ["step", ["zoom"], "butt", 14, "round"]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, bridges"
+      },
+      "filter": ["all", ["==", ["get", "structure"], "bridge"], ["==", ["get", "class"], "primary"], ["==", ["geometry-type"], "LineString"]],
+      "type": "line",
+      "source": "composite",
+      "id": "bridge-primary",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 3, 0.8, 18, 28, 22, 280],
+        "line-color": "hsla(0, 0%, 80%, 0.8)",
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 13, 0.3, 15, 0]
+      },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 13,
+      "layout": {
+        "line-cap": "round"
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, bridges"
+      },
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "bridge"],
+        ["match", ["get", "class"], ["motorway", "trunk"], true, false],
+        ["<=", ["get", "layer"], 1],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "bridge-motorway-trunk",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 3, 0.8, 18, 30, 22, 300],
+        "line-color": ["match", ["get", "class"], "motorway", "hsla(30, 100%, 70%, 0.8)", "hsla(50, 89%, 70%, 0.8)"],
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 13, 1, 15, 0]
+      },
+      "source-layer": "road"
+    },
+    {
+      "id": "bridge-major-link-2-case",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 12,
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "bridge"],
+        [">=", ["get", "layer"], 2],
+        ["match", ["get", "class"], ["motorway_link", "trunk_link"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 0.8, 22, 2],
+        "line-color": "hsla(0, 1%, 22%, 0.7)",
+        "line-gap-width": ["interpolate", ["exponential", 1.5], ["zoom"], 12, 0.8, 18, 20, 22, 200],
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 13, 1, 15, 0]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, bridges"
+      }
+    },
+    {
+      "id": "bridge-motorway-trunk-2-case",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 13,
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "bridge"],
+        [">=", ["get", "layer"], 2],
+        ["match", ["get", "class"], ["motorway", "trunk"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 1, 22, 2],
+        "line-color": "hsla(0, 1%, 22%, 0.7)",
+        "line-gap-width": ["interpolate", ["exponential", 1.5], ["zoom"], 3, 0.8, 18, 30, 22, 300],
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 13, 1, 15, 0]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, bridges"
+      }
+    },
+    {
+      "minzoom": 12,
+      "layout": {
+        "line-cap": "round"
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, bridges"
+      },
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "bridge"],
+        [">=", ["get", "layer"], 2],
+        ["match", ["get", "class"], ["motorway_link", "trunk_link"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "bridge-major-link-2",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 12, 0.8, 18, 20, 22, 200],
+        "line-color": ["match", ["get", "class"], "motorway_link", "hsla(30, 100%, 70%, 0.8)", "hsla(50, 89%, 70%, 0.8)"],
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 13, 1, 15, 0]
+      },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 13,
+      "layout": {
+        "line-cap": ["step", ["zoom"], "butt", 14, "round"]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, bridges"
+      },
+      "filter": [
+        "all",
+        ["==", ["get", "structure"], "bridge"],
+        [">=", ["get", "layer"], 2],
+        ["match", ["get", "class"], ["motorway", "trunk"], true, false],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "bridge-motorway-trunk-2",
+      "paint": {
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 3, 0.8, 18, 30, 22, 300],
+        "line-color": ["match", ["get", "class"], "motorway", "hsla(30, 100%, 70%, 0.8)", "hsla(50, 89%, 70%, 0.8)"],
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 13, 1, 15, 0]
+      },
+      "source-layer": "road"
+    },
+    {
+      "id": "aerialway",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "road",
+      "minzoom": 12,
+      "filter": ["==", ["get", "class"], "aerialway"],
+      "paint": {
+        "line-color": "hsl(204, 100%, 80%)",
+        "line-width": ["interpolate", ["exponential", 1.5], ["zoom"], 14, 1, 20, 2],
+        "line-dasharray": [4, 1]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "transit",
+        "mapbox:group": "Transit, elevated"
+      }
+    },
+    {
+      "id": "admin-1-boundary-bg",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "admin",
+      "minzoom": 7,
+      "filter": ["all", ["==", ["get", "admin_level"], 1], ["==", ["get", "maritime"], "false"], ["match", ["get", "worldview"], ["all", "CN"], true, false]],
+      "paint": {
+        "line-color": "hsl(260, 45%, 0%)",
+        "line-width": ["interpolate", ["linear"], ["zoom"], 3, 3, 12, 6],
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 7, 0, 8, 0.5],
+        "line-dasharray": [1, 0],
+        "line-blur": ["interpolate", ["linear"], ["zoom"], 3, 0, 12, 3]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "admin-boundaries",
+        "mapbox:group": "Administrative boundaries, admin"
+      }
+    },
+    {
+      "id": "admin-0-boundary-bg",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "admin",
+      "minzoom": 1,
+      "filter": ["all", ["==", ["get", "admin_level"], 0], ["==", ["get", "maritime"], "false"], ["match", ["get", "worldview"], ["all", "CN"], true, false]],
+      "paint": {
+        "line-width": ["interpolate", ["linear"], ["zoom"], 3, 6, 12, 12],
+        "line-color": "hsl(260, 45%, 0%)",
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 3, 0, 4, 0.5],
+        "line-blur": ["interpolate", ["linear"], ["zoom"], 3, 0, 12, 3]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "admin-boundaries",
+        "mapbox:group": "Administrative boundaries, admin"
+      }
+    },
+    {
+      "minzoom": 2,
+      "layout": {},
+      "metadata": {
+        "mapbox:featureComponent": "admin-boundaries",
+        "mapbox:group": "Administrative boundaries, admin"
+      },
+      "filter": ["all", ["==", ["get", "admin_level"], 1], ["==", ["get", "maritime"], "false"], ["match", ["get", "worldview"], ["all", "CN"], true, false]],
+      "type": "line",
+      "source": "composite",
+      "id": "admin-1-boundary",
+      "paint": {
+        "line-dasharray": ["step", ["zoom"], ["literal", [2, 0]], 7, ["literal", [2, 2, 6, 2]]],
+        "line-width": ["interpolate", ["linear"], ["zoom"], 3, 0.3, 12, 1.5],
+        "line-opacity": ["interpolate", ["linear"], ["zoom"], 2, 0, 3, 1],
+        "line-color": "hsl(260, 15%, 85%)"
+      },
+      "source-layer": "admin"
+    },
+    {
+      "minzoom": 1,
+      "layout": {},
+      "metadata": {
+        "mapbox:featureComponent": "admin-boundaries",
+        "mapbox:group": "Administrative boundaries, admin"
+      },
+      "filter": [
+        "all",
+        ["==", ["get", "admin_level"], 0],
+        ["==", ["get", "disputed"], "false"],
+        ["==", ["get", "maritime"], "false"],
+        ["match", ["get", "worldview"], ["all", "CN"], true, false]
+      ],
+      "type": "line",
+      "source": "composite",
+      "id": "admin-0-boundary",
+      "paint": {
+        "line-color": "hsl(260, 15%, 80%)",
+        "line-width": ["interpolate", ["linear"], ["zoom"], 3, 0.75, 12, 3],
+        "line-dasharray": ["step", ["zoom"], ["literal", [2, 0]], 7, ["literal", [2, 2, 6, 2]]]
+      },
+      "source-layer": "admin"
+    },
+    {
+      "id": "admin-0-boundary-disputed",
+      "type": "line",
+      "source": "composite",
+      "source-layer": "admin",
+      "minzoom": 1,
+      "filter": [
+        "all",
+        ["==", ["get", "disputed"], "true"],
+        ["==", ["get", "admin_level"], 0],
+        ["==", ["get", "maritime"], "false"],
+        ["match", ["get", "worldview"], ["all", "CN"], true, false]
+      ],
+      "paint": {
+        "line-color": "hsl(260, 15%, 80%)",
+        "line-width": ["interpolate", ["linear"], ["zoom"], 3, 0.75, 12, 3],
+        "line-dasharray": ["step", ["zoom"], ["literal", [3, 2, 5]], 7, ["literal", [2, 1.5]]]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "admin-boundaries",
+        "mapbox:group": "Administrative boundaries, admin"
+      }
+    },
+    {
+      "minzoom": 10,
+      "layout": {
+        "text-size": [
+          "interpolate",
+          ["linear"],
+          ["zoom"],
+          10,
+          [
+            "match",
+            ["get", "class"],
+            ["motorway", "trunk", "primary", "secondary", "tertiary"],
+            11,
+            ["motorway_link", "trunk_link", "primary_link", "secondary_link", "tertiary_link", "street", "street_limited"],
+            9.9,
+            7.15
+          ],
+          18,
+          [
+            "match",
+            ["get", "class"],
+            ["motorway", "trunk", "primary", "secondary", "tertiary"],
+            17.6,
+            ["motorway_link", "trunk_link", "primary_link", "secondary_link", "tertiary_link", "street", "street_limited"],
+            15.400000000000002,
+            14.3
+          ]
+        ],
+        "text-max-angle": 30,
+        "text-font": ["DIN Pro Medium", "Arial Unicode MS Regular"],
+        "symbol-placement": "line",
+        "text-padding": 1,
+        "text-rotation-alignment": "map",
+        "text-pitch-alignment": "viewport",
+        "text-field": ["coalesce", ["get", "name"]],
+        "text-letter-spacing": 0.01
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, road-labels"
+      },
+      "filter": [
+        "all",
+        ["has", "name"],
+        [
+          "step",
+          ["zoom"],
+          ["match", ["get", "class"], ["motorway", "trunk", "primary", "secondary", "tertiary"], true, false],
+          12,
+          ["match", ["get", "class"], ["motorway", "trunk", "primary", "secondary", "tertiary", "street", "street_limited"], true, false],
+          15,
+          ["match", ["get", "class"], ["path", "pedestrian", "golf", "ferry", "aerialway"], false, true]
+        ]
+      ],
+      "type": "symbol",
+      "source": "composite",
+      "id": "road-label",
+      "paint": {
+        "text-color": "hsl(0, 0%, 100%)",
+        "text-halo-color": ["match", ["get", "class"], ["motorway", "trunk"], "hsla(0, 5%, 0%, 0.75)", "hsl(0, 5%, 0%)"],
+        "text-halo-width": 1,
+        "text-halo-blur": 1
+      },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 15,
+      "layout": {
+        "text-field": ["coalesce", ["get", "name_zh-Hans"], ["get", "name"]],
+        "icon-image": "intersection",
+        "icon-text-fit": "both",
+        "icon-text-fit-padding": [1, 2, 1, 2],
+        "text-size": ["interpolate", ["exponential", 1.2], ["zoom"], 15, 9, 18, 12],
+        "text-font": ["DIN Pro Bold", "Arial Unicode MS Bold"]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, road-labels"
+      },
+      "filter": ["all", ["==", ["get", "class"], "intersection"], ["has", "name"]],
+      "type": "symbol",
+      "source": "composite",
+      "id": "road-intersection",
+      "paint": {
+        "text-color": "hsl(230, 36%, 64%)"
+      },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 6,
+      "layout": {
+        "text-size": 9,
+        "icon-image": [
+          "case",
+          ["has", "shield_beta"],
+          [
+            "coalesce",
+            ["image", ["concat", ["get", "shield_beta"], "-", ["to-string", ["get", "reflen"]]]],
+            ["image", ["concat", "default-", ["to-string", ["get", "reflen"]]]]
+          ],
+          ["concat", ["get", "shield"], "-", ["to-string", ["get", "reflen"]]]
+        ],
+        "icon-rotation-alignment": "viewport",
+        "text-max-angle": 38,
+        "symbol-spacing": ["interpolate", ["linear"], ["zoom"], 11, 400, 14, 600],
+        "text-font": ["DIN Pro Bold", "Arial Unicode MS Bold"],
+        "symbol-placement": ["step", ["zoom"], "point", 11, "line"],
+        "text-rotation-alignment": "viewport",
+        "text-field": ["get", "ref"],
+        "text-letter-spacing": 0.05
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, road-labels"
+      },
+      "filter": [
+        "all",
+        ["has", "reflen"],
+        ["<=", ["get", "reflen"], 6],
+        ["match", ["get", "class"], ["pedestrian", "service"], false, true],
+        [
+          "step",
+          ["zoom"],
+          ["==", ["geometry-type"], "Point"],
+          11,
+          [">", ["get", "len"], 5000],
+          12,
+          [">", ["get", "len"], 2500],
+          13,
+          [">", ["get", "len"], 1000],
+          14,
+          true
+        ]
+      ],
+      "type": "symbol",
+      "source": "composite",
+      "id": "road-number-shield",
+      "paint": {
+        "text-color": [
+          "case",
+          [
+            "all",
+            ["has", "shield_text_color_beta"],
+            ["to-boolean", ["coalesce", ["image", ["concat", ["get", "shield_beta"], "-", ["to-string", ["get", "reflen"]]]], ""]]
+          ],
+          [
+            "match",
+            ["get", "shield_text_color_beta"],
+            "white",
+            "hsl(0, 0%, 100%)",
+            "yellow",
+            "hsl(50, 63%, 70%)",
+            "orange",
+            "hsl(25, 63%, 75%)",
+            "blue",
+            "hsl(230, 36%, 44%)",
+            "red",
+            "hsl(0, 54%, 59%)",
+            "green",
+            "hsl(140, 46%, 37%)",
+            "hsl(230, 11%, 13%)"
+          ],
+          [
+            "match",
+            ["get", "shield_text_color"],
+            "white",
+            "hsl(0, 0%, 100%)",
+            "yellow",
+            "hsl(50, 63%, 70%)",
+            "orange",
+            "hsl(25, 63%, 75%)",
+            "blue",
+            "hsl(230, 36%, 44%)",
+            "red",
+            "hsl(0, 54%, 59%)",
+            "green",
+            "hsl(140, 46%, 37%)",
+            "hsl(230, 11%, 13%)"
+          ]
+        ]
+      },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 14,
+      "layout": {
+        "text-field": ["get", "ref"],
+        "text-size": 9,
+        "icon-image": ["concat", "motorway-exit-", ["to-string", ["get", "reflen"]]],
+        "text-font": ["DIN Pro Bold", "Arial Unicode MS Bold"]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "road-network",
+        "mapbox:group": "Road network, road-labels"
+      },
+      "filter": ["all", ["has", "reflen"], ["<=", ["get", "reflen"], 9]],
+      "type": "symbol",
+      "source": "composite",
+      "id": "road-exit-shield",
+      "paint": {
+        "text-color": "hsl(0, 0%, 100%)",
+        "text-translate": [0, 0]
+      },
+      "source-layer": "motorway_junction"
+    },
+    {
+      "minzoom": 12,
+      "layout": {
+        "text-size": [
+          "interpolate",
+          ["linear"],
+          ["zoom"],
+          10,
+          ["match", ["get", "class"], "pedestrian", 9.9, 7.15],
+          18,
+          ["match", ["get", "class"], "pedestrian", 15.400000000000002, 14.3]
+        ],
+        "text-max-angle": 30,
+        "text-font": ["DIN Pro Medium", "Arial Unicode MS Regular"],
+        "symbol-placement": "line",
+        "text-padding": 1,
+        "text-rotation-alignment": "map",
+        "text-pitch-alignment": "viewport",
+        "text-field": ["coalesce", ["get", "name_zh-Hans"], ["get", "name"]],
+        "text-letter-spacing": 0.01
+      },
+      "metadata": {
+        "mapbox:featureComponent": "walking-cycling",
+        "mapbox:group": "Walking, cycling, etc., walking-cycling-labels"
+      },
+      "filter": [
+        "all",
+        ["case", ["has", "layer"], [">=", ["get", "layer"], 0], true],
+        ["step", ["zoom"], ["match", ["get", "class"], ["pedestrian"], true, false], 15, ["match", ["get", "class"], ["path", "pedestrian"], true, false]]
+      ],
+      "type": "symbol",
+      "source": "composite",
+      "id": "path-pedestrian-label",
+      "paint": {
+        "text-color": "hsl(0, 0%, 100%)",
+        "text-halo-color": "hsl(0, 5%, 0%)",
+        "text-halo-width": 1,
+        "text-halo-blur": 1
+      },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 15,
+      "layout": {
+        "text-size": ["interpolate", ["linear"], ["zoom"], 10, 7.15, 18, 14.3],
+        "text-max-angle": 30,
+        "text-font": ["DIN Pro Medium", "Arial Unicode MS Regular"],
+        "symbol-placement": "line",
+        "text-padding": 1,
+        "text-rotation-alignment": "map",
+        "text-pitch-alignment": "viewport",
+        "text-field": ["coalesce", ["get", "name_zh-Hant"], ["get", "name"]],
+        "text-letter-spacing": 0.01
+      },
+      "metadata": {
+        "mapbox:featureComponent": "transit",
+        "mapbox:group": "Transit, ferry-aerialway-labels"
+      },
+      "filter": ["match", ["get", "class"], "aerialway", true, false],
+      "type": "symbol",
+      "source": "composite",
+      "id": "ferry-aerialway-label",
+      "paint": {
+        "text-color": ["match", ["get", "class"], "ferry", "hsl(240, 68%, 94%)", "hsl(204, 100%, 80%)"],
+        "text-halo-color": ["match", ["get", "class"], "ferry", "hsl(240, 100%, 62%)", "hsl(0, 0%, 0%)"],
+        "text-halo-width": 1,
+        "text-halo-blur": 1
+      },
+      "source-layer": "road"
+    },
+    {
+      "minzoom": 13,
+      "layout": {
+        "text-font": ["DIN Pro Italic", "Arial Unicode MS Regular"],
+        "text-max-angle": 30,
+        "symbol-spacing": ["interpolate", ["linear", 1], ["zoom"], 15, 250, 17, 400],
+        "text-size": ["interpolate", ["linear"], ["zoom"], 13, 12, 18, 18],
+        "symbol-placement": "line",
+        "text-pitch-alignment": "viewport",
+        "text-field": ["coalesce", ["get", "name_zh-Hans"], ["get", "name"]]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "natural-features",
+        "mapbox:group": "Natural features, natural-labels"
+      },
+      "filter": [
+        "all",
+        [
+          "match",
+          ["get", "class"],
+          ["canal", "river", "stream", "disputed_canal", "disputed_river", "disputed_stream"],
+          ["match", ["get", "worldview"], ["all", "CN"], true, false],
+          false
+        ],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "symbol",
+      "source": "composite",
+      "id": "waterway-label",
+      "paint": {
+        "text-color": "hsl(240, 68%, 90%)",
+        "text-halo-color": "hsla(0, 0%, 0%, 0.5)",
+        "text-halo-width": 1,
+        "text-halo-blur": 1
+      },
+      "source-layer": "natural_label"
+    },
+    {
+      "minzoom": 4,
+      "layout": {
+        "text-size": ["step", ["zoom"], ["step", ["get", "sizerank"], 18, 5, 12], 17, ["step", ["get", "sizerank"], 18, 13, 12]],
+        "text-max-angle": 30,
+        "text-field": ["coalesce", ["get", "name_zh-Hans"], ["get", "name"]],
+        "text-font": ["DIN Pro Bold", "Arial Unicode MS Bold"],
+        "symbol-placement": "line-center",
+        "text-pitch-alignment": "viewport"
+      },
+      "metadata": {
+        "mapbox:featureComponent": "natural-features",
+        "mapbox:group": "Natural features, natural-labels"
+      },
+      "filter": [
+        "all",
+        [
+          "match",
+          ["get", "class"],
+          ["glacier", "landform", "disputed_glacier", "disputed_landform"],
+          ["match", ["get", "worldview"], ["all", "CN"], true, false],
+          false
+        ],
+        ["<=", ["get", "filterrank"], 2],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "symbol",
+      "source": "composite",
+      "id": "natural-line-label",
+      "paint": {
+        "text-halo-width": 0.5,
+        "text-halo-color": "hsl(0, 0%, 0%)",
+        "text-halo-blur": 0.5,
+        "text-color": "hsl(0, 0%, 100%)"
+      },
+      "source-layer": "natural_label"
+    },
+    {
+      "minzoom": 4,
+      "layout": {
+        "text-size": ["step", ["zoom"], ["step", ["get", "sizerank"], 18, 5, 12], 17, ["step", ["get", "sizerank"], 18, 13, 12]],
+        "icon-image": ["get", "maki"],
+        "text-font": ["DIN Pro Bold", "Arial Unicode MS Bold"],
+        "text-offset": [
+          "step",
+          ["zoom"],
+          ["step", ["get", "sizerank"], ["literal", [0, 0]], 5, ["literal", [0, 0.55]]],
+          17,
+          ["step", ["get", "sizerank"], ["literal", [0, 0]], 13, ["literal", [0, 0.6000000000000001]]]
+        ],
+        "text-anchor": ["step", ["zoom"], ["step", ["get", "sizerank"], "center", 5, "top"], 17, ["step", ["get", "sizerank"], "center", 13, "top"]],
+        "text-field": ["coalesce", ["get", "name_zh-Hans"], ["get", "name"]]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "natural-features",
+        "mapbox:group": "Natural features, natural-labels"
+      },
+      "filter": [
+        "all",
+        [
+          "match",
+          ["get", "class"],
+          [
+            "dock",
+            "glacier",
+            "landform",
+            "water_feature",
+            "wetland",
+            "disputed_dock",
+            "disputed_glacier",
+            "disputed_landform",
+            "disputed_water_feature",
+            "disputed_wetland"
+          ],
+          ["match", ["get", "worldview"], ["all", "CN"], true, false],
+          false
+        ],
+        ["<=", ["get", "filterrank"], 2],
+        ["==", ["geometry-type"], "Point"]
+      ],
+      "type": "symbol",
+      "source": "composite",
+      "id": "natural-point-label",
+      "paint": {
+        "icon-opacity": ["step", ["zoom"], ["step", ["get", "sizerank"], 0, 5, 1], 17, ["step", ["get", "sizerank"], 0, 13, 1]],
+        "text-halo-color": "hsl(0, 0%, 0%)",
+        "text-halo-width": 0.5,
+        "text-halo-blur": 0.5,
+        "text-color": "hsl(0, 0%, 100%)"
+      },
+      "source-layer": "natural_label"
+    },
+    {
+      "minzoom": 1,
+      "layout": {
+        "text-size": [
+          "interpolate",
+          ["linear"],
+          ["zoom"],
+          0,
+          ["*", ["-", 16, ["sqrt", ["get", "sizerank"]]], 1],
+          22,
+          ["*", ["-", 22, ["sqrt", ["get", "sizerank"]]], 1]
+        ],
+        "text-max-angle": 30,
+        "text-letter-spacing": ["match", ["get", "class"], "ocean", 0.25, ["sea", "bay"], 0.15, 0],
+        "text-font": ["DIN Pro Italic", "Arial Unicode MS Regular"],
+        "symbol-placement": "line-center",
+        "text-pitch-alignment": "viewport",
+        "text-field": ["coalesce", ["get", "name_zh-Hans"], ["get", "name"]]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "natural-features",
+        "mapbox:group": "Natural features, natural-labels"
+      },
+      "filter": [
+        "all",
+        [
+          "match",
+          ["get", "class"],
+          ["bay", "ocean", "reservoir", "sea", "water", "disputed_bay", "disputed_ocean", "disputed_reservoir", "disputed_sea", "disputed_water"],
+          ["match", ["get", "worldview"], ["all", "CN"], true, false],
+          false
+        ],
+        ["==", ["geometry-type"], "LineString"]
+      ],
+      "type": "symbol",
+      "source": "composite",
+      "id": "water-line-label",
+      "paint": {
+        "text-color": ["match", ["get", "class"], ["bay", "ocean", "sea"], "hsl(240, 96%, 82%)", "hsl(240, 68%, 90%)"],
+        "text-halo-color": "hsla(0, 0%, 0%, 0.5)",
+        "text-halo-width": 1,
+        "text-halo-blur": 1
+      },
+      "source-layer": "natural_label"
+    },
+    {
+      "minzoom": 1,
+      "layout": {
+        "text-line-height": 1.3,
+        "text-size": [
+          "interpolate",
+          ["linear"],
+          ["zoom"],
+          0,
+          ["*", ["-", 16, ["sqrt", ["get", "sizerank"]]], 1],
+          22,
+          ["*", ["-", 22, ["sqrt", ["get", "sizerank"]]], 1]
+        ],
+        "text-font": ["DIN Pro Italic", "Arial Unicode MS Regular"],
+        "text-field": ["coalesce", ["get", "name_zh-Hans"], ["get", "name"]],
+        "text-letter-spacing": ["match", ["get", "class"], "ocean", 0.25, ["bay", "sea"], 0.15, 0.01],
+        "text-max-width": ["match", ["get", "class"], "ocean", 4, "sea", 5, ["bay", "water"], 7, 10]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "natural-features",
+        "mapbox:group": "Natural features, natural-labels"
+      },
+      "filter": [
+        "all",
+        [
+          "match",
+          ["get", "class"],
+          ["bay", "ocean", "reservoir", "sea", "water", "disputed_bay", "disputed_ocean", "disputed_reservoir", "disputed_sea", "disputed_water"],
+          ["match", ["get", "worldview"], ["all", "CN"], true, false],
+          false
+        ],
+        ["==", ["geometry-type"], "Point"]
+      ],
+      "type": "symbol",
+      "source": "composite",
+      "id": "water-point-label",
+      "paint": {
+        "text-color": ["match", ["get", "class"], ["bay", "ocean", "sea"], "hsl(240, 96%, 82%)", "hsl(240, 68%, 90%)"],
+        "text-halo-color": "hsla(0, 0%, 0%, 0.5)",
+        "text-halo-width": 1,
+        "text-halo-blur": 1
+      },
+      "source-layer": "natural_label"
+    },
+    {
+      "minzoom": 6,
+      "layout": {
+        "text-size": ["step", ["zoom"], ["step", ["get", "sizerank"], 18, 5, 12], 17, ["step", ["get", "sizerank"], 18, 13, 12]],
+        "icon-image": ["case", ["has", "maki_beta"], ["coalesce", ["image", ["get", "maki_beta"]], ["image", ["get", "maki"]]], ["image", ["get", "maki"]]],
+        "text-font": ["DIN Pro Bold", "Arial Unicode MS Bold"],
+        "text-offset": [
+          "step",
+          ["zoom"],
+          ["step", ["get", "sizerank"], ["literal", [0, 0]], 5, ["literal", [0, 0.8]]],
+          17,
+          ["step", ["get", "sizerank"], ["literal", [0, 0]], 13, ["literal", [0, 0.8]]]
+        ],
+        "text-anchor": ["step", ["zoom"], ["step", ["get", "sizerank"], "center", 5, "top"], 17, ["step", ["get", "sizerank"], "center", 13, "top"]],
+        "text-field": ["get", "name_zh-Hans"]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "point-of-interest-labels",
+        "mapbox:group": "Point of interest labels, poi-labels"
+      },
+      "filter": ["<=", ["get", "filterrank"], ["+", ["step", ["zoom"], 0, 16, 1, 17, 2], 3]],
+      "type": "symbol",
+      "source": "composite",
+      "id": "poi-label",
+      "paint": {
+        "icon-opacity": ["step", ["zoom"], ["step", ["get", "sizerank"], 0, 5, 1], 17, ["step", ["get", "sizerank"], 0, 13, 1]],
+        "text-halo-color": "hsl(0, 0%, 0%)",
+        "text-halo-width": 0.5,
+        "text-halo-blur": 0.5,
+        "text-color": [
+          "match",
+          ["get", "class"],
+          "park_like",
+          "hsl(110, 100%, 85%)",
+          "education",
+          "hsl(30, 100%, 85%)",
+          "medical",
+          "hsl(0, 100%, 85%)",
+          "hsl(0, 0%, 100%)"
+        ]
+      },
+      "source-layer": "poi_label"
+    },
+    {
+      "minzoom": 12,
+      "layout": {
+        "text-size": 12,
+        "icon-image": ["get", "network"],
+        "text-font": ["DIN Pro Bold", "Arial Unicode MS Bold"],
+        "text-justify": ["match", ["get", "stop_type"], "entrance", "left", "center"],
+        "text-offset": ["match", ["get", "stop_type"], "entrance", ["literal", [1, 0]], ["literal", [0, 0.8]]],
+        "text-anchor": ["match", ["get", "stop_type"], "entrance", "left", "top"],
+        "text-field": [
+          "step",
+          ["zoom"],
+          "",
+          13,
+          ["match", ["get", "mode"], ["rail", "metro_rail"], ["coalesce", ["get", "name_zh-Hant"], ["get", "name"]], ""],
+          14,
+          ["match", ["get", "mode"], ["bus", "bicycle"], "", ["coalesce", ["get", "name_zh-Hant"], ["get", "name"]]],
+          18,
+          ["coalesce", ["get", "name_zh-Hant"], ["get", "name"]]
+        ],
+        "text-letter-spacing": 0.01,
+        "text-max-width": ["match", ["get", "stop_type"], "entrance", 15, 9]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "transit",
+        "mapbox:group": "Transit, transit-labels"
+      },
+      "filter": [
+        "step",
+        ["zoom"],
+        [
+          "all",
+          ["<=", ["get", "filterrank"], 4],
+          ["match", ["get", "mode"], "rail", true, "metro_rail", true, false],
+          ["!=", ["get", "stop_type"], "entrance"]
+        ],
+        14,
+        ["all", ["match", ["get", "mode"], "rail", true, "metro_rail", true, false], ["!=", ["get", "stop_type"], "entrance"]],
+        15,
+        ["all", ["match", ["get", "mode"], "rail", true, "metro_rail", true, "light_rail", true, false], ["!=", ["get", "stop_type"], "entrance"]],
+        16,
+        ["all", ["match", ["get", "mode"], "ferry", false, "bus", false, true], ["!=", ["get", "stop_type"], "entrance"]],
+        17,
+        ["all", ["match", ["get", "mode"], "ferry", false, true], ["!=", ["get", "stop_type"], "entrance"]],
+        19,
+        ["match", ["get", "mode"], "ferry", false, true]
+      ],
+      "type": "symbol",
+      "source": "composite",
+      "id": "transit-label",
+      "paint": {
+        "text-halo-color": "hsl(0, 0%, 0%)",
+        "text-color": "hsl(204, 100%, 80%)",
+        "text-halo-blur": 0.5,
+        "text-halo-width": 0.5
+      },
+      "source-layer": "transit_stop_label"
+    },
+    {
+      "minzoom": 8,
+      "layout": {
+        "text-line-height": 1.1,
+        "text-size": ["step", ["get", "sizerank"], 18, 9, 12],
+        "icon-image": ["get", "maki"],
+        "text-font": ["DIN Pro Bold", "Arial Unicode MS Bold"],
+        "text-offset": [0, 0.8],
+        "text-rotation-alignment": "viewport",
+        "text-anchor": "top",
+        "text-field": [
+          "step",
+          ["get", "sizerank"],
+          [
+            "case",
+            ["has", "ref"],
+            ["concat", ["get", "ref"], " -\n", ["coalesce", ["get", "name_zh-Hant"], ["get", "name"]]],
+            ["coalesce", ["get", "name_zh-Hant"], ["get", "name"]]
+          ],
+          15,
+          ["get", "ref"]
+        ],
+        "text-letter-spacing": 0.01,
+        "text-max-width": 9
+      },
+      "metadata": {
+        "mapbox:featureComponent": "transit",
+        "mapbox:group": "Transit, transit-labels"
+      },
+      "filter": [
+        "match",
+        ["get", "class"],
+        ["military", "civil", "disputed_military", "disputed_civil"],
+        ["match", ["get", "worldview"], ["all", "US"], true, false],
+        false
+      ],
+      "type": "symbol",
+      "source": "composite",
+      "id": "airport-label",
+      "paint": {
+        "text-color": "hsl(0, 0%, 100%)",
+        "text-halo-color": "hsl(0, 0%, 0%)",
+        "text-halo-width": 1
+      },
+      "source-layer": "airport_label"
+    },
+    {
+      "minzoom": 10,
+      "layout": {
+        "text-field": ["coalesce", ["get", "name_zh-Hans"], ["get", "name"]],
+        "text-transform": "uppercase",
+        "text-font": ["DIN Pro Medium", "Arial Unicode MS Regular"],
+        "text-letter-spacing": ["match", ["get", "type"], "suburb", 0.15, 0.05],
+        "text-max-width": 7,
+        "text-padding": 3,
+        "text-size": [
+          "interpolate",
+          ["cubic-bezier", 0.5, 0, 1, 1],
+          ["zoom"],
+          11,
+          ["match", ["get", "type"], "suburb", 12.100000000000001, 11.55],
+          15,
+          ["match", ["get", "type"], "suburb", 16.5, 15.400000000000002]
+        ]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "place-labels",
+        "mapbox:group": "Place labels, place-labels"
+      },
+      "maxzoom": 15,
+      "filter": [
+        "all",
+        [
+          "match",
+          ["get", "class"],
+          ["settlement_subdivision", "disputed_settlement_subdivision"],
+          ["match", ["get", "worldview"], ["all", "CN"], true, false],
+          false
+        ],
+        ["<=", ["get", "filterrank"], 4]
+      ],
+      "type": "symbol",
+      "source": "composite",
+      "id": "settlement-subdivision-label",
+      "paint": {
+        "text-halo-color": "hsla(0, 5%, 0%, 0.75)",
+        "text-halo-width": 1,
+        "text-color": "hsl(0, 0%, 100%)",
+        "text-halo-blur": 0.5
+      },
+      "source-layer": "place_label"
+    },
+    {
+      "minzoom": 2,
+      "layout": {
+        "text-line-height": 1.1,
+        "text-size": [
+          "interpolate",
+          ["cubic-bezier", 0.2, 0, 0.9, 1],
+          ["zoom"],
+          3,
+          ["step", ["get", "symbolrank"], 12.100000000000001, 9, 11],
+          6,
+          ["step", ["get", "symbolrank"], 15.400000000000002, 9, 13.200000000000001, 12, 11],
+          8,
+          ["step", ["get", "symbolrank"], 17.6, 9, 15.400000000000002, 12, 13.200000000000001, 15, 11],
+          13,
+          ["step", ["get", "symbolrank"], 24.200000000000003, 9, 22, 12, 17.6, 15, 15.400000000000002]
+        ],
+        "text-radial-offset": ["step", ["zoom"], ["match", ["get", "capital"], 2, 0.6, 0.55], 8, 0],
+        "symbol-sort-key": ["get", "symbolrank"],
+        "icon-image": [
+          "step",
+          ["zoom"],
+          ["case", ["==", ["get", "capital"], 2], "border-dot-13", ["step", ["get", "symbolrank"], "dot-11", 9, "dot-10", 11, "dot-9"]],
+          8,
+          ""
+        ],
+        "text-font": ["DIN Pro Medium", "Arial Unicode MS Regular"],
+        "text-justify": "auto",
+        "text-anchor": ["step", ["zoom"], ["get", "text_anchor"], 8, "center"],
+        "text-field": ["coalesce", ["get", "name_zh-Hans"], ["get", "name"]],
+        "text-max-width": 7
+      },
+      "metadata": {
+        "mapbox:featureComponent": "place-labels",
+        "mapbox:group": "Place labels, place-labels"
+      },
+      "maxzoom": 13,
+      "filter": [
+        "all",
+        ["<=", ["get", "filterrank"], 3],
+        ["match", ["get", "class"], ["settlement", "disputed_settlement"], ["match", ["get", "worldview"], ["all", "CN"], true, false], false],
+        [
+          "step",
+          ["zoom"],
+          [">", ["get", "symbolrank"], 6],
+          4,
+          [">=", ["get", "symbolrank"], 7],
+          6,
+          [">=", ["get", "symbolrank"], 8],
+          7,
+          [">=", ["get", "symbolrank"], 10],
+          10,
+          [">=", ["get", "symbolrank"], 11],
+          11,
+          [">=", ["get", "symbolrank"], 13],
+          12,
+          [">=", ["get", "symbolrank"], 15]
+        ]
+      ],
+      "type": "symbol",
+      "source": "composite",
+      "id": "settlement-minor-label",
+      "paint": {
+        "text-color": "hsl(0, 0%, 95%)",
+        "text-halo-color": "hsl(0, 5%, 0%)",
+        "text-halo-width": 1,
+        "text-halo-blur": 1
+      },
+      "source-layer": "place_label"
+    },
+    {
+      "minzoom": 2,
+      "layout": {
+        "text-line-height": 1.1,
+        "text-size": [
+          "interpolate",
+          ["cubic-bezier", 0.2, 0, 0.9, 1],
+          ["zoom"],
+          3,
+          ["step", ["get", "symbolrank"], 14.3, 6, 12.100000000000001],
+          6,
+          ["step", ["get", "symbolrank"], 19.8, 6, 17.6, 7, 15.400000000000002],
+          8,
+          ["step", ["get", "symbolrank"], 22, 9, 17.6, 10, 15.400000000000002],
+          15,
+          ["step", ["get", "symbolrank"], 26.400000000000002, 9, 22, 12, 17.6, 15, 15.400000000000002]
+        ],
+        "text-radial-offset": ["step", ["zoom"], ["match", ["get", "capital"], 2, 0.6, 0.55], 8, 0],
+        "symbol-sort-key": ["get", "symbolrank"],
+        "icon-image": [
+          "step",
+          ["zoom"],
+          ["case", ["==", ["get", "capital"], 2], "border-dot-13", ["step", ["get", "symbolrank"], "dot-11", 9, "dot-10", 11, "dot-9"]],
+          8,
+          ""
+        ],
+        "text-font": ["DIN Pro Medium", "Arial Unicode MS Regular"],
+        "text-justify": [
+          "step",
+          ["zoom"],
+          ["match", ["get", "text_anchor"], ["left", "bottom-left", "top-left"], "left", ["right", "bottom-right", "top-right"], "right", "center"],
+          8,
+          "center"
+        ],
+        "text-anchor": ["step", ["zoom"], ["get", "text_anchor"], 8, "center"],
+        "text-field": ["coalesce", ["get", "name_zh-Hans"], ["get", "name"]],
+        "text-max-width": 7
+      },
+      "metadata": {
+        "mapbox:featureComponent": "place-labels",
+        "mapbox:group": "Place labels, place-labels"
+      },
+      "maxzoom": 15,
+      "filter": [
+        "all",
+        ["<=", ["get", "filterrank"], 3],
+        ["match", ["get", "class"], ["settlement", "disputed_settlement"], ["match", ["get", "worldview"], ["all", "CN"], true, false], false],
+        [
+          "step",
+          ["zoom"],
+          false,
+          2,
+          ["<=", ["get", "symbolrank"], 6],
+          4,
+          ["<", ["get", "symbolrank"], 7],
+          6,
+          ["<", ["get", "symbolrank"], 8],
+          7,
+          ["<", ["get", "symbolrank"], 10],
+          10,
+          ["<", ["get", "symbolrank"], 11],
+          11,
+          ["<", ["get", "symbolrank"], 13],
+          12,
+          ["<", ["get", "symbolrank"], 15],
+          13,
+          [">=", ["get", "symbolrank"], 11],
+          14,
+          [">=", ["get", "symbolrank"], 15]
+        ]
+      ],
+      "type": "symbol",
+      "source": "composite",
+      "id": "settlement-major-label",
+      "paint": {
+        "text-color": "hsl(0, 0%, 95%)",
+        "text-halo-color": "hsl(0, 5%, 0%)",
+        "text-halo-width": 1,
+        "text-halo-blur": 1
+      },
+      "source-layer": "place_label"
+    },
+    {
+      "minzoom": 3,
+      "layout": {
+        "text-size": [
+          "interpolate",
+          ["cubic-bezier", 0.85, 0.7, 0.65, 1],
+          ["zoom"],
+          4,
+          ["step", ["get", "symbolrank"], 9.9, 6, 8.8, 7, 7.700000000000001],
+          9,
+          ["step", ["get", "symbolrank"], 23.1, 6, 17.6, 7, 15.400000000000002]
+        ],
+        "text-transform": "uppercase",
+        "text-font": ["DIN Pro Bold", "Arial Unicode MS Bold"],
+        "text-field": ["coalesce", ["get", "name_zh-Hans"], ["get", "name"]],
+        "text-letter-spacing": 0.15,
+        "text-max-width": 6
+      },
+      "metadata": {
+        "mapbox:featureComponent": "place-labels",
+        "mapbox:group": "Place labels, place-labels"
+      },
+      "maxzoom": 9,
+      "filter": ["match", ["get", "class"], ["state", "disputed_state"], ["match", ["get", "worldview"], ["all", "CN"], true, false], false],
+      "type": "symbol",
+      "source": "composite",
+      "id": "state-label",
+      "paint": {
+        "text-color": "hsl(0, 0%, 95%)",
+        "text-halo-color": "hsl(0, 5%, 0%)",
+        "text-halo-width": 1,
+        "text-opacity": 0.5
+      },
+      "source-layer": "place_label"
+    },
+    {
+      "minzoom": 1,
+      "layout": {
+        "icon-image": "",
+        "text-field": ["coalesce", ["get", "name_zh-Hans"], ["get", "name"]],
+        "text-line-height": 1.1,
+        "text-max-width": 6,
+        "text-font": ["DIN Pro Medium", "Arial Unicode MS Regular"],
+        "text-radial-offset": ["step", ["zoom"], 0.6, 8, 0],
+        "text-justify": [
+          "step",
+          ["zoom"],
+          ["match", ["get", "text_anchor"], ["left", "bottom-left", "top-left"], "left", ["right", "bottom-right", "top-right"], "right", "center"],
+          7,
+          "auto"
+        ],
+        "text-size": [
+          "interpolate",
+          ["cubic-bezier", 0.2, 0, 0.7, 1],
+          ["zoom"],
+          1,
+          ["step", ["get", "symbolrank"], 12.100000000000001, 4, 9.9, 5, 8.8],
+          9,
+          ["step", ["get", "symbolrank"], 24.200000000000003, 4, 20.900000000000002, 5, 18.700000000000003]
+        ]
+      },
+      "metadata": {
+        "mapbox:featureComponent": "place-labels",
+        "mapbox:group": "Place labels, place-labels"
+      },
+      "maxzoom": 10,
+      "filter": ["match", ["get", "class"], ["country", "disputed_country"], ["match", ["get", "worldview"], ["all", "CN"], true, false], false],
+      "type": "symbol",
+      "source": "composite",
+      "id": "country-label",
+      "paint": {
+        "icon-opacity": ["step", ["zoom"], ["case", ["has", "text_anchor"], 1, 0], 7, 0],
+        "text-color": "hsl(0, 0%, 95%)",
+        "text-halo-color": ["interpolate", ["linear"], ["zoom"], 2, "hsla(0, 5%, 0%, 0.75)", 3, "hsl(0, 5%, 0%)"],
+        "text-halo-width": 1.25
+      },
+      "source-layer": "place_label"
+    },
+    {
+      "minzoom": 0.75,
+      "layout": {
+        "text-field": ["coalesce", ["get", "name_zh-Hans"], ["get", "name"]],
+        "text-line-height": 1.1,
+        "text-max-width": 6,
+        "text-font": ["DIN Pro Medium", "Arial Unicode MS Regular"],
+        "text-size": ["interpolate", ["exponential", 0.5], ["zoom"], 0, 11, 2.5, 16.5],
+        "text-transform": "uppercase",
+        "text-letter-spacing": 0.05
+      },
+      "metadata": {
+        "mapbox:featureComponent": "place-labels",
+        "mapbox:group": "Place labels, place-labels"
+      },
+      "maxzoom": 3,
+      "filter": ["==", ["get", "class"], "continent"],
+      "type": "symbol",
+      "source": "composite",
+      "id": "continent-label",
+      "paint": {
+        "text-color": "hsl(0, 0%, 95%)",
+        "text-halo-color": ["interpolate", ["linear"], ["zoom"], 0, "hsla(0, 5%, 0%, 0.75)", 3, "hsl(0, 5%, 0%)"],
+        "text-halo-width": 1.5,
+        "text-opacity": ["interpolate", ["linear"], ["zoom"], 0, 0.8, 1.5, 0.5, 2.5, 0]
+      },
+      "source-layer": "natural_label"
+    }
+  ],
+  "created": "2022-11-11T09:30:10.170Z",
+  "modified": "2022-11-11T09:59:36.852Z",
+  "id": "clacasy19000014qrnsjm7yk6",
+  "owner": "vothing",
+  "visibility": "private",
+  "protected": false,
+  "draft": false
+}
diff --git a/reg-js-sdjk.reg b/reg-js-sdjk.reg
new file mode 100644
index 0000000..e6d2342
--- /dev/null
+++ b/reg-js-sdjk.reg
@@ -0,0 +1,8 @@
+Windows Registry Editor Version 5.00
+
+[HKEY_CLASSES_ROOT\sdjk]
+"URL Protocol"=""
+@="URL:sdjk"
+
+[HKEY_CLASSES_ROOT\sdjk\Shell\Open\command]
+@="E:\\startscg.bat"
\ No newline at end of file
diff --git a/reg-js-sgfa.reg b/reg-js-sgfa.reg
new file mode 100644
index 0000000..02c8d3a
--- /dev/null
+++ b/reg-js-sgfa.reg
@@ -0,0 +1,8 @@
+Windows Registry Editor Version 5.00
+
+[HKEY_CLASSES_ROOT\sgfa]
+@="URL:sgfa"
+"URL Protocol"=""
+
+[HKEY_CLASSES_ROOT\sgfa\Shell\Open\command]
+@="C:\\Users\\fangtc\\AppData\\Local\\uclient\\apps\\UG_3e623c98\\Launcher.exe UG_3e623c98"
\ No newline at end of file
diff --git a/src/App.vue b/src/App.vue
new file mode 100644
index 0000000..0757d94
--- /dev/null
+++ b/src/App.vue
@@ -0,0 +1,17 @@
+<!-- eslint-disable vue/no-textarea-mustache -->
+<!-- eslint-disable vue/html-self-closing -->
+<template>
+  <dashboard />
+</template>
+
+<script>
+
+export default {
+  name: "App",
+  components: {
+    dashboard: () => import("./Dashboard.vue")
+  },
+  computed: {
+  },
+};
+</script>
diff --git a/src/Dashboard.vue b/src/Dashboard.vue
new file mode 100644
index 0000000..5e6dc05
--- /dev/null
+++ b/src/Dashboard.vue
@@ -0,0 +1,188 @@
+<!--
+ * @Author: gjj Ganjj@probim.com.cn
+ * @Date: 2025-02-14 14:32:17
+ * @LastEditors: gjj Ganjj@probim.com.cn
+ * @LastEditTime: 2025-02-20 15:46:39
+ * @FilePath: \北京交通大学\src\Dashboard.vue
+-->
+<!-- eslint-disable vue/no-textarea-mustache -->
+<!-- eslint-disable vue/html-self-closing -->
+<template>
+  <main
+    v-loading="isAuthenticating || isLoadingPrjList"
+    id="appWrapper"
+    class="absolute top-[50%] left-[50%] -translate-x-[50%] w-screen h-screen -translate-y-[50%] font-pingfang text-white select-none"
+    :style="{
+      backgroundImage: `url(${backgroundImage})`,
+      backgroundRepeat: 'no-repeat',
+      backgroundPosition: 'center center',
+      backgroundSize: 'cover'
+    }"
+  >
+    <!--头部-->
+    <app-header class="absolute z-[100] top-0 left-0 right-0" :selected-id="currentProjectId"  />
+
+    
+
+    <!--全屏、切换地图-->
+    <!--<div class="absolute z-[50] top-20 left-4 flex space-x-3">
+      <fullscreen-button />
+      <switch-map mapType="gis" @changeMap="onChangeMap" />
+    </div>-->
+
+
+
+    <!--页面内容-->
+    <div class="content-wrapper px-[22px] py-[10px] absolute inset-0 top-[80px] flex gap-[20px]">
+      <div class="flex-1 min-w-0">
+        <!-- 左侧模块 -->
+        <div class="w-full h-full">
+          <project-view/>
+        </div>
+      </div>
+      <div class="flex-1 min-w-0">
+        <!-- 中间模块 -->
+        <div class="w-full h-full">
+          <equipment-view/>
+        </div>
+      </div>
+      <div class="w-[1080px]">
+        <!-- 右侧模块 -->
+        <div class="w-full h-full">
+          <Home/>
+        </div>
+      </div>
+    </div>
+
+
+    <!--multiverse渲染容器
+    <div id="renderDom" class="absolute z-[40] top-0 bottom-0 left-0 right-0 w-full h-full"></div>-->
+
+
+  </main>
+</template>
+
+<script>
+import Vue from "vue";
+import { mapGetters } from "vuex";
+import Header from "./components/Header.vue";
+import FullscreenButton from "./components/FullScreenButton.vue";
+import SwitchMap from "./components/SwitchMap.vue";
+import Home from "./views/Home.vue";
+import ProjectView from "./views/ProjectView.vue";
+import { sceneJSON } from "./sceneJSON.js";
+import { AppAPI } from "./api/app";
+import EquipmentView from "./views/EquipmentView.vue";
+import dayjs from "dayjs";
+import "dayjs/locale/zh-cn";
+import relativeTime from "dayjs/plugin/relativeTime";
+dayjs.locale("zh-cn");
+dayjs.extend(relativeTime);
+Vue.prototype.$dayjs = dayjs;
+
+import * as echarts from "echarts";
+Vue.prototype.$echarts = echarts;
+
+import { nanoid } from "nanoid";
+Vue.prototype.$nanoid = nanoid;
+
+export default {
+  name: "Dashboard",
+  components: {
+    "app-header": Header,
+    "fullscreen-button": FullscreenButton,
+    "switch-map": SwitchMap,
+    "Home": Home,
+    "project-view": ProjectView,
+    "equipment-view": EquipmentView  
+  },
+  data() {
+    return {
+      backgroundImage: new URL('@/assets/images/backgrounds/screen.png', import.meta.url).href
+    };
+  },
+  computed: {
+    ...mapGetters("common", [])
+  },
+  watch: {
+  },
+  mounted() {
+    this.initMultiverse();
+  },
+  beforeDestroy() {
+    this.resetEngineRelated();
+  },
+  methods: {
+    //重置引擎相关的东西
+    resetEngineRelated() {
+      window.scene = window.underlay = null;
+    },
+    //响应切换地图
+    onChangeMap(item) {
+      if (window.scene && window.underlay) {
+        const u = window.underlay;
+        const building = window.scene.findFeature("3DBuilding");
+        switch (item.id) {
+          case "pic": {
+            if (building) {
+              building.visible = false;
+            }
+            u.change("satellite"); //这样需要将本地资源放在工程内
+            // u.url = "http://multiverse.vothing.com/ref/style/satellite.json";
+            // // 加载显示底图
+            // u.load();
+            break;
+          }
+          case "gis": {
+            if (building) {
+              building.visible = true;
+            }
+            u.change("darkblue"); //这样需要将本地资源放在工程内
+            // u.url = "http://multiverse.vothing.com/ref/style/darkblue.json";
+            // // 加载显示底图
+            // u.load();
+            break;
+          }
+        }
+      }
+    },
+    
+
+    //初始化引擎
+    initMultiverse() {
+      // 获取承载场景画布dom
+      const renderDom = document.getElementById("renderDom");
+      if (window.multiverse && renderDom) {
+        // 实例化引擎
+        const multiverse = window.multiverse;
+        const engine = new multiverse.mvCore(renderDom);
+
+        // mapbox地图服务的Token,需申请,如不使用Mapbox地图服务,可不设置
+				engine.token = window.ProjectConfig.mapboxToken;
+        // multiverse.js所在的路径,用于获取静态资源文件
+        engine.path = "https://multiverse.vothing.com/";
+
+        // 初始化场景
+        engine.initialize().then((s) => {
+          window.scene = s;
+          s.fromJSON(sceneJSON);
+          s.load();
+          s.stop();
+          window.underlay = s.findFeature("underlay");
+
+          setTimeout(() => {
+            
+          }, 1000);
+        });
+      }
+    },
+    //设置字体颜色
+    cellStyle(row, _column, _rowIndex, _columnIndex) {
+      // console.log("row", row);
+      if (row.column.label === "状态" && row.row.status === "未处置") {
+        return "color:#EF424E";
+      }
+    },
+  },
+};
+</script>
diff --git a/src/api/app.js b/src/api/app.js
new file mode 100644
index 0000000..55265fa
--- /dev/null
+++ b/src/api/app.js
@@ -0,0 +1,9 @@
+import { http } from "../utils/http";
+export const AppAPI = {
+  getRiskData(data, config = {}) {
+    return http.post("/beh/environment/GetRiskData", data, config);
+  },
+  getRiskDetails(id, config = {}) {
+    return http.post(`/beh/environment/risk/${id}`, null, config);
+  },
+};
diff --git a/src/api/home.js b/src/api/home.js
new file mode 100644
index 0000000..ace0a96
--- /dev/null
+++ b/src/api/home.js
@@ -0,0 +1,45 @@
+import { http } from "../utils/http";
+export const HomeAPI = {
+  getProjectList: (config = {}) => {
+    return http.get("/beh/home/getGisProjectList", config);
+  },
+
+  getProjectInfo: (data, config = {}) => {
+    return http.post("/beh/summary/getPrjSummary", data, config);
+  },
+
+  getWorkerCategoryData: (data, config = {}) => {
+    return http.post("/beh/person/workTypeTotal", data, config);
+  },
+
+  getEquipmentCategoryCount: (data, config = {}) => {
+    return http.post("/beh/equipment/total", data, config);
+  },
+
+  getVideoAreaList: (belong, data, config = {}) => {
+    return http.post(`/beh/video/area?belong=${belong}`, data, config);
+  },
+
+  getEnvPointInfo: () => {
+    return http.get("/beh/environment/getPointEnvironmentRealData");
+  },
+
+  getVideoByAreaId: (data, config = {}) => {
+    return http.post("/beh/video", data, config);
+  },
+
+  getTotalGoingData: () => {
+    return http.get("/beh/home/getHomeTotalGoingData");
+  },
+
+  getProjectTypeSummaryData: () => {
+    return http.get("/beh/home/getHomeProjectTypeData");
+  },
+
+  getTradeCategoriesStatisticsData: () => {
+    return http.get("/beh/home/getHomeIndustryCategoryData");
+  },
+  getVideoSourceList() {
+    return http.post("/beh/person/tree");
+  }
+};
diff --git a/src/assets/css/DIN_font.css b/src/assets/css/DIN_font.css
new file mode 100644
index 0000000..cc6a5ab
--- /dev/null
+++ b/src/assets/css/DIN_font.css
@@ -0,0 +1,23 @@
+@font-face {
+    font-family: 'DINEngschrift-Alternate';
+    src: url(data:font/truetype;charset=utf-8;base64,T1RUTwANAIAAAwBQQ0ZGINK2MzwAAAdgAAA7E0RTSUcAAAABAABGCAAAAAhHREVGABAA5QAARhAAAAAWR1BPU/jUEbUAAEYoAAADOEdTVUJskXSPAABJYAAAACBPUy8yEXgGmAAAAUAAAABgY21hcFBbS68AAAN0AAADzGhlYWT8QVTkAAAA3AAAADZoaGVhBu8DLwAAARQAAAAkaG10eEs+Fq8AAEJ0AAADlG1heHAA5VAAAAABOAAAAAZuYW1lIzo85gAAAaAAAAHScG9zdP+fADIAAAdAAAAAIAABAAAAAQAAtELsWF8PPPUAAQPoAAAAAMGx6n0AAAAA2Dcm1f9b/wYD6AOpAAAABgACAAAAAAAAAAEAAAOp/wYAAAPo/1v/WwPoAAEAAAAAAAAAAAAAAAAAAADlAABQAADlAAAAAwFyAfQABQAAAooCigAAAJYCigKKAAAB9AAyAOEAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAACD7AgLI/zMAMgOpAPoAAAABAAAAAAH7AsgAAAAgAAIAAAAHAFoAAwABBAkAAACUAAAAAwABBAkAAQAUAKIAAwABBAkAAgAOAJQAAwABBAkAAwAuAKIAAwABBAkABAAUAKIAAwABBAkABQB6ANAAAwABBAkABgAuAUoAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADEAOQA5ADAALAAgADEAOQA5ADIAIABBAGQAbwBiAGUAIABTAHkAcwB0AGUAbQBzACAASQBuAGMAbwByAHAAbwByAGEAdABlAGQALgAgACAAQQBsAGwAIABSAGkAZwBoAHQAcwAgAFIAZQBzAGUAcgB2AGUAZAAuAFIAZQBnAHUAbABhAHIARABJAE4AUwBjAGgAcgBpAGYAdAA6AFYAZQByAHMAaQBvAG4AIAAxAC4AMAAwAFYAZQByAHMAaQBvAG4AIAAxAC4AMAAwADsARABlAGMAZQBtAGIAZQByACAAMQAyACwAIAAyADAAMQA4ADsARgBvAG4AdABDAHIAZQBhAHQAbwByACAAMQAxAC4ANQAuADAALgAyADQAMgAxACAANgA0AC0AYgBpAHQARABJAE4ARQBuAGcAcwBjAGgAcgBpAGYAdAAtAEEAbAB0AGUAcgBuAGEAdABlAAAAAAADAAAAAwAAABwAAQAAAAACAgADAAEAAAAcAAQB5gAAADgAIAAEABgAJgAnAF8AYAB+AKwA/wExAUIBUwFhAXgBfgGSAscC3SAUIBogHiAiICYgMCA6IEQhIiIS+wL//wAAACAAJwAoAGAAYQChAK4BMQFBAVIBYAF4AX0BkgLGAtggEyAYIBwgICAmIDAgOSBEISIiEvsB////4QAA/+EAAP/hAAAAAP9gAAAAAAAA/08AAP7TAAAAAAAAAAAAAAAA4FPgSuAy4B/fiN6OBWwAAQAAADYAAAA0AAAAMgBIAAAA6ADqAOwAAADsAAAA7ADuAPgA+gD+AQIAAAAAAAAAAAAAAAAAAAAAAGgAfABgAGEAYgBnAGQAnQBmAIMApgCLAGoApwCbAIAAqwCjAKgAqQB9AKwAcwByAIUAmQCPAHgAmACfAJcAewCwAK0ArgCyAK8AsQCKAKQAtgCzALQAtQC6ALcAuAC5AJ4AuwC/ALwAvQDAAL4AmgCNAMUAwgDDAMQAxgCcAJUAzADJAMoAzgDLAM0AkAChANIAzwDQANEA1gDTANQA1QCiANcA2wDYANkA3ADaAJYAkwDhAN4A3wDgAOIApQDjAIwAkgCOAJQAwQDdAMgA5AB+AIgAgQCCAIQAhwB/AIYAbwCJAEEACAB1AGkAdwB2AHAAcQB0AAYBygAAACAA4AABAAIAAwAEAAUABgAHAGgACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAHwAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AAACvALEApACzALsAvgDEAMkAzADKAMsAzgDNAKEAzwDSANAA0QDTANYA1ADVANcA2ADbANkA2gDcAN4A4QDfAOAAcACrAGEAYgBmAHQAcwCVAJsApgCqAH0AgwAAAIoAjQAAAKMAAAAAAGQArAAAAAAAAAAAAAAAiwCPAAAAkACTAHsAYACnAAAAZQAAAAAAagB4AHkAAACwALIAwACOAJQAbwCJAGkAdwBBAAgAlgAAAOMAxwAAAGcAawBsAG0AbgBxAAAAdQB2AHoArgC0AK0AtQC2ALcAuAC5ALoAvAC9AAAAvwDCAMMAxQCRAH4AfwCAAIEAggCEAIUAhgCHAIgAAwAAAAAAAP+cADIAAAAAAAAAAAAAAAAAAAAAAAAAAAEABAQAAQEBGERJTkVuZ3NjaHJpZnQtQWx0ZXJuYXRlAAEBASX4GwD4HAwA+B0C+B0D+BgE+zn7jvp8+j0F90AP+QkRlBw7ChIAAwEBBk9ZMS4wMDBDb3B5cmlnaHQgKGMpIDE5OTAsIDE5OTIgQWRvYmUgU3lzdGVtcyBJbmNvcnBvcmF0ZWQuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuRElOU2NocmlmdAAA4EoAAAEAAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeAB8AIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAYgBjAGQAZQBmAGcAaABpAGoAawBsAG0AbgBvAHAAcQByAHMAdAB1AHYAdwB4AHkAegB7AHwAfQB+AH8AgACBAIIAgwCEAIUAhgCHAIgAiQCKAIsAjACNAI4AjwCQAJEAkgCTAJQAlQCfAKMAngCWAKgApQCdAKAAmgCbAKYAzgCnAJwAsQCiAKoAlwCkAKkAmQChAJgAqwCsAK0ArgCvALAAsgCzALQAtQC2ALcAuAC5ALoAuwC8AL0AvgC/AMAAwQDCAMMAxADFAMYAxwDIAMkAygDLAMwAzQDPANAA0QDSANMA1ADVANYA1wDYANkA2gDbANwA3QDeAN8A4ADhAOIA4wDkAOUCAAEABAAHAB8ANACEAQABlgITAiACUAJ+Aq0CyALUAuAC6QL4AzoDTQOLA/gEGgRqBNIE6AV9BeMF8wYGBiUGOwZYBrEHbQeXB+wINQhsCIQImAjmCP0JBwkwCVcJZAmOCasJ8QoqCocKxgsqCzsLZguEC7oL5gwJDCQMOAxIDFoMdQyBDI8M9Q1MDaAN+Q5WDnoO7A8ZDykPSQ9vD4sP1xADEF4QtxEQETIRjRG0EeMSARI4EmQSkxKuEwMTDxNlE6ITuRQmFKUUtRTrFUYV6BZYFmQWfBanFr8W1RcIF0UXURdrF5MXsxfVF/UYARgXGC4YWBhyGUMZmxmsGb0Z0xoDGhAaNBo/GlIajRrQGu8bHxs2G0IbcxvZG/0cZxzGHQodqB2yHeMeTh7jHzsfgiAUIFQgaCCTISshZyF7IcAiJSIyIsQjTCNxI/YkUCToJPklPyWlJeQmHyZYJo8myycEJzwnnif1KBooRChrKJIoqSjFKN4o9ilAKZQp7SpDKpcrCiuBK7sr+iw2LHAsoSzULQMteC3yLmku3S98MA4weTDpMVYxwTHYMfQyDTIlMn4y5zNVM8A0KTSxNR81XTWgNeA2HjZaNpg2x/tMDvtMDvsW6vdEFb0GsvisBfsUBpj9XBXx8SUGDi+s+KwV2/dEOwb3GPtEFdv3RDsGDo33SBbPBqj3awXFx1kGofc2BcbHWAao92sFRwZu+2sFNwao92sFRwZu+2sFUU+9BnX7NgVQT74GbvtrBc8GqPdrBd8Gk8cVNwah9zYF3wYOjfc1+EkVZJ2HoIu7i7WUsK2YCL77zBWzepJ6i0eLUYdlYIEIWPtOFb7fBvcDlrHfi/cGi/N6xDGtCGGcBfddB62AmGqLYQh08b0Hi9ZR1jCWCNZYQAcqfls6iyaLMqJR42cIrX0F+3oHaZN9qYuqCK8lYweLM8pG4oEIDnnp+L8Vfot/l4uZCL4Hi5mXl5iLmIuXf4t9CFgHi31/f36LCE8Ev4usqou4CMwHi71qq1eLV4tqa4tZCEoHi16sbL+LCPcf/AAVi5mXl5iLmIuXf4t9CFgHi31/f36Lfot/l4uZCKQ1Fb+LrKqLuAjMB4u9aqtXi1eLamuLWQhKB4terGy/iwj7gZEVzQb3iPlcBUkGDvcD9/UW8QY+9w7X7Uy3VEAFaL1px3Kyw727yovNi9FbxjSLL4tcTYs/i0+lVq9YU1lhUos9iyjNSdyLwYu1n7OzCPtV9wIVi7ejramqCO37MAV8eG1zbItfi2u0i7wIr/fqFYuqn6iqi6mLnnGLcotZZ2Vyc3Wveq+LqggO+0y1+KwV8dUF8SUHDvso9z35XBVB+wNe+zKL+x2L+xWy+zXb+wgIrQZr9wh49xOL9xuL9yaX9yuy9x0IDvsowCcV1fcDuPcyi/cdi/cVZPc1O/cICGkGq/sInvsTi/sbi/smf/srZPsdCA6LqvjwFe9TJ1SnVu3Hh/sIBcsGh/cI7U+nwCfC78NvvylPj/cIBUsGj/sIKccFDvd695j3uRX7aTv3aftp2/dp92nb+2n3aTsGDvtMtUEV8dUF8SUHDp6393YV98Hx+8EGDvtMtRbx8SUGDvsokIUV2wb3GPloBTsGDo2t9ycViyzSUdyL3IvSxYvqCPg2B4vqRMU6izqLRFGLLAjxFouooKGoi6iLoHWLbgj8NgeLbnZ1botui3ahi6gIDo33Lxbx+VwlBiVABfsAB/HWBQ6NrRb3xPH7TAb3Kve1BavIjZ2L0IvqXt8hizaLR0WLNghT8cUHi6yfnamLvYuLYItni2SLd3loCPtM++8FDo33L/fWFc2Lmn+LVAglB4toeHVsi2yLeKKLqwjAJVEHi/sE4WPMi8mLsqeksKCqkaCL6Yvwi6JMssWukJuL7Yvmf6dwq3mhZadUizeLRUiLNwhQ8cUHi6CZqK+LqouedotuCC8Hi1Z3gk6LCA6N92gW8fW861r3XyX7XyYG9y34kgX7AAb7J/ySBSv3XwcOjffm+VwV+7j8FOUGkZeWpq6Lp4ufdItvCPs7B4tqeXdti22LdZ+LrgilJW0HiyzSUdyL3IvSxYvqCPdMB4vdW7dGi2eLbXx4eQj3VPdeBw6NrfcnFYss0lHci9yL0sWL6gj3YQeLtIekead6pWqfZ4tpi2+Da3wI6weLqKChqIuoi6B1i24I8QaL6kTFOos6i0RRiywI8ftqFYuqo5+li6WLo3eLbAj7YAeLbHN3cYtxi3Ofi6oIDo3EFvcABvdB+PYF8fvE+0bl3fcEBw6N94D4YhWLb3N1cYtxi3Ohi6cI8weLp6OhpYuli6N1i28I+15jFYs3jW68ZFpmiW2L+wCLNJJzoGyiaLVvxovGi7Wnoq6gqpKji+KL9wCJqVqwvLKNqIvfCIvZgaRwrXCuYZ9di12LYXdwaHBpgXKLPQj3XvwQFYtvc3Vxi3GLc6GLpwj3IAeLp6OhpYuli6N1i28IDo2t9/wVi2KPcp1vnHGsd6+LrYunk6uaCCsHi252dW6Lbot2oYuoCCUGiyzSUdyL3IvSxYvqCPg2B4vqRMU6izqLRFGLLAjxFouqo5+li6WLo3eLbAj7YAeLbHN3cYtxi3Ofi6oIDvtMtRbx8SUG9xEE8fElBg77TLVBFfHVBfElB/cRBPHxJQYO93r4vfiWFfyO+3sFTwf4jvt7BdsH/CH3Sfgh90kFDvd6uvfNFfiO2/yOBvusBPiO2/yOBg73erqDFfiO93sFxwf8jvd7BTsH+CH7Sfwh+0kFDour+I8V8cUGi6ynnaOLp4uhdItvCFYHi3eIdoF6CEsjBXxygXCLbggu8dsHi52TnJSbCND3CgWYoY6ji8+LyISkcK9wr2GgWos2i0ZHizcI8fzKFfHxJQYO+EL4lfguFYs7RvsLP4tZi2qqi8OL3873A+KLu4ulZ4tcCPcS9x4VTAZ3TgWJBnfBW6Nci/sgiy37Iov7GIs4xEbhi8mLqquoqgiNBpBhp3a4i+CL9yP3BYv3O4v3Q/sy9xD7UIv7Yov7QPs0i/tci/tl9zv7L/dli/cci/cTy8z2CD4GXFIoWyqL+0GL+xr3Fov3N4v3MPca9yP3PIv3Iov3EimL+yCLK0P7C0uLeouFl4uci5SPnZGdCA6w95L3jRUlBr33lgWNBvte/I8V8Qap9y0F9x8GqfstBfEG+zP5XAU2Bg7Duxb3Hwb3GIvG0Yv3EAizB4vVdbZborinpKeL1wilB4voWuL7GIsI+ykG8fwSFbgG1YuYZotEi0WFWTmLCF8G+JYEtQbOi6Jqi0yLSnloR4sIXQYOsPgI918VJWgGi1Nne2+LXYt7q4u0CPgAB4u7l66+i7KLo2mLYwhp8bMHi+5F0i2LKItIRIsuCPwcB4v7FuVl2Yvmi9LYi+MIDsO7FvciBvcMi8/Ki/cYCPfhB4v3B0vQ+weLCPsrBvErFboGx4uea4tTCPvrB4tOdW9SiwhcBg6Luxb3xPH7Xvdl90Tr+0T3Zfde6/vEBg6Luxbx98T3ROv7RPds917r+8QGDsO19zwVi/sI41Hei96L48WL9wgI93T7SzHc+xoHi1prdGaLZotroou8CPgMB4u8q6Kwi7CLq3SLWghn8a8Hi/cIM8U4iziLM1GL+wgIDsO7FvH30fcS+9Hx+Vwl+8X7EvfFJQYO+zq+FvH5XCUGDmb3sflcFSX8pgaLRF98cot2i3aXfZkIO0sFpG+2Z8yL9wGLzNuL6QgOw7sW8fdpBsLy9wj70AX3AAb7Ofg/9x/3sQUlBvsp+9kFiffZJQYOi7sW98Tx+1749iUGDvdOuxbx+EWNBu/7xgW+BvD3xgWN/EXx+VwoBvsW/A0FiQb7F/gNBSkGDtW3FvH4QI0G9zD8QAXr+Vwl/EGJBvsu+EEFKQYOw7X3PBWL+wjjUd6L3ovjxYv3CAj4DAeL9wgzxTiLOIszUYv7CAjxFou8q6Kwi7CLq3SLWgj8DAeLWmt0Zotmi2uii7wIDrC7FvH3qr8G1ou4p6e5o7KQtYvJi+CAuGiwaLBimFOLCPstBvErFcAG24uLVItIi0SKWjiLCFoGDsP3JPi0FYu8q6Kwi7CLq3SLWgj8DAeJB2KsV025ZgWEiISKg4tmi2uii7wIJRaL+wjjUd6LsYuxl6qkCMdav8lMvgWVoJCji6cI+AwHi/cIM8U4iziLM1GL+wgIDsP3Kvj8FcAG1ouXZItDi0SAY0SLCFEGJfweFfH3xMgG6vvEBfcABvsC99kFzK+ix4vdi/ceUNL7DYsI+zgGDq/4DvjBFYvaR90li/sJi1E0i/sAizKiUeNnCNRtBb13lH+LP4tKhmJGi1eLd6+LsAirJWUHiyvWQu6L9xiLt+SL9wyL83rEMa0IPaoFVqCGnovCi7qYuMOLv4ufZItcCHTxBw5l9wcW8fj89wrr++Yr9woGDsP4DvlcFSX8sgaLWXBzZ4tni3Cji70I+LIl/LwHiy7VQuaL5ovV1IvoCA6w+B75XBX7AAY5/IUFiQY6+IUF+wAG9yX9XAXlBg73c/jV+VwV+wAGWvxjBYkGOPhjBT0GO/xYBYkGWPhYBfsABvX9XAXrBtj4YgWNBtn8YgXrBg6eiRb3AAbj94Tk+4QF9wAG+yf4Cfcc9+cF+wAGPftnPvdnBfsABvcZ++cFDp33Ixbx98EG9yD4LwX7AAY5+68FiQY5968F+wAG9yD8LwUOZpoW98Pr+1gG91j4qwXc+7kr90oH+1T8ogUO+yj3avlcFfsw/cD3MMdJ+UjNBg77KOD5YhU7BvcY/WgF2wYO+yiTJxX3MPnA+zBPzf1ISQYO93q9968V2wb3Pvfn9z775wXbBvtt+EEFSQYO9xb7EQT4iL38iAYO+0z3JPlcFSVBBSXxBw6L938W8ff1Bov1R8E2i12LZXtwcHBwe2WIXgjuBpGspZ2li7GLmHGLaQhWB3aMfY19i/sUi2pTi/sIi/sEynS6i7yLoaCmsAiNBuwEi2J2c2mLaot3pYuyi8GvnbeLlIuTipaJCA6etRbxuQalbp90vou0i6manayXoZCqi8MI91UHi9SIqH6geqZynlqLY4treHVqCIn3jyUG91/8txWLYnxvaItsi3eli7AI91kHi6uhoqiLsouWb4trCA6L9yr39RWLsZ6fqouqi554i2II8QaL6VHPLYtNi1xuc199cYZni2II+zsHi2KQZ5lxo1+6bsmLuouwnKanpaaasou1CCUGiXWCbmSLbIt4nYurCA6e9yT38xWLq5ansouoi6F0i2sI+1kHi2Z3cWyLaIt8p4u0CPD7ORXx+Vwl+4+JBnWsa55ji1qLcnh6cH52iG6LQgj7VQeLU5Bsl3Wdaql8tIu+i5+ipagIDov35fdrFfcgB4vkUdAti02LXG5zX31xhmeLYgj7OweLYpBnmXGjX7puyYu6i7Ccpqelppqyi7UIJQaJdYJuZItsi3idi6sI0Af3HgSLsZ6fqouqi553i2UIUScHDvsowhbx+D/X2z/VBouhlpieiwi561wGSYtKZYspCEZZO70HDp61UBWY+wjYZ8mL9wCLuNuL0Aj4zSVdB3God6JZi1qLcnh6cH52iG6LQgj7VQeLU5Bsl3Wdaql8tIu0i6ueoawIjScGi2t9dGqLaIt5pYqjCPglBIu0mqeui6qLn3GLZgj7WQeLa3V0botki4Cni6sIDp61FvH36QaLuJiksYuri510i2YI+/Px+BkHi+ZVrFiLXItvdHZrCIn3kiUGDvtMtRbx+I8lBvIE8fElBg77TLV7FYtBfHhaiwgrB+uL0b6L7wj4xSUH8gTx8SUGDp61FvH3Iga82Of7bwX3Awb7JvfB9w33YgUlBvsP+3EFifg+JQYO+0yv9xwVi/sKxXPpiwjrB2SPgJaLsQj4zSUHDvdytRbx9+kGi7iYpLGLq4uddItmCPvz8ffpB4u4mKSxi6uLnXSLZgj78/H4GQeL5k+sWItVi3B0cm95pG6lX4tci290dmsIibwlBg6etRbx9+kGi7iYpLGLq4uddItmCPvz8fgZB4vmVaxYi1yLb3R2awiJvCUGDous9z4Vi2KQZ5lxo1+6bsmLyYu6qKO3maWQr4u0CPc7B4u0hq99pXO3XKhNi02LXG5zX31xhmeLYgjxmxWLsZ6fqouqi553i2UI+1sHi2V4d2yLbIt4n4uxCA6etfthFfH3j40GoWqreLOLvIuknpymmKCOqIvUCPdVB4vDhqp/oXmsbZpii1iLd3Rxbgi5JQf3X/vzFYtrgG9ki26LdaKLqwj3WQeLsJ+lqouui5pvi2IIDp73ifthFfH5XCVdBnGod6JYi2KLbXx5an91hmyLUwj7VQeLQo5umHaccKR4vIuzi6ueoawIjQYm97wVi7Sap66LqoufcYtmCPtZB4trdXRui2SLgKeLqwgOL7UW8ffBBoveyKa2i5aLlYmVhwj3AAdQi2l0YWYIwSUHDnn31/gBFYrfT8s4izmLR02LNYtHslvLcwi8eQWyfJd4i2+LaW92botli36oh6cIKwaPJ89W24vji8vQi9+Lx3PBP6gIT6MFZZqGnYuei6WdpKuLpoujeYxpCA77OrX4jxVYO777yAaLVapK54sItesGXot5jou6CPetyttM9y4lBw6e9+/4jxUl++kGi15+cmWLa4t5oouwCPfzJfwZB4swwWq+i7qLp6KgqwiNWvEGDnn39fiPFfsABkf72AWJBkf32AX7AAb3GPyPBeUGDvc6+Kv4jxX7AAZO+88FiQZV988FOwZS+88FiQZN988F+wAG9wz8jwXlBsP3wQWNBsP7wQXlBg5lgBb3AAbQ9y/Q+y8F9wAG+xP3l/cN94wF+wAGTPskTPckBfsABvcL+4wFDnmK+I8V9x/8eAV0+wp+fWKLCHQrpwbIi8WloeYI9yb45wUiBkb70AWJBkX30AUOVJwW963r+zkG9zn33gXc+6Ax9ywH+zn75AUO+yiO96kVsIumW4tICPsrB4tFuGLAiwjBx3kGa4t/pIu1CPcpB4vnYqtvkAiNB6eQtK6L4wj3KweLtJekq4sIncdVBlaLXmKLRQj7LAeLSnBcZosIDvso0vuOFdv6fDsGDvso92/35RVmi3C6i8wI9ywHi9FetFaLCFVPnQari5dyi2II+ysHizO0aKeGCIkHb4Zia4svCPspB4thf3Jriwh5T8EGwIu4tIvRCPcrB4vOpruwiwgO93r4g/feFXRocmZji3CLZZ9mm2WdZJppi0iLZ151YQivSwWiraSws4umi7F3sHuxebJ8rYvOi6+4obUIDvsWw/thFfcUBmT4rAVZBnHVFfHxJQYOjfc46xV6kYCbi6MI92sHi5qOlpCUkJSSkpOOCPyJBLTfBrGOqpuio6WmmrKLtwglBol2hXV0gwj3zwefhJZ5i2gI8QaL5VjMOZII1mJAB1iGZHB2ZH1xhmeLYgj7QAeLYpBnmXGgZbJvvocIDo2Y974V2QaZZ5Rgi26LbIFsenJ1iWt/gYUINQeYkbCVqIu4i+J4sYu6i6ybqrYIR9AFc254iHSLb4trk3WOnqyYr4uzi7WCoIKkCOjS+wgGe7V7xIu/i8ObubqLtouXZ4tnCGPruAeL9wY5vEmL+weLXC+LIotHmGakXAhUBg77X/s5ehXHBvhJ+X4FTwYOjfceFuv3QPcGzfsGvPcGzSkG9wr3+wUlBjz7rwWJBjz3rwUlBvcK+/sFKUn3Blr7Bkn3BgYOjbj4BxXbBkD8NQWEZnp0aIt+i3yNf48IgC0FnIaYiKKL9Yut1J3xCNL4IgXZBpjbBT4GnfIFlcWZm66LmIuYh5iJCJnnBXCNeI15i0uLVXN2+wcIdPsUBTcGDov32fjZFYvnRrhJi0GLTFqLIotFkWzNakF0eWqL+weLLo9mwGsI9wpDBaV7kX+LWYtWe3Jii2uLdKiLrgi0NmEHi1GtNvcBi7iLuaCirJ+okKiLw4vcg6VIrdywkaaL7IvzhKNbqggqygVfp4iTi7uLs5WstYusi5xti2wIYeAH+1L7cxWLqKGjp4umi6Jzi24IKAeLbnRzcItvi3Wji6gIDo2P92oVtGO0tQWidrB9s4uzi7CYoqAItGK0tGK0BZ+hmbCLtIuzfrB2owi0tGO0YmEFc6BmmGOLY4tmfXR3CGK1YmK0YQV2dH5mi2OLY5lloHUIqu8Vi8e8vMeLx4u8WotPi09aWk+LT4tavIvHCA77TMD4rBXb90Q7Bg4v95j5XBUlQQUl8Qf7IPdEFSVBBSXxBw7D+CL4cxX7X/te91/7XgXxBybv8O8F+03xFftf+173X/teBfEHJu/w7wUO+xX3afhzFftf+173X/teBfEHJu/w7wUO+xWn1hX3X/de+1/3XgUlB/AnJicFDrDCFvH4P9fbP9UGi6GWmJ6LCLnrXAZJi0pliykIRlk7vQf3ZPw/FfH4jyUG8gTx8SUGDrDCFvH4P9fbP9UGi6GWmJ6LCLnrXAZJi0pliykIRlk7vQf3ZPu3FYv7CsVz6YsI6wdkj4CWi7EI+M0lBw73Fvd5BPiI6/yIBg6L9yD7YRXl+O33GuX7Gvd2Mft2+xox9xoGDov3IPiCFfsaO/ca+9X7Gjv3Gvtu5fdu9xrb+xr31fca2/sa924xBg77TKj3vhWLaKhurouui6ioi66Lrm6oaItoi25ui2gIDtX3SvthFdP59tP99tP6KftABvsWizNNi/sWiyPiOeKLCA73FtP3+BWLKds77Yvti9vbi+2L7TvbKYspizs7iykIDvtMtUEV8dUF8SUHDi+dQRXx1QXxJQf3IPtEFfHVBfElBw4vnfisFfHVBfElB/cg+0QV8dUF8SUHDsP3adYV91/3Xvtf914FJQfwJyYnBftNJRX3X/de+1/3XgUlB/AnJicFDvkK9wgW8fElBvfhJRXx8SUG9+ElFfHxJQYO9zv4NvcXFYuZl5eYi5iLl3+LfQhYB4t9f39+i36Lf5eLmQhPgRWLXqxsv4u/i6yqi7gIzAeLvWqrV4tXi2pri1kI+7X4hRWLmZeXmIuYi5d/i30IWAeLfX9/fot+i3+Xi5kIT4EVi16sbL+Lv4usqou4CMwHi71qq1eLV4tqa4tZCPds/I0Vi5mXl5iLmIuXf4t9CFgHi31/f36Lfot/l4uZCE+BFYterGy/i7+LrKqLuAjMB4u9aqtXi1eLamuLWQj7JfsbFc0G94j5XAVJBg6L9+YWJVEGi2pveXOLb4t1oounCMAHi5+OoJWcCMvzBZqklaaLqAjoJTsHi3mDeoJ7CEb7CgV+dYhzi0eLTpJypmemZ7V2vIvgi9DPi98IJfjKFSUl8QYO+0zP+V8V+wAG9xj7IQXNBg77TKf40hXNBvcY9yEF+wAGDvtMV/jSFdkGzurOLAXZBin3IQUtBg77TPdo+U8VinF8eG+LdYsws2yLS4tyWX9OCL4GjKWanqeLoovlY6qLy4ukvZfICA77TF/48xX3psf7pgYO+0z3WPlfFYZmdGRAi0CLdLKGsAhYBpkyv1zji+OLv7qZ5AgO+0y7+N4V5fExBg77TGr43hXl8TEG9zYlFeXxMQYO+0yC+SgVi1S5XMOLw4u5uYvDi8JdulOLU4tdXYtTCLQWi62mpq2LrYumcItpi2lwcGmLaYtwpoutCA77TJ81FZx3BZiQl42Zi6KLoXyLdItpa4R1i3WLdZJ2kwh6YQWehK5/sovCi8+li8yLq3i2SYuBi4CKgYoIuccFXQYO+0xV+NIVzQb3GPchBfsABtP7IRXNBvcY9yEF+wAGDvtM90n7ORV9g3qGdYtxi3Sfi6uLtKO6s7EIWAZXZ2Jri0qLU7Zow4u3i6yWn5YIDvtM94L5XxU9BkgsSOoFPQbt+yEF6QYO+Qr3eQT6fOv+fAYO94WNFvcABrL3LQX3IPst98Tx+173ZfdE6/tE92X3Xuv8GQbg/GMV+wgG5/gDBaMGDvsW9y74LhXT92gGi8pZrFSLbYtygXl7enuAdIlsCM0GjqGck5yLo4uUe4t3CHMHfYyCjIKLOItyZ4tFi0e3faqLq4uZmJyhCI0GygSLeH18dYt2i4CWi52LrKCWqIuQi5GKkooIDou7FvfE8fte94cG9wzrBeUH+wwrBfepJfv5B1tlBTEHu7EFDsOVexWxdbPfBatounq5i96L48WL9wgI+AwHi6uEp4CgCL3yZaFjNwVprl2cXos4izNRi/sICPwMB4tskXCXdAjh90MVifeuBou8q6Kwi66LqnaOXQiJJxWN+60Gi1prdGaLZ4tsoYm4CA73hPe09zIVi2NwaWGLYYtwrYuzCPggB4uzpq21i7WLpmmLYwj3xPcyFfvEZ4kGfaFwn1+LKotTPIsxCPwWB4sxwzzsi6yLrpycogiNaffE8fte92X3ROv7RPdl914GDvsWnfiNFYtSs2HJi8mLs7WLxAj3BgeLxGO1TYtNi2Nhi1II04kVi6KWl56LnouWf4t0CPsDB4t1gH94i3iLgJeLoQgO91735ff1FYuxnp+qi6qLnneLZQhRJwf3XscVi+RR0C2LZItlfXJ1cKJrmGGLL4tQTIUxCO4GkaylnaWLsYuYcYtpCFYHdox9jX2L+xSLalOL+wiL+wTKdLqLvYu4o6O7n2S5ac6M5IzKy4vjCCUGiXWCbmSLbIt4nYurCND3Xgf7xEkVi2J2c2mLaot3pYuyi8GvnbeLlIuTipaJCA77TLUW8fiPJQYO+0yv9xwVi/sKxXPpiwjrB2SPgJaLsQj3kwe9tgXTB1lgBfeGJfvgB1lfBUMHvbcFDov3HfdlFYn3JAaLsZ6fqouli5x9j3IIjEEVjfskBotleHdsi3GLepmHpAj7GvsnFa12tNAFpXCvfLeL6YvF0IvqCPdTB4urhKh+pQi83mmgYkYFcaZnml+LLYtRRossCPtTB4trkm6YcQgO916s9z4Vi2KQZ5lxo1+6bsmLsouvmaGgonO4gLCLuouwnKanpaaasou1CCUGiXWCbmSLbIt4nYurCND3XvcgB4vkUdAti2WLZoBxdHSeZ5phi02LXG5zX31xhmeLYgj3xJsVi7Gen6qLqoued4tlCFEnB/texRWLsZ6fqouqi553i2UI+1sHi2V4d2yLbIt4n4uxCA6etRbx+KoGi82aobGLsouUdotvCDsHi2t+hGyLCDEHp4ubhItxCPtSB4thfIJuiwgrB9aL0puL9xAI90QHi752qWWgvKqVoYvSi/Fl2/sIiyOLXDyLNAgO93q692kV+I7b/I4G91H7ixWLaKhurouui6ioi66Lrm6oaItoi25ui2gI+DIEi2iobq6LrouoqIuui65uqGiLaItubotoCA73TbB6FccG+En5fgVPBvwK+5MVtIuVhIttCFcHi3x+fHqLeYt/mIufCKI7aQeLRcNzwYvZi6u/i7wIvgeLrIKga56vnpCgi6gItAeLvGm+QYtJi11ji1MIa9ulB4uXlJ2gi52Ll36LeghhB4pvgIVkiwj34vywFdvJqc1t9wc7+wdQBun3vwU7Bin7wwVN9yMHDvdNnXoVxwb4Sfl+BU8G/A78ThXb+D07BklgBUMHzbYF9/n9FBXbyanNbfcHO/sHUAbp978FOwYp+8MFTfcjBw77FOj3sxXb+D07BklgBUMHzbYFDvd6ztgVxFL3RPdF90X7RcPE+0T3RPdE90VTw/tF+0T7RPdEUlP3RftFBQ74Qvfd+I8V6wa4i6t6i2SLXmp5SosIQAZJ+4cVzfdLvgb3DftLBdsG+w33TQXGkryri9qL21uyKosI+zQG+D/7ZxWL+zf7FvsZ+zSL+zSL+xb3GYv3N4v3N/cW9xn3NIv3NIv3FvsZi/s3CP0gFov7XPc2+zb3XIv3XIv3Nvc2i/dci/dc+zb3Nvtci/tci/s2+zaL+1wIDrC7FvH3Lr8G1ou4p6e5o7KQtYvJi+CAuGiwaLBimFOLCFj3ECUG8ftwFcAG24uLVItIi0SKWjiLCFoGDvso0vtDFdv38jsG9yoE2/fyOwYOw/cq+PwVugbHi55ri1MI++sHi051b1KLCFz3ktHNRQYl/DQV9yIG9wyLz8qL9xgI9+EHi/cHS9D7B4sI+yv7vFtJuwYO902dehXHBvhJ+X4FTwb8DvxOFdv4PTsGSWAFQwfNtgX3if0UFfdy0/sKBur3NAWZopSci64IrAeLwFmxT4tLi1thi1MIZ9uqB4ufmZaci5mLnICLdwh0B4t9hn6Efwj7FvtoBQ73err3aRX4jtv8jgYOi/cENRWcdwWYkJeNmYuii6F8i3SLaWuEdYt1i3WSdpMIemEFnoSuf7KLwovPpYvMi6t4tkmLgYuAioGKCLbDBbGPqZqio6WmmrKLtQglBol1gm5ki2yLeJ2Lqwj3YweLsZ6fqouqi554i2II8QaL6VHPLYtNi1xuc199cYZni2II+zsHi2KQZ5lxn2axcL2ECA6L9xv39RWLsZ6fqouqi553i2UI+1sHi2V4d2yLbIt4n4uxCFr4WhWnY9WuBaFvmWaWXQiJiQWBmHiVeItNi1xuc199cYZni2II+zsHi2KQZ5lxo1+6bsmLyYu6qKO3maWQr4u0CPeCB4vZfuZZzQjKqG+zR2sFdZ9xm2uWCDhfBap/pX2feggO93r3mPMV2/c192nb+2n3NTv7NftpO/dpBvtp+50V+I7b/I4GDrD3FzUVnHcFmJCXjZmLoouhfIt0i2lrhHWLdYt1knaTCHphBZ6Ern+yi8KLz6WLzIureLZJi4GLgIqBigi2wwXYmsPRi9kItyVoB4tTZ3tvi12Le6uLtAj4AAeLu5euvouyi6Npi2MIafGzB4vuRdItiyiLSESLLgj8HAeL+wzYYdSFCA6etfthFfH3j40GoWqreLOLvIuknpymmKCOqIvUCPdVB4vDhqp/oXmsbZpii1iLd3Rxbgj3jyUH91/8wBWLa4BvZItui3Wii6sI91kHi7CfpaqLrouab4tiCA74Qvig97MVglleY1KLNYtT2Yvei+K+0uSLxIu4ZZZcCM0Gfuw/wTCL+xiLPCuL+xaL+xLfKPcWi+OL0smd6Qjv0BWL+zf7FvsZ+zSL+zSL+xb3GYv3N4v3N/cW9xn3NIv3NIv3FvsZi/s3CP0gFov7XPc2+zb3XIv3XIv3Nvc2i/dci/dc+zb3Nvtci/tci/s2+zaL+1wIDvd6+G33BRXb96z8jjv4PgYO+xSW+NwV26oGi5+ZlpqLmYucgIt3CHQHi32GfoR/CPsU+2gFVfdw0/sKB+r3NAWZopSci64IrAeLwFmxT4tNi1thi1MIDvsU7/huFbSLlYSLbQhXB4t8fnx6i3mLf5iLnwiiO2kHi0XDc8GL2Yurv4u8CL4Hi6yCoGuer56QoIuoCLQHi7xpvkGLSYtdY4tTCGvbpQeLl5SdoIudi5d+i3oIYQeKb4CFZIsIDvkA9zr3wBXT9+73E8372kn3Ewb5E/vuFdP4MPsGBvsJ+8H7CffBBfsG/DDT9+6NBvcc++4FtAb3HffuBY0GDvsC0PjyFYutpqati62LpnCLaYtpcHBpi2mLcKaLrQhYFotNvVnJi8mLvb2LyYvJWb1Ni02LWVmLTQgOnvfv+I8VJfvpBotefnJli2uLeaKLsAj38yX9XPH3ZY0HkYWVh5qLlouWj5eUlpSXmZSeCI1a8QYOsPeS940VJQa995YFjQb7XvyPFfEGqfctBfcfBqn7LQXxBvsz+VwFNgZ1qxXNBvcY9yEF+wAGDrD3kveNFSUGvfeWBY0G+178jxXxBqn3LQX3Hwap+y0F8Qb7M/lcBTYGJasV2QbO6s4sBdkGKfchBS0GDrD3kveNFSUGvfeWBY0G+178jxXxBqn3LQX3Hwap+y0F8Qb7M/lcBTYGOLcV5fExBvc2JRXl8TEGDrD3kveNFSUGvfeWBY0G+178jxXxBqn3LQX3Hwap+y0F8Qb7M/lcBTYGnfdBFfsABvcY+yEFzQYOsPeS940VJQa995YFjQb7XvyPFfEGqfctBfcfBqn7LQXxBvsz+VwFNgZQ9w8Vi1S5XMOLw4u5uYvDi8JdulOLU4tdXYtTCLQWi62mpq2LrYumcItpi2lwcGmLaYtwpoutCA6w95L3jRUlBr33lgWNBvte/I8V8Qap9y0F9x8GqfstBfEG+zP5XAU2Bvc29zEVinF8eG+LdYsws2yLS4tyWX9OCL4GjKWanqeLoovlY6qLy4ukvZfICA6Luxb3xPH7Xvdl90Tr+0T3Zfde6/vEBt2rFc0G9xj3IQX7AAYOi7sW98Tx+173ZfdE6/tE92X3Xuv7xAaNqxXZBs7qziwF2QYp9yEFLQYOi7sW98Tx+173ZfdE6/tE92X3Xuv7xAagtxXl8TEG9zYlFeXxMQYOi7sW98Tx+173ZfdE6/tE92X3Xuv7xAb3DvdBFfsABvcY+yEFzQYO+zq+FvH5XCUGfasVzQb3GPchBfsABg77Or4W8flcJQYtqxXZBs7qziwF2QYp9yEFLQYO+zq+FvH5XCUGQLcV5fExBvc2JRXl8TEGDvs6vhbx+VwlBqX3QRX7AAb3GPshBc0GDtW3FvH4QI0G9zD8QAXr+Vwl/EGJBvsu+EEFKQb3vfcxFYpxfHhvi3WLMLNsi0uLcll/Tgi+Boylmp6ni6KL5WOqi8uLpL2XyAgOw7X3PBWL+wjjUd6L3ovjxYv3CAj4DAeL9wgzxTiLOIszUYv7CAjxFou8q6Kwi7CLq3SLWgj8DAeLWmt0Zotmi2uii7wIj/jUFc0G9xj3IQX7AAYOw7X3PBWL+wjjUd6L3ovjxYv3CAj4DAeL9wgzxTiLOIszUYv7CAjxFou8q6Kwi7CLq3SLWgj8DAeLWmt0Zotmi2uii7wIP/jUFdkGzurOLAXZBin3IQUtBg7Dtfc8FYv7CONR3ovei+PFi/cICPgMB4v3CDPFOIs4izNRi/sICPEWi7yrorCLsIurdItaCPwMB4taa3Rmi2aLa6KLvAhS+OAV5fExBvc2JRXl8TEGDsO19zwVi/sI41Hei96L48WL9wgI+AwHi/cIM8U4iziLM1GL+wgI8RaLvKuisIuwi6t0i1oI/AwHi1prdGaLZotroou8CLf5YRX7AAb3GPshBc0GDsO19zwVi/sI41Hei96L48WL9wgI+AwHi/cIM8U4iziLM1GL+wgI8RaLvKuisIuwi6t0i1oI/AwHi1prdGaLZotroou8CPdQ+VEVinF8eG+LdYsws2yLS4tyWX9OCL4GjKWanqeLoovlY6qLy4ukvZfICA6v+A74wRWL2kfdJYv7CYtRNIv7AIsyolHjZwjUbQW9d5R/iz+LSoZiRotXi3evi7AIqyVlB4sr1kLui/cYi7fki/cMi/N6xDGtCD2qBVaghp6Lwou6mLjDi7+Ln2SLXAh08Qdt+A4VPQZILEjqBT0G7fshBekGDsP4DvlcFSX8sgaLWXBzZ4tni3Cji70I+LIl/LwHiy7VQuaL5ovV1IvoCPt6+NwVzQb3GPchBfsABg7D+A75XBUl/LIGi1lwc2eLZ4two4u9CPiyJfy8B4su1ULmi+aL1dSL6Aj7yvjcFdkGzurOLAXZBin3IQUtBg7D+A75XBUl/LIGi1lwc2eLZ4two4u9CPiyJfy8B4su1ULmi+aL1dSL6Aj7t/joFeXxMQb3NiUV5fExBg7D+A75XBUl/LIGi1lwc2eLZ4two4u9CPiyJfy8B4su1ULmi+aL1dSL6Aj7UvlpFfsABvcY+yEFzQYOnfcjFvH3wQb3IPgvBfsABjn7rwWJBjn3rwX7AAb3IPwvBX34TxXNBvcY9yEF+wAGDp33Ixbx98EG9yD4LwX7AAY5+68FiQY5968F+wAG9yD8LwVA+FsV5fExBvc2JRXl8TEGDmaaFvfD6/tYBvdY+KsF3Pu5K/dKB/tU/KIF9735rxU9BkgsSOoFPQbt+yEF6QYOi/d/FvH39QaL9UfBNotdi2V7cHBwcHtliF4I7gaRrKWdpYuxi5hxi2kIVgd2jH2NfYv7FItqU4v7CIv7BMp0uou8i6GgprAIjQbsBItidnNpi2qLd6WLsovBr523i5SLk4qWiQj7B/f4Fc0G9xj3IQX7AAYOi/d/FvH39QaL9UfBNotdi2V7cHBwcHtliF4I7gaRrKWdpYuxi5hxi2kIVgd2jH2NfYv7FItqU4v7CIv7BMp0uou8i6GgprAIjQbsBItidnNpi2qLd6WLsovBr523i5SLk4qWiQj7V/f4FdkGzurOLAXZBin3IQUtBg6L938W8ff1Bov1R8E2i12LZXtwcHBwe2WIXgjuBpGspZ2li7GLmHGLaQhWB3aMfY19i/sUi2pTi/sIi/sEynS6i7yLoaCmsAiNBuwEi2J2c2mLaot3pYuyi8GvnbeLlIuTipaJCPtE+AQV5fExBvc2JRXl8TEGDov3fxbx9/UGi/VHwTaLXYtle3BwcHB7ZYheCO4GkaylnaWLsYuYcYtpCFYHdox9jX2L+xSLalOL+wiL+wTKdLqLvIuhoKawCI0G7ASLYnZzaYtqi3eli7KLwa+dt4uUi5OKlokIQPiFFfsABvcY+yEFzQYOi/d/FvH39QaL9UfBNotdi2V7cHBwcHtliF4I7gaRrKWdpYuxi5hxi2kIVgd2jH2NfYv7FItqU4v7CIv7BMp0uou8i6GgprAIjQbsBItidnNpi2qLd6WLsovBr523i5SLk4qWiQj7LPhOFYtUuVzDi8OLubmLw4vCXbpTi1OLXV2LUwi0Foutpqati62LpnCLaYtpcHBpi2mLcKaLrQgOi/d/FvH39QaL9UfBNotdi2V7cHBwcHtliF4I7gaRrKWdpYuxi5hxi2kIVgd2jH2NfYv7FItqU4v7CIv7BMp0uou8i6GgprAIjQbsBItidnNpi2qLd6WLsovBr523i5SLk4qWiQjQ+HUVinF8eG+LdYsws2yLS4tyWX9OCL4GjKWanqeLoovlY6qLy4ukvZfICA6L9+X3axX3IAeL5FHQLYtNi1xuc199cYZni2II+zsHi2KQZ5lxo1+6bsmLuouwnKanpaaasou1CCUGiXWCbmSLbIt4nYurCNAH9x4Ei7Gen6qLqoued4tlCFEnB3z3qxXNBvcY9yEF+wAGDov35fdrFfcgB4vkUdAti02LXG5zX31xhmeLYgj7OweLYpBnmXGjX7puyYu6i7Ccpqelppqyi7UIJQaJdYJuZItsi3idi6sI0Af3HgSLsZ6fqouqi553i2UIUScHLPerFdkGzurOLAXZBin3IQUtBg6L9+X3axX3IAeL5FHQLYtNi1xuc199cYZni2II+zsHi2KQZ5lxo1+6bsmLuouwnKanpaaasou1CCUGiXWCbmSLbIt4nYurCNAH9x4Ei7Gen6qLqoued4tlCFEnBz/3txXl8TEG9zYlFeXxMQYOi/fl92sV9yAHi+RR0C2LTYtcbnNffXGGZ4tiCPs7B4tikGeZcaNfum7Ji7qLsJymp6WmmrKLtQglBol1gm5ki2yLeJ2LqwjQB/ceBIuxnp+qi6qLnneLZQhRJwek+DgV+wAG9xj7IQXNBg77TLUW8fiPJQZ9zhXNBvcY9yEF+wAGDvtMtRbx+I8lBi3OFdkGzurOLAXZBin3IQUtBg77TLUW8fiPJQZA2hXl8TEG9zYlFeXxMQYO+0y1FvH4jyUGpfdkFfsABvcY+yEFzQYOnrUW8ffpBou4mKSxi6uLnXSLZgj78/H4GQeL5lWsWItci290dmsIibwlBvek91QVinF8eG+LdYsws2yLS4tyWX9OCL4GjKWanqeLoovlY6qLy4ukvZfICA6LrPc+FYtikGeZcaNfum7Ji8mLuqijt5mlkK+LtAj3OweLtIavfaVzt1yoTYtNi1xuc199cYZni2II8ZsVi7Gen6qLqoued4tlCPtbB4tleHdsi2yLeJ+LsQh8+DgVzQb3GPchBfsABg6LrPc+FYtikGeZcaNfum7Ji8mLuqijt5mlkK+LtAj3OweLtIavfaVzt1yoTYtNi1xuc199cYZni2II8ZsVi7Gen6qLqoued4tlCPtbB4tleHdsi2yLeJ+LsQgs+DgV2QbO6s4sBdkGKfchBS0GDous9z4Vi2KQZ5lxo1+6bsmLyYu6qKO3maWQr4u0CPc7B4u0hq99pXO3XKhNi02LXG5zX31xhmeLYgjxmxWLsZ6fqouqi553i2UI+1sHi2V4d2yLbIt4n4uxCD/4RBXl8TEG9zYlFeXxMQYOi6z3PhWLYpBnmXGjX7puyYvJi7qoo7eZpZCvi7QI9zsHi7SGr32lc7dcqE2LTYtcbnNffXGGZ4tiCPGbFYuxnp+qi6qLnneLZQj7WweLZXh3bItsi3ifi7EIpPjFFfsABvcY+yEFzQYOi6z3PhWLYpBnmXGjX7puyYvJi7qoo7eZpZCvi7QI9zsHi7SGr32lc7dcqE2LTYtcbnNffXGGZ4tiCPGbFYuxnp+qi6qLnneLZQj7WweLZXh3bItsi3ifi7EI9z34tRWKcXx4b4t1izCzbItLi3JZf04IvgaMpZqep4uii+VjqovLi6S9l8gIDnn31/gBFYrfT8s4izmLR02LNYtHslvLcwi8eQWyfJd4i2+LaW92botli36oh6cIKwaPJ89W24vji8vQi9+Lx3PBP6gIT6MFZZqGnYuei6WdpKuLpoujeYxpCOn38hU9BkgsSOoFPQbt+yEF6QYOnvfv+I8VJfvpBotefnJli2uLeaKLsAj38yX8GQeLMMFqvou6i6eioKsIjVrxBvtt+NIVzQb3GPchBfsABg6e9+/4jxUl++kGi15+cmWLa4t5oouwCPfzJfwZB4swwWq+i7qLp6KgqwiNWvEG+7340hXZBs7qziwF2QYp9yEFLQYOnvfv+I8VJfvpBotefnJli2uLeaKLsAj38yX8GQeLMMFqvou6i6eioKsIjVrxBvuq+N4V5fExBvc2JRXl8TEGDp737/iPFSX76QaLXn5yZYtri3mii7AI9/Ml/BkHizDBar6LuounoqCrCI1a8Qb7RflfFfsABvcY+yEFzQYOeYr4jxX3H/x4BXT7Cn59YosIdCunBsiLxaWh5gj3JvjnBSIGRvvQBYkGRffQBY/OFc0G9xj3IQX7AAYOeYr4jxX3H/x4BXT7Cn59YosIdCunBsiLxaWh5gj3JvjnBSIGRvvQBYkGRffQBVLaFeXxMQb3NiUV5fExBg5UnBb3rev7OQb3OffeBdz7oDH3LAf7OfvkBfey+Q4VPQZILEjqBT0G7fshBekGDnyLBvdcFPgGFQAAugAAALoAAADwADgBFgAhAXQABgF0AAsBYAAJAeEAJAC6ACoA3gAyAN4AEwFyAB8CWAAvALoAKgGFACwAugAqAN4ABQF0ACIBdAA1AXQAIgF0ACIBdAAJAXQAIgF0ACIBdAAiAXQAIgF0ACIAugAqALoAKgJYAC8CWAAvAlgALwFyACADIAA2AZcAAgGqADABlwAqAaoAMAFyADABcgAwAaoAKgGqADAAzAAzAU3/6gGqADABcgAwAiwAMAG8ACwBqgAqAZcAMAGqACoBqgAwAZYAHAFM//0BqgAwAZcADQJRABABhf/+AYQAAwFNAA8A3gA6AN4ABQDeAAgCWAAyAfQAAAC6ACoBcgAZAYUAKgFyADABhQAqAXIAIQDeAAUBhQAqAYUAKgC6ACoAuv/qAYUAKgC6ACQCUAAqAYUAKgFyACEBhQAqAYUAKgEWACoBYAAYAMz/9wGFACoBYP//AhgAAQFM//UBYP//ATsAEQDeAAMA3gBHAN4AAwJYAEUA8AA4AXQAIgF0AA0Ap/9bAXQABAF0/8QBcgAhAXQABAC6ADUBFgASAaoACgDxAAoA8QAcAZcABQGXAAUB9AAAAXIABgFyAAYAugAdAbwACAH0AEgAugAqARYAEgEWABIBqgAcA+gAdAIZAAkBcgAgALr/2AC6ABwAuv/MALr/swC6/9QAuv/DALoAMAC6/98Auv/3ALr/8QC6/8oAuv//ALr/zAPoAAACYwACAPAADgFyAAABqgAKAmIAMADwABICPAAZALoAKgC6//IBcgAEAjwAIQGFACoCWAAvAisACwIrAAsA8gAbAlgAQwMgACYBlwAwAN4ARwGqAAACKwALAlgALwFyADABcgAhAlgALwGXACoBhQAqAyAAJgJYAC8A8gALAPIACwPeACcBBAASAYUAKgGXAAIBlwACAZcAAgGXAAIBlwACAZcAAgFyADABcgAwAXIAMAFyADAAzAAzAMwAMwDMADMAzAAzAbwALAGqACoBqgAqAaoAKgGqACoBqgAqAZYAHAGqADABqgAwAaoAMAGqADABhAADAYQAAwFNAA8BcgAZAXIAGQFyABkBcgAZAXIAGQFyABkBcgAhAXIAIQFyACEBcgAhALoAKgC6ACoAugAqALoAKgGFACoBcgAhAXIAIQFyACEBcgAhAXIAIQFgABgBhQAqAYUAKgGFACoBhQAqAWD//wFg//8BOwARAAAAAQAAAAAAAQAAAAwAAAAAAAAAAgABAAAA5AABAAAAAQAAAAoAHgAsAAFsYXRuAAgABAAAAAD//wABAAAAAWtlcm4ACAAAAAEAAAABAAQAAgAAAAEACAABArwABAAAACAASgBYAH4AhACWALQAzgDkAQIBGAEyATwAfgF6AaQB1gIEAgoCGAIiAjQCPgJIAgoCUgJYAnoCgAKWAoACrAK2AAMACP/eAEX/tgBU/8kACQAI/8kANf/JADf/2wA4/9sAOv/JAFf/7gBY/+4AWv/uAHf/yQABACL/9AAEACL/9AA3/+4AOP/0ADr/7gAHAA3/kQAP/5EAIv/OAEb/7gBK//QAUP/uAFP/7gAGAA3/7gAP/+4AQv/6AEb/+gBQ//oAVv/6AAUAMP/0AEb/9ABQ//QAVv/0AFr/7gAHAAj/pAA1/7YAN/+2ADj/tgA6/6QAWv/JAHf/tQAFACL/9AA1//QAN//uADj/9AA6/+4ABgAN/38AD/9/ACL/2wBC//QARv/0AFD/9AACADX/7gA6/+4ADwAN/6QADv/CAA//pAAb/8QAHP/CACL/yQAw//QAQv/CAEb/wgBK/+4AUP/CAFP/wgBW/8IAWP+2AFr/yQAKAA3/pAAO/9sAD/+kABv/7gAc/+4AIv/bAEL/2wBG/9sAUP/bAFb/4gAMAA3/tgAO/+4AD/+2ABv/7gAc/+4AIv/iADD/9ABC/+4ARv/uAFD/7gBW/+4AWv/0AAsADf+kAA7/tgAP/6QAG//bABz/yQAi/8kAQv/JAEb/yQBK/+4AUP/JAFb/yQABAEH/3gADAFf/+gBY//oAWv/0AAIAV//6AFr/9AAEAEn/9ABM//QATf/0AFr/7gACAFf/9ABa//QAAgAIABIAdwAMAAIARv/0AFD/9AABAFr/9AAIAA3/tgAO/9sAD/+2AEL/+gBE//QAUP/6AFcAEgBaABIAAQBY//QABQAN/8kAD//JAEL/+gBG//oAUP/6AAUADf/bAA//2wBC//oARv/6AFD/+gACAEb/+gBQ//oAAQAi/8kAAQAgAAgAIgAjACUAJwArACwALQAwADEAMwA1ADYANwA4ADoAQQBCAEMARABGAEcATABQAFEAUwBUAFcAWABaAFsAaQABAAAACgAcAB4AAWxhdG4ACAAEAAAAAP//AAAAAAAA
+    ) format('truetype');
+    font-weight: normal;
+    font-style: normal;
+}
+
+.DIN-font{
+    display: inline-block;
+    font-family: 'DINEngschrift-Alternate';
+    speak: none;
+    font-size: 16px;
+    font-style: normal;
+    font-weight: 400;
+    font-variant: normal;
+    text-transform: none;
+    text-rendering: auto;
+    line-height: 1;
+    -webkit-font-smoothing: antialiased;
+    -moz-osx-font-smoothing: grayscale;
+    vertical-align: middle;
+}
\ No newline at end of file
diff --git a/src/assets/css/element-ui-override.scss b/src/assets/css/element-ui-override.scss
new file mode 100644
index 0000000..e3faabe
--- /dev/null
+++ b/src/assets/css/element-ui-override.scss
@@ -0,0 +1,140 @@
+/*覆盖element-ui自带的样式放在该文件中*/
+
+.el-input {
+  height: 34px;
+}
+
+.el-input__inner {
+  padding-left: 15px;
+  height: 34px;
+  border-radius: 0;
+  border: 0;
+  background: #313847;
+  font-size: 14px;
+  font-family: PingFangSC-Regular, PingFang SC;
+  font-weight: 600;
+  color: #ffffff;
+}
+
+.el-loading-mask {
+  position: absolute;
+  z-index: 2000;
+  background-color: rgba(0, 0, 0, 0.7);
+  margin: 0;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  transition: opacity 0.3s;
+}
+
+.el-loading-spinner .circular {
+  margin: auto;
+}
+
+.el-table {
+  background-color: #000a1f;
+
+  &::before {
+    background-color: unset;
+  }
+
+  .el-table__header {
+    thead {
+      color: #fff;
+
+      tr {
+        border-bottom: unset;
+
+        th.el-table__cell.is-leaf {
+          border-bottom: unset;
+        }
+
+        th {
+          font-weight: 600;
+        }
+
+        .el-table__cell {
+          padding: 6px 0;
+          background-color: #5e616e;
+        }
+      }
+    }
+  }
+  
+  .el-table__body {
+    tbody {
+      tr.el-table__row {
+        background-color: #000a1f;
+        color: #fff;
+        font-weight: 600;
+        td.el-table__cell {
+          padding: 0;
+          border-bottom: unset;
+        }
+        &:hover {
+          td.el-table__cell {
+            background-color: rgba(255, 255, 255, 0.1);
+          }
+        }
+      }
+    }
+  }
+
+  // &--striped {
+  //   .el-table__body {
+  //     tr.el-table__row--striped {
+  //       td.el-table__cell {
+  //         background-color: rgba(255, 255, 255, 0.1);
+  //       }
+  //     }
+  //   }
+  // }
+}
+
+.el-pagination {
+  &.is-background {
+    .el-pager li {
+      background-color: rgba(233, 234, 240, 0.1);
+      color: #fefefe;
+      &:not(.disabled).active {
+        background-color: #3661eb;
+      }
+    }
+
+    .btn-prev {
+      background-color: #3661eb;
+      color: #fff;
+      &:disabled {
+        background-color: rgba(54, 97, 235, 0.5);
+        color: rgba(246, 247, 250, 0.5);
+      }
+    }
+
+    .btn-next {
+      background-color: #3661eb;
+      color: #f6f7fa;
+      &:disabled {
+        background-color: rgba(54, 97, 235, 0.5);
+        color: rgba(246, 247, 250, 0.5);
+      }
+    }
+  }
+}
+.el-select,
+.el-input__inner{
+  height: 32px;
+  line-height: 32px;
+  background: rgba(255,255,255,0.15);
+  color: #fff;
+  border: none;
+  outline: none;
+}
+ //未选中框时右侧文字
+  .el-checkbox__label{
+    color: #fff;
+ }
+ //选中框时右侧文字
+  .el-checkbox__input.is-checked+.el-checkbox__label{
+   color: #fff;
+ }
\ No newline at end of file
diff --git a/src/assets/css/sass.scss b/src/assets/css/sass.scss
new file mode 100644
index 0000000..d204e74
--- /dev/null
+++ b/src/assets/css/sass.scss
@@ -0,0 +1,3 @@
+@function count($val) {
+    @return calc($val / 1920  * 100vw);
+}
\ No newline at end of file
diff --git a/src/assets/css/self-global.scss b/src/assets/css/self-global.scss
new file mode 100644
index 0000000..0fedc91
--- /dev/null
+++ b/src/assets/css/self-global.scss
@@ -0,0 +1,40 @@
+/*自定义全局样式放在该文件中*/
+
+/*自定义滚动条*/
+::-webkit-scrollbar {
+  width: 6px;
+}
+
+::-webkit-scrollbar-thumb {
+  background-color: #4a6cf7;
+}
+
+::-webkit-scrollbar-track {
+  background-color: hsla(0, 0%, 100%, 0.1);
+}
+
+.scrollbar-white::-webkit-scrollbar-thumb {
+  background-color: #fff;
+}
+
+body {
+  overflow: hidden;
+}
+
+.vjs-control-bar {
+  background-color: rgba(0, 0, 0, 0.6);
+}
+
+//覆盖videojs默认的一些样式
+.vjs-slider-horizontal {
+  .vjs-volume-level::before {
+    top: -4px;
+  }
+  .vjs-play-progress::before {
+    top: -5px;
+  }
+}
+
+.vjs-slider-vertical .vjs-volume-level:before {
+  left: -4px;
+}
diff --git a/src/assets/css/tail-wind/index.css b/src/assets/css/tail-wind/index.css
new file mode 100644
index 0000000..8a90c80
--- /dev/null
+++ b/src/assets/css/tail-wind/index.css
@@ -0,0 +1,5 @@
+@tailwind base;
+
+@tailwind components;
+
+@tailwind utilities;
\ No newline at end of file
diff --git a/src/assets/images/backgrounds/PM10.png b/src/assets/images/backgrounds/PM10.png
new file mode 100644
index 0000000..501d4f6
--- /dev/null
+++ b/src/assets/images/backgrounds/PM10.png
Binary files differ
diff --git a/src/assets/images/backgrounds/PM2.png b/src/assets/images/backgrounds/PM2.png
new file mode 100644
index 0000000..0f78b28
--- /dev/null
+++ b/src/assets/images/backgrounds/PM2.png
Binary files differ
diff --git a/src/assets/images/backgrounds/cover_bg.png b/src/assets/images/backgrounds/cover_bg.png
new file mode 100644
index 0000000..fe5fb77
--- /dev/null
+++ b/src/assets/images/backgrounds/cover_bg.png
Binary files differ
diff --git a/src/assets/images/backgrounds/daqishidu.png b/src/assets/images/backgrounds/daqishidu.png
new file mode 100644
index 0000000..442146d
--- /dev/null
+++ b/src/assets/images/backgrounds/daqishidu.png
Binary files differ
diff --git a/src/assets/images/backgrounds/daqiwendu.png b/src/assets/images/backgrounds/daqiwendu.png
new file mode 100644
index 0000000..cf44f97
--- /dev/null
+++ b/src/assets/images/backgrounds/daqiwendu.png
Binary files differ
diff --git a/src/assets/images/backgrounds/fengli.png b/src/assets/images/backgrounds/fengli.png
new file mode 100644
index 0000000..64e8701
--- /dev/null
+++ b/src/assets/images/backgrounds/fengli.png
Binary files differ
diff --git a/src/assets/images/backgrounds/fengxiang.png b/src/assets/images/backgrounds/fengxiang.png
new file mode 100644
index 0000000..6c519aa
--- /dev/null
+++ b/src/assets/images/backgrounds/fengxiang.png
Binary files differ
diff --git a/src/assets/images/backgrounds/home.png b/src/assets/images/backgrounds/home.png
new file mode 100644
index 0000000..9e276bc
--- /dev/null
+++ b/src/assets/images/backgrounds/home.png
Binary files differ
diff --git a/src/assets/images/backgrounds/home_active.png b/src/assets/images/backgrounds/home_active.png
new file mode 100644
index 0000000..f876c6e
--- /dev/null
+++ b/src/assets/images/backgrounds/home_active.png
Binary files differ
diff --git a/src/assets/images/backgrounds/home_line.png b/src/assets/images/backgrounds/home_line.png
new file mode 100644
index 0000000..8bc88f4
--- /dev/null
+++ b/src/assets/images/backgrounds/home_line.png
Binary files differ
diff --git a/src/assets/images/backgrounds/jianlidanwei.png b/src/assets/images/backgrounds/jianlidanwei.png
new file mode 100644
index 0000000..56e798b
--- /dev/null
+++ b/src/assets/images/backgrounds/jianlidanwei.png
Binary files differ
diff --git a/src/assets/images/backgrounds/jianshedanwei.png b/src/assets/images/backgrounds/jianshedanwei.png
new file mode 100644
index 0000000..793e8ae
--- /dev/null
+++ b/src/assets/images/backgrounds/jianshedanwei.png
Binary files differ
diff --git a/src/assets/images/backgrounds/jianzhumianji.png b/src/assets/images/backgrounds/jianzhumianji.png
new file mode 100644
index 0000000..afcded8
--- /dev/null
+++ b/src/assets/images/backgrounds/jianzhumianji.png
Binary files differ
diff --git a/src/assets/images/backgrounds/logo.png b/src/assets/images/backgrounds/logo.png
new file mode 100644
index 0000000..0c1311a
--- /dev/null
+++ b/src/assets/images/backgrounds/logo.png
Binary files differ
diff --git a/src/assets/images/backgrounds/mubiaowanc.png b/src/assets/images/backgrounds/mubiaowanc.png
new file mode 100644
index 0000000..354a3f6
--- /dev/null
+++ b/src/assets/images/backgrounds/mubiaowanc.png
Binary files differ
diff --git a/src/assets/images/backgrounds/mubiaowancheng.png b/src/assets/images/backgrounds/mubiaowancheng.png
new file mode 100644
index 0000000..354a3f6
--- /dev/null
+++ b/src/assets/images/backgrounds/mubiaowancheng.png
Binary files differ
diff --git a/src/assets/images/backgrounds/people.png b/src/assets/images/backgrounds/people.png
new file mode 100644
index 0000000..e28ef44
--- /dev/null
+++ b/src/assets/images/backgrounds/people.png
Binary files differ
diff --git a/src/assets/images/backgrounds/screen.png b/src/assets/images/backgrounds/screen.png
new file mode 100644
index 0000000..105a607
--- /dev/null
+++ b/src/assets/images/backgrounds/screen.png
Binary files differ
diff --git a/src/assets/images/backgrounds/search.png b/src/assets/images/backgrounds/search.png
new file mode 100644
index 0000000..78971c1
--- /dev/null
+++ b/src/assets/images/backgrounds/search.png
Binary files differ
diff --git a/src/assets/images/backgrounds/shejidanwei.png b/src/assets/images/backgrounds/shejidanwei.png
new file mode 100644
index 0000000..1a45ede
--- /dev/null
+++ b/src/assets/images/backgrounds/shejidanwei.png
Binary files differ
diff --git a/src/assets/images/backgrounds/shigongdanwei.png b/src/assets/images/backgrounds/shigongdanwei.png
new file mode 100644
index 0000000..cb5bbda
--- /dev/null
+++ b/src/assets/images/backgrounds/shigongdanwei.png
Binary files differ
diff --git a/src/assets/images/backgrounds/shigongjinduchart.png b/src/assets/images/backgrounds/shigongjinduchart.png
new file mode 100644
index 0000000..d4161dc
--- /dev/null
+++ b/src/assets/images/backgrounds/shigongjinduchart.png
Binary files differ
diff --git a/src/assets/images/backgrounds/shishirenshu.png b/src/assets/images/backgrounds/shishirenshu.png
new file mode 100644
index 0000000..a2911f5
--- /dev/null
+++ b/src/assets/images/backgrounds/shishirenshu.png
Binary files differ
diff --git a/src/assets/images/backgrounds/table_bg.png b/src/assets/images/backgrounds/table_bg.png
new file mode 100644
index 0000000..42c8dfa
--- /dev/null
+++ b/src/assets/images/backgrounds/table_bg.png
Binary files differ
diff --git a/src/assets/images/backgrounds/time.png b/src/assets/images/backgrounds/time.png
new file mode 100644
index 0000000..d6ffbd0
--- /dev/null
+++ b/src/assets/images/backgrounds/time.png
Binary files differ
diff --git a/src/assets/images/backgrounds/zaigang.png b/src/assets/images/backgrounds/zaigang.png
new file mode 100644
index 0000000..66a7f8e
--- /dev/null
+++ b/src/assets/images/backgrounds/zaigang.png
Binary files differ
diff --git a/src/assets/images/backgrounds/zhihui.png b/src/assets/images/backgrounds/zhihui.png
new file mode 100644
index 0000000..52fce69
--- /dev/null
+++ b/src/assets/images/backgrounds/zhihui.png
Binary files differ
diff --git a/src/assets/images/backgrounds/zhihui_active.png b/src/assets/images/backgrounds/zhihui_active.png
new file mode 100644
index 0000000..7dce64a
--- /dev/null
+++ b/src/assets/images/backgrounds/zhihui_active.png
Binary files differ
diff --git a/src/assets/images/backgrounds/zoomout.png b/src/assets/images/backgrounds/zoomout.png
new file mode 100644
index 0000000..0d985b4
--- /dev/null
+++ b/src/assets/images/backgrounds/zoomout.png
Binary files differ
diff --git a/src/assets/images/titles/huanjing.png b/src/assets/images/titles/huanjing.png
new file mode 100644
index 0000000..75869fd
--- /dev/null
+++ b/src/assets/images/titles/huanjing.png
Binary files differ
diff --git a/src/assets/images/titles/renyuan.png b/src/assets/images/titles/renyuan.png
new file mode 100644
index 0000000..67ecffe
--- /dev/null
+++ b/src/assets/images/titles/renyuan.png
Binary files differ
diff --git a/src/assets/images/titles/shebei.png b/src/assets/images/titles/shebei.png
new file mode 100644
index 0000000..e058c27
--- /dev/null
+++ b/src/assets/images/titles/shebei.png
Binary files differ
diff --git a/src/assets/images/titles/shigong.png b/src/assets/images/titles/shigong.png
new file mode 100644
index 0000000..b36b3bd
--- /dev/null
+++ b/src/assets/images/titles/shigong.png
Binary files differ
diff --git a/src/assets/images/titles/title_second.png b/src/assets/images/titles/title_second.png
new file mode 100644
index 0000000..5dcccc4
--- /dev/null
+++ b/src/assets/images/titles/title_second.png
Binary files differ
diff --git a/src/assets/images/titles/wendu_bg.png b/src/assets/images/titles/wendu_bg.png
new file mode 100644
index 0000000..523c791
--- /dev/null
+++ b/src/assets/images/titles/wendu_bg.png
Binary files differ
diff --git a/src/assets/images/titles/xiangmu.png b/src/assets/images/titles/xiangmu.png
new file mode 100644
index 0000000..e9ebe9a
--- /dev/null
+++ b/src/assets/images/titles/xiangmu.png
Binary files differ
diff --git a/src/assets/images/titles/xiangmu_bg.png b/src/assets/images/titles/xiangmu_bg.png
new file mode 100644
index 0000000..4da7a71
--- /dev/null
+++ b/src/assets/images/titles/xiangmu_bg.png
Binary files differ
diff --git a/src/components/Collapse.vue b/src/components/Collapse.vue
new file mode 100644
index 0000000..d67f576
--- /dev/null
+++ b/src/components/Collapse.vue
@@ -0,0 +1,154 @@
+<template>
+  <div class="inline-block outerWrapper" ref="outerWrapper" :style="outerWrapperStyle">
+    <div class="relative collapseWrapper" ref="collapseWrapper">
+      <slot ref="content"></slot>
+      <div class="absolute flex justify-center items-center cursor-pointer" :class="collapseBarClass" ref="bar" @click="toggleCollapsed">
+        <img ref="triangleIcon" class="triangleIcon w-1.5 h-1.5" :class="triangleClass" src="../assets/images/triangle.png" alt="方向三角" />
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+  const DirectionsMap = {
+    left: "cleft",
+    right: "cright",
+    top: "ctop",
+    bottom: "cbottom",
+  };
+  export default {
+    name: "Collapse",
+    props: {
+      direction: {
+        type: String,
+        default: DirectionsMap.left,
+        validator(v) {
+          return Object.keys(DirectionsMap).includes(v);
+        },
+      },
+      bgc: {
+        type: String,
+        default: "#334CAF",
+      },
+    },
+    data() {
+      return {
+        isCollapsed: false,
+        width: "",
+        height: "",
+      };
+    },
+    computed: {
+      triangleClass() {
+        switch (this.direction) {
+          case "left":
+            return "rotate-0";
+          case "right":
+            return "rotate-180";
+          case "top":
+            return "rotate-90";
+          case "bottom":
+            return "-rotate-90";
+          default:
+            break;
+        }
+        return "";
+      },
+      collapseBarClass() {
+        switch (this.direction) {
+          case "left":
+            return "top-[50%] right-0 translate-x-full -translate-y-[50%] w-3 h-16 triangleLeftBg";
+          case "right":
+            return "top-[50%] left-0 -translate-x-full -translate-y-[50%] w-3 h-16 triangleRightBg";
+          case "top":
+            return "bottom-0 left-[50%] -translate-x-[50%] translate-y-full w-16 h-3";
+          case "bottom":
+            return "top-0 left-[50%] -translate-x-[50%] -translate-y-full w-16 h-3";
+          default:
+            break;
+        }
+        return "";
+      },
+      outerWrapperStyle() {
+        return {
+          width: this.width,
+          height: this.height,
+        };
+      },
+    },
+    mounted() {
+      // console.log("Collapsed-mounted");
+      this.setSizeInfo();
+    },
+    methods: {
+      setSizeInfo() {
+        const elm = this.$scopedSlots.default()[0].elm;
+        if (elm) {
+          const { width, height } = window.getComputedStyle(elm);
+          this.width = width;
+          this.height = height;
+        }
+      },
+      toggleCollapsed() {
+        this.isCollapsed = !this.isCollapsed;
+        const outerWrapperClasslist = this.$refs.outerWrapper.classList;
+        if (this.isCollapsed) {
+          outerWrapperClasslist.add("collapsed");
+          outerWrapperClasslist.add(this.direction);
+          this.$emit(`collapse${this.direction}`);
+        } else {
+          outerWrapperClasslist.remove("collapsed");
+          outerWrapperClasslist.remove(this.direction);
+          this.$emit(`uncollapse${this.direction}`);
+        }
+      },
+    },
+  };
+</script>
+
+<style lang="scss" scoped>
+  .outerWrapper {
+    transition: all 0.3s linear;
+    .triangleLeftBg {
+      background-image: url("../assets/images/triangle-left.png");
+      background-repeat: no-repeat;
+      background-size: cover;
+      background-position: center center;
+    }
+    .triangleRightBg {
+      background-image: url("../assets/images/triangle-right.png");
+      background-repeat: no-repeat;
+      background-size: cover;
+      background-position: center center;
+    }
+    &.collapsed {
+      &.right {
+        // width: 0px !important;
+        transform: translate3d(100%, 0, 0);
+        .triangleIcon {
+          transform: rotate3d(0, 0, 1, 0deg);
+        }
+      }
+      &.left {
+        transform: translate3d(-100%, 0, 0);
+        .triangleIcon {
+          transform: rotate3d(0, 0, 1, 180deg);
+        }
+      }
+      &.bottom {
+        height: 0 !important;
+        bottom: 0 !important;
+        .triangleIcon {
+          transform: rotate3d(0, 0, 1, 90deg);
+        }
+      }
+      &.top {
+        height: 0 !important;
+        top: 0 !important;
+        .triangleIcon {
+          transform: rotate3d(0, 0, 1, 270deg);
+        }
+      }
+    }
+  }
+</style>
diff --git a/src/components/DialogFixed.vue b/src/components/DialogFixed.vue
new file mode 100644
index 0000000..f94e5a4
--- /dev/null
+++ b/src/components/DialogFixed.vue
@@ -0,0 +1,108 @@
+<template>
+  <el-dialog v-bind="finalAttrs" v-on="$listeners" custom-class="dialogCus" :append-to-body="false" :modal-append-to-body="false">
+    <div :style="contentWrapperStyle" v-bind="$props">
+      <img class="absolute top-0 bottom-0 left-0 right-0 w-full h-full" src="../assets/images/dialog/dialog-bg.png" alt="背景" />
+      <img class="z-[9999]" :style="closeIconStyle" src="../assets/images/dialog/close.png" alt="关闭" @click="onCloseIconClick" />
+      <div class="relative z-50 w-full h-full">
+        <slot></slot>
+      </div>
+    </div>
+  </el-dialog>
+</template>
+
+<script>
+  export default {
+    name: "DialogFixed",
+    inheritAttrs: false,
+    props: {
+      width: {
+        type: String,
+        default: "1025px",
+      },
+      height: {
+        type: String,
+        default: "560px",
+      },
+      closeIconWidth: {
+        type: String,
+        default: "64px",
+      },
+      closeIconHeight: {
+        type: String,
+        default: "26px",
+      },
+      closeIconTop: {
+        type: String,
+        default: "17px",
+      },
+      closeIconRight: {
+        type: String,
+        default: "8px",
+      },
+    },
+    computed: {
+      contentWrapperStyle() {
+        return {
+          position: "relative",
+          display: "flex",
+          width: `${this.width}`,
+          height: `${this.height}`,
+          "justify-content": "center",
+          "align-items": "center",
+          color: "#FFF",
+        };
+      },
+      closeIconStyle() {
+        return {
+          position: "absolute",
+          top: `${this.closeIconTop}`,
+          right: `${this.closeIconRight}`,
+          width: `${this.closeIconWidth}`,
+          height: `${this.closeIconHeight}`,
+          cursor: "pointer",
+        };
+      },
+      finalAttrs() {
+        return Object.assign(
+          {
+            modal: true,
+            "modal-append-to-body": true,
+            "append-to-body": false,
+            "lock-scroll": true,
+            "close-on-click-modal": false,
+            "close-on-press-escape": true,
+            "show-close": false,
+            "destroy-on-close": false,
+          },
+          this.$attrs,
+        );
+      },
+    },
+    methods: {
+      onCloseIconClick() {
+        this.$emit("update:visible", false);
+      },
+    },
+  };
+</script>
+
+<style lang="scss" scoped>
+  ::v-deep .el-dialog.dialogCus {
+    position: absolute;
+    top: 50%;
+    left: 50%;
+    margin: 0 !important;
+    width: auto;
+    background: transparent;
+    border-radius: initial;
+    box-shadow: initial;
+    box-sizing: border-box;
+    transform: translate3d(-50%, -50%, 0);
+    .el-dialog__header {
+      display: none;
+    }
+    // .el-table tr {
+    //   background-color: initial;
+    // }
+  }
+</style>
diff --git a/src/components/Divide.vue b/src/components/Divide.vue
new file mode 100644
index 0000000..d7a2028
--- /dev/null
+++ b/src/components/Divide.vue
@@ -0,0 +1,46 @@
+<template>
+  <div :style="styleObj"></div>
+</template>
+
+<script>
+  const Directions = ["x", "y"];
+  export default {
+    name: "Divide",
+    props: {
+      direction: {
+        type: String,
+        default: "y",
+        validator(v) {
+          return Directions.includes(v);
+        },
+      },
+      width: {
+        type: String,
+        default: "1px",
+      },
+      height: {
+        type: String,
+        default: "24px",
+      },
+      bgc: {
+        type: String,
+        default: "#fff",
+      },
+      opacity: {
+        type: Number,
+        default: 1,
+      },
+    },
+    computed: {
+      styleObj() {
+        return {
+          width: this.width,
+          height: this.height,
+          backgroundColor: this.bgc,
+          opacity: this.opacity,
+          transform: this.direction === "x" ? "rotate3d(0,0,1,90deg)" : "",
+        };
+      },
+    },
+  };
+</script>
diff --git a/src/components/DropDown.vue b/src/components/DropDown.vue
new file mode 100644
index 0000000..b72d739
--- /dev/null
+++ b/src/components/DropDown.vue
@@ -0,0 +1,108 @@
+<template>
+  <div class="dropdownWrapper relative w-[372px] h-[40px] p-[20px] flex rounded-tl-[6px] rounded-tr-[6px] bg-[#2849CD] items-center">
+    <img v-if="withIcon" class="mr-[14px] w-[15px] h-[12px]" src="../assets/images/list.png" alt="列表" />
+    <div class="flex items-center text-[16px] hover:cursor-pointer" @click="toggleOptions">
+      {{ selectedOption?.label ?? "暂无数据" }}
+    </div>
+    <div class="flex-1 flex items-center justify-end hover:cursor-pointer" @click="toggleOptions">
+      <div v-if="withText" class="mr-[8px] ml-[8px] text-[14px]">切换</div>
+      <img class="w-[8px] h-[8px]" :class="{ 'rotate-180': isOptionVisible }" src="../assets/images/triangle-down.png" alt="下拉" />
+    </div>
+    <!--下拉选项-->
+    <div
+      class="absolute z-50 top-full right-0 left-0 pl-[16px] pr-[12px] py-[16px] rounded-bl-[6px] rounded-br-[6px] transition-transform origin-top bg-[#2849CD]"
+      :class="dynamicClassStr"
+    >
+      <div class="max-h-[256px] space-y-2 overflow-y-auto scrollbar-white">
+        <template v-if="options?.length">
+          <div
+            v-for="v in options"
+            :key="v.id"
+            class="optionItem mr-[6px] min-h-[40px] py-[8px] px-[12px] rounded-[6px] flex items-center text-base hover:bg-[hsla(0,0%,100%,0.1)] hover:cursor-pointer"
+            :class="{ activated: v.id === selectedId }"
+          >
+            <div v-if="!v.disabled" class="w-full h-full flex justify-between items-center" @click="onOptionClick(v)">
+              <div>{{ v.label }}</div>
+              <template v-if="withCheck">
+                <div v-show="v.id === selectedId">✓</div>
+              </template>
+            </div>
+            <div v-else class="w-full h-full flex justify-between items-center cursor-not-allowed text-gray-400">
+              <div>{{ v.label }}</div>
+            </div>
+          </div>
+        </template>
+        <template v-else>
+          <div class="text-sm text-gray-400 font-thin cursor-not-allowed"> 暂无数据 </div>
+        </template>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+  export default {
+    name: "DropDown",
+    props: {
+      options: {
+        type: Array,
+        default() {
+          return [];
+        },
+      },
+      selectedId: {
+        type: String,
+        default: "",
+      },
+      withIcon: {
+        type: Boolean,
+        default: true,
+      },
+      withText: {
+        type: Boolean,
+        default: true,
+      },
+      withCheck: {
+        type: Boolean,
+        default: true,
+      },
+    },
+    data() {
+      return {
+        isOptionVisible: false,
+      };
+    },
+    computed: {
+      dynamicClassStr() {
+        return this.isOptionVisible ? "scale-y-1" : "scale-y-0";
+      },
+      selectedOption() {
+        return this.options.find((item) => item.id === this.selectedId);
+      },
+    },
+    methods: {
+      toggleOptions() {
+        this.isOptionVisible = !this.isOptionVisible;
+      },
+      onOptionClick(item) {
+        if (item.id === this.selectedId) {
+          this.toggleOptions();
+          return;
+        }
+        this.toggleOptions();
+        this.$emit("change", item);
+      },
+    },
+  };
+</script>
+
+<style lang="scss" scoped>
+  .dropdownWrapper {
+    box-shadow: -1px 0px 25px 0px rgba(14, 15, 15, 0.1);
+  }
+  .optionItem {
+    &.activated {
+      background-color: #0e1120;
+    }
+  }
+</style>
diff --git a/src/components/FullScreenButton.vue b/src/components/FullScreenButton.vue
new file mode 100644
index 0000000..c139bc5
--- /dev/null
+++ b/src/components/FullScreenButton.vue
@@ -0,0 +1,62 @@
+<template>
+  <span @click="onFullscreen" class="inline-flex justify-center items-center w-[42px] h-[42px] rounded-md cursor-pointer bg-[hsla(0,0%,0%,0.9)]">
+    <img class="w-[18px] h-[18px]" src="../assets/images/fullscreen.png" alt="全屏" />
+  </span>
+</template>
+
+<script>
+  export default {
+    name: "FullscreenButton",
+    methods: {
+      onFullscreen() {
+        if (this.isFullscreenEnabled()) {
+          if (this.isFullScreen()) {
+            this.exitFullscreen();
+          } else {
+            this.openFullScreen(document.body);
+          }
+        }
+      },
+      // 判断当前文档是否能切换到全屏
+      isFullscreenEnabled() {
+        return document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled || document.msFullscreenEnabled;
+      },
+      // 判断当前窗体是否为全屏状态
+      isFullScreen() {
+        return !!(document.fullscreenElement || document.mozFullScreen || document.webkitIsFullScreen || document.webkitFullScreen || document.msFullScreen);
+      },
+      // 打开全屏
+      openFullScreen(ele) {
+        if (ele.requestFullscreen) {
+          ele.requestFullscreen();
+        } else if (ele.mozRequestFullScreen) {
+          ele.mozRequestFullScreen();
+        } else if (ele.webkitRequestFullscreen) {
+          ele.webkitRequestFullscreen();
+        } else if (ele.msRequestFullscreen) {
+          ele.msRequestFullscreen();
+        }
+        this.$store.dispatch("common/setFullscreenInfo", {
+          isFullscreen: true,
+          fullscreenElement: ele,
+        });
+      },
+      // 退出全屏
+      exitFullscreen() {
+        if (document.exitFullscreen) {
+          document.exitFullscreen();
+        } else if (document.mozCancelFullScreen) {
+          document.mozCancelFullScreen();
+        } else if (document.webkitExitFullscreen) {
+          document.webkitExitFullscreen();
+        } else if (element.msExitFullscreen) {
+          element.msExitFullscreen();
+        }
+        this.$store.dispatch("common/setFullscreenInfo", {
+          isFullscreen: false,
+          fullscreenElement: null,
+        });
+      },
+    },
+  };
+</script>
diff --git a/src/components/Header.vue b/src/components/Header.vue
new file mode 100644
index 0000000..4b4c510
--- /dev/null
+++ b/src/components/Header.vue
@@ -0,0 +1,98 @@
+<template>
+  <header class="headerWrapper">
+    <div class="relative z-[100] w-full h-[80px]" :style="{
+      backgroundImage: `url(${backgroundImage})`,
+      backgroundRepeat: 'no-repeat',
+      backgroundPosition: 'center center',
+      backgroundSize: '100% 100%'
+    }">
+      <div class="absolute top-0 left-1/2 -translate-x-1/2 h-full px-[16px] flex items-center justify-between">
+        <div class="flex flex-col items-center cursor-pointer relative" @click="onHomeClick('home')">
+          <div class="flex items-center">
+            <img class="w-[20px] h-[20px]" :src="getImageUrl(activeTab === 'home' ? 'home_active.png' : 'home.png')" alt="">
+            <div class="text-[20px] text-[#C8C8C8] ml-[8px]" :class="{'text-[#FFBF00]': activeTab === 'home'}">项目首页</div>
+          </div>
+          <img class="w-[116px] h-[8px] absolute bottom-[-4px]" :src="getImageUrl('home_line.png')" alt="" v-if="activeTab === 'home'">
+        </div>
+        <div class="flex flex-col items-center ml-[78px] cursor-pointer relative" @click="onHomeClick('zhihui')">
+          <div class="flex items-center">
+            <img class="w-[20px] h-[20px]" :src="getImageUrl(activeTab === 'zhihui' ? 'zhihui_active.png' : 'zhihui.png')" alt="">
+            <div class="text-[20px] text-[#C8C8C8] ml-[8px]" :class="{'text-[#FFBF00]': activeTab === 'zhihui'}">智慧工地</div>
+          </div>
+          <img class="w-[116px] h-[8px] absolute bottom-[-4px]" :src="getImageUrl('home_line.png')" alt="" v-if="activeTab === 'zhihui'">
+        </div>
+      </div>
+      <div class="absolute top-0 right-0">
+        <div class="flex items-center h-[80px] mr-[20px]">
+          <img class="w-[20px] h-[20px]" :src="getImageUrl('time.png')" alt="">
+          <div class="text-[24px] text-[#FFBF00] ml-[8px]">{{ currentTime }}</div>
+          <div class="text-[16px] text-[#C8C8C8] ml-[20px]">{{ currentDate }}</div>
+        </div>
+      </div>
+    </div>
+  </header>
+</template>
+
+<script>
+  import DropDown from "./DropDown.vue";
+
+  export default {
+    name: "AppHeader",
+    components: {
+      "drop-down": DropDown,
+    },
+    data() {
+      return {
+        activeTab: 'home',
+        currentTime: '',
+        currentDate: '',
+        timer: null,
+        backgroundImage: new URL('@/assets/images/backgrounds/logo.png', import.meta.url).href
+      }
+    },
+    props: {
+      selectedId: {
+        type: String,
+        default: "",
+      },
+      optionList: {
+        type: Array,
+        default: () => [],
+      },
+    },
+    methods: {
+      getImageUrl(name) {
+        return new URL(`../assets/images/backgrounds/${name}`, import.meta.url).href
+      },
+      onHomeClick(tab) {
+        this.activeTab = tab;
+      },
+      onProjectChange(data) {
+        this.$store.commit("common/setCurrentProject", data);
+      },
+      updateTime() {
+        const now = new Date();
+        const hours = String(now.getHours()).padStart(2, '0');
+        const minutes = String(now.getMinutes()).padStart(2, '0');
+        const seconds = String(now.getSeconds()).padStart(2, '0');
+        this.currentTime = `${hours}:${minutes}:${seconds}`;
+
+        const year = now.getFullYear();
+        const month = String(now.getMonth() + 1).padStart(2, '0');
+        const day = String(now.getDate()).padStart(2, '0');
+        const weekDays = ['日', '一', '二', '三', '四', '五', '六'];
+        const weekDay = weekDays[now.getDay()];
+        this.currentDate = `${year}.${month}.${day} 星期${weekDay}`;
+      }
+    },
+    mounted() {
+      this.updateTime();
+      this.timer = setInterval(this.updateTime, 1000);
+    },
+    beforeDestroy() {
+      if (this.timer) {
+        clearInterval(this.timer);
+      }
+    }
+  };
+</script>
diff --git a/src/components/Login.vue b/src/components/Login.vue
new file mode 100644
index 0000000..6a62431
--- /dev/null
+++ b/src/components/Login.vue
@@ -0,0 +1,171 @@
+<template>
+  <div class="login-wrapper">
+    <div class="video-wrapper">
+      <!--<video class="w-full h-full object-fill" muted autoplay="true" loop="loop" poster="/login/bg-video-poster.jpg">
+        <source src="/login/bg-video.mp4" type="video/mp4" />
+      </video>-->
+      <img src="/login/login-bg.jpg" alt="logo"/>
+    </div>
+    <div class="form-wrapper">
+      <img class="logo" src="/login/logo.png" alt="logo"/>
+      <div class="form">
+        <div class="content">
+          <el-form ref="loginForm" :inline="true" :model="formInline" size="medium" :rules="formInline.rules" @keyup.enter.native="doLogin">
+            <el-form-item prop="id">
+              <el-input class="el-formitem-cus id" v-model="formInline.id" placeholder="请输入您的账号"></el-input>
+            </el-form-item>
+            <el-form-item prop="pwd">
+              <el-input class="el-formitem-cus pwd" v-model="formInline.pwd" placeholder="请输入您的密码" :type="formInline.type">
+                <div slot="suffix" @click.stop="toggleInputType" class="hover:cursor-pointer">
+                  <img v-if="isPassword" src="/login/eye-closed.png" alt="密码" />
+                  <img v-else src="/login/eye.png" alt="文本" />
+                </div>
+              </el-input>
+            </el-form-item>
+            <el-form-item>
+              <el-button class="el-formitem-cus btn-login" type="primary" :loading="isAuthenticating" @click="doLogin">登录</el-button>
+            </el-form-item>
+            <el-form-item class="rember">
+              <el-checkbox v-model="formInline.rember">记住我</el-checkbox>
+            </el-form-item>
+          </el-form>
+        </div>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import { mapGetters } from "vuex";
+import { doAuthenticateLogin } from "../api/authenticate";
+export default {
+  name: "Login",
+  data() {
+    return {
+      formInline: {
+        id: "",
+        pwd: "",
+        type: "password",
+        rember: false,
+        rules: {
+          id: [{ required: true, message: "请输入账号", trigger: "change" }],
+          pwd: [{ required: true, message: "请输入密码", trigger: "change" }],
+        },
+      },
+    };
+  },
+  computed: {
+    ...mapGetters("common", ["isAuthenticating", "token"]),
+    isPassword() {
+      return this.formInline.type === "password";
+    },
+  },
+  methods: {
+    toggleInputType() {
+      if (this.formInline.type === "password") {
+        this.formInline.type = "text";
+      } else {
+        this.formInline.type = "password";
+      }
+    },
+    doLogin() {
+      this.$refs.loginForm.validate((valid) => {
+        if (valid) {
+          doAuthenticateLogin({ name: this.formInline.id, pwd: this.formInline.pwd }).then((loginResult) => {
+            if (loginResult?.code === 0) {
+              this.$router.replace("/home");
+            }
+          });
+        }
+      });
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.login-wrapper {
+  position: relative;
+  width: 100%;
+  height: 100vh;
+  overflow: hidden;
+  .video-wrapper {
+    position: absolute;
+    z-index: -1;
+    top: 0;
+    right: 0;
+    bottom: 0;
+    left: 0;
+    img{
+      width: 100%;
+      height: 100%;
+    }
+  }
+  .form-wrapper {
+    margin-top: 180px;
+    display: flex;
+    width: 100%;
+    height: 100%;
+    flex-direction: column;
+    align-items: center;
+    .logo {
+      margin: 0 auto;
+      width: 606px;
+      // height: auto;
+    }
+    .form {
+      position: relative;
+      z-index: 2;
+      margin-top: 70px;
+      width: 966px;
+      min-height: 186px;
+      background: url("/login/form-bg.png") center/cover no-repeat;
+      .content {
+        display: flex;
+        position: absolute;
+        z-index: 90;
+        top: 70px;
+        left: 40px;
+        @apply space-x-3;
+        @apply font-pingfang;
+        flex-wrap: wrap;
+        justify-content: center;
+        align-items: center;
+        ::v-deep .el-formitem-cus {
+          height: 50px;
+          border: none;
+          font-size: 16px;
+          &.id,
+          &.pwd {
+            width: 360px;
+            .el-input__inner {
+              height: 50px;
+              background-color: #5b6693;
+              border-radius: 6px;
+            }
+          }
+          .el-input__suffix {
+            &-inner {
+              display: flex;
+              height: 100%;
+              align-items: center;
+            }
+          }
+          &.btn-login {
+            width: 130px;
+            background-color: rgba(0, 140, 153, 1);
+          }
+        }
+        ::v-deep .rember {
+          margin: 0;
+          margin-top: -8px;
+          width: 100%;
+          .el-checkbox__label {
+            color: #d8d7da;
+          }
+        }
+      }
+    }
+  }
+}
+</style>
diff --git a/src/components/MenuList.vue b/src/components/MenuList.vue
new file mode 100644
index 0000000..c08b441
--- /dev/null
+++ b/src/components/MenuList.vue
@@ -0,0 +1,264 @@
+<template>
+  <div class="menuListWrapper inline-block rounded-tr-[34px] rounded-br-[34px] w-[13.5rem] h-[45rem]">
+    <router-link
+      v-for="item in localMenusFiltered"
+      :key="item.id"
+      :to="item.to"
+      class="relative z-[100] menuItem flex items-center pl-6 py-[9px] pr-5 my-3 cursor-pointer"
+      active-class="activated"
+      exact
+    >
+      <img class="w-8" :src="item.icon" :alt="item.label" />
+      <div class="ml-[12px] text-[18px] text-[#FFF] text-opacity-60 menuName">{{ item.label }}</div>
+    </router-link>
+    <div
+      v-for="item in thirdMenus"
+      :key="item.id"
+      class="relative z-[100] thirdMenuItem flex items-center pl-6 py-[9px] pr-5 my-3"
+      :class="{
+        'cursor-pointer': item.subMenus?.length > 0,
+        'cursor-not-allowed': !item.subMenus || item.subMenus.length === 0,
+        hovered: activatedThirdMenu2?.id === item.id,
+        activated: activatedThirdMenu?.id === item.id,
+      }"
+      @mouseenter="onThirdMenuEnter(item)"
+      @mouseleave="onThirdMenuLeave(item)"
+      >
+      <img class="w-8" :src="item.icon" :alt="item.label" />
+      <div class="ml-[12px] font-pingfang text-[18px] text-[#FFF] text-opacity-60 menuName">{{ item.label }}</div>
+      <div v-show="item.subMenus?.length && activatedThirdMenu2?.id === item.id" class="absolute top-6 left-full min-w-[260px] submenusWrapper">
+        <div
+          v-for="submenu in item.subMenus"
+          :key="submenu.id"
+          @click.stop="onThirdMenuClick(submenu, item)"
+          class="submenuItem"
+          :class="{ activated: activatedThirdSubmenu?.id === submenu.id }"
+        >
+          <a v-if="submenu.needInvokeLocalApp" :href="submenu.to" target="_blank">{{ submenu.label }}</a>
+          <span v-else>{{ submenu.label }}</span>
+        </div>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+  import CryptoJS from "crypto-js";
+  import { Message } from "element-ui";
+  import { mapGetters } from "vuex";
+
+  let workflowLoginURL;
+  let workflowWebURL;
+  let pid;
+  if (import.meta.env.PROD) {
+    //生产环境
+    const ProjectConfig = window.ProjectConfig;
+    workflowLoginURL = ProjectConfig.workflowLoginURL;
+    workflowWebURL = ProjectConfig.workflowWebURL;
+    pid = ProjectConfig.pid;
+  } else {
+    //非生产环境
+    workflowLoginURL = "http://workflow-newapi.probim.cn/api/User/Home/Login";
+    workflowWebURL = "http://workflow.probim.cn";
+    pid = "71f7a5df-a7e3-42f4-bcea-36d7d2924ddd";
+  }
+
+  export default {
+    name: "MenuList",
+    data() {
+      return {
+        activatedThirdMenu2: null,
+        PublicKey: "MK4ZJF10PRO19*#8",
+      };
+    },
+    computed: {
+      ...mapGetters("common", [
+        "localMenus",
+        "thirdMenus",
+        "activatedThirdSubmenu",
+        "activatedThirdMenu",
+        "currentProjectId",
+        "projectIdsWithoutMoldBase",
+        "projectIdPNMap",
+        "aiJumpThirdPage"
+      ]),
+      localMenusFiltered() {
+        if (this.projectIdsWithoutMoldBase.includes(this.currentProjectId)) {
+          return this.localMenus.filter((item) => item.id !== "mold-base");
+        } else {
+          return this.localMenus;
+        }
+      },
+    },
+    watch: {
+      aiJumpThirdPage: {
+        deep: true,
+        handler(n, o) {
+          if(n && n.self) {
+            this.onThirdMenuClick(n.self, n.parent)
+          }
+        },
+      },
+    },
+    methods: {
+      onThirdMenuClick(item, parentItem) {
+        if (item?.isLocal === true) {
+          if (this.$route.path === item.to) return;
+          item?.to &&
+            this.$router?.push(item.to).then(() => {
+              this.$store.commit("common/setActivatedThirdMenu", parentItem);
+              this.$store.commit("common/setActivatedThirdSubmenu", item);
+            });
+        } else {
+          if (item?.needInvokeLocalApp) {
+            return;
+          } else if (item?.needLocalHandle) {
+            const id = item.id;
+            if (id === "construction-1") {
+              //绿色建造九宫格管理系统
+              this.doVmsEnvmonitorLoginRedirect();
+            } else if (id === "construction-2") {
+              //协同
+              this.doSelfLoginRedirect(item);
+            } else if (id === "construction-3") {
+              const pn = this.projectIdPNMap[this.currentProjectId];
+              if (!/^\s*$/i.test(pn + "")) {
+                window.open(`http://xmglappjs.sh2j.com/web/public/index.php/fanganapi/index/index?pn=${pn}`);
+              }
+            }
+          } else {
+            item?.to && window.open(item.to);
+          }
+        }
+      },
+      onThirdMenuEnter(item) {
+        this.activatedThirdMenu2 = item;
+      },
+      // eslint-disable-next-line no-unused-vars
+      onThirdMenuLeave(item) {
+        this.activatedThirdMenu2 = null;
+      },
+
+      //登录绿色建造九宫格管理系统
+      async doVmsEnvmonitorLoginRedirect() {
+        window.open("http://127.0.0.1:9000/vms-envmonitor-webapp/");
+      },
+
+      //登录自己的协同平台
+      async doSelfLoginRedirect(item) {
+        const userInfo = {
+          UserName: "huangtj_0909@163.com",
+          Password: this.computepwdstr("htj123456" + this.PublicKey, CryptoJS),
+        };
+        // const userInfo = {
+        //   UserName: "admin",
+        //   Password: this.computepwdstr("admin" + this.PublicKey, CryptoJS),
+        // };
+        const postData = Object.keys(userInfo)
+          .map((key) => {
+            return `${key}=${encodeURIComponent(userInfo[key])}`;
+          })
+          .join("&");
+        const res = await this.$http({
+          method: "post",
+          url: workflowLoginURL,
+          data: postData,
+          withCredentials: false,
+          withProjectId: false,
+          withToken: false,
+          baseURL: "/",
+        });
+        if (res?.code === 0) {
+          const token = res.data?.token;
+          if (token) {
+            window.open(`${workflowWebURL}/#/Home/Boot/${token}/0/${pid}`);
+          } else {
+            Message.error({ message: `${item.label}登录失败,请稍后再试`, duration: 1000 * 3 });
+          }
+        } else {
+          Message.error({ message: `${item.label}登录失败,请稍后再试`, duration: 1000 * 3 });
+        }
+      },
+      computepwdstr(pwdorigin, _this_CryptoJS) {
+        const afterpwd = this.SymmetricEncryption(
+          {
+            input: pwdorigin,
+            key: this.PublicKey,
+          },
+          _this_CryptoJS,
+        );
+        return afterpwd;
+      },
+      SymmetricEncryption(json, CryptoJS) {
+        if (!json || !json.input || !json.key) {
+          console.warn("json, json.input and json.key are not allow null!");
+          return -1;
+        }
+        if (json.key.length === 0) {
+          console.warn("json.length should not be zero!");
+          return -1;
+        }
+        while (json.key.length < 16) {
+          json.key = json.key + json.key;
+        }
+        const KEY = json.key;
+        const IV = "*BIM19FF4KMY0R8*";
+        const key = CryptoJS.enc.Utf8.parse(KEY);
+        const iv = CryptoJS.enc.Utf8.parse(IV);
+        const srcs = CryptoJS.enc.Utf8.parse(json.input);
+        const encrypted = CryptoJS.AES.encrypt(srcs, key, {
+          iv: iv,
+          mode: CryptoJS.mode.CBC,
+          padding: CryptoJS.pad.Pkcs7,
+        });
+        return encrypted.ciphertext.toString();
+      },
+    },
+  };
+</script>
+
+<style lang="scss" scoped>
+  .menuListWrapper {
+    background: rgba(0,22,26,0.95);
+    border-radius: 0px 40px 40px 0px;
+  }
+  .menuItem:not(.activated):hover {
+    background: linear-gradient( 270deg, rgba(0,75,83,0) 0%, rgba(0,135,153,0.3) 100%);
+  }
+  .menuItem.activated {
+    background: linear-gradient( 270deg, rgba(0,75,83,0) 0%, #008C99 100%);
+    .menuName {
+      @apply text-opacity-100;
+    }
+  }
+
+  .thirdMenuItem:not(.activated).hovered {
+    background: linear-gradient( 270deg, rgba(0,75,83,0) 0%, rgba(0,135,153,0.3) 100%);
+  }
+  .thirdMenuItem.activated {
+    background: linear-gradient( 270deg, rgba(0,75,83,0) 0%, #008C99 100%);
+    .menuName {
+      @apply text-opacity-100;
+    }
+  }
+  .submenusWrapper {
+    .submenuItem {
+      @apply h-[60px] px-6 flex justify-start items-center font-pingfang text-base bg-[#00161af2] cursor-pointer;
+      &:first-of-type {
+        @apply rounded-tl-[12px] rounded-tr-[12px];
+        &:only-child {
+          @apply rounded-bl-[12px] rounded-br-[12px];
+        }
+      }
+      &:last-of-type:not(:first-of-type) {
+        @apply rounded-bl-[12px] rounded-br-[12px];
+      }
+      &:not(.activated):hover {
+        @apply bg-[hsla(228,67%,48%,1)];
+      }
+      &.activated {
+        @apply bg-[#485eb7];
+      }
+    }
+  }
+</style>
diff --git a/src/components/SizeAdapter.vue b/src/components/SizeAdapter.vue
new file mode 100644
index 0000000..f070971
--- /dev/null
+++ b/src/components/SizeAdapter.vue
@@ -0,0 +1,45 @@
+<template>
+  <div id="sizeAdapterWrapper">
+    <slot></slot>
+  </div>
+</template>
+
+<script>
+  export default {
+    name: "SizeAdapter",
+    props: {
+      originDeviceInfo: {
+        type: Object,
+        default: () => {
+          return {
+            width: window.innerWidth,
+            height: window.innerHeight,
+          };
+        },
+      },
+    },
+    created() {
+      window.addEventListener("resize", this.adapteSlot);
+    },
+    mounted() {
+      //   this.adapteSlot();
+    },
+    beforeDestroy() {
+      window.removeEventListener("resize", this.adapteSlot);
+    },
+    methods: {
+      adapteSlot() {
+        const nowWidth = window.innerWidth;
+        const nowHeight = window.innerHeight;
+
+        const { width, height } = this.originDeviceInfo;
+
+        const xScale = nowWidth / width;
+        const yScale = nowHeight / height;
+        this.$scopedSlots.default()[0].elm.style.transform = `scale3d(${xScale},${yScale},1)`;
+      },
+    },
+  };
+</script>
+
+<style lang="scss" scoped></style>
diff --git a/src/components/SwitchMap.vue b/src/components/SwitchMap.vue
new file mode 100644
index 0000000..57e9bca
--- /dev/null
+++ b/src/components/SwitchMap.vue
@@ -0,0 +1,46 @@
+<template>
+  <span class="inline-flex justify-center items-center rounded-md h-[42px] space-x-1 bg-[hsla(0,0%,0%,0.9)] font-pingfang-regular">
+    <span
+      v-for="item in maps"
+      :key="item.id"
+      class="map flex items-center px-[16px] h-full rounded-md hover:bg-[#334CAF] hover:cursor-pointer"
+      :class="{ activated: item.id === selected }"
+      @click="onItemClick(item)"
+    >
+      {{ item.label }}
+    </span>
+  </span>
+</template>
+
+<script>
+  export default {
+    name: "SwitchMap",
+    props: {
+      mapType: {
+        type: String,
+        default: "pic",
+      },
+    },
+    data() {
+      return {
+        selected: this.mapType,
+        maps: [
+          { id: "pic", label: "影像地图" },
+          { id: "gis", label: "GIS地图" },
+        ],
+      };
+    },
+    methods: {
+      onItemClick(item) {
+        if (item.id === this.selected) return;
+        this.selected = item.id;
+        this.$emit("changeMap", item);
+      },
+    },
+  };
+</script>
+<style>
+  .map.activated {
+    @apply bg-[#334CAF];
+  }
+</style>
diff --git a/src/components/TimeLine/TimeLine.vue b/src/components/TimeLine/TimeLine.vue
new file mode 100644
index 0000000..d5da441
--- /dev/null
+++ b/src/components/TimeLine/TimeLine.vue
@@ -0,0 +1,101 @@
+<template>
+  <ul class="w-full h-full">
+    <li v-for="(v, i) in items" :key="i" class="relative m-0 list-none">
+      <div class="py-2" :class="{ itemCenter: itemCenter }">
+        <div class="start">
+          <slot name="start" :item="v"></slot>
+        </div>
+        <!-- <template v-if="useDefaultHeadStyle"> -->
+        <div class="headFixedStyle" :class="{ defaultHead: !v[warningKey], warningHead: v[warningKey] }"></div>
+        <!-- </template> -->
+        <!-- <template v-else>
+          <div class="headFixedStyle">
+            <slot name="head" :item="v"></slot>
+          </div>
+        </template> -->
+        <div class="tail"></div>
+        <div class="end">
+          <slot name="end" :item="v"> </slot>
+        </div>
+      </div>
+    </li>
+  </ul>
+</template>
+
+<script>
+  export default {
+    name: "TimeLine",
+    props: {
+      items: {
+        type: Array,
+        default() {
+          return [];
+        },
+      },
+      itemCenter: {
+        type: Boolean,
+        default: true,
+      },
+      warningKey: {
+        type: String,
+        default: "isWarning",
+      },
+      // useDefaultHeadStyle: {
+      //   type: Boolean,
+      //   default: true,
+      // },
+    },
+  };
+</script>
+
+<style lang="scss" scoped>
+  $nodeSize: 1.5rem;
+  $lineSize: 1px;
+  $gap: 0.5rem;
+  $startWidth: 70px;
+  .itemCenter {
+    display: flex;
+    align-items: center;
+  }
+  .start {
+    position: absolute;
+    width: $startWidth;
+    word-break: break-all;
+  }
+  .defaultHead {
+    border-radius: 50%;
+    background: radial-gradient(circle calc($nodeSize / 3) at 50% 50%, #fff, #fff 50%, hsla(240, 5%, 40%, 0.2) calc(50% + 1px), hsla(240, 5%, 40%, 0.2) 100%)
+      no-repeat center/cover border-box;
+  }
+  .defaultHead {
+    border-radius: 50%;
+    background: radial-gradient(circle calc($nodeSize / 3) at 50% 50%, #fff, #fff 50%, hsla(240, 5%, 40%, 0.2) calc(50% + 1px), hsla(240, 5%, 40%, 0.2) 100%)
+      no-repeat center/cover border-box;
+  }
+  .warningHead {
+    border-radius: 50%;
+    background: radial-gradient(circle calc($nodeSize / 3) at 50% 50%, #ef424e, #ef424e 50%, #552331 calc(50% + 1px), #552331 100%) no-repeat center/cover
+      border-box;
+  }
+  .headFixedStyle {
+    position: absolute;
+    width: $nodeSize;
+    height: $nodeSize;
+    inset-inline-start: calc($startWidth + $gap);
+    text-align: center;
+    overflow: hidden;
+  }
+  .tail {
+    position: absolute;
+    height: 100%;
+    inset-inline-start: calc($startWidth + $gap + $nodeSize/2 - $lineSize/2);
+    border-inline-start: $lineSize solid hsla(0, 0%, 100%, 0.2);
+  }
+  .end {
+    position: relative;
+    inset-inline-start: calc($startWidth + $gap + $nodeSize + $gap);
+    width: calc(100% - ($startWidth + $gap + $nodeSize + $gap));
+    text-align: start;
+    word-break: break-all;
+  }
+</style>
diff --git a/src/components/TimeLine/TimeLineItem.vue b/src/components/TimeLine/TimeLineItem.vue
new file mode 100644
index 0000000..cc7dc48
--- /dev/null
+++ b/src/components/TimeLine/TimeLineItem.vue
@@ -0,0 +1,67 @@
+<template>
+  <li class="relative m-0 list-none">
+    <div class="start">
+      <slot name="start" :item="data"></slot>
+    </div>
+    <div class="head"></div>
+    <div class="tail"></div>
+    <div class="end">
+      <slot name="end" :item="data"></slot>
+    </div>
+  </li>
+</template>
+
+<script>
+  export default {
+    name: "TimeLineItem",
+    props: {
+      data: {
+        type: Object,
+        default() {
+          return {};
+        },
+      },
+    },
+  };
+</script>
+
+<style lang="scss" scoped>
+  $nodeSize: 1.5rem;
+  $lineSize: 1px;
+  $gap: 0.5rem;
+  .start {
+    position: absolute;
+    width: calc(50% - $nodeSize/2 - $gap);
+    width: 30px;
+    max-height: calc(100% - $nodeSize/2);
+    inset-inline-end: calc(50% + $gap + $nodeSize/2);
+    text-align: end;
+    word-break: break-all;
+    // overflow-y: auto;
+    // overflow-x: hidden;
+  }
+  .head {
+    position: absolute;
+    width: $nodeSize;
+    height: $nodeSize;
+    inset-inline-start: calc(50% - $nodeSize/2);
+    border-radius: 50%;
+    background: radial-gradient(circle calc($nodeSize / 3) at 50% 50%, #fff, #fff 50%, hsla(240, 5%, 40%, 0.2) calc(50% + 1px), hsla(240, 5%, 40%, 0.2) 100%)
+      no-repeat center/cover border-box;
+  }
+  .tail {
+    position: absolute;
+    height: calc(100% - $nodeSize);
+    inset-block-start: $nodeSize;
+    inset-inline-start: calc(50% - $lineSize/2);
+    border-inline-start: $lineSize solid hsla(0, 0%, 100%, 0.2);
+  }
+  .end {
+    position: relative;
+    // width: calc(50% - ($nodeSize/2) - $gap);
+    width: calc(100%);
+    inset-inline-start: calc(50% + ($nodeSize/2) + $gap);
+    text-align: start;
+    word-break: break-all;
+  }
+</style>
diff --git a/src/components/TransitionSize.vue b/src/components/TransitionSize.vue
new file mode 100644
index 0000000..5f76e7d
--- /dev/null
+++ b/src/components/TransitionSize.vue
@@ -0,0 +1,253 @@
+<template>
+  <transition
+    :name="name"
+    @before-appear="beforeAppear"
+    @appear="appear"
+    @after-appear="afterAppear"
+    @appear-cancelled="appearCancelled"
+    @before-enter="beforeEnter"
+    @enter="enter"
+    @after-enter="afterEnter"
+    @enter-cancelled="enterCancelled"
+    @before-leave="beforeLeave"
+    @leave="leave"
+    @after-leave="afterLeave"
+    @leave-cancelled="leaveCancelled"
+  >
+    <slot></slot>
+  </transition>
+</template>
+
+<script>
+  export default {
+    name: "CollapseTransition",
+    props: {
+      name: {
+        type: String,
+        required: false,
+        default: "collapse",
+      },
+      dimension: {
+        type: String,
+        required: false,
+        default: "height",
+        validator: (value) => {
+          return ["height", "width"].includes(value);
+        },
+      },
+      duration: {
+        type: Number,
+        required: false,
+        default: 300,
+      },
+      easing: {
+        type: String,
+        required: false,
+        default: "ease-in-out",
+      },
+    },
+    data() {
+      return {
+        cachedStyles: null,
+      };
+    },
+    computed: {
+      transition() {
+        let transitions = [];
+        Object.keys(this.cachedStyles).forEach((key) => {
+          transitions.push(`${this.convertToCssProperty(key)} ${this.duration}ms ${this.easing}`);
+        });
+        return transitions.join(", ");
+      },
+    },
+    watch: {
+      dimension() {
+        this.clearCachedDimensions();
+      },
+    },
+    methods: {
+      beforeAppear(el) {
+        // Emit the event to the parent
+        this.$emit("before-appear", el);
+      },
+      appear(el) {
+        // Emit the event to the parent
+        this.$emit("appear", el);
+      },
+      afterAppear(el) {
+        // Emit the event to the parent
+        this.$emit("after-appear", el);
+      },
+      appearCancelled(el) {
+        // Emit the event to the parent
+        this.$emit("appear-cancelled", el);
+      },
+      beforeEnter(el) {
+        // Emit the event to the parent
+        this.$emit("before-enter", el);
+      },
+      enter(el, done) {
+        // Because width and height may be 'auto',
+        // first detect and cache the dimensions
+        this.detectAndCacheDimensions(el);
+        // The order of applying styles is important:
+        // - 1. Set styles for state before transition
+        // - 2. Force repaint
+        // - 3. Add transition style
+        // - 4. Set styles for state after transition
+        // If the order is not right and you open any 2nd level submenu
+        // for the first time, the transition will not work.
+        this.setClosedDimensions(el);
+        this.hideOverflow(el);
+        this.forceRepaint(el);
+        this.setTransition(el);
+        this.setOpenedDimensions(el);
+        // Emit the event to the parent
+        this.$emit("enter", el, done);
+        // Call done() when the transition ends
+        // to trigger the @after-enter event.
+        setTimeout(done, this.duration);
+      },
+      afterEnter(el) {
+        // Clean up inline styles
+        this.unsetOverflow(el);
+        this.unsetTransition(el);
+        this.unsetDimensions(el);
+        this.clearCachedDimensions();
+        // Emit the event to the parent
+        this.$emit("after-enter", el);
+      },
+      enterCancelled(el) {
+        // Emit the event to the parent
+        this.$emit("enter-cancelled", el);
+      },
+      beforeLeave(el) {
+        // Emit the event to the parent
+        this.$emit("before-leave", el);
+      },
+      leave(el, done) {
+        // For some reason, @leave triggered when starting
+        // from open state on page load. So for safety,
+        // check if the dimensions have been cached.
+        this.detectAndCacheDimensions(el);
+        // The order of applying styles is less important
+        // than in the enter phase, as long as we repaint
+        // before setting the closed dimensions.
+        // But it is probably best to use the same
+        // order as the enter phase.
+        this.setOpenedDimensions(el);
+        this.hideOverflow(el);
+        this.forceRepaint(el);
+        this.setTransition(el);
+        this.setClosedDimensions(el);
+        // Emit the event to the parent
+        this.$emit("leave", el, done);
+        // Call done() when the transition ends
+        // to trigger the @after-leave event.
+        // This will also cause v-show
+        // to reapply 'display: none'.
+        setTimeout(done, this.duration);
+      },
+      afterLeave(el) {
+        // Clean up inline styles
+        this.unsetOverflow(el);
+        this.unsetTransition(el);
+        this.unsetDimensions(el);
+        this.clearCachedDimensions();
+        // Emit the event to the parent
+        this.$emit("after-leave", el);
+      },
+      leaveCancelled(el) {
+        // Emit the event to the parent
+        this.$emit("leave-cancelled", el);
+      },
+      detectAndCacheDimensions(el) {
+        // Cache actual dimensions
+        // only once to void invalid values when
+        // triggering during a transition
+        if (this.cachedStyles) return;
+        const visibility = el.style.visibility;
+        const display = el.style.display;
+        // Trick to get the width and
+        // height of a hidden element
+        el.style.visibility = "hidden";
+        el.style.display = "";
+        this.cachedStyles = this.detectRelevantDimensions(el);
+        // Restore any original styling
+        el.style.visibility = visibility;
+        el.style.display = display;
+      },
+      clearCachedDimensions() {
+        this.cachedStyles = null;
+      },
+      detectRelevantDimensions(el) {
+        // These properties will be transitioned
+        if (this.dimension === "height") {
+          return {
+            height: el.offsetHeight + "px",
+            paddingTop: el.style.paddingTop || this.getCssValue(el, "padding-top"),
+            paddingBottom: el.style.paddingBottom || this.getCssValue(el, "padding-bottom"),
+          };
+        }
+        if (this.dimension === "width") {
+          return {
+            width: el.offsetWidth + "px",
+            paddingLeft: el.style.paddingLeft || this.getCssValue(el, "padding-left"),
+            paddingRight: el.style.paddingRight || this.getCssValue(el, "padding-right"),
+          };
+        }
+        return {};
+      },
+      setTransition(el) {
+        el.style.transition = this.transition;
+      },
+      unsetTransition(el) {
+        el.style.transition = "";
+      },
+      hideOverflow(el) {
+        el.style.overflow = "hidden";
+      },
+      unsetOverflow(el) {
+        el.style.overflow = "";
+      },
+      setClosedDimensions(el) {
+        Object.keys(this.cachedStyles).forEach((key) => {
+          el.style[key] = "0";
+        });
+      },
+      setOpenedDimensions(el) {
+        Object.keys(this.cachedStyles).forEach((key) => {
+          el.style[key] = this.cachedStyles[key];
+        });
+      },
+      unsetDimensions(el) {
+        Object.keys(this.cachedStyles).forEach((key) => {
+          el.style[key] = "";
+        });
+      },
+      forceRepaint(el) {
+        // Force repaint to make sure the animation is triggered correctly.
+        // Thanks: https://markus.oberlehner.net/blog/transition-to-height-auto-with-vue/
+        getComputedStyle(el)[this.dimension];
+      },
+      getCssValue(el, style) {
+        return getComputedStyle(el, null).getPropertyValue(style);
+      },
+      convertToCssProperty(style) {
+        // Example: convert 'paddingTop' to 'padding-top'
+        // Thanks: https://gist.github.com/tan-yuki/3450323
+        const upperChars = style.match(/([A-Z])/g);
+        if (!upperChars) {
+          return style;
+        }
+        for (let i = 0, n = upperChars.length; i < n; i++) {
+          style = style.replace(new RegExp(upperChars[i]), "-" + upperChars[i].toLowerCase());
+        }
+        if (style.slice(0, 1) === "-") {
+          style = style.slice(1);
+        }
+        return style;
+      },
+    },
+  };
+</script>
diff --git a/src/components/V2Echarts.vue b/src/components/V2Echarts.vue
new file mode 100644
index 0000000..037b6e5
--- /dev/null
+++ b/src/components/V2Echarts.vue
@@ -0,0 +1,176 @@
+<template>
+  <div
+    :id="idName"
+    :style="`margin-top:${top}px`"
+    class="echarts w-full h-full"
+  >
+  </div>
+</template>
+
+<script>
+import * as echarts from 'echarts'
+export default {
+  name: 'V2Echarts',
+  props: {
+    options: {
+      type: Object,
+      default: () => {},
+      require: true
+    },
+    // 传入id名称
+    idName: {
+      type: String,
+      default: () => {
+        return ''
+      },
+      require: true
+    },
+    width: {
+      type: String,
+      default: () => {
+        return '410'
+      }
+    },
+    height: {
+      type: String,
+      default: () => {
+        return '290'
+      }
+    },
+    top: {
+      type: String,
+      default: () => {
+        return '0'
+      }
+    }
+  },
+  data () {
+    return {
+      myChart: null,
+      resizeObserver: null,
+    }
+  },
+
+  watch: {
+    options: {
+      handler (newVal) {
+        this.setChartEvents(newVal)
+      },
+      deep: true,
+      immediate: true
+    }
+  },
+  created() {
+    this.$nextTick(this.initTheChart)
+  },
+  methods: {
+    // 初始化图表
+    initTheChart() {
+      this.myChart = echarts.init(document.getElementById(this.idName))
+      this.myChart.setOption(this.options, true)
+      
+      // 鼠标移入图表时,不为第一条时就取消第一条的高亮效果
+      this.myChart.on('mouseover', v => {
+        if (v.dataIndex !== 0) {
+          this.myChart.dispatchAction({
+            type: 'downplay',
+            seriesIndex: 0,
+            dataIndex: 0
+          })
+        }
+        if (this.idName === 'jinzhanqushi' || this.idName === 'dailogjinzhanqushi') {
+          this.myChart.setOption({
+            tooltip: {
+              // 鼠标在折线上,系列内横向比对,显示系列名称
+              formatter: function(p) {
+                const ynames = ['年度计划完成', '预计年度完成', '预计年度TBM', '预计年度钻爆']
+                if (ynames.indexOf(p[v.seriesIndex].seriesName) !== -1) {
+                  return p[v.seriesIndex].marker +
+                  ' ' + p[v.seriesIndex].seriesName + ':' + p[v.seriesIndex].value + 'm'
+                } else {
+                  let dataStr = ''
+                  const valMap = {};
+                  p.forEach(element => {
+                      const seriesName = element.seriesName; // 图例名称
+                      const value = element.value; // y轴值
+
+                      // 过滤无效值
+                      if (value === '-') {
+                          return
+                      }
+                      // 过滤重叠值
+                      if (valMap[seriesName] === value) {
+                          return
+                      }
+                      if (ynames.indexOf(seriesName) === -1) {
+                        dataStr += `<span style="display:inline-block;margin-right:5px;width:10px;height:10px;background-color:${element.color};"></span>`
+                        dataStr += `${element.seriesName}: <span style="font-size:16px;font-weight:600;">${element.data ? element.data : 0}m</span> <br>`
+                        valMap[seriesName] = value;
+                      }
+                  });
+                  return dataStr
+                }
+              }
+            }
+          })
+        }
+      })
+      // 鼠标图表时默认显示第一条
+      this.myChart.on('mouseout', v => {
+        this.myChart.dispatchAction({
+          type: 'highlight',
+          seriesIndex: 0,
+          dataIndex: 0
+        })
+      })
+      // this.myChart.on('click', function (param) {
+      //   console.log('param', param)
+      // })
+      // 监听窗口变化 - 只刷新最后一个图表
+      window.onresize = () => {
+        this.myChart.resize()
+      }
+      // 监听窗口变化 - 多个图表同时刷新
+      window.addEventListener('resize', () => {
+        this.myChart.resize()
+      })
+    },
+    // 设置图表的事件
+    setChartEvents (options) {
+      // console.log(options, this.idName)
+      if (!this.myChart) return
+      this.myChart.setOption(options, true)
+      // 刷新时默认显示第一条
+      this.myChart.dispatchAction({
+        type: 'highlight',
+        seriesIndex: 0,
+        dataIndex: 0
+      })
+    },
+    setResize() {
+      this.$nextTick(() => {
+        // 使echarts尺寸重置
+        if (this.myChart) {
+          this.myChart.resize()
+        }
+      })
+    }
+  },
+  mounted() {
+    // 当屏幕改变,图表重新动态改变并渲染
+    const self = this;
+    const viewElem = document.body;
+    // 调用实例对象的observe方法,监听整个body节点的变化,当改变窗口大小或者某个DOM节点出现或隐藏时时,就会触发回调
+    this.resizeObserver = new ResizeObserver(() => {
+      if (!self.myChart) return
+      self.myChart.resize();
+    });
+    this.resizeObserver.observe(viewElem);
+  },
+  beforeDestroy() {
+    if (this.resizeObserver) {
+      this.resizeObserver.unobserve(document.body)
+    }
+  }
+}
+</script>
diff --git a/src/components/VideoPlayer.vue b/src/components/VideoPlayer.vue
new file mode 100644
index 0000000..5bcf447
--- /dev/null
+++ b/src/components/VideoPlayer.vue
@@ -0,0 +1,91 @@
+<template>
+  <video ref="videoPlayer" class="video-js vjs-big-play-centered" v-bind="$attrs"></video>
+</template>
+
+<script>
+  import videojs from "video.js";
+  import "video.js/dist/video-js.min.css";
+  import { merge } from "lodash-es";
+
+  export default {
+    name: "VideoPlayer",
+    inheritAttrs: false,
+    props: {
+      options: {
+        type: Object,
+        default() {
+          return {};
+        },
+      },
+    },
+    data() {
+      return {
+        player: null,
+        defaultOptions: {
+          autoplay: "play", // false true muted play any
+          controls: true,
+          loop: false,
+          muted: true,
+          preload: "auto", // auto metadata none
+
+          fluid: false,
+          language: "zh-CN",
+          notSupportedMessage: "此视频暂无法播放,请稍后再试",
+          controlBar: {
+            remainingTimeDisplay: true,
+            currentTimeDisplay: true,
+            timeDivider: true,
+            durationDisplay: true,
+            progressControl: true,
+            customControlSpacer: true,
+            fullscreenToggle: true,
+            volumePanel: {
+              inline: false,
+            },
+          },
+          liveTracker: { trackingThreshold: 5, liveTolerance: 5 },
+        },
+      };
+    },
+    computed: {
+      finalOptions() {
+        return merge({}, this.defaultOptions, this.options);
+      },
+    },
+    mounted() {
+      this.init();
+    },
+    beforeDestroy() {
+      this.player?.dispose();
+      this.$emit("dispose");
+    },
+    methods: {
+      init() {
+        const that = this;
+        videojs(this.$refs.videoPlayer, this.finalOptions, function () {
+          that.player = this;
+          that.$emit("ready", this);
+        });
+      },
+    },
+  };
+</script>
+
+<style lang="scss" scoped>
+  ::v-deep .vjs-control-bar {
+    background-color: rgba(0, 0, 0, 0.6);
+  }
+
+  ::v-deep .vjs-slider-horizontal {
+    .vjs-volume-level::before {
+      top: -4px;
+    }
+    .vjs-play-progress::before {
+      top: -5px;
+    }
+  }
+
+  ::v-deep .vjs-slider-vertical .vjs-volume-level:before {
+    left: -4px;
+  }
+</style>
diff --git a/src/components/Warning.vue b/src/components/Warning.vue
new file mode 100644
index 0000000..f8f0a6b
--- /dev/null
+++ b/src/components/Warning.vue
@@ -0,0 +1,20 @@
+<template>
+  <div class="warning-bg">
+    <slot></slot>
+  </div>
+</template>
+
+<script>
+  export default {
+    name: "Warning",
+  };
+</script>
+
+<style>
+  .warning-bg {
+    @apply h-10;
+    background: url("../assets/images/warning-bg.png") no-repeat left center / cover,
+      linear-gradient(to right, hsla(0, 0%, 0%, 0.1), hsla(0, 0%, 0%, 0.3)) no-repeat left center / cover hsla(0, 0%, 0%, 0.6);
+    height: 32px;
+  }
+</style>
diff --git a/src/main.js b/src/main.js
new file mode 100644
index 0000000..4988e8e
--- /dev/null
+++ b/src/main.js
@@ -0,0 +1,29 @@
+import Vue from "vue";
+
+//todo:更改为按需引入
+import ElementUI from "element-ui";
+import "element-ui/lib/theme-chalk/index.css";
+Vue.use(ElementUI);
+
+import { http } from "./utils/http.js";
+Vue.prototype.$http = http;
+
+import store from "./store/index";
+import router from "./router";
+import App from "./App.vue";
+
+import "@css/DIN_font.css";
+import "@css/tail-wind/index.css";
+import "@css/element-ui-override.scss";
+import "@css/self-global.scss";
+
+
+Vue.config.productionTip = false;
+
+new Vue({
+  store,
+  router,
+  render: (h) => {
+    return h(App);
+  },
+}).$mount("#app");
diff --git a/src/mixins/index.js b/src/mixins/index.js
new file mode 100644
index 0000000..e8fe035
--- /dev/null
+++ b/src/mixins/index.js
@@ -0,0 +1,22 @@
+/*
+ * @Author: gjj Ganjj@probim.com.cn
+ * @Date: 2025-02-14 14:32:18
+ * @LastEditors: gjj Ganjj@probim.com.cn
+ * @LastEditTime: 2025-02-18 16:21:27
+ * @FilePath: \北京交通大学\src\mixins\index.js
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
+ */
+import { mapGetters } from "vuex";
+export const mixinGetters = {
+    computed: {
+        ...mapGetters("common", []),
+    },
+    methods: {
+        getImageUrl(path) {
+            return new URL(path,
+                import.meta.url).href;
+        },
+    },
+};
+export { default as conversationMix }
+from './conversationMix'
\ No newline at end of file
diff --git a/src/router/index.js b/src/router/index.js
new file mode 100644
index 0000000..a5ef209
--- /dev/null
+++ b/src/router/index.js
@@ -0,0 +1,45 @@
+/*
+ * @Author: gjj Ganjj@probim.com.cn
+ * @Date: 2025-02-14 14:32:19
+ * @LastEditors: gjj Ganjj@probim.com.cn
+ * @LastEditTime: 2025-02-18 15:25:13
+ * @FilePath: \北京交通大学\src\router\index.js
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
+ */
+import Vue from "vue";
+import VueRouter from "vue-router";
+
+import NProgress from "nprogress";
+import "nprogress/nprogress.css";
+
+
+
+// 注册路由插件
+Vue.use(VueRouter);
+
+const routes = [{
+        path: "/",
+        redirect: "/home",
+    },
+    {
+        path: "/home",
+        component: () =>
+            import ("../views/Home.vue")
+    },
+];
+
+const router = new VueRouter({
+    routes,
+    mode: "hash",
+});
+
+router.beforeEach((to, from, next) => {
+    NProgress.start();
+    next();
+});
+
+router.afterEach((to) => {
+    NProgress.done();
+});
+
+export default router;
\ No newline at end of file
diff --git a/src/sceneJSON.js b/src/sceneJSON.js
new file mode 100644
index 0000000..0d1f8ef
--- /dev/null
+++ b/src/sceneJSON.js
@@ -0,0 +1,2 @@
+export const sceneJSON = 
+'{"id":"","name":"","modifiedTime":"2024-08-29 15:43:24","version":"1.3","config":"{\\"envmapIndex\\":14,\\"envmapIntensity\\":0.4,\\"envAngle\\":60,\\"fpsFirst\\":false,\\"highlightColor\\":41209,\\"highlight\\":true,\\"ssao\\":true,\\"highQuality\\":false,\\"cullingRatio\\":0,\\"fogRange\\":[20,20],\\"fogIntensity\\":0,\\"shadow\\":false,\\"shadowFar\\":200,\\"lightX\\":-1,\\"lightY\\":-1,\\"lightZ\\":-1,\\"lightIntensity\\":0.75,\\"maxDistance\\":0,\\"mapboxToken\\":\\"qqwwee\\",\\"shadowBias\\":-0.000004}","features":["{\\"id\\":\\"underlay\\",\\"name\\":\\"空白球体\\",\\"type\\":\\"underlay\\",\\"lib\\":\\"1\\",\\"version\\":\\"\\",\\"url\\":\\"https://app.probim.cn/scenemanager//ref/style/blank.json\\",\\"phase\\":\\"\\",\\"origin\\":[0,0],\\"rotation\\":0,\\"altitude\\":0,\\"offset\\":[0,0,0],\\"scale\\":[1,1,1],\\"bpt\\":{\\"elements\\":[1,0,0,0,0,0.9999999998476913,0.000017453292519057202,0,0,-0.000017453292519057202,0.9999999998476913,0,0,0,0,1]},\\"visible\\":true,\\"AABB\\":{\\"isBox3\\":true,\\"min\\":{\\"x\\":null,\\"y\\":null,\\"z\\":null},\\"max\\":{\\"x\\":null,\\"y\\":null,\\"z\\":null},\\"_id\\":\\"2e2ec760-f585-c89e-ed53-a7f652513f49\\"},\\"dataKey\\":\\"e5501695-3091-0bea-1ccc-1cbc56f4dcb9\\",\\"followType\\":\\"feature\\",\\"config\\":\\"{\\\\\\"skybox\\\\\\":\\\\\\"noon\\\\\\"}\\",\\"dynamicLoad\\":true,\\"priority\\":0,\\"always\\":false,\\"immediate\\":true,\\"materials\\":[]}","{\\"id\\":\\"bfddecc4-6167-b5cb-467a-98fed380b2e3\\",\\"name\\":\\"WMTS服务1\\",\\"type\\":\\"wmts\\",\\"lib\\":\\"1\\",\\"version\\":\\"\\",\\"url\\":\\"https://t7.tianditu.gov.cn/img_w/wmts?tk=1e1e425c920f09544d68abc6d3817d04&SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&FORMAT=tiles\\",\\"phase\\":\\"\\",\\"origin\\":[0,0],\\"rotation\\":0,\\"altitude\\":0,\\"offset\\":[0,0,0],\\"scale\\":[1,1,1],\\"bpt\\":{\\"elements\\":[1,0,0,0,0,0.9999999998476913,0.000017453292519057202,0,0,-0.000017453292519057202,0.9999999998476913,0,0,0,0,1]},\\"visible\\":true,\\"AABB\\":{\\"isBox3\\":true,\\"min\\":{\\"x\\":null,\\"y\\":null,\\"z\\":null},\\"max\\":{\\"x\\":null,\\"y\\":null,\\"z\\":null},\\"_id\\":\\"57538fb7-4b10-8076-d0eb-c13a3feca460\\"},\\"dataKey\\":\\"837848da-f832-4b53-acd4-4f194a2d5b1e\\",\\"followType\\":\\"feature\\",\\"config\\":\\"{\\\\\\"skybox\\\\\\":\\\\\\"noon\\\\\\"}\\",\\"dynamicLoad\\":true,\\"priority\\":0,\\"always\\":false,\\"immediate\\":true,\\"materials\\":[]}","{\\"id\\":\\"f687a975-5bd9-a403-6484-e2f418826862\\",\\"name\\":\\"新闸\\",\\"type\\":\\"model\\",\\"lib\\":\\"0\\",\\"version\\":\\"\\",\\"url\\":null,\\"phase\\":\\"DefaultPhase\\",\\"origin\\":[119.90260831711623,31.827473378552156],\\"rotation\\":[0,0,0],\\"altitude\\":0,\\"offset\\":[-241.11057275906205,-293.2394152218476,1.7955735561783366e-14],\\"scale\\":[1,1,1],\\"bpt\\":{\\"elements\\":[1.176940613392704,0,0,0,0,1.1769406132134457,0.000020541488803101475,0,0,-0.000020541488803101475,1.1769406132134457,0,13332339.041458853,1.9500641577063412e-26,-3736211.246584299,1]},\\"visible\\":true,\\"AABB\\":{\\"isBox3\\":true,\\"min\\":{\\"x\\":0.000030517578125,\\"y\\":-1.8686627184255267e-21,\\"z\\":-601.8034057617188},\\"max\\":{\\"x\\":761.9501953125,\\"y\\":74.78964233398442,\\"z\\":0.00003051757812957955},\\"_id\\":\\"cf21d89d-e5b5-36c6-54e7-07406abca142\\"},\\"dataKey\\":\\"ed4d29c9-b869-e975-2724-101578a928c8\\",\\"followType\\":\\"feature\\",\\"config\\":\\"{\\\\\\"skybox\\\\\\":\\\\\\"noon\\\\\\"}\\",\\"dynamicLoad\\":true,\\"priority\\":0,\\"always\\":false,\\"immediate\\":true,\\"materials\\":[{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^D81A2F92F01D1040\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16777215,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^85970412D7185703\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^5EE349E88CE5865A\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":0.10000002384185791,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":5329743,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^E62DEF52FC092AC9\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":33023,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^52FA4786D4A119AF\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16547197,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^ED01C3C336EA80F1\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16744448,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^8D997C2F5980A36B\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":14054434,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^AEC20C5D28F59780\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":13057855,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^8DF151103E33A521\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^6610B07BFEFCCE13\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":10855437,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^14716A0BCDA9E170\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8592153,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^8AB0018257A53CE2\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":10947338,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^D7B56A186ADA0A5D\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":10591898,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^B7ABE79D0138F023\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":819613,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^4592AAF8119D3977\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":15132390,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^7890BBA158DE57FB\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":10790050,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^29575D86DDE83098\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":9214881,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^1A5B26E8A1063C4E\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":815501,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^D119BE571C70F53E\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":2197793,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^CA130647CC78AEBA\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":13369344,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^71C53BDA98CE170D\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":14477532,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^2C2A496CA6BBFF13\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":2565927,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^B80125371F67A986\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":328965,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^D95421A17DB73BC9\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":0.48000001907348633,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":4622045,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^D048C9B8DA0DB528\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":12434361,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^654CA06CFDF5289A\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":13586176,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^B5D3E50A8D18AB6E\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":9278095,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^E123CBDEF59059CE\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16250871,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^79F430B2CBF5823B\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":15921906,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^38A98D5DB92AF8C7\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8355711,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^6E28F12254156111\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":12632256,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^5187C22473824681\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":14867498,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^CB4A9A0A6367ED2A\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":10853258,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^D4543C7C3BAEA683\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":15133164,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^1F0596B044E4BE85\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":0,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^841471E9F3378BB4\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16776960,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^E27903C4F8756E07\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":1381653,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^87ABF33F4BB1AF4A\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16119285,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^C18E45BC1E5F0CAE\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7631724,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^FC81D800187D630E\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":891473,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^2E6CBE96B8BF028A\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":2840809,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^198D83F04A2A36BB\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":255,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^92E73F81B2D0A8C7\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":5288898,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^22F5BFB61D796628\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":32512,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^4FF7E03F0D4AD6CC\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":0.25,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":255,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^65D7CDDBF36EF4BA\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":0.19999998807907104,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8355711,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^548FC51FFD2D8572\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":65280,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^C03D5A072FEF71FB\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":13355979,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^15B2D083D78D1BBC\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":11513748,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^B073F9C3E4FD7CBA\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":3785435,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^C791C0DD5A93A1E4\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^0E84E1A6D54885E9\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7632236,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^48444795BEA520FD\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":1513471,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^3BEEECEB3372239B\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":14277068,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^86C8CB497A1998DA\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":2631750,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^7EACF5F30DA72DB9\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":0.699999988079071,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16119285,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^FF2A9B9632C1559E\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":4900351,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^75314D1F676F6B7B\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":0.30000001192092896,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":9221610,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^D73EA68337E7114C\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":6579310,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^FA96E42575BED707\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8405056,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^6ABE4198ECB8DBFB\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16711680,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^27D3FCC5063FAA3E\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":11316396,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^F3BF5B638390B6B9\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":18303,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^6D9622CFEBF52E8E\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":1184274,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^A51FFC62ED7EDA27\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":1339463,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^C92740ED4D40E339\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":11314082,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^C66BBAB92B4E4604\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":10969439,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^D8B7EEFA759A1453\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16225308,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^92BEDB9CADE80520\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":9601654,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^08DDEA3FEAF7BE87\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":5526353,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^7119A034FCDE58CB\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":1007285,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^3E11B912B5C75E85\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":5658198,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^A72F95B9EF6517D4\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":12895428,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^5F0B112779DF95C2\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":10526880,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^239F413F588B85B7\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":1602812,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^849DE34EA4110355\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16185078,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^7DCE659C9B351155\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":5308673,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^A4BF2009F409739B\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":14865581,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^38157C3BE4E88A28\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":3089701,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^2571C7833CFA0CAB\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":15921919,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^162C3932316C0191\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8556446,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^F31C0642D9567BE1\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7009239,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^353572C4715D9AB0\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":9539985,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^9BA265DCD88EB62D\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8275968,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^13C7EA441A4DD08D\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":1582584,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^95010136E77993D4\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":15855582,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^871CD988591A6644\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":5263440,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^C1E7E32D18C4B34F\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":12951926,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^AF5ECC0D6B87A765\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":5400497,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^6CA0E9A625FB4672\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":6126768,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^CF10FE079662AE0B\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":6389166,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^F6C2EB603F8779AE\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":6710886,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^C1AF737C876921CB\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":11228995,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^17BF247A1022F69F\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16762766,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^EDBC03C5C8823A39\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16757606,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^1563546319BCF852\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":5264728,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^9DEF0DEE1E23ECBD\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8421504,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^6804EA363474D20C\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":1644825,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^ED9081801F254C7A\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16645629,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^F174E2795AC548F6\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":52736,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^0FEB1ECF20F7BB6B\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":15466496,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^994000BF54CA9923\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":5923430,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^73CC441BE7E1E3C9\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":6730751,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^B8040B4247C69AFF\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":3419176,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^6FD50FA633213D65\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":13938795,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^77766EB3C7F0D92A\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":4429039,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^95ACA1DCB6DC3661\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8278590,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^B187CE833DB0B6E0\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16222,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^5C41870E23BFE88F\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":5269169,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^03273155CAA3DD68\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":13421772,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^20398ABEDEA7F9F1\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":49151,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^5CBC2C2E6B487C43\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":32960,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^489B65D19F1C9B1F\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":13806700,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^68284746F4FA59E7\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":3165590,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^9895FD7D7F00FCA4\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":3296917,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^39FB9861BE0037F3\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":9338213,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^04CC71DA800B002A\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7902098,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^31E791FAD1B5C2A6\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":10461329,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^5DF714E055809E6D\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16757760,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^FF9C56DA57D62974\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":4473924,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^B95DECABE4B2E1C3\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8388608,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^54F5E06AF84F94A7\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":0.01,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7128025,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^1408A395E7AC0B35\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":9524247,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^35AE951F0B6D7062\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7910761,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^AF3B304D1CB724E8\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":10590351,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^35E9197E0C4EF5DF\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":6376254,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^AAB55F57B4013A98\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^FB8C5422CE261ABB\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":9474189,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^6A11245E68559A75\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":9540631,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^3ECFC04B1F048D55\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":6383731,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^E841BB89C12B374A\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":5462370,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^98E434375738AC7C\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":6785982,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^2797A039118B4490\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":15921894,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^071B43F50F81032F\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":3034694,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^3EFE7EC5CC7228E2\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":2955539,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^FC76D80D6D53889C\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":10060923,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^B9EEE9FE0753EB42\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8421568,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^774528D54053BADD\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8454016,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^FE210A488D3B185A\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8421631,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^2A96E00E6665B982\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":12563117,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^3A892A6F9DFB4735\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16744576,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^F5148E191CCB2A1E\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8454143,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^360761F51BEC8316\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":1795427,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^CD63CF11FEE94E51\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8405799,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^6B4CEDEF62BCF1DA\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":13681585,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^E6DD88A3714CEE61\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":11310467,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^AF29B923CBE1C8B8\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7122513,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^85FE11013D0386D9\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16777088,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^A6BDBF786D3815F8\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16732240,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^2AA72A2F6DB29350\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":11260873,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^6A2794655182CFFA\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":0.1499999761581421,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":14345184,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^B52D8EC6D7EC3A86\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":6449996,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^C5E25139E4360983\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":4147021,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^D45E6C9F456EDB04\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8673341,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^C9AB20258B98901A\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16744640,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^7A0621CA20CAC430\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":0.7999999970197678,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8421568,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^892763180A66BFE4\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":12497868,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^59185EB1E038D84E\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":15667434,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^69A1A81ACEF3BE6C\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16748335,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^2F8022B11A0E74A0\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^D81A2F92F01D1040\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16777215,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^85970412D7185703\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^5EE349E88CE5865A\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":0.10000002384185791,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":5329743,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^E62DEF52FC092AC9\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":33023,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^52FA4786D4A119AF\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16547197,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^ED01C3C336EA80F1\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16744448,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^8D997C2F5980A36B\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":14054434,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^AEC20C5D28F59780\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":13057855,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^8DF151103E33A521\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^6610B07BFEFCCE13\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":10855437,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^14716A0BCDA9E170\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8592153,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^8AB0018257A53CE2\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":10947338,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^D7B56A186ADA0A5D\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":10591898,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^B7ABE79D0138F023\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":819613,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^4592AAF8119D3977\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":15132390,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^7890BBA158DE57FB\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":10790050,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^29575D86DDE83098\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":9214881,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^1A5B26E8A1063C4E\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":815501,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^D119BE571C70F53E\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":2197793,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^CA130647CC78AEBA\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":13369344,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^71C53BDA98CE170D\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":14477532,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^2C2A496CA6BBFF13\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":2565927,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^B80125371F67A986\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":328965,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^D95421A17DB73BC9\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":0.48000001907348633,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":4622045,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^D048C9B8DA0DB528\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":12434361,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^654CA06CFDF5289A\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":13586176,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^B5D3E50A8D18AB6E\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":9278095,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^E123CBDEF59059CE\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16250871,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^79F430B2CBF5823B\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":15921906,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^38A98D5DB92AF8C7\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8355711,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^6E28F12254156111\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":12632256,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^5187C22473824681\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":14867498,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^CB4A9A0A6367ED2A\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":10853258,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^D4543C7C3BAEA683\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":15133164,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^1F0596B044E4BE85\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":0,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^841471E9F3378BB4\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16776960,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^E27903C4F8756E07\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":1381653,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^87ABF33F4BB1AF4A\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16119285,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^C18E45BC1E5F0CAE\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7631724,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^FC81D800187D630E\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":891473,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^2E6CBE96B8BF028A\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":2840809,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^198D83F04A2A36BB\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":255,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^92E73F81B2D0A8C7\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":5288898,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^22F5BFB61D796628\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":32512,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^4FF7E03F0D4AD6CC\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":0.25,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":255,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^65D7CDDBF36EF4BA\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":0.19999998807907104,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8355711,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^548FC51FFD2D8572\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":65280,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^C03D5A072FEF71FB\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":13355979,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^15B2D083D78D1BBC\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":11513748,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^B073F9C3E4FD7CBA\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":3785435,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^C791C0DD5A93A1E4\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^0E84E1A6D54885E9\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7632236,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^48444795BEA520FD\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":1513471,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^3BEEECEB3372239B\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":14277068,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^86C8CB497A1998DA\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":2631750,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^7EACF5F30DA72DB9\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":0.699999988079071,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16119285,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^FF2A9B9632C1559E\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":4900351,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^75314D1F676F6B7B\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":0.30000001192092896,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":9221610,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^D73EA68337E7114C\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":6579310,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^FA96E42575BED707\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8405056,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^6ABE4198ECB8DBFB\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16711680,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^27D3FCC5063FAA3E\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":11316396,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^F3BF5B638390B6B9\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":18303,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^6D9622CFEBF52E8E\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":1184274,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^A51FFC62ED7EDA27\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":1339463,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^C92740ED4D40E339\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":11314082,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^C66BBAB92B4E4604\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":10969439,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^D8B7EEFA759A1453\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16225308,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^92BEDB9CADE80520\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":9601654,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^08DDEA3FEAF7BE87\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":5526353,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^7119A034FCDE58CB\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":1007285,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^3E11B912B5C75E85\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":5658198,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^A72F95B9EF6517D4\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":12895428,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^5F0B112779DF95C2\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":10526880,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^239F413F588B85B7\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":1602812,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^849DE34EA4110355\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16185078,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^7DCE659C9B351155\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":5308673,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^A4BF2009F409739B\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":14865581,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^38157C3BE4E88A28\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":3089701,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^2571C7833CFA0CAB\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":15921919,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^162C3932316C0191\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8556446,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^F31C0642D9567BE1\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7009239,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^353572C4715D9AB0\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":9539985,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^9BA265DCD88EB62D\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8275968,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^13C7EA441A4DD08D\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":1582584,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^95010136E77993D4\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":15855582,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^871CD988591A6644\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":5263440,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^C1E7E32D18C4B34F\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":12951926,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^AF5ECC0D6B87A765\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":5400497,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^6CA0E9A625FB4672\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":6126768,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^CF10FE079662AE0B\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":6389166,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^F6C2EB603F8779AE\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":6710886,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^C1AF737C876921CB\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":11228995,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^17BF247A1022F69F\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16762766,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^EDBC03C5C8823A39\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16757606,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^1563546319BCF852\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":5264728,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^9DEF0DEE1E23ECBD\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8421504,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^6804EA363474D20C\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":1644825,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^ED9081801F254C7A\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16645629,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^F174E2795AC548F6\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":52736,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^0FEB1ECF20F7BB6B\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":15466496,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^994000BF54CA9923\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":5923430,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^73CC441BE7E1E3C9\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":6730751,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^B8040B4247C69AFF\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":3419176,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^6FD50FA633213D65\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":13938795,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^77766EB3C7F0D92A\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":4429039,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^95ACA1DCB6DC3661\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8278590,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^B187CE833DB0B6E0\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16222,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^5C41870E23BFE88F\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":5269169,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^03273155CAA3DD68\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":13421772,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^20398ABEDEA7F9F1\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":49151,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^5CBC2C2E6B487C43\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":32960,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^489B65D19F1C9B1F\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":13806700,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^68284746F4FA59E7\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":3165590,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^9895FD7D7F00FCA4\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":3296917,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^39FB9861BE0037F3\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":9338213,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^04CC71DA800B002A\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7902098,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^31E791FAD1B5C2A6\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":10461329,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^5DF714E055809E6D\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16757760,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^FF9C56DA57D62974\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":4473924,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^B95DECABE4B2E1C3\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8388608,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^54F5E06AF84F94A7\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":0.01,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7128025,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^1408A395E7AC0B35\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":9524247,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^35AE951F0B6D7062\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7910761,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^AF3B304D1CB724E8\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":10590351,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^35E9197E0C4EF5DF\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":6376254,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^AAB55F57B4013A98\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^FB8C5422CE261ABB\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":9474189,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^6A11245E68559A75\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":9540631,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^3ECFC04B1F048D55\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":6383731,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^E841BB89C12B374A\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":5462370,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^98E434375738AC7C\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":6785982,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^2797A039118B4490\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":15921894,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^071B43F50F81032F\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":3034694,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^3EFE7EC5CC7228E2\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":2955539,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^FC76D80D6D53889C\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":10060923,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^B9EEE9FE0753EB42\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8421568,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^774528D54053BADD\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8454016,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^FE210A488D3B185A\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8421631,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^2A96E00E6665B982\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":12563117,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^3A892A6F9DFB4735\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16744576,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^F5148E191CCB2A1E\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8454143,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^360761F51BEC8316\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":1795427,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^CD63CF11FEE94E51\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8405799,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^6B4CEDEF62BCF1DA\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":13681585,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^E6DD88A3714CEE61\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":11310467,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^AF29B923CBE1C8B8\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7122513,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^85FE11013D0386D9\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16777088,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^A6BDBF786D3815F8\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16732240,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^2AA72A2F6DB29350\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":11260873,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^6A2794655182CFFA\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":0.1499999761581421,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":14345184,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^B52D8EC6D7EC3A86\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":6449996,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^C5E25139E4360983\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":4147021,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^D45E6C9F456EDB04\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8673341,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^C9AB20258B98901A\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16744640,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^7A0621CA20CAC430\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":0.7999999970197678,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8421568,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^892763180A66BFE4\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":12497868,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^59185EB1E038D84E\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":15667434,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^69A1A81ACEF3BE6C\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16748335,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"f687a975-5bd9-a403-6484-e2f418826862^2F8022B11A0E74A0\\"}],\\"server\\":\\"https://app-multiverse.probim.cn\\",\\"vaultID\\":\\"13127881-36dd-4af4-b96c-bb261dde7bb2\\",\\"modelID\\":\\"f70b5b81-31e3-4f6c-a334-cbfe0c70909a\\",\\"activeViews\\":[\\"{\\\\\\"id\\\\\\":\\\\\\"Default\\\\\\",\\\\\\"name\\\\\\":\\\\\\"{ 三维 }\\\\\\",\\\\\\"type\\\\\\":\\\\\\"3D\\\\\\",\\\\\\"default\\\\\\":true}\\"],\\"part\\":false,\\"texture\\":true,\\"cacheVersion\\":0}","{\\"id\\":\\"9fafef36-ee75-19ef-0619-25e41b857568\\",\\"name\\":\\"飞龙二小\\",\\"type\\":\\"model\\",\\"lib\\":\\"0\\",\\"version\\":\\"\\",\\"url\\":null,\\"phase\\":\\"DefaultPhase\\",\\"origin\\":[119.92343340675626,31.815238831026093],\\"rotation\\":[0,0,24.48361326359418],\\"altitude\\":0,\\"offset\\":[-23.268060324713588,-169.62839399510995,1.0386743487549342e-14],\\"scale\\":[1,1,1],\\"bpt\\":{\\"elements\\":[1.0709789648570414,0.000008512029475097851,-0.4877033639627791,0,-2.802300313941357e-17,1.176796717380481,0.000020538977347048848,0,0.48770336403706055,-0.000018692109155407023,1.0709789646939218,0,13334872.53148468,1.8467233791223886e-26,-3734733.789521135,1]},\\"visible\\":true,\\"AABB\\":{\\"isBox3\\":true,\\"min\\":{\\"x\\":0.00002956390380859375,\\"y\\":9.343313592127634e-22,\\"z\\":-368.0233154296875},\\"max\\":{\\"x\\":447.7242736816406,\\"y\\":46.989639282226584,\\"z\\":-0.000015258789059622714},\\"_id\\":\\"707555bf-c3e3-8e13-a0f1-a56573e770f1\\"},\\"dataKey\\":\\"8d906c55-5106-2bd6-ab6e-7d5a3463c453\\",\\"followType\\":\\"feature\\",\\"config\\":\\"{\\\\\\"skybox\\\\\\":\\\\\\"noon\\\\\\"}\\",\\"dynamicLoad\\":true,\\"priority\\":0,\\"always\\":false,\\"immediate\\":true,\\"materials\\":[{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8421504,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^6804EA363474D20C\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16777215,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^85970412D7185703\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":9524247,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^35AE951F0B6D7062\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":94742,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^345535803A2531C4\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^BFDF7E1521F921F3\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^5EE349E88CE5865A\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^85A695E4B04D033F\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":33023,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^52FA4786D4A119AF\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":12632256,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^5187C22473824681\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":15133164,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^1F0596B044E4BE85\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8355711,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^6E28F12254156111\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":5263440,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^C1E7E32D18C4B34F\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^3EBDD4907D4FFC35\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16250871,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^2CA14FA2D236A7D1\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16744448,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^8D997C2F5980A36B\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":14054434,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^AEC20C5D28F59780\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16547197,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^ED01C3C336EA80F1\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":13057855,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^8DF151103E33A521\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16250871,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^79F430B2CBF5823B\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":10947338,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^D7B56A186ADA0A5D\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":815501,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^D119BE571C70F53E\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^6610B07BFEFCCE13\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":10591898,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^B7ABE79D0138F023\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":819613,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^4592AAF8119D3977\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":15132390,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^7890BBA158DE57FB\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":10790050,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^29575D86DDE83098\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8592153,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^8AB0018257A53CE2\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":9214881,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^1A5B26E8A1063C4E\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":10855437,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^14716A0BCDA9E170\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":14867498,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^CB4A9A0A6367ED2A\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":1381653,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^87ABF33F4BB1AF4A\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16776960,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^E27903C4F8756E07\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16379976,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^9508B68FA3CA43A5\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":3223857,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^388B500F9AF39DBC\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":255,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^92E73F81B2D0A8C7\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":5288898,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^22F5BFB61D796628\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":0,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^841471E9F3378BB4\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":32512,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^4FF7E03F0D4AD6CC\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":0.25,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":255,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^65D7CDDBF36EF4BA\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":0.1499999761581421,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":15528175,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^F4333A4676AAA503\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":65280,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^C03D5A072FEF71FB\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":13355979,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^15B2D083D78D1BBC\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":14277068,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^86C8CB497A1998DA\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":1513471,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^3BEEECEB3372239B\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16711680,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^27D3FCC5063FAA3E\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":1582584,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^95010136E77993D4\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":15855582,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^871CD988591A6644\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":4900351,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^75314D1F676F6B7B\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16119285,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^C18E45BC1E5F0CAE\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":0.30000001192092896,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":9221610,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^D73EA68337E7114C\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7632236,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^48444795BEA520FD\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^0E84E1A6D54885E9\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":1184274,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^A51FFC62ED7EDA27\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8405056,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^6ABE4198ECB8DBFB\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":11316396,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^F3BF5B638390B6B9\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":12895428,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^5F0B112779DF95C2\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":10526880,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^239F413F588B85B7\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":1602812,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^849DE34EA4110355\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16185078,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^7DCE659C9B351155\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":5308673,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^A4BF2009F409739B\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":14865581,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^38157C3BE4E88A28\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":3089701,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^2571C7833CFA0CAB\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":15921919,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^162C3932316C0191\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8556446,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^F31C0642D9567BE1\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":0.699999988079071,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16119285,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^FF2A9B9632C1559E\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":2631750,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^7EACF5F30DA72DB9\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":5658198,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^A72F95B9EF6517D4\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":1007285,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^3E11B912B5C75E85\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":4227200,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^59EC7CFABC70D480\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":3785435,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^C791C0DD5A93A1E4\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^A059685633098DBE\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^711AA6A3D95293A2\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16182986,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^B5A89992B998BCFF\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":4741217,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^393051331DCA77E0\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":949698,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^258D943C638DE382\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":0.2799999713897705,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":15528175,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^AC88942361CBDD4F\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7009239,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^353572C4715D9AB0\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":9539985,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^9BA265DCD88EB62D\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8275968,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^13C7EA441A4DD08D\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":12434361,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^9C640EC05C40DC4A\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":15461355,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^6348493CCC95A4A9\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":5876991,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^7311ACF8F6E26312\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":2500134,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^2992DBB2CD0A5BC7\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":12434361,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^654CA06CFDF5289A\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":6974058,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^8D7856FE83DE6186\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8603718,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^F531B7AF7FF6272D\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":15776380,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^587FE5317A301DCC\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":15644951,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^F40B4256E9CB016F\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":6381921,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^1484F41C06177A0A\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":11579568,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^CDB18C93133E662F\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":15263976,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^69BC47E5585C0D5E\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":2631720,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^142C12987526F554\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":986895,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^C989962B4C06469A\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":6908265,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^DB7B2F2FE6CD53A8\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^1F0C7DFC8C94AD37\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":10066578,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^16BE52042A490771\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7828858,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^F2DB9930D4743CE7\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^95FDA8C329A0EFEE\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":5066314,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^E463DC86ACFDC4F7\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":11228995,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^17BF247A1022F69F\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^D4260F865D6281A1\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^C180AB1AE975B37F\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^AE31AFBE9793BB7E\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":10247979,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^17AFCE13EE90D185\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^4364EB75AE6CDC6A\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^82B23CED4C7CFFE3\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^E152DCE5575CC276\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":9737364,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^5E944D3F8B9C521E\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^79249AE253340BCE\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^7DDEEDD855E3EC5F\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^1563143DE8F700DD\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":6859992,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^136B7BD40FE19B2F\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":15987699,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^5A33389B3F2B7EBF\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^6A190C9120CC0191\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":12434361,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^611127A65DFA2791\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":2105376,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^1BCCE2A6FC499CDD\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":14737371,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^6620FD28B9513372\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16514043,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^8F5D92548203F52F\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":11674403,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^26F50314B59CD03D\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8847360,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^3B09A6DC104A336E\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":5923430,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^73CC441BE7E1E3C9\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":52736,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^0FEB1ECF20F7BB6B\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":15466496,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^994000BF54CA9923\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":5264728,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^9DEF0DEE1E23ECBD\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":1644825,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^ED9081801F254C7A\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16757606,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^1563546319BCF852\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16645629,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^F174E2795AC548F6\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":6389166,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^F6C2EB603F8779AE\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":2840809,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^198D83F04A2A36BB\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":6710886,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^C1AF737C876921CB\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16762766,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^EDBC03C5C8823A39\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":5400497,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^6CA0E9A625FB4672\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":6126768,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^CF10FE079662AE0B\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":12951926,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^AF5ECC0D6B87A765\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":3419176,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^6FD50FA633213D65\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":13938795,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^77766EB3C7F0D92A\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":13806700,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^68284746F4FA59E7\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":49151,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^5CBC2C2E6B487C43\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":32960,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^489B65D19F1C9B1F\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":13421772,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^20398ABEDEA7F9F1\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":5269169,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^03273155CAA3DD68\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8388608,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^54F5E06AF84F94A7\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":0.01,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7128025,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^1408A395E7AC0B35\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":4473924,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^B95DECABE4B2E1C3\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":0.5099999904632568,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16777215,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^36DD56EABC39D462\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^EDF27A24CEE1F343\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":4429039,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^95ACA1DCB6DC3661\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^A792FB57DA084074\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":9540631,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^3ECFC04B1F048D55\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":9474189,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^6A11245E68559A75\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":6383731,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^E841BB89C12B374A\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":5462370,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^98E434375738AC7C\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8488054,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^4A38A92BDE054812\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7040100,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^E49AEF06B1BD267B\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":12563117,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^3A892A6F9DFB4735\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":12893616,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^C25D75255A8FFAF1\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16579832,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^1BF4097EDC4337D3\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8421504,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^842F47C49356C440\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":4144959,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^DA805FABD8A83ADD\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":3947580,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^8197F85E5CA5FF6B\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":9742008,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^17828FE32BAA9602\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8421504,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^6804EA363474D20C\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16777215,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^85970412D7185703\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":9524247,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^35AE951F0B6D7062\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":94742,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^345535803A2531C4\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^BFDF7E1521F921F3\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^5EE349E88CE5865A\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^85A695E4B04D033F\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":33023,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^52FA4786D4A119AF\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":12632256,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^5187C22473824681\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":15133164,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^1F0596B044E4BE85\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8355711,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^6E28F12254156111\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":5263440,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^C1E7E32D18C4B34F\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^3EBDD4907D4FFC35\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16250871,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^2CA14FA2D236A7D1\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16744448,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^8D997C2F5980A36B\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":14054434,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^AEC20C5D28F59780\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16547197,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^ED01C3C336EA80F1\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":13057855,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^8DF151103E33A521\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16250871,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^79F430B2CBF5823B\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":10947338,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^D7B56A186ADA0A5D\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":815501,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^D119BE571C70F53E\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^6610B07BFEFCCE13\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":10591898,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^B7ABE79D0138F023\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":819613,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^4592AAF8119D3977\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":15132390,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^7890BBA158DE57FB\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":10790050,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^29575D86DDE83098\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8592153,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^8AB0018257A53CE2\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":9214881,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^1A5B26E8A1063C4E\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":10855437,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^14716A0BCDA9E170\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":14867498,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^CB4A9A0A6367ED2A\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":1381653,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^87ABF33F4BB1AF4A\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16776960,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^E27903C4F8756E07\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16379976,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^9508B68FA3CA43A5\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":3223857,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^388B500F9AF39DBC\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":255,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^92E73F81B2D0A8C7\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":5288898,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^22F5BFB61D796628\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":0,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^841471E9F3378BB4\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":32512,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^4FF7E03F0D4AD6CC\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":0.25,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":255,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^65D7CDDBF36EF4BA\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":0.1499999761581421,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":15528175,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^F4333A4676AAA503\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":65280,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^C03D5A072FEF71FB\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":13355979,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^15B2D083D78D1BBC\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":14277068,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^86C8CB497A1998DA\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":1513471,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^3BEEECEB3372239B\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16711680,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^27D3FCC5063FAA3E\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":1582584,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^95010136E77993D4\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":15855582,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^871CD988591A6644\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":4900351,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^75314D1F676F6B7B\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16119285,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^C18E45BC1E5F0CAE\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":0.30000001192092896,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":9221610,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^D73EA68337E7114C\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7632236,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^48444795BEA520FD\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^0E84E1A6D54885E9\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":1184274,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^A51FFC62ED7EDA27\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8405056,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^6ABE4198ECB8DBFB\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":11316396,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^F3BF5B638390B6B9\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":12895428,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^5F0B112779DF95C2\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":10526880,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^239F413F588B85B7\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":1602812,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^849DE34EA4110355\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16185078,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^7DCE659C9B351155\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":5308673,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^A4BF2009F409739B\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":14865581,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^38157C3BE4E88A28\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":3089701,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^2571C7833CFA0CAB\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":15921919,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^162C3932316C0191\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8556446,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^F31C0642D9567BE1\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":0.699999988079071,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16119285,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^FF2A9B9632C1559E\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":2631750,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^7EACF5F30DA72DB9\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":5658198,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^A72F95B9EF6517D4\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":1007285,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^3E11B912B5C75E85\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":4227200,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^59EC7CFABC70D480\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":3785435,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^C791C0DD5A93A1E4\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^A059685633098DBE\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^711AA6A3D95293A2\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16182986,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^B5A89992B998BCFF\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":4741217,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^393051331DCA77E0\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":949698,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^258D943C638DE382\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":0.2799999713897705,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":15528175,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^AC88942361CBDD4F\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7009239,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^353572C4715D9AB0\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":9539985,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^9BA265DCD88EB62D\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8275968,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^13C7EA441A4DD08D\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":12434361,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^9C640EC05C40DC4A\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":15461355,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^6348493CCC95A4A9\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":5876991,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^7311ACF8F6E26312\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":2500134,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^2992DBB2CD0A5BC7\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":12434361,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^654CA06CFDF5289A\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":6974058,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^8D7856FE83DE6186\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8603718,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^F531B7AF7FF6272D\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":15776380,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^587FE5317A301DCC\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":15644951,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^F40B4256E9CB016F\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":6381921,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^1484F41C06177A0A\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":11579568,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^CDB18C93133E662F\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":15263976,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^69BC47E5585C0D5E\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":2631720,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^142C12987526F554\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":986895,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^C989962B4C06469A\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":6908265,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^DB7B2F2FE6CD53A8\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^1F0C7DFC8C94AD37\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":10066578,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^16BE52042A490771\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7828858,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^F2DB9930D4743CE7\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^95FDA8C329A0EFEE\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":5066314,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^E463DC86ACFDC4F7\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":11228995,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^17BF247A1022F69F\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^D4260F865D6281A1\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^C180AB1AE975B37F\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^AE31AFBE9793BB7E\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":10247979,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^17AFCE13EE90D185\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^4364EB75AE6CDC6A\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^82B23CED4C7CFFE3\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^E152DCE5575CC276\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":9737364,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^5E944D3F8B9C521E\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^79249AE253340BCE\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^7DDEEDD855E3EC5F\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^1563143DE8F700DD\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":6859992,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^136B7BD40FE19B2F\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":15987699,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^5A33389B3F2B7EBF\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^6A190C9120CC0191\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":12434361,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^611127A65DFA2791\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":2105376,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^1BCCE2A6FC499CDD\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":14737371,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^6620FD28B9513372\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16514043,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^8F5D92548203F52F\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":11674403,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^26F50314B59CD03D\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8847360,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^3B09A6DC104A336E\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":5923430,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^73CC441BE7E1E3C9\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":52736,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^0FEB1ECF20F7BB6B\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":15466496,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^994000BF54CA9923\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":5264728,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^9DEF0DEE1E23ECBD\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":1644825,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^ED9081801F254C7A\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16757606,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^1563546319BCF852\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16645629,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^F174E2795AC548F6\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":6389166,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^F6C2EB603F8779AE\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":2840809,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^198D83F04A2A36BB\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":6710886,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^C1AF737C876921CB\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16762766,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^EDBC03C5C8823A39\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":5400497,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^6CA0E9A625FB4672\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":6126768,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^CF10FE079662AE0B\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":12951926,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^AF5ECC0D6B87A765\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":3419176,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^6FD50FA633213D65\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":13938795,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^77766EB3C7F0D92A\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":13806700,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^68284746F4FA59E7\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":49151,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^5CBC2C2E6B487C43\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":32960,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^489B65D19F1C9B1F\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":13421772,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^20398ABEDEA7F9F1\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":5269169,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^03273155CAA3DD68\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8388608,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^54F5E06AF84F94A7\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":0.01,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7128025,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^1408A395E7AC0B35\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":4473924,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^B95DECABE4B2E1C3\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":0.5099999904632568,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16777215,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^36DD56EABC39D462\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^EDF27A24CEE1F343\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":4429039,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^95ACA1DCB6DC3661\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^A792FB57DA084074\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":9540631,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^3ECFC04B1F048D55\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":9474189,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^6A11245E68559A75\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":6383731,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^E841BB89C12B374A\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":5462370,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^98E434375738AC7C\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8488054,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^4A38A92BDE054812\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7040100,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^E49AEF06B1BD267B\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":12563117,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^3A892A6F9DFB4735\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":12893616,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^C25D75255A8FFAF1\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16579832,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^1BF4097EDC4337D3\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8421504,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^842F47C49356C440\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":4144959,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^DA805FABD8A83ADD\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":3947580,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^8197F85E5CA5FF6B\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":9742008,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"9fafef36-ee75-19ef-0619-25e41b857568^17828FE32BAA9602\\"}],\\"server\\":\\"https://app-multiverse.probim.cn\\",\\"vaultID\\":\\"13127881-36dd-4af4-b96c-bb261dde7bb2\\",\\"modelID\\":\\"dca8ea41-760a-4f84-9f91-ed5ca48aed5d\\",\\"activeViews\\":[\\"{\\\\\\"id\\\\\\":\\\\\\"Default\\\\\\",\\\\\\"name\\\\\\":\\\\\\"{ 三维 }\\\\\\",\\\\\\"type\\\\\\":\\\\\\"3D\\\\\\",\\\\\\"default\\\\\\":true}\\"],\\"part\\":false,\\"texture\\":true,\\"cacheVersion\\":0}","{\\"id\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5\\",\\"name\\":\\"锦程科创园项目\\",\\"type\\":\\"model\\",\\"lib\\":\\"0\\",\\"version\\":\\"\\",\\"url\\":null,\\"phase\\":\\"DefaultPhase\\",\\"origin\\":[119.95200948393409,31.829179222578617],\\"rotation\\":[0,0,180],\\"altitude\\":0,\\"offset\\":[230.61210049502552,376.3752259532921,-2.3046335787106798e-14],\\"scale\\":[1,1,1],\\"bpt\\":{\\"elements\\":[-1.1770276040904253,2.264238665273327e-16,-1.4414035696571976e-16,0,2.2642135076903244e-16,1.1770276039111538,0.00002054300707719524,0,1.4414430878574173e-16,0.00002054300707719524,-1.1770276039111538,0,13338303.930840047,-3.748667021610248e-27,-3737104.112524872,1]},\\"visible\\":true,\\"AABB\\":{\\"isBox3\\":true,\\"min\\":{\\"x\\":0,\\"y\\":1.8686627184255267e-21,\\"z\\":-385.6127624511719},\\"max\\":{\\"x\\":369.62847900390625,\\"y\\":99.23963928222659,\\"z\\":-0.000030517578118923325},\\"_id\\":\\"7967a25f-6545-0e9a-05cc-ac2b909568de\\"},\\"dataKey\\":\\"6e01da40-b1d1-c406-9e43-d98e6509f37d\\",\\"followType\\":\\"feature\\",\\"config\\":\\"{\\\\\\"skybox\\\\\\":\\\\\\"noon\\\\\\"}\\",\\"dynamicLoad\\":true,\\"priority\\":0,\\"always\\":false,\\"immediate\\":true,\\"materials\\":[{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":5066314,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^E463DC86ACFDC4F7\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":13748167,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^2A4ACD4DA9348C25\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":12632256,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^5187C22473824681\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":14867498,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^CB4A9A0A6367ED2A\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":5982789,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^AD5B41BD513164F8\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":12988942,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^AA8630D41D6F5431\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8860694,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^603026BAB6B187FB\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8860438,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^BA75D1A3EFC5282A\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":4222936,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^7197980C308DE4C3\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16777215,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^85970412D7185703\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":4737095,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^FDBFD0447E21031D\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":11187133,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^35C1F850BD5F96E1\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":2777583,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^86FD849AC65D144B\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":255,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^92E73F81B2D0A8C7\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":13057855,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^8DF151103E33A521\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16711680,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^27D3FCC5063FAA3E\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":10448958,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^F7849FE9BE723C90\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":12434361,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^9C640EC05C40DC4A\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":12895428,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^5F0B112779DF95C2\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":5995714,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^0A72A6DFA3317FC0\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":0.1499999761581421,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":13558496,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^C875710149A8FE8E\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":10526880,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^239F413F588B85B7\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":10263708,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^B1247B040F193E17\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7947092,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^3228D5EF191CD1BF\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":5263440,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^C1E7E32D18C4B34F\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":14054434,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^AEC20C5D28F59780\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":4473924,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^B95DECABE4B2E1C3\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8388608,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^54F5E06AF84F94A7\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":0.01,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7128025,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^1408A395E7AC0B35\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":9524247,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^35AE951F0B6D7062\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":32960,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^489B65D19F1C9B1F\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":15133164,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^1F0596B044E4BE85\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^5EE349E88CE5865A\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":15001828,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^94B1B4C66A1F4173\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":14737371,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^6620FD28B9513372\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":14671839,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^68705FF78DC8225D\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8405056,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^6ABE4198ECB8DBFB\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16776960,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^E27903C4F8756E07\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":11316396,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^F3BF5B638390B6B9\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":0.1499999761581421,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":10930372,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^07B05C7425ED04E4\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":3436428,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^3C120A0511323609\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":10066578,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^16BE52042A490771\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":0.19999998807907104,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8355711,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^548FC51FFD2D8572\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":0.699999988079071,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16119285,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^FF2A9B9632C1559E\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":3419176,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^6FD50FA633213D65\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8275968,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^13C7EA441A4DD08D\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":1184274,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^A51FFC62ED7EDA27\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":0,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^841471E9F3378BB4\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":14277068,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^86C8CB497A1998DA\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":1513471,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^3BEEECEB3372239B\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16250871,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^79F430B2CBF5823B\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":3785435,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^C791C0DD5A93A1E4\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":11513748,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^B073F9C3E4FD7CBA\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16773632,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^985693350ACAD588\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8157198,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^C02E80FCCA00A421\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16762766,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^EDBC03C5C8823A39\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":12434361,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^654CA06CFDF5289A\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":949698,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^258D943C638DE382\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^022BF55C5E3CDEBD\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":5923174,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^80E2FD799B2C04D8\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":15921906,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^38A98D5DB92AF8C7\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":12248057,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^3E4B0D3553BE3313\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16514043,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^8F5D92548203F52F\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16777088,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^A6BDBF786D3815F8\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^711AA6A3D95293A2\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":41961,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^62B08F5FA90C821D\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":33023,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^52FA4786D4A119AF\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":10658466,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^A2D8968D21FA88CE\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":18046,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^79E0462D34BE95EB\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":12434361,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^BC8725673140D292\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16119285,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^C18E45BC1E5F0CAE\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":673942,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^745BFEB7FE672089\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7632236,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^618E503DCB62710C\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":12289807,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^EF6644790A529C61\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":1582584,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^95010136E77993D4\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":15855582,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^871CD988591A6644\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7009239,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^353572C4715D9AB0\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":9539985,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^9BA265DCD88EB62D\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7895160,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^E01C409F0E80EC2E\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":10066329,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^C1235CA6F0A06324\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":13369344,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^71C53BDA98CE170D\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":4539717,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^D020816CF184E511\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":15921894,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^071B43F50F81032F\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":15859712,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^7D03DC28E6732991\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":6974058,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^8D7856FE83DE6186\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":15776380,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^587FE5317A301DCC\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8603718,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^F531B7AF7FF6272D\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7910761,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^AF3B304D1CB724E8\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8488072,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^8CABA55EB7FE3933\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":14408448,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^97719E7EFFBB4AD8\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16297769,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^C6091791F6B6600B\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":3034694,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^3EFE7EC5CC7228E2\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":3618615,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^4FB23D90D6372A65\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8816017,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^E66A787237AC029D\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":6124608,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^DE04AFA15AAA0F30\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8421504,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^6804EA363474D20C\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8454016,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^FE210A488D3B185A\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":1795427,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^CD63CF11FEE94E51\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8421631,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^2A96E00E6665B982\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":65535,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^10BA29E088D46D55\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8421440,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^1F136E2A9B2F3254\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16744448,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^8D997C2F5980A36B\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":8355711,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^6E28F12254156111\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":12632256,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^37EACF4F495250A7\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16754253,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^D0EC207D31D00CCF\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":10060923,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^B9EEE9FE0753EB42\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7631724,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^FC81D800187D630E\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":12563117,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^3A892A6F9DFB4735\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16711808,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^174158D226918238\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":7566444,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^6AFC12DE2414C3D9\\"},{\\"metal\\":false,\\"clearCoat\\":0.05,\\"clearCoatRoughness\\":0.05,\\"sheen\\":0,\\"sheenRoughness\\":1,\\"specularIntensity\\":1,\\"opacity\\":1,\\"lights\\":true,\\"polygonOffsetFactor\\":0,\\"dashed\\":false,\\"linewidth\\":1,\\"dashScale\\":1,\\"dashSize\\":1,\\"gapSize\\":1,\\"maps\\":[],\\"color\\":16758271,\\"metalness\\":0.5,\\"roughness\\":0.5,\\"reflectivity\\":1,\\"emissiveColor\\":0,\\"emissive\\":0,\\"type\\":\\"3D\\",\\"matID\\":\\"555928ac-70b2-66c0-7695-0e28ab74b4d5^483D711D08CEE256\\"}],\\"server\\":\\"https://app-multiverse.probim.cn\\",\\"vaultID\\":\\"13127881-36dd-4af4-b96c-bb261dde7bb2\\",\\"modelID\\":\\"c7775edb-5c5c-4e4f-86f0-733566fc63ae\\",\\"activeViews\\":[\\"{\\\\\\"id\\\\\\":\\\\\\"Default\\\\\\",\\\\\\"name\\\\\\":\\\\\\"{ 三维 }\\\\\\",\\\\\\"type\\\\\\":\\\\\\"3D\\\\\\",\\\\\\"default\\\\\\":true}\\"],\\"part\\":false,\\"texture\\":true}","{\\"id\\":\\"41f3c7dc-abc7-963e-1e21-f0d1a34fe8ca\\",\\"name\\":\\"3D Tiles1\\",\\"type\\":\\"_3dTiles\\",\\"lib\\":\\"0\\",\\"version\\":\\"\\",\\"url\\":\\"https://bimcomposer.probim.cn:8070/wumeng/aobili/JCKJY/tileset.json\\",\\"phase\\":\\"\\",\\"origin\\":[119.95152080954345,31.829451597417023],\\"rotation\\":[0,0,0],\\"altitude\\":40.786508311617204,\\"offset\\":[0,0,0],\\"scale\\":[1,1,1],\\"bpt\\":{\\"elements\\":[1.1769944047081096,0,0,0,0,1.176994404528843,0.000020542427638664234,0,0,-0.000020542427638664234,1.176994404528843,0,13338018.980551478,48.00549207035427,-3736763.384572206,1]},\\"visible\\":true,\\"AABB\\":{\\"isBox3\\":true,\\"min\\":{\\"x\\":-999.0416434444487,\\"y\\":-999.0590798578436,\\"z\\":-999.0590798575431},\\"max\\":{\\"x\\":999.0416434425861,\\"y\\":999.0590798578436,\\"z\\":999.0590798584744},\\"_id\\":\\"2c52dc3a-d5dd-a648-cc3a-499ce5741c8c\\"},\\"dataKey\\":\\"tile-41f3c7dc-abc7-963e-1e21-f0d1a34fe8ca\\",\\"followType\\":\\"feature\\",\\"config\\":\\"{\\\\\\"skybox\\\\\\":\\\\\\"noon\\\\\\"}\\",\\"dynamicLoad\\":true,\\"priority\\":0,\\"always\\":false,\\"immediate\\":true,\\"materials\\":[]}","{\\"id\\":\\"66d5243f-abec-1911-31c0-6607ca38bf94\\",\\"name\\":\\"3D Tiles2\\",\\"type\\":\\"_3dTiles\\",\\"lib\\":\\"0\\",\\"version\\":\\"\\",\\"url\\":\\"https://bimcomposer.probim.cn:8070/wumeng/aobili/XZ/tileset.json\\",\\"phase\\":\\"\\",\\"origin\\":[119.90563061194253,31.829785770146547],\\"rotation\\":[0,0,0],\\"altitude\\":19.597619277171663,\\"offset\\":[0,0,0],\\"scale\\":[1,1,1],\\"bpt\\":{\\"elements\\":[1.176998665936478,0,0,0,0,1.1769986657572107,0.000020542502011129438,0,0,-0.000020542502011129438,1.1769986657572107,0,13332916.216347307,23.066371744762048,-3736807.119837275,1]},\\"visible\\":true,\\"AABB\\":{\\"isBox3\\":true,\\"min\\":{\\"x\\":-796.8248775918037,\\"y\\":-796.8387846881682,\\"z\\":-796.8387846881524},\\"max\\":{\\"x\\":796.8248775918037,\\"y\\":796.8387846881682,\\"z\\":796.838784688618},\\"_id\\":\\"68453ac7-6e21-40da-0dd0-2647a44756db\\"},\\"dataKey\\":\\"tile-66d5243f-abec-1911-31c0-6607ca38bf94\\",\\"followType\\":\\"feature\\",\\"config\\":\\"{\\\\\\"skybox\\\\\\":\\\\\\"noon\\\\\\"}\\",\\"dynamicLoad\\":true,\\"priority\\":0,\\"always\\":false,\\"immediate\\":true,\\"materials\\":[]}"],"data":"[{\\"key\\":\\"e5501695-3091-0bea-1ccc-1cbc56f4dcb9\\",\\"data\\":{\\"projectionValue\\":\\"globe\\"}},{\\"key\\":\\"837848da-f832-4b53-acd4-4f194a2d5b1e\\",\\"data\\":{}},{\\"key\\":\\"ed4d29c9-b869-e975-2724-101578a928c8\\",\\"data\\":{}},{\\"key\\":\\"8d906c55-5106-2bd6-ab6e-7d5a3463c453\\",\\"data\\":{}},{\\"key\\":\\"6e01da40-b1d1-c406-9e43-d98e6509f37d\\",\\"data\\":{}},{\\"key\\":\\"tile-41f3c7dc-abc7-963e-1e21-f0d1a34fe8ca\\",\\"data\\":{\\"opacity\\":1,\\"errorTarget\\":10,\\"errorThreshold\\":100,\\"includePoints\\":false,\\"pntsSize\\":2,\\"pntColor\\":\\"\\"}},{\\"key\\":\\"tile-66d5243f-abec-1911-31c0-6607ca38bf94\\",\\"data\\":{\\"opacity\\":1,\\"errorTarget\\":5,\\"errorThreshold\\":150,\\"includePoints\\":false,\\"pntsSize\\":2,\\"pntColor\\":\\"\\"}}]","viewpoints":[],"pathRoamings":[],"clips":[],"animations":[],"triggers":[],"selectionSets":[],"defaultViewpoint":"{\\"id\\":\\"4309baee-2c02-906f-69c1-d620a6015089\\",\\"type\\":\\"viewpoint\\",\\"cameraInfo\\":{\\"position\\":{\\"x\\":13333080.791135095,\\"y\\":123.62657806456848,\\"z\\":-3736329.4793962254},\\"target\\":{\\"x\\":13332965.398053603,\\"y\\":39.892778497046706,\\"z\\":-3736569.1929557077},\\"focalOffset\\":{\\"x\\":-1.9480155337083147,\\"y\\":-9.428415271815595,\\"z\\":-0.1400808070217181}},\\"coloredObjects\\":[],\\"twinkleObjects\\":[],\\"invisibleObjects\\":[],\\"isolatedObjects\\":[],\\"ghostObjects\\":[],\\"featureSnap\\":[],\\"default\\":true}","deletedObjects":[]}'
\ No newline at end of file
diff --git a/src/store/index.js b/src/store/index.js
new file mode 100644
index 0000000..35108d4
--- /dev/null
+++ b/src/store/index.js
@@ -0,0 +1,16 @@
+import Vue from "vue";
+import Vuex from "vuex";
+
+Vue.use(Vuex);
+
+const moduleFilesObj = import.meta.glob("./modules/*.js", { eager: true });
+const modules = Object.keys(moduleFilesObj).reduce((acc, moduleKey) => {
+  const moduleName = moduleKey.replace(/^\.\/modules\/(.*)\.js$/gi, "$1");
+  if (moduleName) {
+    acc[moduleName] = moduleFilesObj[moduleKey]?.default ?? {};
+    acc[moduleName].namespaced = true;
+  }
+  return acc;
+}, {});
+
+export default new Vuex.Store({ modules });
diff --git a/src/store/modules/common.js b/src/store/modules/common.js
new file mode 100644
index 0000000..9cdbc46
--- /dev/null
+++ b/src/store/modules/common.js
@@ -0,0 +1,20 @@
+export default {
+    namespaced: true,
+    state: () => ({
+        code: null, //用户信息
+    }),
+
+    mutations: {
+        setCode(state, data) {
+            state.code = data;
+        },
+    },
+    actions: {
+        setCode(context, data) {
+            context.commit("setCode", data);
+        },
+    },
+    getters: {
+        code: (state) => state.code,
+    },
+};
\ No newline at end of file
diff --git a/src/utils/getToken.js b/src/utils/getToken.js
new file mode 100644
index 0000000..a2fe80d
--- /dev/null
+++ b/src/utils/getToken.js
@@ -0,0 +1,9 @@
+import store from "../store/index";
+
+export const getToken = () => {
+    let token = store.getters["common/token"];
+    if (!token) {
+        token = window.localStorage.getItem("token");
+    }
+    return token;
+}
\ No newline at end of file
diff --git a/src/utils/getUserProfile.js b/src/utils/getUserProfile.js
new file mode 100644
index 0000000..83251cc
--- /dev/null
+++ b/src/utils/getUserProfile.js
@@ -0,0 +1,9 @@
+import store from "../store/index";
+
+export const getUserProfile = () => {
+    let userProfile = store.getters["common/userProfile"];
+    if (!userProfile) {
+        userProfile = JSON.parse(window.localStorage.getItem("userProfile"));
+    }
+    return userProfile;
+}
\ No newline at end of file
diff --git a/src/utils/http.js b/src/utils/http.js
new file mode 100644
index 0000000..8cf3b4d
--- /dev/null
+++ b/src/utils/http.js
@@ -0,0 +1,280 @@
+import axios from "axios";
+import { Message, Loading } from "element-ui";
+import { debounce } from "lodash-es";
+import store from "../store/index";
+import { getToken } from "./getToken.js";
+import { toLoginPage, toResetPwdPage } from "./logout";
+
+let axiosBaseURL;
+let axiosTimeout;
+let workflowLoginURL;
+if (import.meta.env.PROD) {
+  //生产环境
+  const ProjectConfig = window.ProjectConfig;
+  
+  axiosBaseURL = ProjectConfig.axiosBaseURL;
+  axiosTimeout = ProjectConfig.axiosTimeout;
+  workflowLoginURL = ProjectConfig.workflowLoginURL;
+} else {
+  //非生产环境
+  axiosBaseURL = "/api";
+  axiosTimeout = 1000 * 30;
+  workflowLoginURL = "http://workflow-newapi.probim.cn/api/User/Home/Login";
+}
+
+export const http = axios.create({
+  withCredentials: false,
+  baseURL: axiosBaseURL,
+  timeout: axiosTimeout
+});
+
+//loading对象
+let loadingInstance;
+
+//当前正在请求的数量
+let needLoadingRequestCount = 0;
+
+//显示loading
+function showLoading(target) {
+  // 后面这个判断很重要,因为关闭时加了抖动,此时loading对象可能还存在,
+  // 但needLoadingRequestCount已经变成0.避免这种情况下会重新创建个loading
+  if (needLoadingRequestCount === 0 && !loadingInstance) {
+    loadingInstance = Loading.service({
+      target: target || "body",
+      fullscreen: false,
+      lock: true,
+      text: "Loading...",
+      // spinner: "",
+      // background: "",
+      // customClass: "",
+    });
+  }
+  needLoadingRequestCount++;
+}
+
+//隐藏loading
+function hideLoading() {
+  needLoadingRequestCount--;
+  needLoadingRequestCount = Math.max(needLoadingRequestCount, 0); //做个保护
+  if (needLoadingRequestCount === 0) {
+    //关闭loading
+    toHideLoading();
+  }
+}
+
+//防抖:将 300ms 间隔内的关闭 loading 便合并为一次。防止连续请求时, loading闪烁的问题。
+const toHideLoading = debounce(() => {
+  loadingInstance?.close();
+  loadingInstance = null;
+}, 300);
+
+
+//处理响应的结果,返回统一结构
+function handleTheResponse(response) {
+  console.log(`axios包装过的响应${response.config.url}`, response);
+  if (response.config.showLoading === true) {
+    hideLoading();
+  }
+  // {
+  //     // `data` 由服务器提供的响应
+  //     data: {},
+  //     // `status` 来自服务器响应的 HTTP 状态码
+  //     status: 200,
+  //     // `statusText` 来自服务器响应的 HTTP 状态信息
+  //     statusText: 'OK',
+  //     // `headers` 是服务器响应头
+  //     // 所有的 header 名称都是小写,而且可以使用方括号语法访问
+  //     // 例如: `response.headers['content-type']`
+  //     headers: {},
+  //     // `config` 是 `axios` 请求的配置信息
+  //     config: {},
+  //     // `request` 是生成此响应的请求
+  //     // 在node.js中它是最后一个ClientRequest实例 (in redirects),
+  //     // 在浏览器中则是 XMLHttpRequest 实例
+  //     request: {}
+  //   }
+
+  let responseData = response.data;
+  if (response.status === 200) {
+    if (responseData?.code === 40001) {
+      toLoginPage();
+      return;
+    }
+    if(responseData?.code === 40002) {
+      toResetPwdPage();
+      return;
+    }
+    const targetUrl = response.config.url.toLowerCase();
+    if (/^\s*$/g.test("" + responseData)) {
+      responseData = {
+        code: 1,
+        message: "无响应数据",
+        data: null,
+      };
+    } else if (targetUrl === "https://bnah-web-api.biaddti.com/api/video/video/getvideo") {
+      //摄像头视频
+      responseData = {
+        code: responseData?.Ret === 1 ? 0 : 1,
+        message: responseData?.Msg ?? "服务异常",
+        data: responseData?.Data ?? null,
+      };
+    } else if (targetUrl.startsWith(workflowLoginURL.toLowerCase())) {
+      //协同登录,响应结构不一样,需要单独处理
+      responseData = {
+        code: responseData?.Ret === 1 ? 0 : 1,
+        message: responseData?.Msg ?? "协同登录服务异常",
+        data: responseData?.Data ?? null,
+      };
+    } else if (targetUrl.startsWith("https://api.help.bj.cn/apis/weather")) {
+      //   {
+      //     "status": "0",       //反馈代码 0成功
+      //     "msg": "反馈信息",      //反馈信息
+      //     "cityen": "changchun",       //城市名称英文
+      //     "city": "长春",       //城市名称
+      //     "citycode": "101060101",       //城市编码
+      //     "temp": "10",       //实时温度
+      //     "tempf": "50",       //华氏温度
+      //     "wd": "西风",       //风向
+      //     "wden": "W",       //风向英文
+      //     "wdforce": "3级",       //风力
+      //     "wdspd": "<12km/h",       //风速
+      //     "uptime": "12:00",       //更新时间
+      //     "weather": "晴",       //天气状况
+      //     "weatheren": "Sunny",       //天气状况英文
+      //     "weatherimg": "d00",       //天气状况图标
+      //     "stp": "994",       //气压
+      //     "wisib": "35000",       //能见度
+      //     "humidity": "46%",       //湿度
+      //     "prcp": "0",       //降雨
+      //     "prcp24h": "2.2",       //24小时降雨量
+      //     "aqi": "22",       //AQI
+      //     "pm25": "20",       //PM2.5
+      //     "today": "10月17日(星期一)"      //今天日期
+      // }
+      //网上找的天气信息接口,由服务端代理,响应结构不一样,需要单独处理
+      if (responseData?.status === "0") {
+        responseData = {
+          code: 0,
+          message: null,
+          data: responseData,
+        };
+      } else {
+        responseData = {
+          code: 1,
+          message: "天气服务异常",
+          data: null,
+        };
+      }
+    }
+  } else {
+    return {
+      code: 1,
+      message: responseData?.message ?? "服务异常",
+      data: responseData,
+    };
+  }
+  if (!responseData || responseData.code !== 0) {
+    Message.error({ message: responseData?.message ?? "服务异常", duration: 1000 * 3 });
+  }
+  return responseData;
+}
+
+//处理错误,返回统一结构
+function handleTheError(error) {
+  console.log(`axios包装过的错误${error.config.url}`, error);
+  if (error.config?.showLoading === true) {
+    hideLoading();
+  }
+  const responseData = { code: -999, data: null };
+  if (error.response) {
+    const { data, status, statusText } = error.response;
+    if (status === 500 && /^\s*$/gi.test(data + "")) {
+      responseData.message = "服务异常,无响应数据";
+    } else {
+      responseData.data = data;
+      responseData.message = `${statusText ?? "服务异常,请稍后再试"}`;
+    }
+  } else if (error.request) {
+    responseData.message = "未收到服务端响应,请稍后再试";
+  } else {
+    responseData.message = "未发送请求,请检查请求参数是否正确";
+  }
+  Message.error({ message: responseData.message, duration: 1000 * 3 });
+  return responseData;
+}
+
+//添加请求拦截器
+http.interceptors.request.use(
+  (config) => {
+    if (config.showLoading === true) {
+      showLoading(config.loadingTarget);
+    }
+    if (config.withProjectId !== false) {
+      config.headers["projectId"] = store.getters["common/currentProjectId"];
+    }
+    if (config.withToken !== false) {
+      config.headers["token"] = getToken();
+    }
+    return config;
+  },
+  (error) => {
+    // console.log("request-error", error);
+    //todo 封装成固定结构 {code,data,message}
+    return handleTheError(error);
+  },
+);
+
+//响应拦截器
+http.interceptors.response.use(
+  (response) => {
+    //todo 封装成固定结构 {code,data,message}
+    return handleTheResponse(response);
+  },
+  (error) => {
+    //todo 封装成固定结构 {code,data,message}
+    return handleTheError(error);
+  },
+);
+// 引擎接口
+let modelaxiosUrl
+const ProjectConfig = window.ProjectConfig;
+
+modelaxiosUrl = ProjectConfig.modelUrl;
+export const modelhttp = axios.create({
+  withCredentials: false,
+  baseURL: modelaxiosUrl,
+  timeout: axiosTimeout
+});
+
+//添加请求拦截器
+modelhttp.interceptors.request.use(
+  (config) => {
+    if (config.showLoading === true) {
+      showLoading(config.loadingTarget);
+    }
+    if (config.withProjectId !== false) {
+      config.headers["projectId"] = store.getters["common/currentProjectId"];
+    }
+    if (config.withToken !== false) {
+      config.headers["token"] = getToken();
+    }
+    return config;
+  },
+  (error) => {
+    // console.log("request-error", error);
+    //todo 封装成固定结构 {code,data,message}
+    return handleTheError(error);
+  },
+);
+
+//响应拦截器
+modelhttp.interceptors.response.use(
+  (response) => {
+    //todo 封装成固定结构 {code,data,message}
+    return handleTheResponse(response);
+  },
+  (error) => {
+    //todo 封装成固定结构 {code,data,message}
+    return handleTheError(error);
+  },
+);
\ No newline at end of file
diff --git a/src/utils/logout.js b/src/utils/logout.js
new file mode 100644
index 0000000..29f9c57
--- /dev/null
+++ b/src/utils/logout.js
@@ -0,0 +1,19 @@
+import store from "../store/index";
+import router from "../router";
+
+const clearAuthenticateInfo = () => {
+    store.commit("common/setToken", "");
+    store.commit("common/setUserProfile", null);
+    window.localStorage.removeItem("token");
+    window.localStorage.removeItem("userProfile");
+}
+
+export const toLoginPage = () => {
+    clearAuthenticateInfo();
+    router.replace("/login");
+}
+
+export const toResetPwdPage = () => {
+    clearAuthenticateInfo();
+    router.replace("/resetpwd");
+}
\ No newline at end of file
diff --git a/src/views/EquipmentView.vue b/src/views/EquipmentView.vue
new file mode 100644
index 0000000..a499a46
--- /dev/null
+++ b/src/views/EquipmentView.vue
@@ -0,0 +1,618 @@
+<template>
+  <div class="equipment-container">
+    <div class="top-section mb-[20px]">
+      <div 
+        class="w-full h-[4vh] mb-[1vh]" 
+        :style="{
+          backgroundImage: `url(${titleImage})`,
+          backgroundRepeat: 'no-repeat',
+          backgroundPosition: 'center center',
+          backgroundSize: '100% 100%'
+        }"
+      >
+      </div>
+      <div class="stats-grid"  :style="sectionStyle">
+        <div class="stat-item mb-[10px]">
+          <div class="stat-info">
+            <img class="w-[24px] h-[24px]" src="../assets/images/backgrounds/shishirenshu.png" alt="">
+            <span class="satalabel ml-[8px]">实时人数</span>
+          </div>
+          <div class="value text-[#00FFFF] text-[28px] font-bold">62</div>
+        </div>
+        <div class="stat-item mb-[10px]">
+          <div class="stat-info">
+            <img class="w-[24px] h-[24px]" src="../assets/images/backgrounds/people.png" alt="">
+            <span class="satalabel ml-[8px]">今日累计/人次</span>
+          </div>
+          <div class="value text-[#FFD500] text-[28px] font-bold">62</div>
+        </div>
+        <div class="stat-item">
+          <div class="stat-info">
+            <img class="w-[24px] h-[24px]" src="../assets/images/backgrounds/zaigang.png" alt="">
+            <span class="satalabel ml-[8px]">在岗总数</span>
+          </div>
+          <div class="value text-[#FFD500] text-[28px] font-bold">62</div>
+        </div>
+      </div>
+    </div>
+
+    <div class="middle-section mb-[20px]">
+      <div 
+        class="w-full h-[4vh] mb-[1vh]" 
+        :style="{
+          backgroundImage: `url(${middleImage})`,
+          backgroundRepeat: 'no-repeat',
+          backgroundPosition: 'center center',
+          backgroundSize: '100% 100%'
+        }"
+      >
+      </div>
+      <div class="equipment-status"  :style="sectionStyle">
+        <div 
+          class="w-full h-[30px] mb-[10px]" 
+          :style="{
+            backgroundImage: `url(${bgImage})`,
+            backgroundRepeat: 'no-repeat',
+            backgroundPosition: 'center center',
+            backgroundSize: '100% 100%'
+          }"
+        >
+          <div class="text-white text-[14px] ml-[40px] leading-[35px]">升降机监控</div>
+        </div>
+        <div class="status-circles">
+          <template v-for="item in circleItems">
+            <div class="circle-item flex flex-col items-center justify-center" :key="item.id">
+              <div class="progress-circle">
+                <V2Echarts :idName="item.id" :options="item.options" />
+                <div class="percentage">{{item.percentage}}%</div>
+            </div>
+            <div class="label mt-[5px] flex flex-row items-center justify-center">
+              <div class="text-[12px] text-[#FFFFFF] mr-[12px]">{{item.name}}</div>
+              <div class="text-[24px] text-[#FFD500]">{{item.value}}</div>
+            </div>
+            </div>
+          </template>
+        </div>
+        <div class="control-buttons mt-[30px]">
+          <button class="control-btn" :class="{ 'active': currentTab === '塔吊监控' }" @click="handleControlBtnClick('塔吊监控')">塔吊监控</button>
+          <button class="control-btn" :class="{ 'active': currentTab === '升降机监控' }" @click="handleControlBtnClick('升降机监控')">升降机监控</button>
+        </div>
+        <div class="divider"></div>
+        <div class="progress-bar">
+          <div class="label">运行设备总数</div>
+          <div class="bar flex items-center">
+            <div class="progress relative w-[80%] h-[24px]">
+              <div class="progress-inner" :style="{ width: `${deviceOnline / deviceTotal * 100}%` }"></div>
+              <div class="progress-blocks">
+                <div v-for="n in 28" :key="n" 
+                  class="block"
+                  :class="{ 'active': (n-1)/28 * 100 <= (deviceOnline / deviceTotal * 100) }"
+                ></div>
+              </div>
+            </div>
+            <div class="count-container ml-[25px]">
+              <span class="text-[#FFBF00] text-[24px]">{{deviceOnline}}</span>
+              <span class="text-white text-[24px]">/</span>
+              <span class="text-white text-[24px]">{{deviceTotal}}</span>
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+
+    <div class="bottom-section">
+      <div 
+        class="w-full h-[4vh] mb-[1vh]" 
+        :style="{
+          backgroundImage: `url(${bottomImage})`,
+          backgroundRepeat: 'no-repeat',
+          backgroundPosition: 'center center',
+          backgroundSize: '100% 100%'
+        }"
+      >
+      </div>
+      <div class="environment-grid"  :style="sectionStyle">
+        <div class="env-item">
+          <img class="w-[60px] h-[60px]" src="../assets/images/backgrounds/daqiwendu.png" alt="">
+          <div class="env-info">
+            <span class="envlabel">大气温度</span>
+            <span class="envvalue" :style="enviorStyle">5°C</span>
+          </div>
+        </div>
+        <div class="env-item">
+          <img class="w-[60px] h-[60px]" src="../assets/images/backgrounds/daqishidu.png" alt="">
+          <div class="env-info">
+            <span class="envlabel">大气湿度</span>
+            <span class="envvalue" :style="enviorStyle">22.9%</span>
+          </div>
+        </div>
+        <div class="env-item">
+          <img class="w-[60px] h-[60px]" src="../assets/images/backgrounds/PM2.png" alt="">
+          <div class="env-info">
+            <span class="envlabel">PM2.5</span>
+            <span class="envvalue" :style="enviorStyle">10 μg/m³</span>
+          </div>
+        </div>
+        <div class="env-item">
+          <img class="w-[60px] h-[60px]" src="../assets/images/backgrounds/PM10.png" alt="">
+          <div class="env-info">
+            <span class="envlabel">PM10</span>
+            <span class="envvalue" :style="enviorStyle">13 μg/m³</span>
+          </div>
+        </div>
+        <div class="env-item">
+          <img class="w-[60px] h-[60px]" src="../assets/images/backgrounds/fengli.png" alt="">
+          <div class="env-info">
+            <span class="envlabel">风力</span>
+            <span class="envvalue" :style="enviorStyle">3级</span>
+          </div>
+        </div>
+        <div class="env-item">
+          <img class="w-[60px] h-[60px]" src="../assets/images/backgrounds/fengxiang.png" alt="">
+          <div class="env-info">
+            <span class="envlabel">风向</span>
+            <span class="envvalue" :style="enviorStyle">北风</span>
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import V2Echarts from '@/components/V2Echarts.vue'
+export default {
+  name: 'EquipmentView',
+  components: {
+    V2Echarts
+  },
+  data() {
+    return {
+      backgroundImage: new URL('@/assets/images/backgrounds/cover_bg.png', import.meta.url).href,
+      titleImage: new URL('@/assets/images/titles/renyuan.png', import.meta.url).href,
+      middleImage: new URL('@/assets/images/titles/shebei.png', import.meta.url).href,
+      bottomImage: new URL('@/assets/images/titles/huanjing.png', import.meta.url).href,
+      bgImage: new URL('@/assets/images/titles/title_second.png', import.meta.url).href,
+      enviorImage: new URL('@/assets/images/titles/wendu_bg.png', import.meta.url).href,
+      deviceOnline: 1,
+      deviceTotal: 27,
+      currentTab: '塔吊监控',
+      circleItems: [
+        {
+          id: 'zaixianChartBox',
+          name: '总在线',
+          value: 22,
+          percentage: 81.5,
+          options: {
+            tooltip: {
+              trigger: 'item',
+            },
+            legend: {
+              itemWidth: 8,
+              itemHeight: 8,
+              top: '5%',
+              left: 'center',
+              show: false,
+            },
+            series: [
+              {
+                type: 'pie',
+                radius: ['70%', '80%'],
+                center: ['50%', '50%'],
+                avoidLabelOverlap: false,
+                hoverAnimation: false,
+                startAngle: 90,
+                itemStyle: {
+                  normal: {
+                    label: {
+                      show: false,
+                    },
+                    labelLine: {
+                      show: false,
+                    },
+                    shadowBlur: 40,
+                    borderWidth: 5,
+                    shadowColor: 'rgba(0, 0, 0, 0)', // 边框阴影
+                  },
+                },
+                data: [
+                  { value: 100, name: '', itemStyle: { color: '#234E84' } },
+                ],
+              },
+              {
+                type: 'pie',
+                radius: ['70%', '100%'],
+                center: ['50%', '50%'],
+                avoidLabelOverlap: false,
+                hoverAnimation: false,
+                startAngle: 90,
+                itemStyle: {
+                  normal: {
+                    label: {
+                      show: false,
+                    },
+                    labelLine: {
+                      show: false,
+                    },
+                    shadowBlur: 40,
+                    borderWidth: 10,
+                    shadowColor: 'rgba(0, 0, 0, 0)', // 边框阴影
+                  },
+                },
+                data: [
+                  { value: 20, name: '主隧洞掘进', itemStyle: { color: '#00FFFF' } },
+                  { value: 80, name: '', itemStyle: { color: 'transparent' } },
+                ],
+              },
+              
+            ],
+          }
+        },
+        {
+          id: 'lixianChartBox',
+          name: '总离线',
+          value: 5,
+          percentage: 81.5,
+          options: {
+            tooltip: {
+              trigger: 'item',
+            },
+            legend: {
+              itemWidth: 8,
+              itemHeight: 8,
+              top: '5%',
+              left: 'center',
+              show: false,
+            },
+            series: [
+              {
+                type: 'pie',
+                radius: ['70%', '80%'],
+                center: ['50%', '50%'],
+                avoidLabelOverlap: false,
+                hoverAnimation: false,
+                startAngle: 90,
+                itemStyle: {
+                  normal: {
+                    label: {
+                      show: false,
+                    },
+                    labelLine: {
+                      show: false,
+                    },
+                    shadowBlur: 40,
+                    borderWidth: 5,
+                    shadowColor: 'rgba(0, 0, 0, 0)', // 边框阴影
+                  },
+                },
+                data: [
+                  { value: 100, name: '', itemStyle: { color: '#234E84' } },
+                ],
+              },
+              {
+                type: 'pie',
+                radius: ['70%', '100%'],
+                center: ['50%', '50%'],
+                avoidLabelOverlap: false,
+                hoverAnimation: false,
+                startAngle: 90,
+                itemStyle: {
+                  normal: {
+                    label: {
+                      show: false,
+                    },
+                    labelLine: {
+                      show: false,
+                    },
+                    shadowBlur: 40,
+                    borderWidth: 10,
+                    shadowColor: 'rgba(0, 0, 0, 0)', // 边框阴影
+                  },
+                },
+                data: [
+                  { value: 20, name: '主隧洞掘进', itemStyle: { color: '#00FFFF' } },
+                  { value: 80, name: '', itemStyle: { color: 'transparent' } },
+                ],
+              },
+              
+            ],
+          }
+        },
+        {
+          id: 'baojingChartBox',
+          name: '总报警',
+          value: 0,
+          percentage: 81.5,
+          options: {
+            tooltip: {
+              trigger: 'item',
+            },
+            legend: {
+              itemWidth: 8,
+              itemHeight: 8,
+              top: '5%',
+              left: 'center',
+              show: false,
+            },
+            series: [
+              {
+                type: 'pie',
+                radius: ['70%', '80%'],
+                center: ['50%', '50%'],
+                avoidLabelOverlap: false,
+                hoverAnimation: false,
+                startAngle: 90,
+                itemStyle: {
+                  normal: {
+                    label: {
+                      show: false,
+                    },
+                    labelLine: {
+                      show: false,
+                    },
+                    shadowBlur: 40,
+                    borderWidth: 5,
+                    shadowColor: 'rgba(0, 0, 0, 0)', // 边框阴影
+                  },
+                },
+                data: [
+                  { value: 100, name: '', itemStyle: { color: '#234E84' } },
+                ],
+              },
+              {
+                type: 'pie',
+                radius: ['70%', '100%'],
+                center: ['50%', '50%'],
+                avoidLabelOverlap: false,
+                hoverAnimation: false,
+                startAngle: 90,
+                itemStyle: {
+                  normal: {
+                    label: {
+                      show: false,
+                    },
+                    labelLine: {
+                      show: false,
+                    },
+                    shadowBlur: 40,
+                    borderWidth: 10,
+                    shadowColor: 'rgba(0, 0, 0, 0)', // 边框阴影
+                  },
+                },
+                data: [
+                  { value: 20, name: '主隧洞掘进', itemStyle: { color: '#00FFFF' } },
+                  { value: 80, name: '', itemStyle: { color: 'transparent' } },
+                ],
+              },
+            ],
+          }
+        }
+      ]
+    }
+  },
+  computed: {
+    sectionStyle() {
+      return {
+        backgroundImage: `url(${this.backgroundImage})`,
+        backgroundRepeat: 'no-repeat',
+        backgroundPosition: 'center center',
+        backgroundSize: '100% 100%'
+      }
+    },
+    enviorStyle() {
+      return {
+        backgroundImage: `url(${this.enviorImage})`,
+        backgroundRepeat: 'no-repeat',
+        backgroundPosition: 'center center',
+        backgroundSize: '100% 100%'
+      }
+    }
+  },
+  methods: {
+    handleControlBtnClick(tab) {
+      this.currentTab = tab;
+    },
+    handleResize() {
+      if (this.myChart) {
+        this.myChart.resize()
+      }
+    },
+  }
+}
+</script>
+
+<style scoped>
+.equipment-container {
+  width: 100%;
+  height: calc(100vh - 100px);
+  color: white;
+}
+
+.section-title {
+  font-size: 18px;
+  margin-bottom: 20px;
+  color: #fff;
+}
+
+.top-section {
+  width: 100%;
+}
+
+.middle-section {
+  width: 100%;
+}
+
+.bottom-section {
+  width: 100%;
+}
+
+.stats-grid {
+  width: 100%;
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  justify-content: center;
+  padding: 20px 10px;
+}
+
+.stat-item{
+  width: 100%;
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  padding: 20px 14px;
+  height: 52px;
+  background: linear-gradient( 270deg, rgba(48,104,165,0.1) 2%, #3068A5 100%);
+  border-radius: 2px;
+} 
+.env-item {
+  width: 100%;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  padding: 10px 14px;
+}
+
+.stat-info {
+  display: flex;
+  flex-direction: row;
+  align-items: left;
+}
+.env-info {
+  display: flex;
+  flex-direction: column;
+  width: 70%;
+  height: 100%;
+}
+.satalabel{
+  font-size: 16px;
+  color: #fff;
+}
+.label {
+  font-size: 12px;
+  color: #fff;
+}
+.envlabel {
+  font-size: 14px;
+  color: #C8C8C8;
+  margin-left: 20px;
+}
+
+.envvalue {
+  font-size: 16px;
+  color: #fff;
+  margin-top: 4px;
+  width: 100%;
+  height: 100%;
+  padding-left: 20px;
+}
+
+.equipment-status {
+  padding: 20px 10px;
+}
+
+.status-title {
+  font-size: 16px;
+  margin-bottom: 20px;
+}
+
+.status-circles {
+  display: flex;
+  justify-content: space-around;
+  margin: 20px 0;
+}
+
+.progress-circle {
+  width: 80px;
+  height: 80px;
+  border-radius: 50%;
+  border: 4px solid #3068A5;
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  justify-content: center;
+  position: relative;
+}
+
+.percentage {
+  font-size: 12px;
+  color: #00ffff;
+  position: absolute;
+  top: 50%;
+  left: 50%;
+  transform: translate(-50%, -50%);
+}
+
+.environment-grid {
+  display: grid;
+  grid-template-columns: repeat(2, 1fr);
+}
+
+.control-buttons {
+  display: flex;
+  gap: 10px;
+  justify-content: center;
+}
+
+.control-btn {
+  padding: 8px 16px;
+  background: rgba(112,119,140,0.3);
+  border-radius: 2px;
+  border: 1px solid rgba(112,124,140,0.6);
+  color: #C8C8C8;
+  cursor: pointer;
+}
+
+.control-btn.active {
+  background: rgba(255,191,0,0.2);
+  border-radius: 2px;
+  border: 1px solid #FFBF00;
+  color: #fff;
+}
+
+.divider {
+  width: 100%;
+  height: 1px;
+  background: linear-gradient( 270deg, rgba(94,161,209,0.1) 0%, #4886BC 49%, rgba(48,104,165,0.1) 100%);
+  margin: 20px 0;
+}
+
+.progress-bar {
+  margin-top: 20px;
+}
+
+.bar {
+  width: 100%;
+}
+
+.progress {
+  background: rgba(216,216,216,0.1);
+  border: 1px solid rgba(255,255,255,0.2);
+  overflow: hidden;
+}
+
+.progress-blocks {
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  display: flex;
+  gap: 4px;
+  padding: 2px 4px;
+}
+
+.block {
+  flex: 1;
+  height: 100%;
+  background: rgba(216,216,216,0.1);
+}
+
+.block.active {
+  background: linear-gradient(180deg, #FFD500 0%, #FF9B00 100%);
+}
+
+.progress-inner {
+  display: none;
+}
+</style>
diff --git a/src/views/Home.vue b/src/views/Home.vue
new file mode 100644
index 0000000..9e8fbf5
--- /dev/null
+++ b/src/views/Home.vue
@@ -0,0 +1,314 @@
+<template>
+  <div class="home-container">
+    <!-- 顶部导航 -->
+    <div class="top-nav">
+      <div class="nav-items">
+        <div class="nav-item mr-[8px]" :class="{ active: currentView === 'model' }" @click="handleChange('model')">模型</div>
+        <div class="nav-item mr-[8px]" :class="{ active: currentView === '720' }" @click="handleChange('720')">720全景</div>
+        <div class="nav-item" :class="{ active: currentView === 'project' }" @click="handleChange('project')">项目实况</div>
+      </div>
+      <div class="time-info">
+        <div class="time-info-item">
+          <i class="el-icon-date" style="color: #FFBF00;font-size: 20px;"></i>
+          <div class="text-white text-[16px] ml-[4px]">工程倒计时/天</div>
+          <div class="text-[#FFBF00] text-[24px] font-bold ml-[28px]">175</div>
+        </div>
+        <div class="time-line">
+        </div>
+      </div>
+    </div>
+
+    <div class="content-wrapper mb-[20px]">
+      <!-- 720菜单 -->
+      <div class="side-menu" v-if="currentView === '720'">
+        <div class="menu-dropdown">
+          <select class="menu-select">
+            <option>请选择</option>
+          </select>
+        </div>
+        <div class="menu-list">
+          <div class="menu-item">
+            <span>一期</span>
+            <i class="arrow-icon"></i>
+          </div>
+          <div class="menu-item">
+            <span>二期</span>
+            <i class="arrow-icon"></i>
+          </div>
+          <div class="menu-item">
+            <span>三期</span>
+            <i class="arrow-icon"></i>
+          </div>
+          <div class="menu-item">
+            <span>四期</span>
+            <i class="arrow-icon"></i>
+          </div>
+        </div>
+        <div class="submenu">
+          <div class="submenu-item">1#楼东立面图</div>
+          <div class="submenu-item">1#出入口层立-1</div>
+          <div class="submenu-item">2#出入口层立-2</div>
+          <div class="submenu-item">2#楼东立面图</div>
+          <div class="submenu-item">3#楼东立面图</div>
+          <div class="submenu-item">停车场入口区控制面</div>
+        </div>
+      </div>
+
+      <!-- 主要内容区域 -->
+      <div class="main-content">
+        <!-- 模型 -->
+        <div class="content" v-if="currentView === 'model'">
+          <iframe id="model-iframe" class="content-frame" src="" frameborder="0"></iframe>
+        </div>
+        <!-- 720 -->
+        <div class="pano-content" v-if="currentView === '720'">
+          <div id="panoviewpreview" class="pano-frame">
+          </div>
+        </div>
+      </div>
+    </div>
+    <div class="chart-content">
+      <div 
+        class="w-full h-[4vh] mb-[1vh]" 
+        :style="{
+          backgroundImage: `url(${bottomImage})`,
+          backgroundRepeat: 'no-repeat',
+          backgroundPosition: 'center center',
+          backgroundSize: '100% 100%'
+        }"
+      >
+      </div>
+      <div class="chart-container">
+        <img src="../assets/images/backgrounds/shigongjinduchart.png" alt="施工进度" class="w-full h-[280px]"/>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'Home',
+  components: {
+  },
+  data() {
+    return {
+      currentView: 'model',
+      chartOptions: {
+        id: 'shigongjinduChart',
+        options: {
+          title: {
+            text: '施工进度'
+          }
+        }
+      },
+      bottomImage: new URL('@/assets/images/titles/shigong.png', import.meta.url).href,
+    }
+  },
+  methods: {
+    handleChange(view) {
+      this.currentView = view
+      
+    },
+    modelShow() {
+      const iframe = document.getElementById('model-iframe')
+      let token = ''
+      let ifrSrc = ''
+      console.log('模型中查看')
+      ifrSrc = `${window.IP_CONFIG.SCENE_URL}?token=${token}&projectId=${_this.projectID}&isPreview=1&edit=false`
+      iframe.src = ifrSrc
+      console.log('加载iframe地址', ifrSrc)
+    }
+  },
+  mounted() {
+    this.modelShow()
+  },
+}
+</script>
+
+<style scoped lang="scss">
+.home-container {
+  display: flex;
+  flex-direction: column;
+  height: 100vh;
+}
+
+.top-nav {
+  height: 50px;
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  color: white;
+}
+
+.nav-items {
+  display: flex;
+  gap: 20px;
+}
+
+.nav-item {
+  background: rgba(112,119,140,0.3);
+  border-radius: 2px;
+  border: 1px solid rgba(112,124,140,0.6);
+  padding: 5px 16px;
+  cursor: pointer;
+}
+
+.nav-item.active {
+  background: rgba(255,191,0,0.2);
+  border-radius: 2px;
+  border: 1px solid #FFBF00;
+}
+
+.time-info {
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  width: 200px;
+}
+.time-info-item {
+  display: flex;
+  align-items: center;
+  
+}
+.time-line {
+  width: 200px;
+  height: 1px;
+  background: linear-gradient( 270deg, rgba(255,191,0,0) 0%, #FFBF00 100%);
+}
+
+.content-wrapper {
+  display: flex;
+  overflow: hidden;
+  position: relative;
+}
+
+.side-menu {
+  width: 250px;
+  background-color: #1e3d6b;
+  color: white;
+  position: absolute;
+  top: 10px;
+  left: 10px;
+  right: auto;
+  bottom: auto;
+}
+
+.menu-dropdown {
+  padding: 15px;
+}
+
+.menu-select {
+  width: 100%;
+  padding: 8px;
+  background-color: #0a1931;
+  color: white;
+  border: 1px solid #2a4d7d;
+}
+
+.menu-list {
+  border-top: 1px solid #2a4d7d;
+}
+
+.menu-item {
+  padding: 12px 20px;
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  cursor: pointer;
+}
+
+.menu-item:hover {
+  background-color: rgba(255, 255, 255, 0.1);
+}
+
+.arrow-icon {
+  border: solid white;
+  border-width: 0 2px 2px 0;
+  display: inline-block;
+  padding: 3px;
+  transform: rotate(-45deg);
+}
+
+.submenu {
+  background-color: #152b4a;
+}
+
+.submenu-item {
+  padding: 10px 30px;
+  font-size: 14px;
+  cursor: pointer;
+}
+
+.submenu-item:hover {
+  background-color: rgba(255, 255, 255, 0.1);
+}
+
+.main-content {
+  flex: 1;
+  padding: 20px;
+  background-color: #0a1931;
+  width: 100%;
+  height: 588px;
+}
+
+.content-header {
+  color: white;
+  margin-bottom: 20px;
+}
+
+.chart-container {
+  background-color: #1e3d6b;
+  border-radius: 8px;
+  padding: 20px;
+  width: 100%;
+  height: 100%;
+}
+
+.chart-legend {
+  display: flex;
+  gap: 20px;
+  margin-bottom: 20px;
+  color: white;
+}
+
+.legend-item {
+  display: flex;
+  align-items: center;
+  gap: 8px;
+}
+
+.dot {
+  width: 10px;
+  height: 10px;
+  border-radius: 50%;
+}
+
+.dot.blue {
+  background-color: #00ffff;
+}
+
+.dot.yellow {
+  background-color: #ffd700;
+}
+
+.chart-area {
+  height: 400px;
+  margin-bottom: 20px;
+}
+
+.chart-tabs {
+  display: flex;
+  gap: 10px;
+}
+
+.tab {
+  padding: 8px 16px;
+  color: white;
+  cursor: pointer;
+  border-radius: 4px;
+}
+
+.tab.active {
+  background-color: #2a4d7d;
+}
+</style>
diff --git a/src/views/ProjectView.vue b/src/views/ProjectView.vue
new file mode 100644
index 0000000..f0d31c4
--- /dev/null
+++ b/src/views/ProjectView.vue
@@ -0,0 +1,305 @@
+<template>
+  <div class="project-info">
+    <!-- 上部分 - 图片 -->
+    <div 
+      class="w-full h-[4vh] mb-[1vh]" 
+      :style="{
+        backgroundImage: `url(${titleImage})`,
+        backgroundRepeat: 'no-repeat',
+        backgroundPosition: 'center center',
+        backgroundSize: '100% 100%'
+      }"
+    >
+    </div>
+    
+    <!-- 下部分 - 内容区域 -->
+    <div 
+      class="content flex-1 px-[16px] py-[14px] overflow-y-auto" 
+      :style="{
+        backgroundImage: `url(${backgroundImage})`,
+        backgroundRepeat: 'no-repeat',
+        backgroundPosition: 'center center',
+        backgroundSize: 'cover'
+      }"
+    >
+      <!-- 建筑面积 -->
+      <div 
+        class="w-full h-[50px] mb-[10px] flex items-center justify-evenly" 
+        :style="{
+          backgroundImage: `url(${contentImage})`,
+          backgroundRepeat: 'no-repeat',
+          backgroundPosition: 'center center',
+          backgroundSize: '100% 100%'
+        }"
+      >
+        <img 
+          src="../assets/images/backgrounds/jianzhumianji.png" 
+          alt="" 
+          class="h-[30px] w-[40px]"
+        >
+        <div class="text-white text-[14px]">一期总建筑面积</div>
+        <div class="flex items-center justify-center">
+          <div class="text-[24px] text-[#FFD500] font-bold mr-[8px]">103.18</div>
+          <div class="text-[14px] text-white">万㎡</div>
+        </div>
+      </div>
+
+      <!-- 目标日期 -->
+      <div 
+        class="w-full h-[50px] flex items-center justify-evenly" 
+        :style="{
+          backgroundImage: `url(${contentImage})`,
+          backgroundRepeat: 'no-repeat',
+          backgroundPosition: 'center center',
+          backgroundSize: '100% 100%'
+        }"
+      >
+        <img 
+          src="../assets/images/backgrounds/mubiaowancheng.png" 
+          alt="" 
+          class="h-[30px] w-[40px]"
+        >
+        <div class="text-white text-[14px]">目标完成日期</div>
+        <div class="flex items-center justify-center">
+          <div class="text-[24px] text-[#00FFFF] font-bold">2028-12-01</div>
+        </div>
+      </div>
+
+      <!-- 项目名称 -->
+      <div 
+        class="w-full h-[30px] mt-[20px] mb-[10px]" 
+        :style="{
+          backgroundImage: `url(${bgImage})`,
+          backgroundRepeat: 'no-repeat',
+          backgroundPosition: 'center center',
+          backgroundSize: '100% 100%'
+        }"
+      >
+        <div class="text-white text-[14px] ml-[40px] leading-[35px]">项目名称:北京交通大学雄安校区</div>
+      </div>
+
+      <div class="text-white text-[14px] tracking-[1px] leading-[24px]">
+        北京交通大学雄安校区选址位于河北雄安新区第五组团及启动区。东至规划绿地、城市道路NB6,南至城市道路ED34、城市道路EA2,西至城市道路ND32、城市道路NA11,北至城市道路EA1。
+      </div>
+
+      <img 
+        src="../assets/images/backgrounds/map.png" 
+        alt="" 
+        class="w-full h-[196px] mt-[20px]"
+      >
+
+      <!-- 参建单位 -->
+      <div 
+        class="w-full h-[30px] mt-[20px] mb-[10px]" 
+        :style="{
+          backgroundImage: `url(${bgImage})`,
+          backgroundRepeat: 'no-repeat',
+          backgroundPosition: 'center center',
+          backgroundSize: '100% 100%'
+        }"
+      >
+        <div class="text-white text-[14px] ml-[40px] leading-[35px]">参建单位</div>
+      </div>
+
+      <!-- 参建单位统计 -->
+      <div class="flex justify-between mb-[10px]">
+        <div class="w-[48%] h-[50px] px-[12px] flex items-center justify-between mr-[8px] mb-[10px] lineB">
+          <div class="text-white text-[14px] flex flex-col items-center justify-center">
+            <div class="text-[16px] text-[#00FFFF]">3</div>
+            <div class="text-[12px] text-[#ddd]">建设单位</div>
+          </div>
+          <img 
+            src="../assets/images/backgrounds/jianshedanwei.png" 
+            alt="" 
+            class="h-[40px] w-[60px]"
+          >
+        </div>
+        <div class="w-[48%] h-[50px] px-[12px] flex items-center justify-between mb-[10px] lineB">
+          <div class="text-white text-[14px] flex flex-col items-center justify-center">
+            <div class="text-[16px] text-[#00FFFF]">5</div>
+            <div class="text-[12px] text-[#ddd]">施工单位</div>
+          </div>
+          <img 
+            src="../assets/images/backgrounds/shigongdanwei.png" 
+            alt="" 
+            class="h-[40px] w-[60px]"
+          >
+        </div>
+      </div>
+
+      <div class="flex justify-between">
+        <div class="w-[48%] h-[50px] px-[12px] flex items-center justify-between mr-[8px] mb-[10px] lineB">
+          <div class="text-white text-[14px] flex flex-col items-center justify-center">
+            <div class="text-[16px] text-[#00FFFF]">1</div>
+            <div class="text-[12px] text-[#ddd]">监理单位</div>
+          </div>
+          <img 
+            src="../assets/images/backgrounds/jianlidanwei.png" 
+            alt="" 
+            class="h-[40px] w-[60px]"
+          >
+        </div>
+        <div class="w-[48%] h-[50px] px-[12px] flex items-center justify-between mb-[10px] lineB">
+          <div class="text-white text-[14px] flex flex-col items-center justify-center">
+            <div class="text-[16px] text-[#00FFFF]">1</div>
+            <div class="text-[12px] text-[#ddd]">设计单位</div>
+          </div>
+          <img 
+            src="../assets/images/backgrounds/shejidanwei.png" 
+            alt="" 
+            class="h-[40px] w-[60px]"
+          >
+        </div>
+      </div>
+
+      <!-- 表格搜索 -->
+      <div class="w-full flex items-center justify-between mb-[10px] mt-[20px]">
+        <el-input
+          v-model="searchText"
+          placeholder="搜索"
+          class="search-item w-full rounded-[2px]"
+          prefix-icon="el-icon-search"
+        >
+        </el-input>
+      </div>
+
+      <!-- 表格 -->
+      <div 
+        class="w-full min-h-[20vh] px-[8px] py-[10px]" 
+        :style="{
+          backgroundImage: `url(${tableImage})`,
+          backgroundRepeat: 'no-repeat',
+          backgroundPosition: 'center center',
+          backgroundSize: '100% 100%'
+        }"
+      >
+        <table class="w-full text-white text-[14px] overflow-y-auto">
+          <thead>
+            <tr class="table-header">
+              <th class="py-[8px] text-left pl-[12px]">类型</th>
+              <th class="py-[8px] text-left">阶段</th>
+              <th class="py-[8px] text-left">名称</th>
+            </tr>
+          </thead>
+          <tbody>
+            <tr 
+              v-for="item in tableData" 
+              :key="item.id"
+              class="border-b border-[rgba(255,255,255,0.1)]"
+            >
+              <td class="py-[8px] pl-[12px]">{{ item.type }}</td>
+              <td class="py-[8px]">{{ item.stage }}</td>
+              <td class="py-[8px]">{{ item.name }}</td>
+            </tr>
+          </tbody>
+        </table>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'ProjectView',
+  data() {
+    return {
+      searchText: '',
+      backgroundImage: new URL('@/assets/images/backgrounds/cover_bg.png', import.meta.url).href,
+      titleImage: new URL('@/assets/images/titles/xiangmu.png', import.meta.url).href,
+      contentImage: new URL('@/assets/images/titles/xiangmu_bg.png', import.meta.url).href,
+      bgImage: new URL('@/assets/images/titles/title_second.png', import.meta.url).href,
+      tableImage: new URL('@/assets/images/backgrounds/table_bg.png', import.meta.url).href,
+      tableData: [
+        {
+          name: '建设单位名称单位',
+          stage: '一标',
+          type: '建设单位'
+        },
+        {
+          name: '建设单位名称单位',
+          stage: '一标',
+          type: '建设单位'
+        },
+        {
+          name: '建设单位名称单位',
+          stage: '一标',
+          type: '建设单位'
+        },
+        {
+          name: '建设单位名称单位',
+          stage: '一标',
+          type: '建设单位'
+        },
+      ]
+    };
+  },
+}
+</script>
+
+<style scoped lang="scss">
+.project-info {
+  width: 100%;
+  height: calc(100vh - 100px);
+  display: flex;
+  flex-direction: column;
+  overflow: hidden;
+}
+
+.header {
+  width: 100%;
+}
+
+.content {
+  flex: 1;
+  width: 100%;
+
+  &::-webkit-scrollbar {
+    width: 6px;
+  }
+
+  &::-webkit-scrollbar-thumb {
+    background-color: rgba(255, 255, 255, 0.2);
+    border-radius: 3px;
+  }
+
+  &::-webkit-scrollbar-track {
+    background-color: rgba(0, 0, 0, 0.1);
+  }
+}
+
+.lineB {
+  background: radial-gradient(25% 60% at 50% 50%, rgb(26 56 89 / 50%) 0%, rgb(93 174 255 / 15%) 100%);
+  border-radius: 2px;
+  border: 1px solid;
+  border-image: linear-gradient(90deg, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.5)) 1 1;
+}
+
+.search-item {
+  ::v-deep .el-input__wrapper {
+    background-color: rgba(26, 56, 89, 0.5);
+    box-shadow: none;
+  }
+
+  ::v-deep .el-input__icon {
+    line-height: 35px;
+  }
+
+  ::v-deep .el-input__inner {
+    color: white;
+  }
+
+  ::v-deep .el-input__inner::placeholder {
+    color: rgba(255, 255, 255, 0.5);
+  }
+
+  ::v-deep .el-input__prefix-icon {
+    color: rgba(255, 255, 255, 0.5);
+  }
+}
+
+.table-header {
+  height: 32px;
+  background: linear-gradient(180deg, #3068A5 0%, #1E4066 100%);
+  box-shadow: inset 0px 1px 0px 0px rgba(255,255,255,0.2);
+}
+</style>
diff --git a/startscg.bat b/startscg.bat
new file mode 100644
index 0000000..6139c5b
--- /dev/null
+++ b/startscg.bat
@@ -0,0 +1,3 @@
+cd /d C:\Program Files (x86)\SCG-HAWE\Setup-SCG\
+start "SCG" "SCG.exe"
+exit
\ No newline at end of file
diff --git a/tailwind.config.js b/tailwind.config.js
new file mode 100644
index 0000000..7944e5d
--- /dev/null
+++ b/tailwind.config.js
@@ -0,0 +1,23 @@
+/** @type {import('tailwindcss').Config} */
+module.exports = {
+  content: ["./index.html", "./src/**/*.{vue,js,ts,jsx,tsx}"],
+  theme: {
+    extend: {
+      fontFamily: {
+        pingfang: ["PingFang SC Semibold", "PingFang SC Regular", "PingFang SC Medium", "Microsoft YaHei"],
+        "pingfang-medium": ["PingFang SC Medium", "Microsoft YaHei"],
+        "pingfang-regular": ["PingFang SC Regular", "Microsoft YaHei"],
+        "pingfang-light": ["PingFang SC Light", "平方 细体", "Microsoft YaHei"],
+        ding: ["DINEngschrift-Alternate"],
+      },
+      spacing: {
+        4.5: "1.125rem",
+        18: "4.5rem",
+      },
+      borderRadius: {
+        half: "50%",
+      },
+    },
+  },
+  plugins: [],
+};
diff --git a/vite.config.js b/vite.config.js
new file mode 100644
index 0000000..037f13a
--- /dev/null
+++ b/vite.config.js
@@ -0,0 +1,98 @@
+/* eslint-disable no-unused-vars */
+import path from "path";
+import { defineConfig, splitVendorChunkPlugin } from "vite";
+// splitVendorChunk, isCSSRequest
+
+import PluginForViteVue2 from "@vitejs/plugin-vue2";
+
+export default defineConfig(({ mode }) => {
+    return {
+        resolve: {
+            alias: {
+                "@": path.resolve(__dirname, './src'),
+                "@css": path.resolve("./src/assets/css"),
+                'worker-loader': require.resolve('worker-loader'),
+            },
+        },
+        worker: {
+            // 例如,设置一个worker的入口文件
+            // 注意:这是一个假设的配置,具体取决于worker-loader是否支持这样的配置
+            // entry: '/path/to/worker/entry.js',
+            options: { inline: true, name: 'workerName.[hash].js' }
+        },
+        plugins: [PluginForViteVue2(), splitVendorChunkPlugin()],
+        css: {
+            preprocessorOptions: {
+                scss: {
+                    additionalData: "@import '@css/sass.scss';",
+                },
+            },
+        },
+        server: {
+            proxy: {
+                "^/api/": {
+                    // target: "http://47.117.124.20:2002/",
+                    target: "https://www.probim.cn:7707",
+                    rewrite: (path) => path.replace(/^\/api\//, ""),
+                    changeOrigin: true, //通过浏览器查看像是"未生效",实际发送给后端的是更改过的Host(与target的host相同)
+                },
+            },
+            port: 3000,
+            host: "0.0.0.0",
+            cors: true,
+            open: true,
+        },
+        esbuild: {
+            treeShaking: true,
+            drop: mode === "production" ? ["console", "debugger"] : [],
+        },
+        build: {
+            minify: "esbuild",
+            chunkSizeWarningLimit: 500, //kbs
+            rollupOptions: {
+                output: {
+                    chunkFileNames: "assets/js/[name]-[hash].js",
+                    entryFileNames: "assets/js/[name]-[hash].js",
+                    assetFileNames: "assets/[ext]/[name]-[hash].[ext]",
+                    // manualChunks(id) {
+                    //   if (id.includes("/node_modules/")) {
+                    //     const name = id.split("/node_modules/")[1].split("/")[0];
+                    //     for (const key of Object.keys(ChunksMap)) {
+                    //       if (ChunksMap[key].includes(name)) {
+                    //         return key;
+                    //       }
+                    //     }
+                    //     return "vendor";
+                    //   }
+                    // },
+
+                    // eslint-disable-next-line no-unused-vars
+                    // manualChunks(id, { getModuleInfo, getModuleIds }) {
+                    //   const getShouldBeVendor = splitVendorChunk();
+                    //   const chunkName = getShouldBeVendor(id, { getModuleInfo });
+                    //   if (chunkName === "vendor") {
+                    //     //1 在node_modules文件夹下
+                    //     //2 不是css类请求
+                    //     //3 是被静态引入的
+                    //     return chunkName;
+                    //   } else if (id.includes("src")) {
+                    //     const moduleInfo = getModuleInfo(id);
+                    //     // console.log(id, "importers", moduleInfo.importers);
+                    //     // console.log(id, "dynamicImporters", moduleInfo.dynamicImporters);
+                    //     if (moduleInfo.importers.length + moduleInfo.dynamicImporters.length > 1) {
+                    //       return "manifest";
+                    //     }
+                    //   }
+                    // },
+
+                    // eslint-disable-next-line no-unused-vars
+                    manualChunks(id) {
+                        if (id.includes("/node_modules/")) {
+                            return id.split("/node_modules/")[1].split("/")[0];
+                        }
+                    },
+                },
+            },
+        },
+    };
+});
\ No newline at end of file
diff --git a/yarn.lock b/yarn.lock
new file mode 100644
index 0000000..ecec6fb
--- /dev/null
+++ b/yarn.lock
@@ -0,0 +1,1845 @@
+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
+# yarn lockfile v1
+
+
+"@babel/parser@^7.18.4":
+  version "7.20.7"
+  resolved "https://registry.npmmirror.com/@babel/parser/-/parser-7.20.7.tgz#66fe23b3c8569220817d5feb8b9dcdc95bb4f71b"
+  integrity sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==
+
+"@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.5.5":
+  version "7.20.7"
+  resolved "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.20.7.tgz#fcb41a5a70550e04a7b708037c7c32f7f356d8fd"
+  integrity sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ==
+  dependencies:
+    regenerator-runtime "^0.13.11"
+
+"@esbuild/android-arm64@0.16.17":
+  version "0.16.17"
+  resolved "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz#cf91e86df127aa3d141744edafcba0abdc577d23"
+  integrity sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==
+
+"@esbuild/android-arm@0.16.17":
+  version "0.16.17"
+  resolved "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.16.17.tgz#025b6246d3f68b7bbaa97069144fb5fb70f2fff2"
+  integrity sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==
+
+"@esbuild/android-x64@0.16.17":
+  version "0.16.17"
+  resolved "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.16.17.tgz#c820e0fef982f99a85c4b8bfdd582835f04cd96e"
+  integrity sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==
+
+"@esbuild/darwin-arm64@0.16.17":
+  version "0.16.17"
+  resolved "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz#edef4487af6b21afabba7be5132c26d22379b220"
+  integrity sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==
+
+"@esbuild/darwin-x64@0.16.17":
+  version "0.16.17"
+  resolved "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz#42829168730071c41ef0d028d8319eea0e2904b4"
+  integrity sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==
+
+"@esbuild/freebsd-arm64@0.16.17":
+  version "0.16.17"
+  resolved "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz#1f4af488bfc7e9ced04207034d398e793b570a27"
+  integrity sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==
+
+"@esbuild/freebsd-x64@0.16.17":
+  version "0.16.17"
+  resolved "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz#636306f19e9bc981e06aa1d777302dad8fddaf72"
+  integrity sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==
+
+"@esbuild/linux-arm64@0.16.17":
+  version "0.16.17"
+  resolved "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz#a003f7ff237c501e095d4f3a09e58fc7b25a4aca"
+  integrity sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==
+
+"@esbuild/linux-arm@0.16.17":
+  version "0.16.17"
+  resolved "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz#b591e6a59d9c4fe0eeadd4874b157ab78cf5f196"
+  integrity sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==
+
+"@esbuild/linux-ia32@0.16.17":
+  version "0.16.17"
+  resolved "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz#24333a11027ef46a18f57019450a5188918e2a54"
+  integrity sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==
+
+"@esbuild/linux-loong64@0.16.17":
+  version "0.16.17"
+  resolved "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz#d5ad459d41ed42bbd4d005256b31882ec52227d8"
+  integrity sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==
+
+"@esbuild/linux-mips64el@0.16.17":
+  version "0.16.17"
+  resolved "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz#4e5967a665c38360b0a8205594377d4dcf9c3726"
+  integrity sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==
+
+"@esbuild/linux-ppc64@0.16.17":
+  version "0.16.17"
+  resolved "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz#206443a02eb568f9fdf0b438fbd47d26e735afc8"
+  integrity sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==
+
+"@esbuild/linux-riscv64@0.16.17":
+  version "0.16.17"
+  resolved "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz#c351e433d009bf256e798ad048152c8d76da2fc9"
+  integrity sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==
+
+"@esbuild/linux-s390x@0.16.17":
+  version "0.16.17"
+  resolved "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz#661f271e5d59615b84b6801d1c2123ad13d9bd87"
+  integrity sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==
+
+"@esbuild/linux-x64@0.16.17":
+  version "0.16.17"
+  resolved "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz#e4ba18e8b149a89c982351443a377c723762b85f"
+  integrity sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==
+
+"@esbuild/netbsd-x64@0.16.17":
+  version "0.16.17"
+  resolved "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz#7d4f4041e30c5c07dd24ffa295c73f06038ec775"
+  integrity sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==
+
+"@esbuild/openbsd-x64@0.16.17":
+  version "0.16.17"
+  resolved "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz#970fa7f8470681f3e6b1db0cc421a4af8060ec35"
+  integrity sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==
+
+"@esbuild/sunos-x64@0.16.17":
+  version "0.16.17"
+  resolved "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz#abc60e7c4abf8b89fb7a4fe69a1484132238022c"
+  integrity sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==
+
+"@esbuild/win32-arm64@0.16.17":
+  version "0.16.17"
+  resolved "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz#7b0ff9e8c3265537a7a7b1fd9a24e7bd39fcd87a"
+  integrity sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==
+
+"@esbuild/win32-ia32@0.16.17":
+  version "0.16.17"
+  resolved "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz#e90fe5267d71a7b7567afdc403dfd198c292eb09"
+  integrity sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==
+
+"@esbuild/win32-x64@0.16.17":
+  version "0.16.17"
+  resolved "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz#c5a1a4bfe1b57f0c3e61b29883525c6da3e5c091"
+  integrity sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==
+
+"@eslint/eslintrc@^1.4.1":
+  version "1.4.1"
+  resolved "https://registry.npmmirror.com/@eslint/eslintrc/-/eslintrc-1.4.1.tgz#af58772019a2d271b7e2d4c23ff4ddcba3ccfb3e"
+  integrity sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==
+  dependencies:
+    ajv "^6.12.4"
+    debug "^4.3.2"
+    espree "^9.4.0"
+    globals "^13.19.0"
+    ignore "^5.2.0"
+    import-fresh "^3.2.1"
+    js-yaml "^4.1.0"
+    minimatch "^3.1.2"
+    strip-json-comments "^3.1.1"
+
+"@humanwhocodes/config-array@^0.11.8":
+  version "0.11.8"
+  resolved "https://registry.npmmirror.com/@humanwhocodes/config-array/-/config-array-0.11.8.tgz#03595ac2075a4dc0f191cc2131de14fbd7d410b9"
+  integrity sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==
+  dependencies:
+    "@humanwhocodes/object-schema" "^1.2.1"
+    debug "^4.1.1"
+    minimatch "^3.0.5"
+
+"@humanwhocodes/module-importer@^1.0.1":
+  version "1.0.1"
+  resolved "https://registry.npmmirror.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c"
+  integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==
+
+"@humanwhocodes/object-schema@^1.2.1":
+  version "1.2.1"
+  resolved "https://registry.npmmirror.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45"
+  integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==
+
+"@nodelib/fs.scandir@2.1.5":
+  version "2.1.5"
+  resolved "https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
+  integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==
+  dependencies:
+    "@nodelib/fs.stat" "2.0.5"
+    run-parallel "^1.1.9"
+
+"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
+  version "2.0.5"
+  resolved "https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b"
+  integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
+
+"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8":
+  version "1.2.8"
+  resolved "https://registry.npmmirror.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a"
+  integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==
+  dependencies:
+    "@nodelib/fs.scandir" "2.1.5"
+    fastq "^1.6.0"
+
+"@videojs/http-streaming@2.14.3":
+  version "2.14.3"
+  resolved "https://registry.npmmirror.com/@videojs/http-streaming/-/http-streaming-2.14.3.tgz#3277e03b576766decb4fc663e954e18bfa10d2a1"
+  integrity sha512-2tFwxCaNbcEZzQugWf8EERwNMyNtspfHnvxRGRABQs09W/5SqmkWFuGWfUAm4wQKlXGfdPyAJ1338ASl459xAA==
+  dependencies:
+    "@babel/runtime" "^7.12.5"
+    "@videojs/vhs-utils" "3.0.5"
+    aes-decrypter "3.1.3"
+    global "^4.4.0"
+    m3u8-parser "4.7.1"
+    mpd-parser "0.21.1"
+    mux.js "6.0.1"
+    video.js "^6 || ^7"
+
+"@videojs/vhs-utils@3.0.5", "@videojs/vhs-utils@^3.0.4", "@videojs/vhs-utils@^3.0.5":
+  version "3.0.5"
+  resolved "https://registry.npmmirror.com/@videojs/vhs-utils/-/vhs-utils-3.0.5.tgz#665ba70d78258ba1ab977364e2fe9f4d4799c46c"
+  integrity sha512-PKVgdo8/GReqdx512F+ombhS+Bzogiofy1LgAj4tN8PfdBx3HSS7V5WfJotKTqtOWGwVfSWsrYN/t09/DSryrw==
+  dependencies:
+    "@babel/runtime" "^7.12.5"
+    global "^4.4.0"
+    url-toolkit "^2.2.1"
+
+"@videojs/xhr@2.6.0":
+  version "2.6.0"
+  resolved "https://registry.npmmirror.com/@videojs/xhr/-/xhr-2.6.0.tgz#cd897e0ad54faf497961bcce3fa16dc15a26bb80"
+  integrity sha512-7J361GiN1tXpm+gd0xz2QWr3xNWBE+rytvo8J3KuggFaLg+U37gZQ2BuPLcnkfGffy2e+ozY70RHC8jt7zjA6Q==
+  dependencies:
+    "@babel/runtime" "^7.5.5"
+    global "~4.4.0"
+    is-function "^1.0.1"
+
+"@vitejs/plugin-vue2@^2.2.0":
+  version "2.2.0"
+  resolved "https://registry.npmmirror.com/@vitejs/plugin-vue2/-/plugin-vue2-2.2.0.tgz#7453207197d6ac2b7023cedc7133b142c604c356"
+  integrity sha512-1km7zEuZ/9QRPvzXSjikbTYGQPG86Mq1baktpC4sXqsXlb02HQKfi+fl8qVS703JM7cgm24Ga9j+RwKmvFn90A==
+
+"@vue/compiler-sfc@2.7.14":
+  version "2.7.14"
+  resolved "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-2.7.14.tgz#3446fd2fbb670d709277fc3ffa88efc5e10284fd"
+  integrity sha512-aNmNHyLPsw+sVvlQFQ2/8sjNuLtK54TC6cuKnVzAY93ks4ZBrvwQSnkkIh7bsbNhum5hJBS00wSDipQ937f5DA==
+  dependencies:
+    "@babel/parser" "^7.18.4"
+    postcss "^8.4.14"
+    source-map "^0.6.1"
+
+"@xmldom/xmldom@^0.7.2":
+  version "0.7.9"
+  resolved "https://registry.npmmirror.com/@xmldom/xmldom/-/xmldom-0.7.9.tgz#7f9278a50e737920e21b297b8a35286e9942c056"
+  integrity sha512-yceMpm/xd4W2a85iqZyO09gTnHvXF6pyiWjD2jcOJs7hRoZtNNOO1eJlhHj1ixA+xip2hOyGn+LgcvLCMo5zXA==
+
+acorn-jsx@^5.3.2:
+  version "5.3.2"
+  resolved "https://registry.npmmirror.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
+  integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
+
+acorn-node@^1.8.2:
+  version "1.8.2"
+  resolved "https://registry.npmmirror.com/acorn-node/-/acorn-node-1.8.2.tgz#114c95d64539e53dede23de8b9d96df7c7ae2af8"
+  integrity sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==
+  dependencies:
+    acorn "^7.0.0"
+    acorn-walk "^7.0.0"
+    xtend "^4.0.2"
+
+acorn-walk@^7.0.0:
+  version "7.2.0"
+  resolved "https://registry.npmmirror.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc"
+  integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==
+
+acorn@^7.0.0:
+  version "7.4.1"
+  resolved "https://registry.npmmirror.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
+  integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
+
+acorn@^8.8.0:
+  version "8.8.1"
+  resolved "https://registry.npmmirror.com/acorn/-/acorn-8.8.1.tgz#0a3f9cbecc4ec3bea6f0a80b66ae8dd2da250b73"
+  integrity sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==
+
+aes-decrypter@3.1.3:
+  version "3.1.3"
+  resolved "https://registry.npmmirror.com/aes-decrypter/-/aes-decrypter-3.1.3.tgz#65ff5f2175324d80c41083b0e135d1464b12ac35"
+  integrity sha512-VkG9g4BbhMBy+N5/XodDeV6F02chEk9IpgRTq/0bS80y4dzy79VH2Gtms02VXomf3HmyRe3yyJYkJ990ns+d6A==
+  dependencies:
+    "@babel/runtime" "^7.12.5"
+    "@videojs/vhs-utils" "^3.0.5"
+    global "^4.4.0"
+    pkcs7 "^1.0.4"
+
+ajv-keywords@^3.1.0:
+  version "3.5.2"
+  resolved "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d"
+  integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==
+
+ajv@^6.1.0, ajv@^6.10.0, ajv@^6.12.4:
+  version "6.12.6"
+  resolved "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
+  integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
+  dependencies:
+    fast-deep-equal "^3.1.1"
+    fast-json-stable-stringify "^2.0.0"
+    json-schema-traverse "^0.4.1"
+    uri-js "^4.2.2"
+
+ansi-regex@^5.0.1:
+  version "5.0.1"
+  resolved "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
+  integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
+
+ansi-styles@^4.1.0:
+  version "4.3.0"
+  resolved "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
+  integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
+  dependencies:
+    color-convert "^2.0.1"
+
+anymatch@~3.1.2:
+  version "3.1.3"
+  resolved "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e"
+  integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==
+  dependencies:
+    normalize-path "^3.0.0"
+    picomatch "^2.0.4"
+
+arg@^5.0.2:
+  version "5.0.2"
+  resolved "https://registry.npmmirror.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c"
+  integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==
+
+argparse@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.npmmirror.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
+  integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
+
+async-validator@~1.8.1:
+  version "1.8.5"
+  resolved "https://registry.npmmirror.com/async-validator/-/async-validator-1.8.5.tgz#dc3e08ec1fd0dddb67e60842f02c0cd1cec6d7f0"
+  integrity sha512-tXBM+1m056MAX0E8TL2iCjg8WvSyXu0Zc8LNtYqrVeyoL3+esHRZ4SieE9fKQyyU09uONjnMEjrNBMqT0mbvmA==
+  dependencies:
+    babel-runtime "6.x"
+
+asynckit@^0.4.0:
+  version "0.4.0"
+  resolved "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
+  integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
+
+autoprefixer@^10.4.13:
+  version "10.4.13"
+  resolved "https://registry.npmmirror.com/autoprefixer/-/autoprefixer-10.4.13.tgz#b5136b59930209a321e9fa3dca2e7c4d223e83a8"
+  integrity sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==
+  dependencies:
+    browserslist "^4.21.4"
+    caniuse-lite "^1.0.30001426"
+    fraction.js "^4.2.0"
+    normalize-range "^0.1.2"
+    picocolors "^1.0.0"
+    postcss-value-parser "^4.2.0"
+
+axios@^1.2.1:
+  version "1.2.2"
+  resolved "https://registry.npmmirror.com/axios/-/axios-1.2.2.tgz#72681724c6e6a43a9fea860fc558127dbe32f9f1"
+  integrity sha512-bz/J4gS2S3I7mpN/YZfGFTqhXTYzRho8Ay38w2otuuDR322KzFIWm/4W2K6gIwvWaws5n+mnb7D1lN9uD+QH6Q==
+  dependencies:
+    follow-redirects "^1.15.0"
+    form-data "^4.0.0"
+    proxy-from-env "^1.1.0"
+
+babel-helper-vue-jsx-merge-props@^2.0.0:
+  version "2.0.3"
+  resolved "https://registry.npmmirror.com/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-2.0.3.tgz#22aebd3b33902328e513293a8e4992b384f9f1b6"
+  integrity sha512-gsLiKK7Qrb7zYJNgiXKpXblxbV5ffSwR0f5whkPAaBAR4fhi6bwRZxX9wBlIc5M/v8CCkXUbXZL4N/nSE97cqg==
+
+babel-runtime@6.x:
+  version "6.26.0"
+  resolved "https://registry.npmmirror.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
+  integrity sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==
+  dependencies:
+    core-js "^2.4.0"
+    regenerator-runtime "^0.11.0"
+
+balanced-match@^1.0.0:
+  version "1.0.2"
+  resolved "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
+  integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
+
+big.js@^5.2.2:
+  version "5.2.2"
+  resolved "https://registry.npmmirror.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328"
+  integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==
+
+binary-extensions@^2.0.0:
+  version "2.2.0"
+  resolved "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
+  integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
+
+boolbase@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.npmmirror.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
+  integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==
+
+brace-expansion@^1.1.7:
+  version "1.1.11"
+  resolved "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
+  integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
+  dependencies:
+    balanced-match "^1.0.0"
+    concat-map "0.0.1"
+
+braces@^3.0.2, braces@~3.0.2:
+  version "3.0.2"
+  resolved "https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
+  integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
+  dependencies:
+    fill-range "^7.0.1"
+
+browserslist@^4.21.4:
+  version "4.21.4"
+  resolved "https://registry.npmmirror.com/browserslist/-/browserslist-4.21.4.tgz#e7496bbc67b9e39dd0f98565feccdcb0d4ff6987"
+  integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==
+  dependencies:
+    caniuse-lite "^1.0.30001400"
+    electron-to-chromium "^1.4.251"
+    node-releases "^2.0.6"
+    update-browserslist-db "^1.0.9"
+
+callsites@^3.0.0:
+  version "3.1.0"
+  resolved "https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
+  integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
+
+camelcase-css@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.npmmirror.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5"
+  integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==
+
+caniuse-lite@^1.0.30001400, caniuse-lite@^1.0.30001426:
+  version "1.0.30001442"
+  resolved "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001442.tgz#40337f1cf3be7c637b061e2f78582dc1daec0614"
+  integrity sha512-239m03Pqy0hwxYPYR5JwOIxRJfLTWtle9FV8zosfV5pHg+/51uD4nxcUlM8+mWWGfwKtt8lJNHnD3cWw9VZ6ow==
+
+chalk@^4.0.0:
+  version "4.1.2"
+  resolved "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
+  integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
+  dependencies:
+    ansi-styles "^4.1.0"
+    supports-color "^7.1.0"
+
+"chokidar@>=3.0.0 <4.0.0", chokidar@^3.5.3:
+  version "3.5.3"
+  resolved "https://registry.npmmirror.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd"
+  integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
+  dependencies:
+    anymatch "~3.1.2"
+    braces "~3.0.2"
+    glob-parent "~5.1.2"
+    is-binary-path "~2.1.0"
+    is-glob "~4.0.1"
+    normalize-path "~3.0.0"
+    readdirp "~3.6.0"
+  optionalDependencies:
+    fsevents "~2.3.2"
+
+claygl@^1.2.1:
+  version "1.3.0"
+  resolved "https://registry.npmmirror.com/claygl/-/claygl-1.3.0.tgz#7a6e2903210519ac358848f5d78070ed211685f3"
+  integrity sha512-+gGtJjT6SSHD2l2yC3MCubW/sCV40tZuSs5opdtn79vFSGUgp/lH139RNEQ6Jy078/L0aV8odCw8RSrUcMfLaQ==
+
+color-convert@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
+  integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
+  dependencies:
+    color-name "~1.1.4"
+
+color-name@^1.1.4, color-name@~1.1.4:
+  version "1.1.4"
+  resolved "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
+  integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
+
+combined-stream@^1.0.8:
+  version "1.0.8"
+  resolved "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
+  integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
+  dependencies:
+    delayed-stream "~1.0.0"
+
+comutils@^1.1.9:
+  version "1.1.19"
+  resolved "https://registry.npmmirror.com/comutils/-/comutils-1.1.19.tgz#3e07f306abf48e83726511713a72b20565034443"
+  integrity sha512-JxXB67juILiwhdLwOsYyjUqwWEhHdObI0EClOPk+JDtEuTbac59s0pxGpfCBnNNQ5JommifmcMGneW/4Cg7YWw==
+
+concat-map@0.0.1:
+  version "0.0.1"
+  resolved "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
+  integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==
+
+core-js@^2.4.0:
+  version "2.6.12"
+  resolved "https://registry.npmmirror.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec"
+  integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==
+
+cross-spawn@^7.0.2:
+  version "7.0.3"
+  resolved "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
+  integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
+  dependencies:
+    path-key "^3.1.0"
+    shebang-command "^2.0.0"
+    which "^2.0.1"
+
+crypto-js@^4.1.1:
+  version "4.1.1"
+  resolved "https://registry.npmmirror.com/crypto-js/-/crypto-js-4.1.1.tgz#9e485bcf03521041bd85844786b83fb7619736cf"
+  integrity sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==
+
+cssesc@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.npmmirror.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee"
+  integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==
+
+csstype@^3.1.0:
+  version "3.1.1"
+  resolved "https://registry.npmmirror.com/csstype/-/csstype-3.1.1.tgz#841b532c45c758ee546a11d5bd7b7b473c8c30b9"
+  integrity sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==
+
+dayjs@^1.11.7:
+  version "1.11.7"
+  resolved "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.7.tgz#4b296922642f70999544d1144a2c25730fce63e2"
+  integrity sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==
+
+de-indent@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.npmmirror.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d"
+  integrity sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==
+
+debug@^4.1.1, debug@^4.3.2, debug@^4.3.4:
+  version "4.3.4"
+  resolved "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
+  integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
+  dependencies:
+    ms "2.1.2"
+
+deep-is@^0.1.3:
+  version "0.1.4"
+  resolved "https://registry.npmmirror.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831"
+  integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
+
+deepmerge@^1.2.0:
+  version "1.5.2"
+  resolved "https://registry.npmmirror.com/deepmerge/-/deepmerge-1.5.2.tgz#10499d868844cdad4fee0842df8c7f6f0c95a753"
+  integrity sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==
+
+defined@^1.0.0:
+  version "1.0.1"
+  resolved "https://registry.npmmirror.com/defined/-/defined-1.0.1.tgz#c0b9db27bfaffd95d6f61399419b893df0f91ebf"
+  integrity sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==
+
+delayed-stream@~1.0.0:
+  version "1.0.0"
+  resolved "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
+  integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
+
+detective@^5.2.1:
+  version "5.2.1"
+  resolved "https://registry.npmmirror.com/detective/-/detective-5.2.1.tgz#6af01eeda11015acb0e73f933242b70f24f91034"
+  integrity sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==
+  dependencies:
+    acorn-node "^1.8.2"
+    defined "^1.0.0"
+    minimist "^1.2.6"
+
+didyoumean@^1.2.2:
+  version "1.2.2"
+  resolved "https://registry.npmmirror.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037"
+  integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==
+
+dlv@^1.1.3:
+  version "1.1.3"
+  resolved "https://registry.npmmirror.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79"
+  integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==
+
+doctrine@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.npmmirror.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
+  integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==
+  dependencies:
+    esutils "^2.0.2"
+
+dom-walk@^0.1.0:
+  version "0.1.2"
+  resolved "https://registry.npmmirror.com/dom-walk/-/dom-walk-0.1.2.tgz#0c548bef048f4d1f2a97249002236060daa3fd84"
+  integrity sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==
+
+echarts-gl@2.0.9:
+  version "2.0.9"
+  resolved "https://registry.npmmirror.com/echarts-gl/-/echarts-gl-2.0.9.tgz#ee228a6c7520a6fb7bbb71ea94394f3637ade033"
+  integrity sha512-oKeMdkkkpJGWOzjgZUsF41DOh6cMsyrGGXimbjK2l6Xeq/dBQu4ShG2w2Dzrs/1bD27b2pLTGSaUzouY191gzA==
+  dependencies:
+    claygl "^1.2.1"
+    zrender "^5.1.1"
+
+echarts@^5.4.1:
+  version "5.4.1"
+  resolved "https://registry.npmmirror.com/echarts/-/echarts-5.4.1.tgz#d7f65a584d78beff62568d878b16151b3381811c"
+  integrity sha512-9ltS3M2JB0w2EhcYjCdmtrJ+6haZcW6acBolMGIuf01Hql1yrIV01L1aRj7jsaaIULJslEP9Z3vKlEmnJaWJVQ==
+  dependencies:
+    tslib "2.3.0"
+    zrender "5.4.1"
+
+electron-to-chromium@^1.4.251:
+  version "1.4.284"
+  resolved "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz#61046d1e4cab3a25238f6bf7413795270f125592"
+  integrity sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==
+
+element-ui@^2.15.12:
+  version "2.15.12"
+  resolved "https://registry.npmmirror.com/element-ui/-/element-ui-2.15.12.tgz#fdde927a54078b17a85541ff7c0f0dad32488b8e"
+  integrity sha512-Y5FMT2BPOindU2GkDEQ5ZKUVxDawKONRNMh2eL3uBx1FOtvUJ+L6IxXLVsNxq4WnaX/UnVNgWXebl7DobygZMg==
+  dependencies:
+    async-validator "~1.8.1"
+    babel-helper-vue-jsx-merge-props "^2.0.0"
+    deepmerge "^1.2.0"
+    normalize-wheel "^1.0.1"
+    resize-observer-polyfill "^1.5.0"
+    throttle-debounce "^1.0.1"
+
+emojis-list@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.npmmirror.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78"
+  integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==
+
+esbuild@^0.16.3:
+  version "0.16.17"
+  resolved "https://registry.npmmirror.com/esbuild/-/esbuild-0.16.17.tgz#fc2c3914c57ee750635fee71b89f615f25065259"
+  integrity sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==
+  optionalDependencies:
+    "@esbuild/android-arm" "0.16.17"
+    "@esbuild/android-arm64" "0.16.17"
+    "@esbuild/android-x64" "0.16.17"
+    "@esbuild/darwin-arm64" "0.16.17"
+    "@esbuild/darwin-x64" "0.16.17"
+    "@esbuild/freebsd-arm64" "0.16.17"
+    "@esbuild/freebsd-x64" "0.16.17"
+    "@esbuild/linux-arm" "0.16.17"
+    "@esbuild/linux-arm64" "0.16.17"
+    "@esbuild/linux-ia32" "0.16.17"
+    "@esbuild/linux-loong64" "0.16.17"
+    "@esbuild/linux-mips64el" "0.16.17"
+    "@esbuild/linux-ppc64" "0.16.17"
+    "@esbuild/linux-riscv64" "0.16.17"
+    "@esbuild/linux-s390x" "0.16.17"
+    "@esbuild/linux-x64" "0.16.17"
+    "@esbuild/netbsd-x64" "0.16.17"
+    "@esbuild/openbsd-x64" "0.16.17"
+    "@esbuild/sunos-x64" "0.16.17"
+    "@esbuild/win32-arm64" "0.16.17"
+    "@esbuild/win32-ia32" "0.16.17"
+    "@esbuild/win32-x64" "0.16.17"
+
+escalade@^3.1.1:
+  version "3.1.1"
+  resolved "https://registry.npmmirror.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
+  integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
+
+escape-string-regexp@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
+  integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
+
+eslint-config-prettier@^8.5.0:
+  version "8.6.0"
+  resolved "https://registry.npmmirror.com/eslint-config-prettier/-/eslint-config-prettier-8.6.0.tgz#dec1d29ab728f4fa63061774e1672ac4e363d207"
+  integrity sha512-bAF0eLpLVqP5oEVUFKpMA+NnRFICwn9X8B5jrR9FcqnYBuPbqWEjTEspPWMj5ye6czoSLDweCzSo3Ko7gGrZaA==
+
+eslint-define-config@^1.12.0:
+  version "1.14.0"
+  resolved "https://registry.npmmirror.com/eslint-define-config/-/eslint-define-config-1.14.0.tgz#a9ce2861e88c7f1b6bc73a8f38ed8225ab296d13"
+  integrity sha512-NREt5SzMwKmLAY28YdaqIiTSJxfPpuZ+1ZLJxY2Wbj02dYF4QX81z0q9MPMjZB8C+SlCu66qAhcPpFJyhXOiuA==
+
+eslint-plugin-prettier@^4.2.1:
+  version "4.2.1"
+  resolved "https://registry.npmmirror.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz#651cbb88b1dab98bfd42f017a12fa6b2d993f94b"
+  integrity sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==
+  dependencies:
+    prettier-linter-helpers "^1.0.0"
+
+eslint-plugin-vue@^9.8.0:
+  version "9.8.0"
+  resolved "https://registry.npmmirror.com/eslint-plugin-vue/-/eslint-plugin-vue-9.8.0.tgz#91de2aabbee8cdbef078ccd4f650a9ecfa445f4f"
+  integrity sha512-E/AXwcTzunyzM83C2QqDHxepMzvI2y6x+mmeYHbVDQlKFqmKYvRrhaVixEeeG27uI44p9oKDFiyCRw4XxgtfHA==
+  dependencies:
+    eslint-utils "^3.0.0"
+    natural-compare "^1.4.0"
+    nth-check "^2.0.1"
+    postcss-selector-parser "^6.0.9"
+    semver "^7.3.5"
+    vue-eslint-parser "^9.0.1"
+    xml-name-validator "^4.0.0"
+
+eslint-scope@^7.1.1:
+  version "7.1.1"
+  resolved "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642"
+  integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==
+  dependencies:
+    esrecurse "^4.3.0"
+    estraverse "^5.2.0"
+
+eslint-utils@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.npmmirror.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672"
+  integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==
+  dependencies:
+    eslint-visitor-keys "^2.0.0"
+
+eslint-visitor-keys@^2.0.0:
+  version "2.1.0"
+  resolved "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303"
+  integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==
+
+eslint-visitor-keys@^3.3.0:
+  version "3.3.0"
+  resolved "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826"
+  integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==
+
+eslint@^8.30.0:
+  version "8.31.0"
+  resolved "https://registry.npmmirror.com/eslint/-/eslint-8.31.0.tgz#75028e77cbcff102a9feae1d718135931532d524"
+  integrity sha512-0tQQEVdmPZ1UtUKXjX7EMm9BlgJ08G90IhWh0PKDCb3ZLsgAOHI8fYSIzYVZej92zsgq+ft0FGsxhJ3xo2tbuA==
+  dependencies:
+    "@eslint/eslintrc" "^1.4.1"
+    "@humanwhocodes/config-array" "^0.11.8"
+    "@humanwhocodes/module-importer" "^1.0.1"
+    "@nodelib/fs.walk" "^1.2.8"
+    ajv "^6.10.0"
+    chalk "^4.0.0"
+    cross-spawn "^7.0.2"
+    debug "^4.3.2"
+    doctrine "^3.0.0"
+    escape-string-regexp "^4.0.0"
+    eslint-scope "^7.1.1"
+    eslint-utils "^3.0.0"
+    eslint-visitor-keys "^3.3.0"
+    espree "^9.4.0"
+    esquery "^1.4.0"
+    esutils "^2.0.2"
+    fast-deep-equal "^3.1.3"
+    file-entry-cache "^6.0.1"
+    find-up "^5.0.0"
+    glob-parent "^6.0.2"
+    globals "^13.19.0"
+    grapheme-splitter "^1.0.4"
+    ignore "^5.2.0"
+    import-fresh "^3.0.0"
+    imurmurhash "^0.1.4"
+    is-glob "^4.0.0"
+    is-path-inside "^3.0.3"
+    js-sdsl "^4.1.4"
+    js-yaml "^4.1.0"
+    json-stable-stringify-without-jsonify "^1.0.1"
+    levn "^0.4.1"
+    lodash.merge "^4.6.2"
+    minimatch "^3.1.2"
+    natural-compare "^1.4.0"
+    optionator "^0.9.1"
+    regexpp "^3.2.0"
+    strip-ansi "^6.0.1"
+    strip-json-comments "^3.1.0"
+    text-table "^0.2.0"
+
+espree@^9.3.1, espree@^9.4.0:
+  version "9.4.1"
+  resolved "https://registry.npmmirror.com/espree/-/espree-9.4.1.tgz#51d6092615567a2c2cff7833445e37c28c0065bd"
+  integrity sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==
+  dependencies:
+    acorn "^8.8.0"
+    acorn-jsx "^5.3.2"
+    eslint-visitor-keys "^3.3.0"
+
+esquery@^1.4.0:
+  version "1.4.0"
+  resolved "https://registry.npmmirror.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5"
+  integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==
+  dependencies:
+    estraverse "^5.1.0"
+
+esrecurse@^4.3.0:
+  version "4.3.0"
+  resolved "https://registry.npmmirror.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921"
+  integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
+  dependencies:
+    estraverse "^5.2.0"
+
+estraverse@^5.1.0, estraverse@^5.2.0:
+  version "5.3.0"
+  resolved "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123"
+  integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
+
+esutils@^2.0.2:
+  version "2.0.3"
+  resolved "https://registry.npmmirror.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
+  integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
+
+fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
+  version "3.1.3"
+  resolved "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
+  integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
+
+fast-diff@^1.1.2:
+  version "1.2.0"
+  resolved "https://registry.npmmirror.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03"
+  integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==
+
+fast-glob@^3.2.12:
+  version "3.2.12"
+  resolved "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80"
+  integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==
+  dependencies:
+    "@nodelib/fs.stat" "^2.0.2"
+    "@nodelib/fs.walk" "^1.2.3"
+    glob-parent "^5.1.2"
+    merge2 "^1.3.0"
+    micromatch "^4.0.4"
+
+fast-json-stable-stringify@^2.0.0:
+  version "2.1.0"
+  resolved "https://registry.npmmirror.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
+  integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
+
+fast-levenshtein@^2.0.6:
+  version "2.0.6"
+  resolved "https://registry.npmmirror.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
+  integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==
+
+fastq@^1.6.0:
+  version "1.15.0"
+  resolved "https://registry.npmmirror.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a"
+  integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==
+  dependencies:
+    reusify "^1.0.4"
+
+file-entry-cache@^6.0.1:
+  version "6.0.1"
+  resolved "https://registry.npmmirror.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027"
+  integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==
+  dependencies:
+    flat-cache "^3.0.4"
+
+fill-range@^7.0.1:
+  version "7.0.1"
+  resolved "https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
+  integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
+  dependencies:
+    to-regex-range "^5.0.1"
+
+find-up@^5.0.0:
+  version "5.0.0"
+  resolved "https://registry.npmmirror.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc"
+  integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==
+  dependencies:
+    locate-path "^6.0.0"
+    path-exists "^4.0.0"
+
+flat-cache@^3.0.4:
+  version "3.0.4"
+  resolved "https://registry.npmmirror.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11"
+  integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==
+  dependencies:
+    flatted "^3.1.0"
+    rimraf "^3.0.2"
+
+flatted@^3.1.0:
+  version "3.2.7"
+  resolved "https://registry.npmmirror.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787"
+  integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==
+
+follow-redirects@^1.15.0:
+  version "1.15.2"
+  resolved "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13"
+  integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==
+
+form-data@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.npmmirror.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452"
+  integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==
+  dependencies:
+    asynckit "^0.4.0"
+    combined-stream "^1.0.8"
+    mime-types "^2.1.12"
+
+fraction.js@^4.2.0:
+  version "4.2.0"
+  resolved "https://registry.npmmirror.com/fraction.js/-/fraction.js-4.2.0.tgz#448e5109a313a3527f5a3ab2119ec4cf0e0e2950"
+  integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==
+
+fs.realpath@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
+  integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
+
+fsevents@~2.3.2:
+  version "2.3.2"
+  resolved "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
+  integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
+
+function-bind@^1.1.1:
+  version "1.1.1"
+  resolved "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
+  integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
+
+glob-parent@^5.1.2, glob-parent@~5.1.2:
+  version "5.1.2"
+  resolved "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
+  integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
+  dependencies:
+    is-glob "^4.0.1"
+
+glob-parent@^6.0.2:
+  version "6.0.2"
+  resolved "https://registry.npmmirror.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3"
+  integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==
+  dependencies:
+    is-glob "^4.0.3"
+
+glob@^7.1.3:
+  version "7.2.3"
+  resolved "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
+  integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
+  dependencies:
+    fs.realpath "^1.0.0"
+    inflight "^1.0.4"
+    inherits "2"
+    minimatch "^3.1.1"
+    once "^1.3.0"
+    path-is-absolute "^1.0.0"
+
+global@^4.3.1, global@^4.4.0, global@~4.4.0:
+  version "4.4.0"
+  resolved "https://registry.npmmirror.com/global/-/global-4.4.0.tgz#3e7b105179006a323ed71aafca3e9c57a5cc6406"
+  integrity sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==
+  dependencies:
+    min-document "^2.19.0"
+    process "^0.11.10"
+
+globals@^13.19.0:
+  version "13.19.0"
+  resolved "https://registry.npmmirror.com/globals/-/globals-13.19.0.tgz#7a42de8e6ad4f7242fbcca27ea5b23aca367b5c8"
+  integrity sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==
+  dependencies:
+    type-fest "^0.20.2"
+
+grapheme-splitter@^1.0.4:
+  version "1.0.4"
+  resolved "https://registry.npmmirror.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e"
+  integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==
+
+has-flag@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
+  integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
+
+has@^1.0.3:
+  version "1.0.3"
+  resolved "https://registry.npmmirror.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
+  integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
+  dependencies:
+    function-bind "^1.1.1"
+
+he@^1.2.0:
+  version "1.2.0"
+  resolved "https://registry.npmmirror.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
+  integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
+
+ignore@^5.2.0:
+  version "5.2.4"
+  resolved "https://registry.npmmirror.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324"
+  integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==
+
+immutable@^4.0.0:
+  version "4.2.2"
+  resolved "https://registry.npmmirror.com/immutable/-/immutable-4.2.2.tgz#2da9ff4384a4330c36d4d1bc88e90f9e0b0ccd16"
+  integrity sha512-fTMKDwtbvO5tldky9QZ2fMX7slR0mYpY5nbnFWYp0fOzDhHqhgIw9KoYgxLWsoNTS9ZHGauHj18DTyEw6BK3Og==
+
+import-fresh@^3.0.0, import-fresh@^3.2.1:
+  version "3.3.0"
+  resolved "https://registry.npmmirror.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
+  integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==
+  dependencies:
+    parent-module "^1.0.0"
+    resolve-from "^4.0.0"
+
+imurmurhash@^0.1.4:
+  version "0.1.4"
+  resolved "https://registry.npmmirror.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
+  integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==
+
+individual@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.npmmirror.com/individual/-/individual-2.0.0.tgz#833b097dad23294e76117a98fb38e0d9ad61bb97"
+  integrity sha512-pWt8hBCqJsUWI/HtcfWod7+N9SgAqyPEaF7JQjwzjn5vGrpg6aQ5qeAFQ7dx//UH4J1O+7xqew+gCeeFt6xN/g==
+
+inflight@^1.0.4:
+  version "1.0.6"
+  resolved "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
+  integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==
+  dependencies:
+    once "^1.3.0"
+    wrappy "1"
+
+inherits@2:
+  version "2.0.4"
+  resolved "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
+  integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
+
+is-binary-path@~2.1.0:
+  version "2.1.0"
+  resolved "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
+  integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
+  dependencies:
+    binary-extensions "^2.0.0"
+
+is-core-module@^2.9.0:
+  version "2.11.0"
+  resolved "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144"
+  integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==
+  dependencies:
+    has "^1.0.3"
+
+is-extglob@^2.1.1:
+  version "2.1.1"
+  resolved "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
+  integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
+
+is-function@^1.0.1:
+  version "1.0.2"
+  resolved "https://registry.npmmirror.com/is-function/-/is-function-1.0.2.tgz#4f097f30abf6efadac9833b17ca5dc03f8144e08"
+  integrity sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==
+
+is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1:
+  version "4.0.3"
+  resolved "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
+  integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
+  dependencies:
+    is-extglob "^2.1.1"
+
+is-number@^7.0.0:
+  version "7.0.0"
+  resolved "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
+  integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
+
+is-path-inside@^3.0.3:
+  version "3.0.3"
+  resolved "https://registry.npmmirror.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283"
+  integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==
+
+isexe@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
+  integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
+
+jquery@^3.7.1:
+  version "3.7.1"
+  resolved "https://registry.npmmirror.com/jquery/-/jquery-3.7.1.tgz#083ef98927c9a6a74d05a6af02806566d16274de"
+  integrity sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==
+
+js-sdsl@^4.1.4:
+  version "4.2.0"
+  resolved "https://registry.npmmirror.com/js-sdsl/-/js-sdsl-4.2.0.tgz#278e98b7bea589b8baaf048c20aeb19eb7ad09d0"
+  integrity sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ==
+
+js-yaml@^4.1.0:
+  version "4.1.0"
+  resolved "https://registry.npmmirror.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602"
+  integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
+  dependencies:
+    argparse "^2.0.1"
+
+json-schema-traverse@^0.4.1:
+  version "0.4.1"
+  resolved "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
+  integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
+
+json-stable-stringify-without-jsonify@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.npmmirror.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
+  integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==
+
+json5@^1.0.1:
+  version "1.0.2"
+  resolved "https://registry.npmmirror.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593"
+  integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==
+  dependencies:
+    minimist "^1.2.0"
+
+keycode@^2.2.0:
+  version "2.2.1"
+  resolved "https://registry.npmmirror.com/keycode/-/keycode-2.2.1.tgz#09c23b2be0611d26117ea2501c2c391a01f39eff"
+  integrity sha512-Rdgz9Hl9Iv4QKi8b0OlCRQEzp4AgVxyCtz5S/+VIHezDmrDhkp2N2TqBWOLz0/gbeREXOOiI9/4b8BY9uw2vFg==
+
+levn@^0.4.1:
+  version "0.4.1"
+  resolved "https://registry.npmmirror.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
+  integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==
+  dependencies:
+    prelude-ls "^1.2.1"
+    type-check "~0.4.0"
+
+lilconfig@^2.0.5, lilconfig@^2.0.6:
+  version "2.0.6"
+  resolved "https://registry.npmmirror.com/lilconfig/-/lilconfig-2.0.6.tgz#32a384558bd58af3d4c6e077dd1ad1d397bc69d4"
+  integrity sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==
+
+loader-utils@^1.0.0:
+  version "1.4.2"
+  resolved "https://registry.npmmirror.com/loader-utils/-/loader-utils-1.4.2.tgz#29a957f3a63973883eb684f10ffd3d151fec01a3"
+  integrity sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==
+  dependencies:
+    big.js "^5.2.2"
+    emojis-list "^3.0.0"
+    json5 "^1.0.1"
+
+locate-path@^6.0.0:
+  version "6.0.0"
+  resolved "https://registry.npmmirror.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286"
+  integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==
+  dependencies:
+    p-locate "^5.0.0"
+
+lodash-es@^4.17.21:
+  version "4.17.21"
+  resolved "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee"
+  integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==
+
+lodash.merge@^4.6.2:
+  version "4.6.2"
+  resolved "https://registry.npmmirror.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
+  integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
+
+lodash@^4.17.21:
+  version "4.17.21"
+  resolved "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
+  integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
+
+lru-cache@^6.0.0:
+  version "6.0.0"
+  resolved "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
+  integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
+  dependencies:
+    yallist "^4.0.0"
+
+m3u8-parser@4.7.1:
+  version "4.7.1"
+  resolved "https://registry.npmmirror.com/m3u8-parser/-/m3u8-parser-4.7.1.tgz#d6df2c940bb19a01112a04ccc4ff44886a945305"
+  integrity sha512-pbrQwiMiq+MmI9bl7UjtPT3AK603PV9bogNlr83uC+X9IoxqL5E4k7kU7fMQ0dpRgxgeSMygqUa0IMLQNXLBNA==
+  dependencies:
+    "@babel/runtime" "^7.12.5"
+    "@videojs/vhs-utils" "^3.0.5"
+    global "^4.4.0"
+
+merge2@^1.3.0:
+  version "1.4.1"
+  resolved "https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
+  integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
+
+micromatch@^4.0.4, micromatch@^4.0.5:
+  version "4.0.5"
+  resolved "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6"
+  integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==
+  dependencies:
+    braces "^3.0.2"
+    picomatch "^2.3.1"
+
+mime-db@1.52.0:
+  version "1.52.0"
+  resolved "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
+  integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
+
+mime-types@^2.1.12:
+  version "2.1.35"
+  resolved "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
+  integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
+  dependencies:
+    mime-db "1.52.0"
+
+min-document@^2.19.0:
+  version "2.19.0"
+  resolved "https://registry.npmmirror.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685"
+  integrity sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==
+  dependencies:
+    dom-walk "^0.1.0"
+
+minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2:
+  version "3.1.2"
+  resolved "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
+  integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
+  dependencies:
+    brace-expansion "^1.1.7"
+
+minimist@^1.2.0:
+  version "1.2.8"
+  resolved "https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c"
+  integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==
+
+minimist@^1.2.6:
+  version "1.2.7"
+  resolved "https://registry.npmmirror.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18"
+  integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==
+
+mpd-parser@0.21.1:
+  version "0.21.1"
+  resolved "https://registry.npmmirror.com/mpd-parser/-/mpd-parser-0.21.1.tgz#4f4834074ed0a8e265d8b04a5d2d7b5045a4fa55"
+  integrity sha512-BxlSXWbKE1n7eyEPBnTEkrzhS3PdmkkKdM1pgKbPnPOH0WFZIc0sPOWi7m0Uo3Wd2a4Or8Qf4ZbS7+ASqQ49fw==
+  dependencies:
+    "@babel/runtime" "^7.12.5"
+    "@videojs/vhs-utils" "^3.0.5"
+    "@xmldom/xmldom" "^0.7.2"
+    global "^4.4.0"
+
+ms@2.1.2:
+  version "2.1.2"
+  resolved "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
+  integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
+
+mux.js@6.0.1:
+  version "6.0.1"
+  resolved "https://registry.npmmirror.com/mux.js/-/mux.js-6.0.1.tgz#65ce0f7a961d56c006829d024d772902d28c7755"
+  integrity sha512-22CHb59rH8pWGcPGW5Og7JngJ9s+z4XuSlYvnxhLuc58cA1WqGDQPzuG8I+sPm1/p0CdgpzVTaKW408k5DNn8w==
+  dependencies:
+    "@babel/runtime" "^7.11.2"
+    global "^4.4.0"
+
+nanoid@^3.3.4:
+  version "3.3.4"
+  resolved "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab"
+  integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==
+
+nanoid@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.npmmirror.com/nanoid/-/nanoid-4.0.0.tgz#6e144dee117609232c3f415c34b0e550e64999a5"
+  integrity sha512-IgBP8piMxe/gf73RTQx7hmnhwz0aaEXYakvqZyE302IXW3HyVNhdNGC+O2MwMAVhLEnvXlvKtGbtJf6wvHihCg==
+
+natural-compare@^1.4.0:
+  version "1.4.0"
+  resolved "https://registry.npmmirror.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
+  integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==
+
+node-releases@^2.0.6:
+  version "2.0.8"
+  resolved "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.8.tgz#0f349cdc8fcfa39a92ac0be9bc48b7706292b9ae"
+  integrity sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==
+
+normalize-path@^3.0.0, normalize-path@~3.0.0:
+  version "3.0.0"
+  resolved "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
+  integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
+
+normalize-range@^0.1.2:
+  version "0.1.2"
+  resolved "https://registry.npmmirror.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942"
+  integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==
+
+normalize-wheel@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.npmmirror.com/normalize-wheel/-/normalize-wheel-1.0.1.tgz#aec886affdb045070d856447df62ecf86146ec45"
+  integrity sha512-1OnlAPZ3zgrk8B91HyRj+eVv+kS5u+Z0SCsak6Xil/kmgEia50ga7zfkumayonZrImffAxPU/5WcyGhzetHNPA==
+
+nprogress@^0.2.0:
+  version "0.2.0"
+  resolved "https://registry.npmmirror.com/nprogress/-/nprogress-0.2.0.tgz#cb8f34c53213d895723fcbab907e9422adbcafb1"
+  integrity sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==
+
+nth-check@^2.0.1:
+  version "2.1.1"
+  resolved "https://registry.npmmirror.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d"
+  integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==
+  dependencies:
+    boolbase "^1.0.0"
+
+object-hash@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.npmmirror.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9"
+  integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==
+
+once@^1.3.0:
+  version "1.4.0"
+  resolved "https://registry.npmmirror.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
+  integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==
+  dependencies:
+    wrappy "1"
+
+optionator@^0.9.1:
+  version "0.9.1"
+  resolved "https://registry.npmmirror.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499"
+  integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==
+  dependencies:
+    deep-is "^0.1.3"
+    fast-levenshtein "^2.0.6"
+    levn "^0.4.1"
+    prelude-ls "^1.2.1"
+    type-check "^0.4.0"
+    word-wrap "^1.2.3"
+
+p-limit@^3.0.2:
+  version "3.1.0"
+  resolved "https://registry.npmmirror.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
+  integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
+  dependencies:
+    yocto-queue "^0.1.0"
+
+p-locate@^5.0.0:
+  version "5.0.0"
+  resolved "https://registry.npmmirror.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834"
+  integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==
+  dependencies:
+    p-limit "^3.0.2"
+
+parent-module@^1.0.0:
+  version "1.0.1"
+  resolved "https://registry.npmmirror.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
+  integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
+  dependencies:
+    callsites "^3.0.0"
+
+path-exists@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
+  integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
+
+path-is-absolute@^1.0.0:
+  version "1.0.1"
+  resolved "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
+  integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==
+
+path-key@^3.1.0:
+  version "3.1.1"
+  resolved "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
+  integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
+
+path-parse@^1.0.7:
+  version "1.0.7"
+  resolved "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
+  integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
+
+picocolors@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
+  integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
+
+picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1:
+  version "2.3.1"
+  resolved "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
+  integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
+
+pify@^2.3.0:
+  version "2.3.0"
+  resolved "https://registry.npmmirror.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
+  integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==
+
+pkcs7@^1.0.4:
+  version "1.0.4"
+  resolved "https://registry.npmmirror.com/pkcs7/-/pkcs7-1.0.4.tgz#6090b9e71160dabf69209d719cbafa538b00a1cb"
+  integrity sha512-afRERtHn54AlwaF2/+LFszyAANTCggGilmcmILUzEjvs3XgFZT+xE6+QWQcAGmu4xajy+Xtj7acLOPdx5/eXWQ==
+  dependencies:
+    "@babel/runtime" "^7.5.5"
+
+postcss-import@^14.1.0:
+  version "14.1.0"
+  resolved "https://registry.npmmirror.com/postcss-import/-/postcss-import-14.1.0.tgz#a7333ffe32f0b8795303ee9e40215dac922781f0"
+  integrity sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==
+  dependencies:
+    postcss-value-parser "^4.0.0"
+    read-cache "^1.0.0"
+    resolve "^1.1.7"
+
+postcss-js@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.npmmirror.com/postcss-js/-/postcss-js-4.0.0.tgz#31db79889531b80dc7bc9b0ad283e418dce0ac00"
+  integrity sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==
+  dependencies:
+    camelcase-css "^2.0.1"
+
+postcss-load-config@^3.1.4:
+  version "3.1.4"
+  resolved "https://registry.npmmirror.com/postcss-load-config/-/postcss-load-config-3.1.4.tgz#1ab2571faf84bb078877e1d07905eabe9ebda855"
+  integrity sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==
+  dependencies:
+    lilconfig "^2.0.5"
+    yaml "^1.10.2"
+
+postcss-nested@6.0.0:
+  version "6.0.0"
+  resolved "https://registry.npmmirror.com/postcss-nested/-/postcss-nested-6.0.0.tgz#1572f1984736578f360cffc7eb7dca69e30d1735"
+  integrity sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==
+  dependencies:
+    postcss-selector-parser "^6.0.10"
+
+postcss-pxtorem@^6.0.0:
+  version "6.0.0"
+  resolved "https://registry.npmmirror.com/postcss-pxtorem/-/postcss-pxtorem-6.0.0.tgz#f228a4d05d8a73f0642eabae950e2b19836366d7"
+  integrity sha512-ZRXrD7MLLjLk2RNGV6UA4f5Y7gy+a/j1EqjAfp9NdcNYVjUMvg5HTYduTjSkKBkRkfqbg/iKrjMO70V4g1LZeg==
+
+postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.9:
+  version "6.0.11"
+  resolved "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz#2e41dc39b7ad74046e1615185185cd0b17d0c8dc"
+  integrity sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==
+  dependencies:
+    cssesc "^3.0.0"
+    util-deprecate "^1.0.2"
+
+postcss-value-parser@^4.0.0, postcss-value-parser@^4.2.0:
+  version "4.2.0"
+  resolved "https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514"
+  integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
+
+postcss@^8.0.9, postcss@^8.4.14, postcss@^8.4.20:
+  version "8.4.21"
+  resolved "https://registry.npmmirror.com/postcss/-/postcss-8.4.21.tgz#c639b719a57efc3187b13a1d765675485f4134f4"
+  integrity sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==
+  dependencies:
+    nanoid "^3.3.4"
+    picocolors "^1.0.0"
+    source-map-js "^1.0.2"
+
+prelude-ls@^1.2.1:
+  version "1.2.1"
+  resolved "https://registry.npmmirror.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
+  integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
+
+prettier-linter-helpers@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.npmmirror.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b"
+  integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==
+  dependencies:
+    fast-diff "^1.1.2"
+
+prettier@^2.8.1:
+  version "2.8.2"
+  resolved "https://registry.npmmirror.com/prettier/-/prettier-2.8.2.tgz#c4ea1b5b454d7c4b59966db2e06ed7eec5dfd160"
+  integrity sha512-BtRV9BcncDyI2tsuS19zzhzoxD8Dh8LiCx7j7tHzrkz8GFXAexeWFdi22mjE1d16dftH2qNaytVxqiRTGlMfpw==
+
+process@^0.11.10:
+  version "0.11.10"
+  resolved "https://registry.npmmirror.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
+  integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==
+
+proxy-from-env@^1.1.0:
+  version "1.1.0"
+  resolved "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2"
+  integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==
+
+punycode@^2.1.0:
+  version "2.2.0"
+  resolved "https://registry.npmmirror.com/punycode/-/punycode-2.2.0.tgz#2092cc57cd2582c38e4e7e8bb869dc8d3148bc74"
+  integrity sha512-LN6QV1IJ9ZhxWTNdktaPClrNfp8xdSAYS0Zk2ddX7XsXZAxckMHPCBcHRo0cTcEIgYPRiGEkmji3Idkh2yFtYw==
+
+queue-microtask@^1.2.2:
+  version "1.2.3"
+  resolved "https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
+  integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
+
+quick-lru@^5.1.1:
+  version "5.1.1"
+  resolved "https://registry.npmmirror.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932"
+  integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==
+
+read-cache@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.npmmirror.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774"
+  integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==
+  dependencies:
+    pify "^2.3.0"
+
+readdirp@~3.6.0:
+  version "3.6.0"
+  resolved "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
+  integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
+  dependencies:
+    picomatch "^2.2.1"
+
+regenerator-runtime@^0.11.0:
+  version "0.11.1"
+  resolved "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"
+  integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==
+
+regenerator-runtime@^0.13.11:
+  version "0.13.11"
+  resolved "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9"
+  integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==
+
+regexpp@^3.2.0:
+  version "3.2.0"
+  resolved "https://registry.npmmirror.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2"
+  integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==
+
+resize-observer-polyfill@^1.5.0:
+  version "1.5.1"
+  resolved "https://registry.npmmirror.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464"
+  integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==
+
+resolve-from@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.npmmirror.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
+  integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
+
+resolve@^1.1.7, resolve@^1.22.1:
+  version "1.22.1"
+  resolved "https://registry.npmmirror.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177"
+  integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==
+  dependencies:
+    is-core-module "^2.9.0"
+    path-parse "^1.0.7"
+    supports-preserve-symlinks-flag "^1.0.0"
+
+reusify@^1.0.4:
+  version "1.0.4"
+  resolved "https://registry.npmmirror.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
+  integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
+
+rimraf@^3.0.2:
+  version "3.0.2"
+  resolved "https://registry.npmmirror.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
+  integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
+  dependencies:
+    glob "^7.1.3"
+
+rollup@^3.7.0:
+  version "3.9.1"
+  resolved "https://registry.npmmirror.com/rollup/-/rollup-3.9.1.tgz#27501d3d026418765fe379d5620d25954ff2a011"
+  integrity sha512-GswCYHXftN8ZKGVgQhTFUJB/NBXxrRGgO2NCy6E8s1rwEJ4Q9/VttNqcYfEvx4dTo4j58YqdC3OVztPzlKSX8w==
+  optionalDependencies:
+    fsevents "~2.3.2"
+
+run-parallel@^1.1.9:
+  version "1.2.0"
+  resolved "https://registry.npmmirror.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
+  integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
+  dependencies:
+    queue-microtask "^1.2.2"
+
+rust-result@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.npmmirror.com/rust-result/-/rust-result-1.0.0.tgz#34c75b2e6dc39fe5875e5bdec85b5e0f91536f72"
+  integrity sha512-6cJzSBU+J/RJCF063onnQf0cDUOHs9uZI1oroSGnHOph+CQTIJ5Pp2hK5kEQq1+7yE/EEWfulSNXAQ2jikPthA==
+  dependencies:
+    individual "^2.0.0"
+
+safe-json-parse@4.0.0:
+  version "4.0.0"
+  resolved "https://registry.npmmirror.com/safe-json-parse/-/safe-json-parse-4.0.0.tgz#7c0f578cfccd12d33a71c0e05413e2eca171eaac"
+  integrity sha512-RjZPPHugjK0TOzFrLZ8inw44s9bKox99/0AZW9o/BEQVrJfhI+fIHMErnPyRa89/yRXUUr93q+tiN6zhoVV4wQ==
+  dependencies:
+    rust-result "^1.0.0"
+
+sass@^1.57.1:
+  version "1.57.1"
+  resolved "https://registry.npmmirror.com/sass/-/sass-1.57.1.tgz#dfafd46eb3ab94817145e8825208ecf7281119b5"
+  integrity sha512-O2+LwLS79op7GI0xZ8fqzF7X2m/m8WFfI02dHOdsK5R2ECeS5F62zrwg/relM1rjSLy7Vd/DiMNIvPrQGsA0jw==
+  dependencies:
+    chokidar ">=3.0.0 <4.0.0"
+    immutable "^4.0.0"
+    source-map-js ">=0.6.2 <2.0.0"
+
+schema-utils@^0.4.0:
+  version "0.4.7"
+  resolved "https://registry.npmmirror.com/schema-utils/-/schema-utils-0.4.7.tgz#ba74f597d2be2ea880131746ee17d0a093c68187"
+  integrity sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==
+  dependencies:
+    ajv "^6.1.0"
+    ajv-keywords "^3.1.0"
+
+semver@^7.3.5, semver@^7.3.6:
+  version "7.3.8"
+  resolved "https://registry.npmmirror.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798"
+  integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==
+  dependencies:
+    lru-cache "^6.0.0"
+
+shebang-command@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
+  integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
+  dependencies:
+    shebang-regex "^3.0.0"
+
+shebang-regex@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
+  integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
+
+"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
+  integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
+
+source-map@^0.6.1:
+  version "0.6.1"
+  resolved "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
+  integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
+
+strip-ansi@^6.0.1:
+  version "6.0.1"
+  resolved "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
+  integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
+  dependencies:
+    ansi-regex "^5.0.1"
+
+strip-json-comments@^3.1.0, strip-json-comments@^3.1.1:
+  version "3.1.1"
+  resolved "https://registry.npmmirror.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
+  integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
+
+supports-color@^7.1.0:
+  version "7.2.0"
+  resolved "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
+  integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
+  dependencies:
+    has-flag "^4.0.0"
+
+supports-preserve-symlinks-flag@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
+  integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
+
+tailwindcss@^3.2.7:
+  version "3.2.7"
+  resolved "https://registry.npmmirror.com/tailwindcss/-/tailwindcss-3.2.7.tgz#5936dd08c250b05180f0944500c01dce19188c07"
+  integrity sha512-B6DLqJzc21x7wntlH/GsZwEXTBttVSl1FtCzC8WP4oBc/NKef7kaax5jeihkkCEWc831/5NDJ9gRNDK6NEioQQ==
+  dependencies:
+    arg "^5.0.2"
+    chokidar "^3.5.3"
+    color-name "^1.1.4"
+    detective "^5.2.1"
+    didyoumean "^1.2.2"
+    dlv "^1.1.3"
+    fast-glob "^3.2.12"
+    glob-parent "^6.0.2"
+    is-glob "^4.0.3"
+    lilconfig "^2.0.6"
+    micromatch "^4.0.5"
+    normalize-path "^3.0.0"
+    object-hash "^3.0.0"
+    picocolors "^1.0.0"
+    postcss "^8.0.9"
+    postcss-import "^14.1.0"
+    postcss-js "^4.0.0"
+    postcss-load-config "^3.1.4"
+    postcss-nested "6.0.0"
+    postcss-selector-parser "^6.0.11"
+    postcss-value-parser "^4.2.0"
+    quick-lru "^5.1.1"
+    resolve "^1.22.1"
+
+text-table@^0.2.0:
+  version "0.2.0"
+  resolved "https://registry.npmmirror.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
+  integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==
+
+throttle-debounce@^1.0.1:
+  version "1.1.0"
+  resolved "https://registry.npmmirror.com/throttle-debounce/-/throttle-debounce-1.1.0.tgz#51853da37be68a155cb6e827b3514a3c422e89cd"
+  integrity sha512-XH8UiPCQcWNuk2LYePibW/4qL97+ZQ1AN3FNXwZRBNPPowo/NRU5fAlDCSNBJIYCKbioZfuYtMhG4quqoJhVzg==
+
+to-regex-range@^5.0.1:
+  version "5.0.1"
+  resolved "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
+  integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
+  dependencies:
+    is-number "^7.0.0"
+
+tslib@2.3.0:
+  version "2.3.0"
+  resolved "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz#803b8cdab3e12ba581a4ca41c8839bbb0dacb09e"
+  integrity sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==
+
+type-check@^0.4.0, type-check@~0.4.0:
+  version "0.4.0"
+  resolved "https://registry.npmmirror.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
+  integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==
+  dependencies:
+    prelude-ls "^1.2.1"
+
+type-fest@^0.20.2:
+  version "0.20.2"
+  resolved "https://registry.npmmirror.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4"
+  integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==
+
+update-browserslist-db@^1.0.9:
+  version "1.0.10"
+  resolved "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3"
+  integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==
+  dependencies:
+    escalade "^3.1.1"
+    picocolors "^1.0.0"
+
+uri-js@^4.2.2:
+  version "4.4.1"
+  resolved "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
+  integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
+  dependencies:
+    punycode "^2.1.0"
+
+url-toolkit@^2.2.1:
+  version "2.2.5"
+  resolved "https://registry.npmmirror.com/url-toolkit/-/url-toolkit-2.2.5.tgz#58406b18e12c58803e14624df5e374f638b0f607"
+  integrity sha512-mtN6xk+Nac+oyJ/PrI7tzfmomRVNFIWKUbG8jdYFt52hxbiReFAXIjYskvu64/dvuW71IcB7lV8l0HvZMac6Jg==
+
+util-deprecate@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
+  integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
+
+"video.js@^6 || ^7", video.js@^7.20.3:
+  version "7.20.3"
+  resolved "https://registry.npmmirror.com/video.js/-/video.js-7.20.3.tgz#5694741346dc683255993e5069daa15d4bacb646"
+  integrity sha512-JMspxaK74LdfWcv69XWhX4rILywz/eInOVPdKefpQiZJSMD5O8xXYueqACP2Q5yqKstycgmmEKlJzZ+kVmDciw==
+  dependencies:
+    "@babel/runtime" "^7.12.5"
+    "@videojs/http-streaming" "2.14.3"
+    "@videojs/vhs-utils" "^3.0.4"
+    "@videojs/xhr" "2.6.0"
+    aes-decrypter "3.1.3"
+    global "^4.4.0"
+    keycode "^2.2.0"
+    m3u8-parser "4.7.1"
+    mpd-parser "0.21.1"
+    mux.js "6.0.1"
+    safe-json-parse "4.0.0"
+    videojs-font "3.2.0"
+    videojs-vtt.js "^0.15.4"
+
+videojs-font@3.2.0:
+  version "3.2.0"
+  resolved "https://registry.npmmirror.com/videojs-font/-/videojs-font-3.2.0.tgz#212c9d3f4e4ec3fa7345167d64316add35e92232"
+  integrity sha512-g8vHMKK2/JGorSfqAZQUmYYNnXmfec4MLhwtEFS+mMs2IDY398GLysy6BH6K+aS1KMNu/xWZ8Sue/X/mdQPliA==
+
+videojs-vtt.js@^0.15.4:
+  version "0.15.4"
+  resolved "https://registry.npmmirror.com/videojs-vtt.js/-/videojs-vtt.js-0.15.4.tgz#5dc5aabcd82ba40c5595469bd855ea8230ca152c"
+  integrity sha512-r6IhM325fcLb1D6pgsMkTQT1PpFdUdYZa1iqk7wJEu+QlibBwATPfPc9Bg8Jiym0GE5yP1AG2rMLu+QMVWkYtA==
+  dependencies:
+    global "^4.3.1"
+
+vite@^4.0.3:
+  version "4.0.4"
+  resolved "https://registry.npmmirror.com/vite/-/vite-4.0.4.tgz#4612ce0b47bbb233a887a54a4ae0c6e240a0da31"
+  integrity sha512-xevPU7M8FU0i/80DMR+YhgrzR5KS2ORy1B4xcX/cXLsvnUWvfHuqMmVU6N0YiJ4JWGRJJsLCgjEzKjG9/GKoSw==
+  dependencies:
+    esbuild "^0.16.3"
+    postcss "^8.4.20"
+    resolve "^1.22.1"
+    rollup "^3.7.0"
+  optionalDependencies:
+    fsevents "~2.3.2"
+
+vue-eslint-parser@^9.0.1:
+  version "9.1.0"
+  resolved "https://registry.npmmirror.com/vue-eslint-parser/-/vue-eslint-parser-9.1.0.tgz#0e121d1bb29bd10763c83e3cc583ee03434a9dd5"
+  integrity sha512-NGn/iQy8/Wb7RrRa4aRkokyCZfOUWk19OP5HP6JEozQFX5AoS/t+Z0ZN7FY4LlmWc4FNI922V7cvX28zctN8dQ==
+  dependencies:
+    debug "^4.3.4"
+    eslint-scope "^7.1.1"
+    eslint-visitor-keys "^3.3.0"
+    espree "^9.3.1"
+    esquery "^1.4.0"
+    lodash "^4.17.21"
+    semver "^7.3.6"
+
+vue-router@^3.6.5:
+  version "3.6.5"
+  resolved "https://registry.npmmirror.com/vue-router/-/vue-router-3.6.5.tgz#95847d52b9a7e3f1361cb605c8e6441f202afad8"
+  integrity sha512-VYXZQLtjuvKxxcshuRAwjHnciqZVoXAjTjcqBTz4rKc8qih9g9pI3hbDjmqXaHdgL3v8pV6P8Z335XvHzESxLQ==
+
+vue-seamless-scroll@^1.1.23:
+  version "1.1.23"
+  resolved "https://registry.npmmirror.com/vue-seamless-scroll/-/vue-seamless-scroll-1.1.23.tgz#dde81b3c79aa499791b3c3bffd0fdb22ff3e59a7"
+  integrity sha512-HBjUub8WwsKJzbFCrwKPDrZn4e+SSbkKgwWtjKtfLwesiFGwSsVxP44/Z6d3kpXy94qIFOiflJH6l0/9pj7SGA==
+  dependencies:
+    comutils "^1.1.9"
+
+vue-template-compiler@^2.7.14:
+  version "2.7.14"
+  resolved "https://registry.npmmirror.com/vue-template-compiler/-/vue-template-compiler-2.7.14.tgz#4545b7dfb88090744c1577ae5ac3f964e61634b1"
+  integrity sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==
+  dependencies:
+    de-indent "^1.0.2"
+    he "^1.2.0"
+
+vue@^2.7.14:
+  version "2.7.14"
+  resolved "https://registry.npmmirror.com/vue/-/vue-2.7.14.tgz#3743dcd248fd3a34d421ae456b864a0246bafb17"
+  integrity sha512-b2qkFyOM0kwqWFuQmgd4o+uHGU7T+2z3T+WQp8UBjADfEv2n4FEMffzBmCKNP0IGzOEEfYjvtcC62xaSKeQDrQ==
+  dependencies:
+    "@vue/compiler-sfc" "2.7.14"
+    csstype "^3.1.0"
+
+vuex@^3.6.2:
+  version "3.6.2"
+  resolved "https://registry.npmmirror.com/vuex/-/vuex-3.6.2.tgz#236bc086a870c3ae79946f107f16de59d5895e71"
+  integrity sha512-ETW44IqCgBpVomy520DT5jf8n0zoCac+sxWnn+hMe/CzaSejb/eVw2YToiXYX+Ex/AuHHia28vWTq4goAexFbw==
+
+which@^2.0.1:
+  version "2.0.2"
+  resolved "https://registry.npmmirror.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
+  integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
+  dependencies:
+    isexe "^2.0.0"
+
+word-wrap@^1.2.3:
+  version "1.2.3"
+  resolved "https://registry.npmmirror.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
+  integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
+
+worker-loader@2.0.0:
+  version "2.0.0"
+  resolved "https://registry.npmmirror.com/worker-loader/-/worker-loader-2.0.0.tgz#45fda3ef76aca815771a89107399ee4119b430ac"
+  integrity sha512-tnvNp4K3KQOpfRnD20m8xltE3eWh89Ye+5oj7wXEEHKac1P4oZ6p9oTj8/8ExqoSBnk9nu5Pr4nKfQ1hn2APJw==
+  dependencies:
+    loader-utils "^1.0.0"
+    schema-utils "^0.4.0"
+
+wrappy@1:
+  version "1.0.2"
+  resolved "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
+  integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
+
+xml-name-validator@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.npmmirror.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz#79a006e2e63149a8600f15430f0a4725d1524835"
+  integrity sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==
+
+xtend@^4.0.2:
+  version "4.0.2"
+  resolved "https://registry.npmmirror.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
+  integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
+
+yallist@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
+  integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
+
+yaml@^1.10.2:
+  version "1.10.2"
+  resolved "https://registry.npmmirror.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b"
+  integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==
+
+yocto-queue@^0.1.0:
+  version "0.1.0"
+  resolved "https://registry.npmmirror.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
+  integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
+
+zrender@5.4.1:
+  version "5.4.1"
+  resolved "https://registry.npmmirror.com/zrender/-/zrender-5.4.1.tgz#892f864b885c71e1dc25dcb3c7a4ba42678d3f11"
+  integrity sha512-M4Z05BHWtajY2241EmMPHglDQAJ1UyHQcYsxDNzD9XLSkPDqMq4bB28v9Pb4mvHnVQ0GxyTklZ/69xCFP6RXBA==
+  dependencies:
+    tslib "2.3.0"
+
+zrender@^5.1.1:
+  version "5.6.0"
+  resolved "https://registry.npmmirror.com/zrender/-/zrender-5.6.0.tgz#01325b0bb38332dd5e87a8dbee7336cafc0f4a5b"
+  integrity sha512-uzgraf4njmmHAbEUxMJ8Oxg+P3fT04O+9p7gY+wJRVxo8Ge+KmYv0WJev945EH4wFuc4OY2NLXz46FZrWS9xJg==
+  dependencies:
+    tslib "2.3.0"
diff --git "a/\345\244\247\345\261\217.xmind" "b/\345\244\247\345\261\217.xmind"
new file mode 100644
index 0000000..8f61c6b
--- /dev/null
+++ "b/\345\244\247\345\261\217.xmind"
Binary files differ

--
Gitblit v1.9.3