commit 9f170896a52366faa76958cba60954df7764fc02 Author: fengchenchen Date: Tue Aug 22 16:30:10 2023 +0800 Initial commit diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..3e26fbb --- /dev/null +++ b/.editorconfig @@ -0,0 +1,39 @@ +[*] +charset=utf-8 +end_of_line=crlf +insert_final_newline=false +indent_style=space +indent_size=2 + +[{*.ng,*.sht,*.html,*.shtm,*.shtml,*.htm}] +indent_style=space +indent_size=2 + +[{*.jhm,*.xslt,*.xul,*.rng,*.xsl,*.xsd,*.ant,*.tld,*.fxml,*.jrxml,*.xml,*.jnlp,*.wsdl}] +indent_style=space +indent_size=2 + +[{.babelrc,.stylelintrc,jest.config,.eslintrc,.prettierrc,*.json,*.jsb3,*.jsb2,*.bowerrc}] +indent_style=space +indent_size=2 + +[*.svg] +indent_style=space +indent_size=2 + +[*.js.map] +indent_style=space +indent_size=2 + +[*.less] +indent_style=space +indent_size=2 + +[*.vue] +indent_style=space +indent_size=2 + +[{.analysis_options,*.yml,*.yaml}] +indent_style=space +indent_size=2 + diff --git a/.env.test b/.env.test new file mode 100644 index 0000000..fcd7902 --- /dev/null +++ b/.env.test @@ -0,0 +1,3 @@ +# 本地139测试环境的变量 +NODE_ENV=production +VUE_APP_CURRENT_INFO=local_prod diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..9e5fc16 --- /dev/null +++ b/.eslintignore @@ -0,0 +1,3 @@ +/dist +/public +/*.js diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..5ca23ae --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,28 @@ +module.exports = { + "env": { + "browser": true, + "es6": true + }, + "extends": [ + "eslint:recommended", + "plugin:vue/essential" + ], + "globals": { + "Atomics": "readonly", + "SharedArrayBuffer": "readonly" + }, + "parserOptions": { + "ecmaVersion": 2018, + "sourceType": "module" + }, + "plugins": [ + "vue" + ], + "rules": { + 'quotes': [2, 'single', { + 'avoidEscape': true, + 'allowTemplateLiterals': true + }], + 'semi': [2, 'never'], + } +}; diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..403adbc --- /dev/null +++ b/.gitignore @@ -0,0 +1,23 @@ +.DS_Store +node_modules +/dist + + +# 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? diff --git a/README.md b/README.md new file mode 100644 index 0000000..33e823a --- /dev/null +++ b/README.md @@ -0,0 +1,25 @@ +# income_payments_client_external + +## Project setup +``` +yarn install +``` + +- 开发模式运行 +``` +yarn run serve +``` + +- 编译项目 +``` +yarn run build +``` + +- Lints and fixes files +``` +yarn run lint +``` + + +### Customize configuration +See [Configuration Reference](https://cli.vuejs.org/config/). diff --git a/babel.config.js b/babel.config.js new file mode 100644 index 0000000..c1b783e --- /dev/null +++ b/babel.config.js @@ -0,0 +1,3 @@ +module.exports = { + presets: ['@vue/cli-plugin-babel/preset'], +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..6611714 --- /dev/null +++ b/package.json @@ -0,0 +1,76 @@ +{ + "name": "cwp_client", + "version": "0.1.0", + "private": true, + "scripts": { + "serve": "vue-cli-service serve", + "build": "vue-cli-service build", + "test": "vue-cli-service build --mode test", + "lint": "vue-cli-service lint" + }, + "dependencies": { + "@fullcalendar/daygrid": "^5.11.3", + "@fullcalendar/interaction": "^5.11.3", + "@fullcalendar/vue": "^5.11.3", + "@tinymce/tinymce-vue": "^2.1.0", + "ant-design-vue": "^1.7.6", + "area-data": "^5.0.6", + "axios": "^0.21.1", + "compression-webpack-plugin": "5.0.1", + "core-js": "^3.6.5", + "dayjs": "^1.10.6", + "echarts": "^5.2.1", + "enquire.js": "^2.1.6", + "jsencrypt": "^3.2.1", + "lodash.pick": "^4.4.0", + "nprogress": "^0.2.0", + "tinymce": "^5.3.2", + "tippy.js": "^6.3.7", + "vue": "^2.6.11", + "vue-area-linkage": "^5.1.0", + "vue-ls": "^3.2.2", + "vue-photo-preview": "^1.1.3", + "vue-print-nb-jeecg": "^1.0.9", + "vue-router": "^3.2.0", + "vuedraggable": "^2.20.0", + "vuex": "^3.4.0" + }, + "devDependencies": { + "@vue/cli-plugin-babel": "~4.5.0", + "@vue/cli-plugin-eslint": "~4.5.0", + "@vue/cli-plugin-router": "~4.5.0", + "@vue/cli-plugin-vuex": "~4.5.0", + "@vue/cli-service": "~4.5.0", + "@vue/eslint-config-prettier": "^6.0.0", + "babel-eslint": "^10.1.0", + "eslint": "^6.7.2", + "eslint-plugin-prettier": "^3.3.1", + "eslint-plugin-vue": "^6.2.2", + "less": "^3.0.4", + "less-loader": "^5.0.0", + "prettier": "^2.2.1", + "vue-template-compiler": "^2.6.11" + }, + "eslintConfig": { + "root": true, + "env": { + "node": true + }, + "extends": [ + "plugin:vue/essential", + "eslint:recommended", + "@vue/prettier" + ], + "parserOptions": { + "parser": "babel-eslint" + }, + "rules": { + "no-debugger": "off" + } + }, + "browserslist": [ + "> 1%", + "last 2 versions", + "not dead" + ] +} diff --git a/public/cdn/babel-polyfill/polyfill_7_2_5.js b/public/cdn/babel-polyfill/polyfill_7_2_5.js new file mode 100644 index 0000000..250b921 --- /dev/null +++ b/public/cdn/babel-polyfill/polyfill_7_2_5.js @@ -0,0 +1,6953 @@ +(function(){function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o 2 ? arguments[2] : undefined; + var count = Math.min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to); + var inc = 1; + if (from < to && to < from + count) { + inc = -1; + from += count - 1; + to += count - 1; + } + while (count-- > 0) { + if (from in O) O[to] = O[from]; + else delete O[to]; + to += inc; + from += inc; + } return O; +}; + +},{"113":113,"117":117,"118":118}],18:[function(_dereq_,module,exports){ +// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length) +'use strict'; +var toObject = _dereq_(118); +var toAbsoluteIndex = _dereq_(113); +var toLength = _dereq_(117); +module.exports = function fill(value /* , start = 0, end = @length */) { + var O = toObject(this); + var length = toLength(O.length); + var aLen = arguments.length; + var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length); + var end = aLen > 2 ? arguments[2] : undefined; + var endPos = end === undefined ? length : toAbsoluteIndex(end, length); + while (endPos > index) O[index++] = value; + return O; +}; + +},{"113":113,"117":117,"118":118}],19:[function(_dereq_,module,exports){ +// false -> Array#indexOf +// true -> Array#includes +var toIObject = _dereq_(116); +var toLength = _dereq_(117); +var toAbsoluteIndex = _dereq_(113); +module.exports = function (IS_INCLUDES) { + return function ($this, el, fromIndex) { + var O = toIObject($this); + var length = toLength(O.length); + var index = toAbsoluteIndex(fromIndex, length); + var value; + // Array#includes uses SameValueZero equality algorithm + // eslint-disable-next-line no-self-compare + if (IS_INCLUDES && el != el) while (length > index) { + value = O[index++]; + // eslint-disable-next-line no-self-compare + if (value != value) return true; + // Array#indexOf ignores holes, Array#includes - not + } else for (;length > index; index++) if (IS_INCLUDES || index in O) { + if (O[index] === el) return IS_INCLUDES || index || 0; + } return !IS_INCLUDES && -1; + }; +}; + +},{"113":113,"116":116,"117":117}],20:[function(_dereq_,module,exports){ +// 0 -> Array#forEach +// 1 -> Array#map +// 2 -> Array#filter +// 3 -> Array#some +// 4 -> Array#every +// 5 -> Array#find +// 6 -> Array#findIndex +var ctx = _dereq_(32); +var IObject = _dereq_(53); +var toObject = _dereq_(118); +var toLength = _dereq_(117); +var asc = _dereq_(23); +module.exports = function (TYPE, $create) { + var IS_MAP = TYPE == 1; + var IS_FILTER = TYPE == 2; + var IS_SOME = TYPE == 3; + var IS_EVERY = TYPE == 4; + var IS_FIND_INDEX = TYPE == 6; + var NO_HOLES = TYPE == 5 || IS_FIND_INDEX; + var create = $create || asc; + return function ($this, callbackfn, that) { + var O = toObject($this); + var self = IObject(O); + var f = ctx(callbackfn, that, 3); + var length = toLength(self.length); + var index = 0; + var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined; + var val, res; + for (;length > index; index++) if (NO_HOLES || index in self) { + val = self[index]; + res = f(val, index, O); + if (TYPE) { + if (IS_MAP) result[index] = res; // map + else if (res) switch (TYPE) { + case 3: return true; // some + case 5: return val; // find + case 6: return index; // findIndex + case 2: result.push(val); // filter + } else if (IS_EVERY) return false; // every + } + } + return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result; + }; +}; + +},{"117":117,"118":118,"23":23,"32":32,"53":53}],21:[function(_dereq_,module,exports){ +var aFunction = _dereq_(11); +var toObject = _dereq_(118); +var IObject = _dereq_(53); +var toLength = _dereq_(117); + +module.exports = function (that, callbackfn, aLen, memo, isRight) { + aFunction(callbackfn); + var O = toObject(that); + var self = IObject(O); + var length = toLength(O.length); + var index = isRight ? length - 1 : 0; + var i = isRight ? -1 : 1; + if (aLen < 2) for (;;) { + if (index in self) { + memo = self[index]; + index += i; + break; + } + index += i; + if (isRight ? index < 0 : length <= index) { + throw TypeError('Reduce of empty array with no initial value'); + } + } + for (;isRight ? index >= 0 : length > index; index += i) if (index in self) { + memo = callbackfn(memo, self[index], index, O); + } + return memo; +}; + +},{"11":11,"117":117,"118":118,"53":53}],22:[function(_dereq_,module,exports){ +var isObject = _dereq_(57); +var isArray = _dereq_(55); +var SPECIES = _dereq_(128)('species'); + +module.exports = function (original) { + var C; + if (isArray(original)) { + C = original.constructor; + // cross-realm fallback + if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined; + if (isObject(C)) { + C = C[SPECIES]; + if (C === null) C = undefined; + } + } return C === undefined ? Array : C; +}; + +},{"128":128,"55":55,"57":57}],23:[function(_dereq_,module,exports){ +// 9.4.2.3 ArraySpeciesCreate(originalArray, length) +var speciesConstructor = _dereq_(22); + +module.exports = function (original, length) { + return new (speciesConstructor(original))(length); +}; + +},{"22":22}],24:[function(_dereq_,module,exports){ +'use strict'; +var aFunction = _dereq_(11); +var isObject = _dereq_(57); +var invoke = _dereq_(52); +var arraySlice = [].slice; +var factories = {}; + +var construct = function (F, len, args) { + if (!(len in factories)) { + for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']'; + // eslint-disable-next-line no-new-func + factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')'); + } return factories[len](F, args); +}; + +module.exports = Function.bind || function bind(that /* , ...args */) { + var fn = aFunction(this); + var partArgs = arraySlice.call(arguments, 1); + var bound = function (/* args... */) { + var args = partArgs.concat(arraySlice.call(arguments)); + return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that); + }; + if (isObject(fn.prototype)) bound.prototype = fn.prototype; + return bound; +}; + +},{"11":11,"52":52,"57":57}],25:[function(_dereq_,module,exports){ +// getting tag from 19.1.3.6 Object.prototype.toString() +var cof = _dereq_(26); +var TAG = _dereq_(128)('toStringTag'); +// ES3 wrong here +var ARG = cof(function () { return arguments; }()) == 'Arguments'; + +// fallback for IE11 Script Access Denied error +var tryGet = function (it, key) { + try { + return it[key]; + } catch (e) { /* empty */ } +}; + +module.exports = function (it) { + var O, T, B; + return it === undefined ? 'Undefined' : it === null ? 'Null' + // @@toStringTag case + : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T + // builtinTag case + : ARG ? cof(O) + // ES3 arguments fallback + : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B; +}; + +},{"128":128,"26":26}],26:[function(_dereq_,module,exports){ +var toString = {}.toString; + +module.exports = function (it) { + return toString.call(it).slice(8, -1); +}; + +},{}],27:[function(_dereq_,module,exports){ +'use strict'; +var dP = _dereq_(75).f; +var create = _dereq_(74); +var redefineAll = _dereq_(93); +var ctx = _dereq_(32); +var anInstance = _dereq_(15); +var forOf = _dereq_(45); +var $iterDefine = _dereq_(61); +var step = _dereq_(63); +var setSpecies = _dereq_(99); +var DESCRIPTORS = _dereq_(36); +var fastKey = _dereq_(70).fastKey; +var validate = _dereq_(125); +var SIZE = DESCRIPTORS ? '_s' : 'size'; + +var getEntry = function (that, key) { + // fast case + var index = fastKey(key); + var entry; + if (index !== 'F') return that._i[index]; + // frozen object case + for (entry = that._f; entry; entry = entry.n) { + if (entry.k == key) return entry; + } +}; + +module.exports = { + getConstructor: function (wrapper, NAME, IS_MAP, ADDER) { + var C = wrapper(function (that, iterable) { + anInstance(that, C, NAME, '_i'); + that._t = NAME; // collection type + that._i = create(null); // index + that._f = undefined; // first entry + that._l = undefined; // last entry + that[SIZE] = 0; // size + if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that); + }); + redefineAll(C.prototype, { + // 23.1.3.1 Map.prototype.clear() + // 23.2.3.2 Set.prototype.clear() + clear: function clear() { + for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) { + entry.r = true; + if (entry.p) entry.p = entry.p.n = undefined; + delete data[entry.i]; + } + that._f = that._l = undefined; + that[SIZE] = 0; + }, + // 23.1.3.3 Map.prototype.delete(key) + // 23.2.3.4 Set.prototype.delete(value) + 'delete': function (key) { + var that = validate(this, NAME); + var entry = getEntry(that, key); + if (entry) { + var next = entry.n; + var prev = entry.p; + delete that._i[entry.i]; + entry.r = true; + if (prev) prev.n = next; + if (next) next.p = prev; + if (that._f == entry) that._f = next; + if (that._l == entry) that._l = prev; + that[SIZE]--; + } return !!entry; + }, + // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined) + // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined) + forEach: function forEach(callbackfn /* , that = undefined */) { + validate(this, NAME); + var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); + var entry; + while (entry = entry ? entry.n : this._f) { + f(entry.v, entry.k, this); + // revert to the last existing entry + while (entry && entry.r) entry = entry.p; + } + }, + // 23.1.3.7 Map.prototype.has(key) + // 23.2.3.7 Set.prototype.has(value) + has: function has(key) { + return !!getEntry(validate(this, NAME), key); + } + }); + if (DESCRIPTORS) dP(C.prototype, 'size', { + get: function () { + return validate(this, NAME)[SIZE]; + } + }); + return C; + }, + def: function (that, key, value) { + var entry = getEntry(that, key); + var prev, index; + // change existing entry + if (entry) { + entry.v = value; + // create new entry + } else { + that._l = entry = { + i: index = fastKey(key, true), // <- index + k: key, // <- key + v: value, // <- value + p: prev = that._l, // <- previous entry + n: undefined, // <- next entry + r: false // <- removed + }; + if (!that._f) that._f = entry; + if (prev) prev.n = entry; + that[SIZE]++; + // add to index + if (index !== 'F') that._i[index] = entry; + } return that; + }, + getEntry: getEntry, + setStrong: function (C, NAME, IS_MAP) { + // add .keys, .values, .entries, [@@iterator] + // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11 + $iterDefine(C, NAME, function (iterated, kind) { + this._t = validate(iterated, NAME); // target + this._k = kind; // kind + this._l = undefined; // previous + }, function () { + var that = this; + var kind = that._k; + var entry = that._l; + // revert to the last existing entry + while (entry && entry.r) entry = entry.p; + // get next entry + if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) { + // or finish the iteration + that._t = undefined; + return step(1); + } + // return step by kind + if (kind == 'keys') return step(0, entry.k); + if (kind == 'values') return step(0, entry.v); + return step(0, [entry.k, entry.v]); + }, IS_MAP ? 'entries' : 'values', !IS_MAP, true); + + // add [@@species], 23.1.2.2, 23.2.2.2 + setSpecies(NAME); + } +}; + +},{"125":125,"15":15,"32":32,"36":36,"45":45,"61":61,"63":63,"70":70,"74":74,"75":75,"93":93,"99":99}],28:[function(_dereq_,module,exports){ +'use strict'; +var redefineAll = _dereq_(93); +var getWeak = _dereq_(70).getWeak; +var anObject = _dereq_(16); +var isObject = _dereq_(57); +var anInstance = _dereq_(15); +var forOf = _dereq_(45); +var createArrayMethod = _dereq_(20); +var $has = _dereq_(47); +var validate = _dereq_(125); +var arrayFind = createArrayMethod(5); +var arrayFindIndex = createArrayMethod(6); +var id = 0; + +// fallback for uncaught frozen keys +var uncaughtFrozenStore = function (that) { + return that._l || (that._l = new UncaughtFrozenStore()); +}; +var UncaughtFrozenStore = function () { + this.a = []; +}; +var findUncaughtFrozen = function (store, key) { + return arrayFind(store.a, function (it) { + return it[0] === key; + }); +}; +UncaughtFrozenStore.prototype = { + get: function (key) { + var entry = findUncaughtFrozen(this, key); + if (entry) return entry[1]; + }, + has: function (key) { + return !!findUncaughtFrozen(this, key); + }, + set: function (key, value) { + var entry = findUncaughtFrozen(this, key); + if (entry) entry[1] = value; + else this.a.push([key, value]); + }, + 'delete': function (key) { + var index = arrayFindIndex(this.a, function (it) { + return it[0] === key; + }); + if (~index) this.a.splice(index, 1); + return !!~index; + } +}; + +module.exports = { + getConstructor: function (wrapper, NAME, IS_MAP, ADDER) { + var C = wrapper(function (that, iterable) { + anInstance(that, C, NAME, '_i'); + that._t = NAME; // collection type + that._i = id++; // collection id + that._l = undefined; // leak store for uncaught frozen objects + if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that); + }); + redefineAll(C.prototype, { + // 23.3.3.2 WeakMap.prototype.delete(key) + // 23.4.3.3 WeakSet.prototype.delete(value) + 'delete': function (key) { + if (!isObject(key)) return false; + var data = getWeak(key); + if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key); + return data && $has(data, this._i) && delete data[this._i]; + }, + // 23.3.3.4 WeakMap.prototype.has(key) + // 23.4.3.4 WeakSet.prototype.has(value) + has: function has(key) { + if (!isObject(key)) return false; + var data = getWeak(key); + if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key); + return data && $has(data, this._i); + } + }); + return C; + }, + def: function (that, key, value) { + var data = getWeak(anObject(key), true); + if (data === true) uncaughtFrozenStore(that).set(key, value); + else data[that._i] = value; + return that; + }, + ufstore: uncaughtFrozenStore +}; + +},{"125":125,"15":15,"16":16,"20":20,"45":45,"47":47,"57":57,"70":70,"93":93}],29:[function(_dereq_,module,exports){ +'use strict'; +var global = _dereq_(46); +var $export = _dereq_(40); +var redefine = _dereq_(94); +var redefineAll = _dereq_(93); +var meta = _dereq_(70); +var forOf = _dereq_(45); +var anInstance = _dereq_(15); +var isObject = _dereq_(57); +var fails = _dereq_(42); +var $iterDetect = _dereq_(62); +var setToStringTag = _dereq_(100); +var inheritIfRequired = _dereq_(51); + +module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) { + var Base = global[NAME]; + var C = Base; + var ADDER = IS_MAP ? 'set' : 'add'; + var proto = C && C.prototype; + var O = {}; + var fixMethod = function (KEY) { + var fn = proto[KEY]; + redefine(proto, KEY, + KEY == 'delete' ? function (a) { + return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a); + } : KEY == 'has' ? function has(a) { + return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a); + } : KEY == 'get' ? function get(a) { + return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a); + } : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; } + : function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; } + ); + }; + if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () { + new C().entries().next(); + }))) { + // create collection constructor + C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER); + redefineAll(C.prototype, methods); + meta.NEED = true; + } else { + var instance = new C(); + // early implementations not supports chaining + var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance; + // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false + var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); }); + // most early implementations doesn't supports iterables, most modern - not close it correctly + var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new + // for early implementations -0 and +0 not the same + var BUGGY_ZERO = !IS_WEAK && fails(function () { + // V8 ~ Chromium 42- fails only with 5+ elements + var $instance = new C(); + var index = 5; + while (index--) $instance[ADDER](index, index); + return !$instance.has(-0); + }); + if (!ACCEPT_ITERABLES) { + C = wrapper(function (target, iterable) { + anInstance(target, C, NAME); + var that = inheritIfRequired(new Base(), target, C); + if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that); + return that; + }); + C.prototype = proto; + proto.constructor = C; + } + if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) { + fixMethod('delete'); + fixMethod('has'); + IS_MAP && fixMethod('get'); + } + if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER); + // weak collections should not contains .clear method + if (IS_WEAK && proto.clear) delete proto.clear; + } + + setToStringTag(C, NAME); + + O[NAME] = C; + $export($export.G + $export.W + $export.F * (C != Base), O); + + if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP); + + return C; +}; + +},{"100":100,"15":15,"40":40,"42":42,"45":45,"46":46,"51":51,"57":57,"62":62,"70":70,"93":93,"94":94}],30:[function(_dereq_,module,exports){ +var core = module.exports = { version: '2.6.1' }; +if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef + +},{}],31:[function(_dereq_,module,exports){ +'use strict'; +var $defineProperty = _dereq_(75); +var createDesc = _dereq_(92); + +module.exports = function (object, index, value) { + if (index in object) $defineProperty.f(object, index, createDesc(0, value)); + else object[index] = value; +}; + +},{"75":75,"92":92}],32:[function(_dereq_,module,exports){ +// optional / simple context binding +var aFunction = _dereq_(11); +module.exports = function (fn, that, length) { + aFunction(fn); + if (that === undefined) return fn; + switch (length) { + case 1: return function (a) { + return fn.call(that, a); + }; + case 2: return function (a, b) { + return fn.call(that, a, b); + }; + case 3: return function (a, b, c) { + return fn.call(that, a, b, c); + }; + } + return function (/* ...args */) { + return fn.apply(that, arguments); + }; +}; + +},{"11":11}],33:[function(_dereq_,module,exports){ +'use strict'; +// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString() +var fails = _dereq_(42); +var getTime = Date.prototype.getTime; +var $toISOString = Date.prototype.toISOString; + +var lz = function (num) { + return num > 9 ? num : '0' + num; +}; + +// PhantomJS / old WebKit has a broken implementations +module.exports = (fails(function () { + return $toISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z'; +}) || !fails(function () { + $toISOString.call(new Date(NaN)); +})) ? function toISOString() { + if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value'); + var d = this; + var y = d.getUTCFullYear(); + var m = d.getUTCMilliseconds(); + var s = y < 0 ? '-' : y > 9999 ? '+' : ''; + return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) + + '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) + + 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) + + ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z'; +} : $toISOString; + +},{"42":42}],34:[function(_dereq_,module,exports){ +'use strict'; +var anObject = _dereq_(16); +var toPrimitive = _dereq_(119); +var NUMBER = 'number'; + +module.exports = function (hint) { + if (hint !== 'string' && hint !== NUMBER && hint !== 'default') throw TypeError('Incorrect hint'); + return toPrimitive(anObject(this), hint != NUMBER); +}; + +},{"119":119,"16":16}],35:[function(_dereq_,module,exports){ +// 7.2.1 RequireObjectCoercible(argument) +module.exports = function (it) { + if (it == undefined) throw TypeError("Can't call method on " + it); + return it; +}; + +},{}],36:[function(_dereq_,module,exports){ +// Thank's IE8 for his funny defineProperty +module.exports = !_dereq_(42)(function () { + return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7; +}); + +},{"42":42}],37:[function(_dereq_,module,exports){ +var isObject = _dereq_(57); +var document = _dereq_(46).document; +// typeof document.createElement is 'object' in old IE +var is = isObject(document) && isObject(document.createElement); +module.exports = function (it) { + return is ? document.createElement(it) : {}; +}; + +},{"46":46,"57":57}],38:[function(_dereq_,module,exports){ +// IE 8- don't enum bug keys +module.exports = ( + 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf' +).split(','); + +},{}],39:[function(_dereq_,module,exports){ +// all enumerable object keys, includes symbols +var getKeys = _dereq_(83); +var gOPS = _dereq_(80); +var pIE = _dereq_(84); +module.exports = function (it) { + var result = getKeys(it); + var getSymbols = gOPS.f; + if (getSymbols) { + var symbols = getSymbols(it); + var isEnum = pIE.f; + var i = 0; + var key; + while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key); + } return result; +}; + +},{"80":80,"83":83,"84":84}],40:[function(_dereq_,module,exports){ +var global = _dereq_(46); +var core = _dereq_(30); +var hide = _dereq_(48); +var redefine = _dereq_(94); +var ctx = _dereq_(32); +var PROTOTYPE = 'prototype'; + +var $export = function (type, name, source) { + var IS_FORCED = type & $export.F; + var IS_GLOBAL = type & $export.G; + var IS_STATIC = type & $export.S; + var IS_PROTO = type & $export.P; + var IS_BIND = type & $export.B; + var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE]; + var exports = IS_GLOBAL ? core : core[name] || (core[name] = {}); + var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {}); + var key, own, out, exp; + if (IS_GLOBAL) source = name; + for (key in source) { + // contains in native + own = !IS_FORCED && target && target[key] !== undefined; + // export native or passed + out = (own ? target : source)[key]; + // bind timers to global for call from export context + exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out; + // extend global + if (target) redefine(target, key, out, type & $export.U); + // export + if (exports[key] != out) hide(exports, key, exp); + if (IS_PROTO && expProto[key] != out) expProto[key] = out; + } +}; +global.core = core; +// type bitmap +$export.F = 1; // forced +$export.G = 2; // global +$export.S = 4; // static +$export.P = 8; // proto +$export.B = 16; // bind +$export.W = 32; // wrap +$export.U = 64; // safe +$export.R = 128; // real proto method for `library` +module.exports = $export; + +},{"30":30,"32":32,"46":46,"48":48,"94":94}],41:[function(_dereq_,module,exports){ +var MATCH = _dereq_(128)('match'); +module.exports = function (KEY) { + var re = /./; + try { + '/./'[KEY](re); + } catch (e) { + try { + re[MATCH] = false; + return !'/./'[KEY](re); + } catch (f) { /* empty */ } + } return true; +}; + +},{"128":128}],42:[function(_dereq_,module,exports){ +module.exports = function (exec) { + try { + return !!exec(); + } catch (e) { + return true; + } +}; + +},{}],43:[function(_dereq_,module,exports){ +'use strict'; +_dereq_(224); +var redefine = _dereq_(94); +var hide = _dereq_(48); +var fails = _dereq_(42); +var defined = _dereq_(35); +var wks = _dereq_(128); +var regexpExec = _dereq_(96); + +var SPECIES = wks('species'); + +var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () { + // #replace needs built-in support for named groups. + // #match works fine because it just return the exec results, even if it has + // a "grops" property. + var re = /./; + re.exec = function () { + var result = []; + result.groups = { a: '7' }; + return result; + }; + return ''.replace(re, '$') !== '7'; +}); + +var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () { + // Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec + var re = /(?:)/; + var originalExec = re.exec; + re.exec = function () { return originalExec.apply(this, arguments); }; + var result = 'ab'.split(re); + return result.length === 2 && result[0] === 'a' && result[1] === 'b'; +})(); + +module.exports = function (KEY, length, exec) { + var SYMBOL = wks(KEY); + + var DELEGATES_TO_SYMBOL = !fails(function () { + // String methods call symbol-named RegEp methods + var O = {}; + O[SYMBOL] = function () { return 7; }; + return ''[KEY](O) != 7; + }); + + var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () { + // Symbol-named RegExp methods call .exec + var execCalled = false; + var re = /a/; + re.exec = function () { execCalled = true; return null; }; + if (KEY === 'split') { + // RegExp[@@split] doesn't call the regex's exec method, but first creates + // a new one. We need to return the patched regex when creating the new one. + re.constructor = {}; + re.constructor[SPECIES] = function () { return re; }; + } + re[SYMBOL](''); + return !execCalled; + }) : undefined; + + if ( + !DELEGATES_TO_SYMBOL || + !DELEGATES_TO_EXEC || + (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) || + (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC) + ) { + var nativeRegExpMethod = /./[SYMBOL]; + var fns = exec( + defined, + SYMBOL, + ''[KEY], + function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) { + if (regexp.exec === regexpExec) { + if (DELEGATES_TO_SYMBOL && !forceStringMethod) { + // The native String method already delegates to @@method (this + // polyfilled function), leasing to infinite recursion. + // We avoid it by directly calling the native @@method method. + return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) }; + } + return { done: true, value: nativeMethod.call(str, regexp, arg2) }; + } + return { done: false }; + } + ); + var strfn = fns[0]; + var rxfn = fns[1]; + + redefine(String.prototype, KEY, strfn); + hide(RegExp.prototype, SYMBOL, length == 2 + // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue) + // 21.2.5.11 RegExp.prototype[@@split](string, limit) + ? function (string, arg) { return rxfn.call(string, this, arg); } + // 21.2.5.6 RegExp.prototype[@@match](string) + // 21.2.5.9 RegExp.prototype[@@search](string) + : function (string) { return rxfn.call(string, this); } + ); + } +}; + +},{"128":128,"224":224,"35":35,"42":42,"48":48,"94":94,"96":96}],44:[function(_dereq_,module,exports){ +'use strict'; +// 21.2.5.3 get RegExp.prototype.flags +var anObject = _dereq_(16); +module.exports = function () { + var that = anObject(this); + var result = ''; + if (that.global) result += 'g'; + if (that.ignoreCase) result += 'i'; + if (that.multiline) result += 'm'; + if (that.unicode) result += 'u'; + if (that.sticky) result += 'y'; + return result; +}; + +},{"16":16}],45:[function(_dereq_,module,exports){ +var ctx = _dereq_(32); +var call = _dereq_(59); +var isArrayIter = _dereq_(54); +var anObject = _dereq_(16); +var toLength = _dereq_(117); +var getIterFn = _dereq_(129); +var BREAK = {}; +var RETURN = {}; +var exports = module.exports = function (iterable, entries, fn, that, ITERATOR) { + var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable); + var f = ctx(fn, that, entries ? 2 : 1); + var index = 0; + var length, step, iterator, result; + if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!'); + // fast case for arrays with default iterator + if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) { + result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]); + if (result === BREAK || result === RETURN) return result; + } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) { + result = call(iterator, f, step.value, entries); + if (result === BREAK || result === RETURN) return result; + } +}; +exports.BREAK = BREAK; +exports.RETURN = RETURN; + +},{"117":117,"129":129,"16":16,"32":32,"54":54,"59":59}],46:[function(_dereq_,module,exports){ +// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 +var global = module.exports = typeof window != 'undefined' && window.Math == Math + ? window : typeof self != 'undefined' && self.Math == Math ? self + // eslint-disable-next-line no-new-func + : Function('return this')(); +if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef + +},{}],47:[function(_dereq_,module,exports){ +var hasOwnProperty = {}.hasOwnProperty; +module.exports = function (it, key) { + return hasOwnProperty.call(it, key); +}; + +},{}],48:[function(_dereq_,module,exports){ +var dP = _dereq_(75); +var createDesc = _dereq_(92); +module.exports = _dereq_(36) ? function (object, key, value) { + return dP.f(object, key, createDesc(1, value)); +} : function (object, key, value) { + object[key] = value; + return object; +}; + +},{"36":36,"75":75,"92":92}],49:[function(_dereq_,module,exports){ +var document = _dereq_(46).document; +module.exports = document && document.documentElement; + +},{"46":46}],50:[function(_dereq_,module,exports){ +module.exports = !_dereq_(36) && !_dereq_(42)(function () { + return Object.defineProperty(_dereq_(37)('div'), 'a', { get: function () { return 7; } }).a != 7; +}); + +},{"36":36,"37":37,"42":42}],51:[function(_dereq_,module,exports){ +var isObject = _dereq_(57); +var setPrototypeOf = _dereq_(98).set; +module.exports = function (that, target, C) { + var S = target.constructor; + var P; + if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) { + setPrototypeOf(that, P); + } return that; +}; + +},{"57":57,"98":98}],52:[function(_dereq_,module,exports){ +// fast apply, http://jsperf.lnkit.com/fast-apply/5 +module.exports = function (fn, args, that) { + var un = that === undefined; + switch (args.length) { + case 0: return un ? fn() + : fn.call(that); + case 1: return un ? fn(args[0]) + : fn.call(that, args[0]); + case 2: return un ? fn(args[0], args[1]) + : fn.call(that, args[0], args[1]); + case 3: return un ? fn(args[0], args[1], args[2]) + : fn.call(that, args[0], args[1], args[2]); + case 4: return un ? fn(args[0], args[1], args[2], args[3]) + : fn.call(that, args[0], args[1], args[2], args[3]); + } return fn.apply(that, args); +}; + +},{}],53:[function(_dereq_,module,exports){ +// fallback for non-array-like ES3 and non-enumerable old V8 strings +var cof = _dereq_(26); +// eslint-disable-next-line no-prototype-builtins +module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) { + return cof(it) == 'String' ? it.split('') : Object(it); +}; + +},{"26":26}],54:[function(_dereq_,module,exports){ +// check on default Array iterator +var Iterators = _dereq_(64); +var ITERATOR = _dereq_(128)('iterator'); +var ArrayProto = Array.prototype; + +module.exports = function (it) { + return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it); +}; + +},{"128":128,"64":64}],55:[function(_dereq_,module,exports){ +// 7.2.2 IsArray(argument) +var cof = _dereq_(26); +module.exports = Array.isArray || function isArray(arg) { + return cof(arg) == 'Array'; +}; + +},{"26":26}],56:[function(_dereq_,module,exports){ +// 20.1.2.3 Number.isInteger(number) +var isObject = _dereq_(57); +var floor = Math.floor; +module.exports = function isInteger(it) { + return !isObject(it) && isFinite(it) && floor(it) === it; +}; + +},{"57":57}],57:[function(_dereq_,module,exports){ +module.exports = function (it) { + return typeof it === 'object' ? it !== null : typeof it === 'function'; +}; + +},{}],58:[function(_dereq_,module,exports){ +// 7.2.8 IsRegExp(argument) +var isObject = _dereq_(57); +var cof = _dereq_(26); +var MATCH = _dereq_(128)('match'); +module.exports = function (it) { + var isRegExp; + return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp'); +}; + +},{"128":128,"26":26,"57":57}],59:[function(_dereq_,module,exports){ +// call something on iterator step with safe closing on error +var anObject = _dereq_(16); +module.exports = function (iterator, fn, value, entries) { + try { + return entries ? fn(anObject(value)[0], value[1]) : fn(value); + // 7.4.6 IteratorClose(iterator, completion) + } catch (e) { + var ret = iterator['return']; + if (ret !== undefined) anObject(ret.call(iterator)); + throw e; + } +}; + +},{"16":16}],60:[function(_dereq_,module,exports){ +'use strict'; +var create = _dereq_(74); +var descriptor = _dereq_(92); +var setToStringTag = _dereq_(100); +var IteratorPrototype = {}; + +// 25.1.2.1.1 %IteratorPrototype%[@@iterator]() +_dereq_(48)(IteratorPrototype, _dereq_(128)('iterator'), function () { return this; }); + +module.exports = function (Constructor, NAME, next) { + Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) }); + setToStringTag(Constructor, NAME + ' Iterator'); +}; + +},{"100":100,"128":128,"48":48,"74":74,"92":92}],61:[function(_dereq_,module,exports){ +'use strict'; +var LIBRARY = _dereq_(65); +var $export = _dereq_(40); +var redefine = _dereq_(94); +var hide = _dereq_(48); +var Iterators = _dereq_(64); +var $iterCreate = _dereq_(60); +var setToStringTag = _dereq_(100); +var getPrototypeOf = _dereq_(81); +var ITERATOR = _dereq_(128)('iterator'); +var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next` +var FF_ITERATOR = '@@iterator'; +var KEYS = 'keys'; +var VALUES = 'values'; + +var returnThis = function () { return this; }; + +module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) { + $iterCreate(Constructor, NAME, next); + var getMethod = function (kind) { + if (!BUGGY && kind in proto) return proto[kind]; + switch (kind) { + case KEYS: return function keys() { return new Constructor(this, kind); }; + case VALUES: return function values() { return new Constructor(this, kind); }; + } return function entries() { return new Constructor(this, kind); }; + }; + var TAG = NAME + ' Iterator'; + var DEF_VALUES = DEFAULT == VALUES; + var VALUES_BUG = false; + var proto = Base.prototype; + var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]; + var $default = $native || getMethod(DEFAULT); + var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined; + var $anyNative = NAME == 'Array' ? proto.entries || $native : $native; + var methods, key, IteratorPrototype; + // Fix native + if ($anyNative) { + IteratorPrototype = getPrototypeOf($anyNative.call(new Base())); + if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) { + // Set @@toStringTag to native iterators + setToStringTag(IteratorPrototype, TAG, true); + // fix for some old engines + if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis); + } + } + // fix Array#{values, @@iterator}.name in V8 / FF + if (DEF_VALUES && $native && $native.name !== VALUES) { + VALUES_BUG = true; + $default = function values() { return $native.call(this); }; + } + // Define iterator + if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) { + hide(proto, ITERATOR, $default); + } + // Plug for library + Iterators[NAME] = $default; + Iterators[TAG] = returnThis; + if (DEFAULT) { + methods = { + values: DEF_VALUES ? $default : getMethod(VALUES), + keys: IS_SET ? $default : getMethod(KEYS), + entries: $entries + }; + if (FORCED) for (key in methods) { + if (!(key in proto)) redefine(proto, key, methods[key]); + } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods); + } + return methods; +}; + +},{"100":100,"128":128,"40":40,"48":48,"60":60,"64":64,"65":65,"81":81,"94":94}],62:[function(_dereq_,module,exports){ +var ITERATOR = _dereq_(128)('iterator'); +var SAFE_CLOSING = false; + +try { + var riter = [7][ITERATOR](); + riter['return'] = function () { SAFE_CLOSING = true; }; + // eslint-disable-next-line no-throw-literal + Array.from(riter, function () { throw 2; }); +} catch (e) { /* empty */ } + +module.exports = function (exec, skipClosing) { + if (!skipClosing && !SAFE_CLOSING) return false; + var safe = false; + try { + var arr = [7]; + var iter = arr[ITERATOR](); + iter.next = function () { return { done: safe = true }; }; + arr[ITERATOR] = function () { return iter; }; + exec(arr); + } catch (e) { /* empty */ } + return safe; +}; + +},{"128":128}],63:[function(_dereq_,module,exports){ +module.exports = function (done, value) { + return { value: value, done: !!done }; +}; + +},{}],64:[function(_dereq_,module,exports){ +module.exports = {}; + +},{}],65:[function(_dereq_,module,exports){ +module.exports = false; + +},{}],66:[function(_dereq_,module,exports){ +// 20.2.2.14 Math.expm1(x) +var $expm1 = Math.expm1; +module.exports = (!$expm1 + // Old FF bug + || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168 + // Tor Browser bug + || $expm1(-2e-17) != -2e-17 +) ? function expm1(x) { + return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1; +} : $expm1; + +},{}],67:[function(_dereq_,module,exports){ +// 20.2.2.16 Math.fround(x) +var sign = _dereq_(69); +var pow = Math.pow; +var EPSILON = pow(2, -52); +var EPSILON32 = pow(2, -23); +var MAX32 = pow(2, 127) * (2 - EPSILON32); +var MIN32 = pow(2, -126); + +var roundTiesToEven = function (n) { + return n + 1 / EPSILON - 1 / EPSILON; +}; + +module.exports = Math.fround || function fround(x) { + var $abs = Math.abs(x); + var $sign = sign(x); + var a, result; + if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32; + a = (1 + EPSILON32 / EPSILON) * $abs; + result = a - (a - $abs); + // eslint-disable-next-line no-self-compare + if (result > MAX32 || result != result) return $sign * Infinity; + return $sign * result; +}; + +},{"69":69}],68:[function(_dereq_,module,exports){ +// 20.2.2.20 Math.log1p(x) +module.exports = Math.log1p || function log1p(x) { + return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x); +}; + +},{}],69:[function(_dereq_,module,exports){ +// 20.2.2.28 Math.sign(x) +module.exports = Math.sign || function sign(x) { + // eslint-disable-next-line no-self-compare + return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1; +}; + +},{}],70:[function(_dereq_,module,exports){ +var META = _dereq_(123)('meta'); +var isObject = _dereq_(57); +var has = _dereq_(47); +var setDesc = _dereq_(75).f; +var id = 0; +var isExtensible = Object.isExtensible || function () { + return true; +}; +var FREEZE = !_dereq_(42)(function () { + return isExtensible(Object.preventExtensions({})); +}); +var setMeta = function (it) { + setDesc(it, META, { value: { + i: 'O' + ++id, // object ID + w: {} // weak collections IDs + } }); +}; +var fastKey = function (it, create) { + // return primitive with prefix + if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; + if (!has(it, META)) { + // can't set metadata to uncaught frozen object + if (!isExtensible(it)) return 'F'; + // not necessary to add metadata + if (!create) return 'E'; + // add missing metadata + setMeta(it); + // return object ID + } return it[META].i; +}; +var getWeak = function (it, create) { + if (!has(it, META)) { + // can't set metadata to uncaught frozen object + if (!isExtensible(it)) return true; + // not necessary to add metadata + if (!create) return false; + // add missing metadata + setMeta(it); + // return hash weak collections IDs + } return it[META].w; +}; +// add metadata on freeze-family methods calling +var onFreeze = function (it) { + if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it); + return it; +}; +var meta = module.exports = { + KEY: META, + NEED: false, + fastKey: fastKey, + getWeak: getWeak, + onFreeze: onFreeze +}; + +},{"123":123,"42":42,"47":47,"57":57,"75":75}],71:[function(_dereq_,module,exports){ +var global = _dereq_(46); +var macrotask = _dereq_(112).set; +var Observer = global.MutationObserver || global.WebKitMutationObserver; +var process = global.process; +var Promise = global.Promise; +var isNode = _dereq_(26)(process) == 'process'; + +module.exports = function () { + var head, last, notify; + + var flush = function () { + var parent, fn; + if (isNode && (parent = process.domain)) parent.exit(); + while (head) { + fn = head.fn; + head = head.next; + try { + fn(); + } catch (e) { + if (head) notify(); + else last = undefined; + throw e; + } + } last = undefined; + if (parent) parent.enter(); + }; + + // Node.js + if (isNode) { + notify = function () { + process.nextTick(flush); + }; + // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339 + } else if (Observer && !(global.navigator && global.navigator.standalone)) { + var toggle = true; + var node = document.createTextNode(''); + new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new + notify = function () { + node.data = toggle = !toggle; + }; + // environments with maybe non-completely correct, but existent Promise + } else if (Promise && Promise.resolve) { + // Promise.resolve without an argument throws an error in LG WebOS 2 + var promise = Promise.resolve(undefined); + notify = function () { + promise.then(flush); + }; + // for other environments - macrotask based on: + // - setImmediate + // - MessageChannel + // - window.postMessag + // - onreadystatechange + // - setTimeout + } else { + notify = function () { + // strange IE + webpack dev server bug - use .call(global) + macrotask.call(global, flush); + }; + } + + return function (fn) { + var task = { fn: fn, next: undefined }; + if (last) last.next = task; + if (!head) { + head = task; + notify(); + } last = task; + }; +}; + +},{"112":112,"26":26,"46":46}],72:[function(_dereq_,module,exports){ +'use strict'; +// 25.4.1.5 NewPromiseCapability(C) +var aFunction = _dereq_(11); + +function PromiseCapability(C) { + var resolve, reject; + this.promise = new C(function ($$resolve, $$reject) { + if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor'); + resolve = $$resolve; + reject = $$reject; + }); + this.resolve = aFunction(resolve); + this.reject = aFunction(reject); +} + +module.exports.f = function (C) { + return new PromiseCapability(C); +}; + +},{"11":11}],73:[function(_dereq_,module,exports){ +'use strict'; +// 19.1.2.1 Object.assign(target, source, ...) +var getKeys = _dereq_(83); +var gOPS = _dereq_(80); +var pIE = _dereq_(84); +var toObject = _dereq_(118); +var IObject = _dereq_(53); +var $assign = Object.assign; + +// should work with symbols and should have deterministic property order (V8 bug) +module.exports = !$assign || _dereq_(42)(function () { + var A = {}; + var B = {}; + // eslint-disable-next-line no-undef + var S = Symbol(); + var K = 'abcdefghijklmnopqrst'; + A[S] = 7; + K.split('').forEach(function (k) { B[k] = k; }); + return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K; +}) ? function assign(target, source) { // eslint-disable-line no-unused-vars + var T = toObject(target); + var aLen = arguments.length; + var index = 1; + var getSymbols = gOPS.f; + var isEnum = pIE.f; + while (aLen > index) { + var S = IObject(arguments[index++]); + var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S); + var length = keys.length; + var j = 0; + var key; + while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key]; + } return T; +} : $assign; + +},{"118":118,"42":42,"53":53,"80":80,"83":83,"84":84}],74:[function(_dereq_,module,exports){ +// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) +var anObject = _dereq_(16); +var dPs = _dereq_(76); +var enumBugKeys = _dereq_(38); +var IE_PROTO = _dereq_(101)('IE_PROTO'); +var Empty = function () { /* empty */ }; +var PROTOTYPE = 'prototype'; + +// Create object with fake `null` prototype: use iframe Object with cleared prototype +var createDict = function () { + // Thrash, waste and sodomy: IE GC bug + var iframe = _dereq_(37)('iframe'); + var i = enumBugKeys.length; + var lt = '<'; + var gt = '>'; + var iframeDocument; + iframe.style.display = 'none'; + _dereq_(49).appendChild(iframe); + iframe.src = 'javascript:'; // eslint-disable-line no-script-url + // createDict = iframe.contentWindow.Object; + // html.removeChild(iframe); + iframeDocument = iframe.contentWindow.document; + iframeDocument.open(); + iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt); + iframeDocument.close(); + createDict = iframeDocument.F; + while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]]; + return createDict(); +}; + +module.exports = Object.create || function create(O, Properties) { + var result; + if (O !== null) { + Empty[PROTOTYPE] = anObject(O); + result = new Empty(); + Empty[PROTOTYPE] = null; + // add "__proto__" for Object.getPrototypeOf polyfill + result[IE_PROTO] = O; + } else result = createDict(); + return Properties === undefined ? result : dPs(result, Properties); +}; + +},{"101":101,"16":16,"37":37,"38":38,"49":49,"76":76}],75:[function(_dereq_,module,exports){ +var anObject = _dereq_(16); +var IE8_DOM_DEFINE = _dereq_(50); +var toPrimitive = _dereq_(119); +var dP = Object.defineProperty; + +exports.f = _dereq_(36) ? Object.defineProperty : function defineProperty(O, P, Attributes) { + anObject(O); + P = toPrimitive(P, true); + anObject(Attributes); + if (IE8_DOM_DEFINE) try { + return dP(O, P, Attributes); + } catch (e) { /* empty */ } + if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!'); + if ('value' in Attributes) O[P] = Attributes.value; + return O; +}; + +},{"119":119,"16":16,"36":36,"50":50}],76:[function(_dereq_,module,exports){ +var dP = _dereq_(75); +var anObject = _dereq_(16); +var getKeys = _dereq_(83); + +module.exports = _dereq_(36) ? Object.defineProperties : function defineProperties(O, Properties) { + anObject(O); + var keys = getKeys(Properties); + var length = keys.length; + var i = 0; + var P; + while (length > i) dP.f(O, P = keys[i++], Properties[P]); + return O; +}; + +},{"16":16,"36":36,"75":75,"83":83}],77:[function(_dereq_,module,exports){ +var pIE = _dereq_(84); +var createDesc = _dereq_(92); +var toIObject = _dereq_(116); +var toPrimitive = _dereq_(119); +var has = _dereq_(47); +var IE8_DOM_DEFINE = _dereq_(50); +var gOPD = Object.getOwnPropertyDescriptor; + +exports.f = _dereq_(36) ? gOPD : function getOwnPropertyDescriptor(O, P) { + O = toIObject(O); + P = toPrimitive(P, true); + if (IE8_DOM_DEFINE) try { + return gOPD(O, P); + } catch (e) { /* empty */ } + if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]); +}; + +},{"116":116,"119":119,"36":36,"47":47,"50":50,"84":84,"92":92}],78:[function(_dereq_,module,exports){ +// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window +var toIObject = _dereq_(116); +var gOPN = _dereq_(79).f; +var toString = {}.toString; + +var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames + ? Object.getOwnPropertyNames(window) : []; + +var getWindowNames = function (it) { + try { + return gOPN(it); + } catch (e) { + return windowNames.slice(); + } +}; + +module.exports.f = function getOwnPropertyNames(it) { + return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it)); +}; + +},{"116":116,"79":79}],79:[function(_dereq_,module,exports){ +// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O) +var $keys = _dereq_(82); +var hiddenKeys = _dereq_(38).concat('length', 'prototype'); + +exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { + return $keys(O, hiddenKeys); +}; + +},{"38":38,"82":82}],80:[function(_dereq_,module,exports){ +exports.f = Object.getOwnPropertySymbols; + +},{}],81:[function(_dereq_,module,exports){ +// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O) +var has = _dereq_(47); +var toObject = _dereq_(118); +var IE_PROTO = _dereq_(101)('IE_PROTO'); +var ObjectProto = Object.prototype; + +module.exports = Object.getPrototypeOf || function (O) { + O = toObject(O); + if (has(O, IE_PROTO)) return O[IE_PROTO]; + if (typeof O.constructor == 'function' && O instanceof O.constructor) { + return O.constructor.prototype; + } return O instanceof Object ? ObjectProto : null; +}; + +},{"101":101,"118":118,"47":47}],82:[function(_dereq_,module,exports){ +var has = _dereq_(47); +var toIObject = _dereq_(116); +var arrayIndexOf = _dereq_(19)(false); +var IE_PROTO = _dereq_(101)('IE_PROTO'); + +module.exports = function (object, names) { + var O = toIObject(object); + var i = 0; + var result = []; + var key; + for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key); + // Don't enum bug & hidden keys + while (names.length > i) if (has(O, key = names[i++])) { + ~arrayIndexOf(result, key) || result.push(key); + } + return result; +}; + +},{"101":101,"116":116,"19":19,"47":47}],83:[function(_dereq_,module,exports){ +// 19.1.2.14 / 15.2.3.14 Object.keys(O) +var $keys = _dereq_(82); +var enumBugKeys = _dereq_(38); + +module.exports = Object.keys || function keys(O) { + return $keys(O, enumBugKeys); +}; + +},{"38":38,"82":82}],84:[function(_dereq_,module,exports){ +exports.f = {}.propertyIsEnumerable; + +},{}],85:[function(_dereq_,module,exports){ +// most Object methods by ES6 should accept primitives +var $export = _dereq_(40); +var core = _dereq_(30); +var fails = _dereq_(42); +module.exports = function (KEY, exec) { + var fn = (core.Object || {})[KEY] || Object[KEY]; + var exp = {}; + exp[KEY] = exec(fn); + $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp); +}; + +},{"30":30,"40":40,"42":42}],86:[function(_dereq_,module,exports){ +var getKeys = _dereq_(83); +var toIObject = _dereq_(116); +var isEnum = _dereq_(84).f; +module.exports = function (isEntries) { + return function (it) { + var O = toIObject(it); + var keys = getKeys(O); + var length = keys.length; + var i = 0; + var result = []; + var key; + while (length > i) if (isEnum.call(O, key = keys[i++])) { + result.push(isEntries ? [key, O[key]] : O[key]); + } return result; + }; +}; + +},{"116":116,"83":83,"84":84}],87:[function(_dereq_,module,exports){ +// all object keys, includes non-enumerable and symbols +var gOPN = _dereq_(79); +var gOPS = _dereq_(80); +var anObject = _dereq_(16); +var Reflect = _dereq_(46).Reflect; +module.exports = Reflect && Reflect.ownKeys || function ownKeys(it) { + var keys = gOPN.f(anObject(it)); + var getSymbols = gOPS.f; + return getSymbols ? keys.concat(getSymbols(it)) : keys; +}; + +},{"16":16,"46":46,"79":79,"80":80}],88:[function(_dereq_,module,exports){ +var $parseFloat = _dereq_(46).parseFloat; +var $trim = _dereq_(110).trim; + +module.exports = 1 / $parseFloat(_dereq_(111) + '-0') !== -Infinity ? function parseFloat(str) { + var string = $trim(String(str), 3); + var result = $parseFloat(string); + return result === 0 && string.charAt(0) == '-' ? -0 : result; +} : $parseFloat; + +},{"110":110,"111":111,"46":46}],89:[function(_dereq_,module,exports){ +var $parseInt = _dereq_(46).parseInt; +var $trim = _dereq_(110).trim; +var ws = _dereq_(111); +var hex = /^[-+]?0[xX]/; + +module.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix) { + var string = $trim(String(str), 3); + return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10)); +} : $parseInt; + +},{"110":110,"111":111,"46":46}],90:[function(_dereq_,module,exports){ +module.exports = function (exec) { + try { + return { e: false, v: exec() }; + } catch (e) { + return { e: true, v: e }; + } +}; + +},{}],91:[function(_dereq_,module,exports){ +var anObject = _dereq_(16); +var isObject = _dereq_(57); +var newPromiseCapability = _dereq_(72); + +module.exports = function (C, x) { + anObject(C); + if (isObject(x) && x.constructor === C) return x; + var promiseCapability = newPromiseCapability.f(C); + var resolve = promiseCapability.resolve; + resolve(x); + return promiseCapability.promise; +}; + +},{"16":16,"57":57,"72":72}],92:[function(_dereq_,module,exports){ +module.exports = function (bitmap, value) { + return { + enumerable: !(bitmap & 1), + configurable: !(bitmap & 2), + writable: !(bitmap & 4), + value: value + }; +}; + +},{}],93:[function(_dereq_,module,exports){ +var redefine = _dereq_(94); +module.exports = function (target, src, safe) { + for (var key in src) redefine(target, key, src[key], safe); + return target; +}; + +},{"94":94}],94:[function(_dereq_,module,exports){ +var global = _dereq_(46); +var hide = _dereq_(48); +var has = _dereq_(47); +var SRC = _dereq_(123)('src'); +var TO_STRING = 'toString'; +var $toString = Function[TO_STRING]; +var TPL = ('' + $toString).split(TO_STRING); + +_dereq_(30).inspectSource = function (it) { + return $toString.call(it); +}; + +(module.exports = function (O, key, val, safe) { + var isFunction = typeof val == 'function'; + if (isFunction) has(val, 'name') || hide(val, 'name', key); + if (O[key] === val) return; + if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key))); + if (O === global) { + O[key] = val; + } else if (!safe) { + delete O[key]; + hide(O, key, val); + } else if (O[key]) { + O[key] = val; + } else { + hide(O, key, val); + } +// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative +})(Function.prototype, TO_STRING, function toString() { + return typeof this == 'function' && this[SRC] || $toString.call(this); +}); + +},{"123":123,"30":30,"46":46,"47":47,"48":48}],95:[function(_dereq_,module,exports){ +'use strict'; + +var classof = _dereq_(25); +var builtinExec = RegExp.prototype.exec; + + // `RegExpExec` abstract operation +// https://tc39.github.io/ecma262/#sec-regexpexec +module.exports = function (R, S) { + var exec = R.exec; + if (typeof exec === 'function') { + var result = exec.call(R, S); + if (typeof result !== 'object') { + throw new TypeError('RegExp exec method returned something other than an Object or null'); + } + return result; + } + if (classof(R) !== 'RegExp') { + throw new TypeError('RegExp#exec called on incompatible receiver'); + } + return builtinExec.call(R, S); +}; + +},{"25":25}],96:[function(_dereq_,module,exports){ +'use strict'; + +var regexpFlags = _dereq_(44); + +var nativeExec = RegExp.prototype.exec; +// This always refers to the native implementation, because the +// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js, +// which loads this file before patching the method. +var nativeReplace = String.prototype.replace; + +var patchedExec = nativeExec; + +var LAST_INDEX = 'lastIndex'; + +var UPDATES_LAST_INDEX_WRONG = (function () { + var re1 = /a/, + re2 = /b*/g; + nativeExec.call(re1, 'a'); + nativeExec.call(re2, 'a'); + return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0; +})(); + +// nonparticipating capturing group, copied from es5-shim's String#split patch. +var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined; + +var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED; + +if (PATCH) { + patchedExec = function exec(str) { + var re = this; + var lastIndex, reCopy, match, i; + + if (NPCG_INCLUDED) { + reCopy = new RegExp('^' + re.source + '$(?!\\s)', regexpFlags.call(re)); + } + if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX]; + + match = nativeExec.call(re, str); + + if (UPDATES_LAST_INDEX_WRONG && match) { + re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex; + } + if (NPCG_INCLUDED && match && match.length > 1) { + // Fix browsers whose `exec` methods don't consistently return `undefined` + // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/ + // eslint-disable-next-line no-loop-func + nativeReplace.call(match[0], reCopy, function () { + for (i = 1; i < arguments.length - 2; i++) { + if (arguments[i] === undefined) match[i] = undefined; + } + }); + } + + return match; + }; +} + +module.exports = patchedExec; + +},{"44":44}],97:[function(_dereq_,module,exports){ +// 7.2.9 SameValue(x, y) +module.exports = Object.is || function is(x, y) { + // eslint-disable-next-line no-self-compare + return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y; +}; + +},{}],98:[function(_dereq_,module,exports){ +// Works with __proto__ only. Old v8 can't work with null proto objects. +/* eslint-disable no-proto */ +var isObject = _dereq_(57); +var anObject = _dereq_(16); +var check = function (O, proto) { + anObject(O); + if (!isObject(proto) && proto !== null) throw TypeError(proto + ": can't set as prototype!"); +}; +module.exports = { + set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line + function (test, buggy, set) { + try { + set = _dereq_(32)(Function.call, _dereq_(77).f(Object.prototype, '__proto__').set, 2); + set(test, []); + buggy = !(test instanceof Array); + } catch (e) { buggy = true; } + return function setPrototypeOf(O, proto) { + check(O, proto); + if (buggy) O.__proto__ = proto; + else set(O, proto); + return O; + }; + }({}, false) : undefined), + check: check +}; + +},{"16":16,"32":32,"57":57,"77":77}],99:[function(_dereq_,module,exports){ +'use strict'; +var global = _dereq_(46); +var dP = _dereq_(75); +var DESCRIPTORS = _dereq_(36); +var SPECIES = _dereq_(128)('species'); + +module.exports = function (KEY) { + var C = global[KEY]; + if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, { + configurable: true, + get: function () { return this; } + }); +}; + +},{"128":128,"36":36,"46":46,"75":75}],100:[function(_dereq_,module,exports){ +var def = _dereq_(75).f; +var has = _dereq_(47); +var TAG = _dereq_(128)('toStringTag'); + +module.exports = function (it, tag, stat) { + if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag }); +}; + +},{"128":128,"47":47,"75":75}],101:[function(_dereq_,module,exports){ +var shared = _dereq_(102)('keys'); +var uid = _dereq_(123); +module.exports = function (key) { + return shared[key] || (shared[key] = uid(key)); +}; + +},{"102":102,"123":123}],102:[function(_dereq_,module,exports){ +var core = _dereq_(30); +var global = _dereq_(46); +var SHARED = '__core-js_shared__'; +var store = global[SHARED] || (global[SHARED] = {}); + +(module.exports = function (key, value) { + return store[key] || (store[key] = value !== undefined ? value : {}); +})('versions', []).push({ + version: core.version, + mode: _dereq_(65) ? 'pure' : 'global', + copyright: '© 2018 Denis Pushkarev (zloirock.ru)' +}); + +},{"30":30,"46":46,"65":65}],103:[function(_dereq_,module,exports){ +// 7.3.20 SpeciesConstructor(O, defaultConstructor) +var anObject = _dereq_(16); +var aFunction = _dereq_(11); +var SPECIES = _dereq_(128)('species'); +module.exports = function (O, D) { + var C = anObject(O).constructor; + var S; + return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S); +}; + +},{"11":11,"128":128,"16":16}],104:[function(_dereq_,module,exports){ +'use strict'; +var fails = _dereq_(42); + +module.exports = function (method, arg) { + return !!method && fails(function () { + // eslint-disable-next-line no-useless-call + arg ? method.call(null, function () { /* empty */ }, 1) : method.call(null); + }); +}; + +},{"42":42}],105:[function(_dereq_,module,exports){ +var toInteger = _dereq_(115); +var defined = _dereq_(35); +// true -> String#at +// false -> String#codePointAt +module.exports = function (TO_STRING) { + return function (that, pos) { + var s = String(defined(that)); + var i = toInteger(pos); + var l = s.length; + var a, b; + if (i < 0 || i >= l) return TO_STRING ? '' : undefined; + a = s.charCodeAt(i); + return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff + ? TO_STRING ? s.charAt(i) : a + : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000; + }; +}; + +},{"115":115,"35":35}],106:[function(_dereq_,module,exports){ +// helper for String#{startsWith, endsWith, includes} +var isRegExp = _dereq_(58); +var defined = _dereq_(35); + +module.exports = function (that, searchString, NAME) { + if (isRegExp(searchString)) throw TypeError('String#' + NAME + " doesn't accept regex!"); + return String(defined(that)); +}; + +},{"35":35,"58":58}],107:[function(_dereq_,module,exports){ +var $export = _dereq_(40); +var fails = _dereq_(42); +var defined = _dereq_(35); +var quot = /"/g; +// B.2.3.2.1 CreateHTML(string, tag, attribute, value) +var createHTML = function (string, tag, attribute, value) { + var S = String(defined(string)); + var p1 = '<' + tag; + if (attribute !== '') p1 += ' ' + attribute + '="' + String(value).replace(quot, '"') + '"'; + return p1 + '>' + S + ''; +}; +module.exports = function (NAME, exec) { + var O = {}; + O[NAME] = exec(createHTML); + $export($export.P + $export.F * fails(function () { + var test = ''[NAME]('"'); + return test !== test.toLowerCase() || test.split('"').length > 3; + }), 'String', O); +}; + +},{"35":35,"40":40,"42":42}],108:[function(_dereq_,module,exports){ +// https://github.com/tc39/proposal-string-pad-start-end +var toLength = _dereq_(117); +var repeat = _dereq_(109); +var defined = _dereq_(35); + +module.exports = function (that, maxLength, fillString, left) { + var S = String(defined(that)); + var stringLength = S.length; + var fillStr = fillString === undefined ? ' ' : String(fillString); + var intMaxLength = toLength(maxLength); + if (intMaxLength <= stringLength || fillStr == '') return S; + var fillLen = intMaxLength - stringLength; + var stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length)); + if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen); + return left ? stringFiller + S : S + stringFiller; +}; + +},{"109":109,"117":117,"35":35}],109:[function(_dereq_,module,exports){ +'use strict'; +var toInteger = _dereq_(115); +var defined = _dereq_(35); + +module.exports = function repeat(count) { + var str = String(defined(this)); + var res = ''; + var n = toInteger(count); + if (n < 0 || n == Infinity) throw RangeError("Count can't be negative"); + for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) res += str; + return res; +}; + +},{"115":115,"35":35}],110:[function(_dereq_,module,exports){ +var $export = _dereq_(40); +var defined = _dereq_(35); +var fails = _dereq_(42); +var spaces = _dereq_(111); +var space = '[' + spaces + ']'; +var non = '\u200b\u0085'; +var ltrim = RegExp('^' + space + space + '*'); +var rtrim = RegExp(space + space + '*$'); + +var exporter = function (KEY, exec, ALIAS) { + var exp = {}; + var FORCE = fails(function () { + return !!spaces[KEY]() || non[KEY]() != non; + }); + var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY]; + if (ALIAS) exp[ALIAS] = fn; + $export($export.P + $export.F * FORCE, 'String', exp); +}; + +// 1 -> String#trimLeft +// 2 -> String#trimRight +// 3 -> String#trim +var trim = exporter.trim = function (string, TYPE) { + string = String(defined(string)); + if (TYPE & 1) string = string.replace(ltrim, ''); + if (TYPE & 2) string = string.replace(rtrim, ''); + return string; +}; + +module.exports = exporter; + +},{"111":111,"35":35,"40":40,"42":42}],111:[function(_dereq_,module,exports){ +module.exports = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' + + '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'; + +},{}],112:[function(_dereq_,module,exports){ +var ctx = _dereq_(32); +var invoke = _dereq_(52); +var html = _dereq_(49); +var cel = _dereq_(37); +var global = _dereq_(46); +var process = global.process; +var setTask = global.setImmediate; +var clearTask = global.clearImmediate; +var MessageChannel = global.MessageChannel; +var Dispatch = global.Dispatch; +var counter = 0; +var queue = {}; +var ONREADYSTATECHANGE = 'onreadystatechange'; +var defer, channel, port; +var run = function () { + var id = +this; + // eslint-disable-next-line no-prototype-builtins + if (queue.hasOwnProperty(id)) { + var fn = queue[id]; + delete queue[id]; + fn(); + } +}; +var listener = function (event) { + run.call(event.data); +}; +// Node.js 0.9+ & IE10+ has setImmediate, otherwise: +if (!setTask || !clearTask) { + setTask = function setImmediate(fn) { + var args = []; + var i = 1; + while (arguments.length > i) args.push(arguments[i++]); + queue[++counter] = function () { + // eslint-disable-next-line no-new-func + invoke(typeof fn == 'function' ? fn : Function(fn), args); + }; + defer(counter); + return counter; + }; + clearTask = function clearImmediate(id) { + delete queue[id]; + }; + // Node.js 0.8- + if (_dereq_(26)(process) == 'process') { + defer = function (id) { + process.nextTick(ctx(run, id, 1)); + }; + // Sphere (JS game engine) Dispatch API + } else if (Dispatch && Dispatch.now) { + defer = function (id) { + Dispatch.now(ctx(run, id, 1)); + }; + // Browsers with MessageChannel, includes WebWorkers + } else if (MessageChannel) { + channel = new MessageChannel(); + port = channel.port2; + channel.port1.onmessage = listener; + defer = ctx(port.postMessage, port, 1); + // Browsers with postMessage, skip WebWorkers + // IE8 has postMessage, but it's sync & typeof its postMessage is 'object' + } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) { + defer = function (id) { + global.postMessage(id + '', '*'); + }; + global.addEventListener('message', listener, false); + // IE8- + } else if (ONREADYSTATECHANGE in cel('script')) { + defer = function (id) { + html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () { + html.removeChild(this); + run.call(id); + }; + }; + // Rest old browsers + } else { + defer = function (id) { + setTimeout(ctx(run, id, 1), 0); + }; + } +} +module.exports = { + set: setTask, + clear: clearTask +}; + +},{"26":26,"32":32,"37":37,"46":46,"49":49,"52":52}],113:[function(_dereq_,module,exports){ +var toInteger = _dereq_(115); +var max = Math.max; +var min = Math.min; +module.exports = function (index, length) { + index = toInteger(index); + return index < 0 ? max(index + length, 0) : min(index, length); +}; + +},{"115":115}],114:[function(_dereq_,module,exports){ +// https://tc39.github.io/ecma262/#sec-toindex +var toInteger = _dereq_(115); +var toLength = _dereq_(117); +module.exports = function (it) { + if (it === undefined) return 0; + var number = toInteger(it); + var length = toLength(number); + if (number !== length) throw RangeError('Wrong length!'); + return length; +}; + +},{"115":115,"117":117}],115:[function(_dereq_,module,exports){ +// 7.1.4 ToInteger +var ceil = Math.ceil; +var floor = Math.floor; +module.exports = function (it) { + return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it); +}; + +},{}],116:[function(_dereq_,module,exports){ +// to indexed object, toObject with fallback for non-array-like ES3 strings +var IObject = _dereq_(53); +var defined = _dereq_(35); +module.exports = function (it) { + return IObject(defined(it)); +}; + +},{"35":35,"53":53}],117:[function(_dereq_,module,exports){ +// 7.1.15 ToLength +var toInteger = _dereq_(115); +var min = Math.min; +module.exports = function (it) { + return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991 +}; + +},{"115":115}],118:[function(_dereq_,module,exports){ +// 7.1.13 ToObject(argument) +var defined = _dereq_(35); +module.exports = function (it) { + return Object(defined(it)); +}; + +},{"35":35}],119:[function(_dereq_,module,exports){ +// 7.1.1 ToPrimitive(input [, PreferredType]) +var isObject = _dereq_(57); +// instead of the ES6 spec version, we didn't implement @@toPrimitive case +// and the second argument - flag - preferred type is a string +module.exports = function (it, S) { + if (!isObject(it)) return it; + var fn, val; + if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; + if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val; + if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; + throw TypeError("Can't convert object to primitive value"); +}; + +},{"57":57}],120:[function(_dereq_,module,exports){ +'use strict'; +if (_dereq_(36)) { + var LIBRARY = _dereq_(65); + var global = _dereq_(46); + var fails = _dereq_(42); + var $export = _dereq_(40); + var $typed = _dereq_(122); + var $buffer = _dereq_(121); + var ctx = _dereq_(32); + var anInstance = _dereq_(15); + var propertyDesc = _dereq_(92); + var hide = _dereq_(48); + var redefineAll = _dereq_(93); + var toInteger = _dereq_(115); + var toLength = _dereq_(117); + var toIndex = _dereq_(114); + var toAbsoluteIndex = _dereq_(113); + var toPrimitive = _dereq_(119); + var has = _dereq_(47); + var classof = _dereq_(25); + var isObject = _dereq_(57); + var toObject = _dereq_(118); + var isArrayIter = _dereq_(54); + var create = _dereq_(74); + var getPrototypeOf = _dereq_(81); + var gOPN = _dereq_(79).f; + var getIterFn = _dereq_(129); + var uid = _dereq_(123); + var wks = _dereq_(128); + var createArrayMethod = _dereq_(20); + var createArrayIncludes = _dereq_(19); + var speciesConstructor = _dereq_(103); + var ArrayIterators = _dereq_(140); + var Iterators = _dereq_(64); + var $iterDetect = _dereq_(62); + var setSpecies = _dereq_(99); + var arrayFill = _dereq_(18); + var arrayCopyWithin = _dereq_(17); + var $DP = _dereq_(75); + var $GOPD = _dereq_(77); + var dP = $DP.f; + var gOPD = $GOPD.f; + var RangeError = global.RangeError; + var TypeError = global.TypeError; + var Uint8Array = global.Uint8Array; + var ARRAY_BUFFER = 'ArrayBuffer'; + var SHARED_BUFFER = 'Shared' + ARRAY_BUFFER; + var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT'; + var PROTOTYPE = 'prototype'; + var ArrayProto = Array[PROTOTYPE]; + var $ArrayBuffer = $buffer.ArrayBuffer; + var $DataView = $buffer.DataView; + var arrayForEach = createArrayMethod(0); + var arrayFilter = createArrayMethod(2); + var arraySome = createArrayMethod(3); + var arrayEvery = createArrayMethod(4); + var arrayFind = createArrayMethod(5); + var arrayFindIndex = createArrayMethod(6); + var arrayIncludes = createArrayIncludes(true); + var arrayIndexOf = createArrayIncludes(false); + var arrayValues = ArrayIterators.values; + var arrayKeys = ArrayIterators.keys; + var arrayEntries = ArrayIterators.entries; + var arrayLastIndexOf = ArrayProto.lastIndexOf; + var arrayReduce = ArrayProto.reduce; + var arrayReduceRight = ArrayProto.reduceRight; + var arrayJoin = ArrayProto.join; + var arraySort = ArrayProto.sort; + var arraySlice = ArrayProto.slice; + var arrayToString = ArrayProto.toString; + var arrayToLocaleString = ArrayProto.toLocaleString; + var ITERATOR = wks('iterator'); + var TAG = wks('toStringTag'); + var TYPED_CONSTRUCTOR = uid('typed_constructor'); + var DEF_CONSTRUCTOR = uid('def_constructor'); + var ALL_CONSTRUCTORS = $typed.CONSTR; + var TYPED_ARRAY = $typed.TYPED; + var VIEW = $typed.VIEW; + var WRONG_LENGTH = 'Wrong length!'; + + var $map = createArrayMethod(1, function (O, length) { + return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length); + }); + + var LITTLE_ENDIAN = fails(function () { + // eslint-disable-next-line no-undef + return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1; + }); + + var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function () { + new Uint8Array(1).set({}); + }); + + var toOffset = function (it, BYTES) { + var offset = toInteger(it); + if (offset < 0 || offset % BYTES) throw RangeError('Wrong offset!'); + return offset; + }; + + var validate = function (it) { + if (isObject(it) && TYPED_ARRAY in it) return it; + throw TypeError(it + ' is not a typed array!'); + }; + + var allocate = function (C, length) { + if (!(isObject(C) && TYPED_CONSTRUCTOR in C)) { + throw TypeError('It is not a typed array constructor!'); + } return new C(length); + }; + + var speciesFromList = function (O, list) { + return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list); + }; + + var fromList = function (C, list) { + var index = 0; + var length = list.length; + var result = allocate(C, length); + while (length > index) result[index] = list[index++]; + return result; + }; + + var addGetter = function (it, key, internal) { + dP(it, key, { get: function () { return this._d[internal]; } }); + }; + + var $from = function from(source /* , mapfn, thisArg */) { + var O = toObject(source); + var aLen = arguments.length; + var mapfn = aLen > 1 ? arguments[1] : undefined; + var mapping = mapfn !== undefined; + var iterFn = getIterFn(O); + var i, length, values, result, step, iterator; + if (iterFn != undefined && !isArrayIter(iterFn)) { + for (iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++) { + values.push(step.value); + } O = values; + } + if (mapping && aLen > 2) mapfn = ctx(mapfn, arguments[2], 2); + for (i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++) { + result[i] = mapping ? mapfn(O[i], i) : O[i]; + } + return result; + }; + + var $of = function of(/* ...items */) { + var index = 0; + var length = arguments.length; + var result = allocate(this, length); + while (length > index) result[index] = arguments[index++]; + return result; + }; + + // iOS Safari 6.x fails here + var TO_LOCALE_BUG = !!Uint8Array && fails(function () { arrayToLocaleString.call(new Uint8Array(1)); }); + + var $toLocaleString = function toLocaleString() { + return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments); + }; + + var proto = { + copyWithin: function copyWithin(target, start /* , end */) { + return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined); + }, + every: function every(callbackfn /* , thisArg */) { + return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); + }, + fill: function fill(value /* , start, end */) { // eslint-disable-line no-unused-vars + return arrayFill.apply(validate(this), arguments); + }, + filter: function filter(callbackfn /* , thisArg */) { + return speciesFromList(this, arrayFilter(validate(this), callbackfn, + arguments.length > 1 ? arguments[1] : undefined)); + }, + find: function find(predicate /* , thisArg */) { + return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined); + }, + findIndex: function findIndex(predicate /* , thisArg */) { + return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined); + }, + forEach: function forEach(callbackfn /* , thisArg */) { + arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); + }, + indexOf: function indexOf(searchElement /* , fromIndex */) { + return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); + }, + includes: function includes(searchElement /* , fromIndex */) { + return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); + }, + join: function join(separator) { // eslint-disable-line no-unused-vars + return arrayJoin.apply(validate(this), arguments); + }, + lastIndexOf: function lastIndexOf(searchElement /* , fromIndex */) { // eslint-disable-line no-unused-vars + return arrayLastIndexOf.apply(validate(this), arguments); + }, + map: function map(mapfn /* , thisArg */) { + return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined); + }, + reduce: function reduce(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars + return arrayReduce.apply(validate(this), arguments); + }, + reduceRight: function reduceRight(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars + return arrayReduceRight.apply(validate(this), arguments); + }, + reverse: function reverse() { + var that = this; + var length = validate(that).length; + var middle = Math.floor(length / 2); + var index = 0; + var value; + while (index < middle) { + value = that[index]; + that[index++] = that[--length]; + that[length] = value; + } return that; + }, + some: function some(callbackfn /* , thisArg */) { + return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); + }, + sort: function sort(comparefn) { + return arraySort.call(validate(this), comparefn); + }, + subarray: function subarray(begin, end) { + var O = validate(this); + var length = O.length; + var $begin = toAbsoluteIndex(begin, length); + return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))( + O.buffer, + O.byteOffset + $begin * O.BYTES_PER_ELEMENT, + toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - $begin) + ); + } + }; + + var $slice = function slice(start, end) { + return speciesFromList(this, arraySlice.call(validate(this), start, end)); + }; + + var $set = function set(arrayLike /* , offset */) { + validate(this); + var offset = toOffset(arguments[1], 1); + var length = this.length; + var src = toObject(arrayLike); + var len = toLength(src.length); + var index = 0; + if (len + offset > length) throw RangeError(WRONG_LENGTH); + while (index < len) this[offset + index] = src[index++]; + }; + + var $iterators = { + entries: function entries() { + return arrayEntries.call(validate(this)); + }, + keys: function keys() { + return arrayKeys.call(validate(this)); + }, + values: function values() { + return arrayValues.call(validate(this)); + } + }; + + var isTAIndex = function (target, key) { + return isObject(target) + && target[TYPED_ARRAY] + && typeof key != 'symbol' + && key in target + && String(+key) == String(key); + }; + var $getDesc = function getOwnPropertyDescriptor(target, key) { + return isTAIndex(target, key = toPrimitive(key, true)) + ? propertyDesc(2, target[key]) + : gOPD(target, key); + }; + var $setDesc = function defineProperty(target, key, desc) { + if (isTAIndex(target, key = toPrimitive(key, true)) + && isObject(desc) + && has(desc, 'value') + && !has(desc, 'get') + && !has(desc, 'set') + // TODO: add validation descriptor w/o calling accessors + && !desc.configurable + && (!has(desc, 'writable') || desc.writable) + && (!has(desc, 'enumerable') || desc.enumerable) + ) { + target[key] = desc.value; + return target; + } return dP(target, key, desc); + }; + + if (!ALL_CONSTRUCTORS) { + $GOPD.f = $getDesc; + $DP.f = $setDesc; + } + + $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', { + getOwnPropertyDescriptor: $getDesc, + defineProperty: $setDesc + }); + + if (fails(function () { arrayToString.call({}); })) { + arrayToString = arrayToLocaleString = function toString() { + return arrayJoin.call(this); + }; + } + + var $TypedArrayPrototype$ = redefineAll({}, proto); + redefineAll($TypedArrayPrototype$, $iterators); + hide($TypedArrayPrototype$, ITERATOR, $iterators.values); + redefineAll($TypedArrayPrototype$, { + slice: $slice, + set: $set, + constructor: function () { /* noop */ }, + toString: arrayToString, + toLocaleString: $toLocaleString + }); + addGetter($TypedArrayPrototype$, 'buffer', 'b'); + addGetter($TypedArrayPrototype$, 'byteOffset', 'o'); + addGetter($TypedArrayPrototype$, 'byteLength', 'l'); + addGetter($TypedArrayPrototype$, 'length', 'e'); + dP($TypedArrayPrototype$, TAG, { + get: function () { return this[TYPED_ARRAY]; } + }); + + // eslint-disable-next-line max-statements + module.exports = function (KEY, BYTES, wrapper, CLAMPED) { + CLAMPED = !!CLAMPED; + var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array'; + var GETTER = 'get' + KEY; + var SETTER = 'set' + KEY; + var TypedArray = global[NAME]; + var Base = TypedArray || {}; + var TAC = TypedArray && getPrototypeOf(TypedArray); + var FORCED = !TypedArray || !$typed.ABV; + var O = {}; + var TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE]; + var getter = function (that, index) { + var data = that._d; + return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN); + }; + var setter = function (that, index, value) { + var data = that._d; + if (CLAMPED) value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff; + data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN); + }; + var addElement = function (that, index) { + dP(that, index, { + get: function () { + return getter(this, index); + }, + set: function (value) { + return setter(this, index, value); + }, + enumerable: true + }); + }; + if (FORCED) { + TypedArray = wrapper(function (that, data, $offset, $length) { + anInstance(that, TypedArray, NAME, '_d'); + var index = 0; + var offset = 0; + var buffer, byteLength, length, klass; + if (!isObject(data)) { + length = toIndex(data); + byteLength = length * BYTES; + buffer = new $ArrayBuffer(byteLength); + } else if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) { + buffer = data; + offset = toOffset($offset, BYTES); + var $len = data.byteLength; + if ($length === undefined) { + if ($len % BYTES) throw RangeError(WRONG_LENGTH); + byteLength = $len - offset; + if (byteLength < 0) throw RangeError(WRONG_LENGTH); + } else { + byteLength = toLength($length) * BYTES; + if (byteLength + offset > $len) throw RangeError(WRONG_LENGTH); + } + length = byteLength / BYTES; + } else if (TYPED_ARRAY in data) { + return fromList(TypedArray, data); + } else { + return $from.call(TypedArray, data); + } + hide(that, '_d', { + b: buffer, + o: offset, + l: byteLength, + e: length, + v: new $DataView(buffer) + }); + while (index < length) addElement(that, index++); + }); + TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$); + hide(TypedArrayPrototype, 'constructor', TypedArray); + } else if (!fails(function () { + TypedArray(1); + }) || !fails(function () { + new TypedArray(-1); // eslint-disable-line no-new + }) || !$iterDetect(function (iter) { + new TypedArray(); // eslint-disable-line no-new + new TypedArray(null); // eslint-disable-line no-new + new TypedArray(1.5); // eslint-disable-line no-new + new TypedArray(iter); // eslint-disable-line no-new + }, true)) { + TypedArray = wrapper(function (that, data, $offset, $length) { + anInstance(that, TypedArray, NAME); + var klass; + // `ws` module bug, temporarily remove validation length for Uint8Array + // https://github.com/websockets/ws/pull/645 + if (!isObject(data)) return new Base(toIndex(data)); + if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) { + return $length !== undefined + ? new Base(data, toOffset($offset, BYTES), $length) + : $offset !== undefined + ? new Base(data, toOffset($offset, BYTES)) + : new Base(data); + } + if (TYPED_ARRAY in data) return fromList(TypedArray, data); + return $from.call(TypedArray, data); + }); + arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function (key) { + if (!(key in TypedArray)) hide(TypedArray, key, Base[key]); + }); + TypedArray[PROTOTYPE] = TypedArrayPrototype; + if (!LIBRARY) TypedArrayPrototype.constructor = TypedArray; + } + var $nativeIterator = TypedArrayPrototype[ITERATOR]; + var CORRECT_ITER_NAME = !!$nativeIterator + && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined); + var $iterator = $iterators.values; + hide(TypedArray, TYPED_CONSTRUCTOR, true); + hide(TypedArrayPrototype, TYPED_ARRAY, NAME); + hide(TypedArrayPrototype, VIEW, true); + hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray); + + if (CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)) { + dP(TypedArrayPrototype, TAG, { + get: function () { return NAME; } + }); + } + + O[NAME] = TypedArray; + + $export($export.G + $export.W + $export.F * (TypedArray != Base), O); + + $export($export.S, NAME, { + BYTES_PER_ELEMENT: BYTES + }); + + $export($export.S + $export.F * fails(function () { Base.of.call(TypedArray, 1); }), NAME, { + from: $from, + of: $of + }); + + if (!(BYTES_PER_ELEMENT in TypedArrayPrototype)) hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES); + + $export($export.P, NAME, proto); + + setSpecies(NAME); + + $export($export.P + $export.F * FORCED_SET, NAME, { set: $set }); + + $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators); + + if (!LIBRARY && TypedArrayPrototype.toString != arrayToString) TypedArrayPrototype.toString = arrayToString; + + $export($export.P + $export.F * fails(function () { + new TypedArray(1).slice(); + }), NAME, { slice: $slice }); + + $export($export.P + $export.F * (fails(function () { + return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString(); + }) || !fails(function () { + TypedArrayPrototype.toLocaleString.call([1, 2]); + })), NAME, { toLocaleString: $toLocaleString }); + + Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator; + if (!LIBRARY && !CORRECT_ITER_NAME) hide(TypedArrayPrototype, ITERATOR, $iterator); + }; +} else module.exports = function () { /* empty */ }; + +},{"103":103,"113":113,"114":114,"115":115,"117":117,"118":118,"119":119,"121":121,"122":122,"123":123,"128":128,"129":129,"140":140,"15":15,"17":17,"18":18,"19":19,"20":20,"25":25,"32":32,"36":36,"40":40,"42":42,"46":46,"47":47,"48":48,"54":54,"57":57,"62":62,"64":64,"65":65,"74":74,"75":75,"77":77,"79":79,"81":81,"92":92,"93":93,"99":99}],121:[function(_dereq_,module,exports){ +'use strict'; +var global = _dereq_(46); +var DESCRIPTORS = _dereq_(36); +var LIBRARY = _dereq_(65); +var $typed = _dereq_(122); +var hide = _dereq_(48); +var redefineAll = _dereq_(93); +var fails = _dereq_(42); +var anInstance = _dereq_(15); +var toInteger = _dereq_(115); +var toLength = _dereq_(117); +var toIndex = _dereq_(114); +var gOPN = _dereq_(79).f; +var dP = _dereq_(75).f; +var arrayFill = _dereq_(18); +var setToStringTag = _dereq_(100); +var ARRAY_BUFFER = 'ArrayBuffer'; +var DATA_VIEW = 'DataView'; +var PROTOTYPE = 'prototype'; +var WRONG_LENGTH = 'Wrong length!'; +var WRONG_INDEX = 'Wrong index!'; +var $ArrayBuffer = global[ARRAY_BUFFER]; +var $DataView = global[DATA_VIEW]; +var Math = global.Math; +var RangeError = global.RangeError; +// eslint-disable-next-line no-shadow-restricted-names +var Infinity = global.Infinity; +var BaseBuffer = $ArrayBuffer; +var abs = Math.abs; +var pow = Math.pow; +var floor = Math.floor; +var log = Math.log; +var LN2 = Math.LN2; +var BUFFER = 'buffer'; +var BYTE_LENGTH = 'byteLength'; +var BYTE_OFFSET = 'byteOffset'; +var $BUFFER = DESCRIPTORS ? '_b' : BUFFER; +var $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH; +var $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET; + +// IEEE754 conversions based on https://github.com/feross/ieee754 +function packIEEE754(value, mLen, nBytes) { + var buffer = new Array(nBytes); + var eLen = nBytes * 8 - mLen - 1; + var eMax = (1 << eLen) - 1; + var eBias = eMax >> 1; + var rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0; + var i = 0; + var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0; + var e, m, c; + value = abs(value); + // eslint-disable-next-line no-self-compare + if (value != value || value === Infinity) { + // eslint-disable-next-line no-self-compare + m = value != value ? 1 : 0; + e = eMax; + } else { + e = floor(log(value) / LN2); + if (value * (c = pow(2, -e)) < 1) { + e--; + c *= 2; + } + if (e + eBias >= 1) { + value += rt / c; + } else { + value += rt * pow(2, 1 - eBias); + } + if (value * c >= 2) { + e++; + c /= 2; + } + if (e + eBias >= eMax) { + m = 0; + e = eMax; + } else if (e + eBias >= 1) { + m = (value * c - 1) * pow(2, mLen); + e = e + eBias; + } else { + m = value * pow(2, eBias - 1) * pow(2, mLen); + e = 0; + } + } + for (; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8); + e = e << mLen | m; + eLen += mLen; + for (; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8); + buffer[--i] |= s * 128; + return buffer; +} +function unpackIEEE754(buffer, mLen, nBytes) { + var eLen = nBytes * 8 - mLen - 1; + var eMax = (1 << eLen) - 1; + var eBias = eMax >> 1; + var nBits = eLen - 7; + var i = nBytes - 1; + var s = buffer[i--]; + var e = s & 127; + var m; + s >>= 7; + for (; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8); + m = e & (1 << -nBits) - 1; + e >>= -nBits; + nBits += mLen; + for (; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8); + if (e === 0) { + e = 1 - eBias; + } else if (e === eMax) { + return m ? NaN : s ? -Infinity : Infinity; + } else { + m = m + pow(2, mLen); + e = e - eBias; + } return (s ? -1 : 1) * m * pow(2, e - mLen); +} + +function unpackI32(bytes) { + return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0]; +} +function packI8(it) { + return [it & 0xff]; +} +function packI16(it) { + return [it & 0xff, it >> 8 & 0xff]; +} +function packI32(it) { + return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff]; +} +function packF64(it) { + return packIEEE754(it, 52, 8); +} +function packF32(it) { + return packIEEE754(it, 23, 4); +} + +function addGetter(C, key, internal) { + dP(C[PROTOTYPE], key, { get: function () { return this[internal]; } }); +} + +function get(view, bytes, index, isLittleEndian) { + var numIndex = +index; + var intIndex = toIndex(numIndex); + if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX); + var store = view[$BUFFER]._b; + var start = intIndex + view[$OFFSET]; + var pack = store.slice(start, start + bytes); + return isLittleEndian ? pack : pack.reverse(); +} +function set(view, bytes, index, conversion, value, isLittleEndian) { + var numIndex = +index; + var intIndex = toIndex(numIndex); + if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX); + var store = view[$BUFFER]._b; + var start = intIndex + view[$OFFSET]; + var pack = conversion(+value); + for (var i = 0; i < bytes; i++) store[start + i] = pack[isLittleEndian ? i : bytes - i - 1]; +} + +if (!$typed.ABV) { + $ArrayBuffer = function ArrayBuffer(length) { + anInstance(this, $ArrayBuffer, ARRAY_BUFFER); + var byteLength = toIndex(length); + this._b = arrayFill.call(new Array(byteLength), 0); + this[$LENGTH] = byteLength; + }; + + $DataView = function DataView(buffer, byteOffset, byteLength) { + anInstance(this, $DataView, DATA_VIEW); + anInstance(buffer, $ArrayBuffer, DATA_VIEW); + var bufferLength = buffer[$LENGTH]; + var offset = toInteger(byteOffset); + if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset!'); + byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength); + if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH); + this[$BUFFER] = buffer; + this[$OFFSET] = offset; + this[$LENGTH] = byteLength; + }; + + if (DESCRIPTORS) { + addGetter($ArrayBuffer, BYTE_LENGTH, '_l'); + addGetter($DataView, BUFFER, '_b'); + addGetter($DataView, BYTE_LENGTH, '_l'); + addGetter($DataView, BYTE_OFFSET, '_o'); + } + + redefineAll($DataView[PROTOTYPE], { + getInt8: function getInt8(byteOffset) { + return get(this, 1, byteOffset)[0] << 24 >> 24; + }, + getUint8: function getUint8(byteOffset) { + return get(this, 1, byteOffset)[0]; + }, + getInt16: function getInt16(byteOffset /* , littleEndian */) { + var bytes = get(this, 2, byteOffset, arguments[1]); + return (bytes[1] << 8 | bytes[0]) << 16 >> 16; + }, + getUint16: function getUint16(byteOffset /* , littleEndian */) { + var bytes = get(this, 2, byteOffset, arguments[1]); + return bytes[1] << 8 | bytes[0]; + }, + getInt32: function getInt32(byteOffset /* , littleEndian */) { + return unpackI32(get(this, 4, byteOffset, arguments[1])); + }, + getUint32: function getUint32(byteOffset /* , littleEndian */) { + return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0; + }, + getFloat32: function getFloat32(byteOffset /* , littleEndian */) { + return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4); + }, + getFloat64: function getFloat64(byteOffset /* , littleEndian */) { + return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8); + }, + setInt8: function setInt8(byteOffset, value) { + set(this, 1, byteOffset, packI8, value); + }, + setUint8: function setUint8(byteOffset, value) { + set(this, 1, byteOffset, packI8, value); + }, + setInt16: function setInt16(byteOffset, value /* , littleEndian */) { + set(this, 2, byteOffset, packI16, value, arguments[2]); + }, + setUint16: function setUint16(byteOffset, value /* , littleEndian */) { + set(this, 2, byteOffset, packI16, value, arguments[2]); + }, + setInt32: function setInt32(byteOffset, value /* , littleEndian */) { + set(this, 4, byteOffset, packI32, value, arguments[2]); + }, + setUint32: function setUint32(byteOffset, value /* , littleEndian */) { + set(this, 4, byteOffset, packI32, value, arguments[2]); + }, + setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) { + set(this, 4, byteOffset, packF32, value, arguments[2]); + }, + setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) { + set(this, 8, byteOffset, packF64, value, arguments[2]); + } + }); +} else { + if (!fails(function () { + $ArrayBuffer(1); + }) || !fails(function () { + new $ArrayBuffer(-1); // eslint-disable-line no-new + }) || fails(function () { + new $ArrayBuffer(); // eslint-disable-line no-new + new $ArrayBuffer(1.5); // eslint-disable-line no-new + new $ArrayBuffer(NaN); // eslint-disable-line no-new + return $ArrayBuffer.name != ARRAY_BUFFER; + })) { + $ArrayBuffer = function ArrayBuffer(length) { + anInstance(this, $ArrayBuffer); + return new BaseBuffer(toIndex(length)); + }; + var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE]; + for (var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j;) { + if (!((key = keys[j++]) in $ArrayBuffer)) hide($ArrayBuffer, key, BaseBuffer[key]); + } + if (!LIBRARY) ArrayBufferProto.constructor = $ArrayBuffer; + } + // iOS Safari 7.x bug + var view = new $DataView(new $ArrayBuffer(2)); + var $setInt8 = $DataView[PROTOTYPE].setInt8; + view.setInt8(0, 2147483648); + view.setInt8(1, 2147483649); + if (view.getInt8(0) || !view.getInt8(1)) redefineAll($DataView[PROTOTYPE], { + setInt8: function setInt8(byteOffset, value) { + $setInt8.call(this, byteOffset, value << 24 >> 24); + }, + setUint8: function setUint8(byteOffset, value) { + $setInt8.call(this, byteOffset, value << 24 >> 24); + } + }, true); +} +setToStringTag($ArrayBuffer, ARRAY_BUFFER); +setToStringTag($DataView, DATA_VIEW); +hide($DataView[PROTOTYPE], $typed.VIEW, true); +exports[ARRAY_BUFFER] = $ArrayBuffer; +exports[DATA_VIEW] = $DataView; + +},{"100":100,"114":114,"115":115,"117":117,"122":122,"15":15,"18":18,"36":36,"42":42,"46":46,"48":48,"65":65,"75":75,"79":79,"93":93}],122:[function(_dereq_,module,exports){ +var global = _dereq_(46); +var hide = _dereq_(48); +var uid = _dereq_(123); +var TYPED = uid('typed_array'); +var VIEW = uid('view'); +var ABV = !!(global.ArrayBuffer && global.DataView); +var CONSTR = ABV; +var i = 0; +var l = 9; +var Typed; + +var TypedArrayConstructors = ( + 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array' +).split(','); + +while (i < l) { + if (Typed = global[TypedArrayConstructors[i++]]) { + hide(Typed.prototype, TYPED, true); + hide(Typed.prototype, VIEW, true); + } else CONSTR = false; +} + +module.exports = { + ABV: ABV, + CONSTR: CONSTR, + TYPED: TYPED, + VIEW: VIEW +}; + +},{"123":123,"46":46,"48":48}],123:[function(_dereq_,module,exports){ +var id = 0; +var px = Math.random(); +module.exports = function (key) { + return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36)); +}; + +},{}],124:[function(_dereq_,module,exports){ +var global = _dereq_(46); +var navigator = global.navigator; + +module.exports = navigator && navigator.userAgent || ''; + +},{"46":46}],125:[function(_dereq_,module,exports){ +var isObject = _dereq_(57); +module.exports = function (it, TYPE) { + if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!'); + return it; +}; + +},{"57":57}],126:[function(_dereq_,module,exports){ +var global = _dereq_(46); +var core = _dereq_(30); +var LIBRARY = _dereq_(65); +var wksExt = _dereq_(127); +var defineProperty = _dereq_(75).f; +module.exports = function (name) { + var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {}); + if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) }); +}; + +},{"127":127,"30":30,"46":46,"65":65,"75":75}],127:[function(_dereq_,module,exports){ +exports.f = _dereq_(128); + +},{"128":128}],128:[function(_dereq_,module,exports){ +var store = _dereq_(102)('wks'); +var uid = _dereq_(123); +var Symbol = _dereq_(46).Symbol; +var USE_SYMBOL = typeof Symbol == 'function'; + +var $exports = module.exports = function (name) { + return store[name] || (store[name] = + USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name)); +}; + +$exports.store = store; + +},{"102":102,"123":123,"46":46}],129:[function(_dereq_,module,exports){ +var classof = _dereq_(25); +var ITERATOR = _dereq_(128)('iterator'); +var Iterators = _dereq_(64); +module.exports = _dereq_(30).getIteratorMethod = function (it) { + if (it != undefined) return it[ITERATOR] + || it['@@iterator'] + || Iterators[classof(it)]; +}; + +},{"128":128,"25":25,"30":30,"64":64}],130:[function(_dereq_,module,exports){ +// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length) +var $export = _dereq_(40); + +$export($export.P, 'Array', { copyWithin: _dereq_(17) }); + +_dereq_(13)('copyWithin'); + +},{"13":13,"17":17,"40":40}],131:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(40); +var $every = _dereq_(20)(4); + +$export($export.P + $export.F * !_dereq_(104)([].every, true), 'Array', { + // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg]) + every: function every(callbackfn /* , thisArg */) { + return $every(this, callbackfn, arguments[1]); + } +}); + +},{"104":104,"20":20,"40":40}],132:[function(_dereq_,module,exports){ +// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length) +var $export = _dereq_(40); + +$export($export.P, 'Array', { fill: _dereq_(18) }); + +_dereq_(13)('fill'); + +},{"13":13,"18":18,"40":40}],133:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(40); +var $filter = _dereq_(20)(2); + +$export($export.P + $export.F * !_dereq_(104)([].filter, true), 'Array', { + // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg]) + filter: function filter(callbackfn /* , thisArg */) { + return $filter(this, callbackfn, arguments[1]); + } +}); + +},{"104":104,"20":20,"40":40}],134:[function(_dereq_,module,exports){ +'use strict'; +// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined) +var $export = _dereq_(40); +var $find = _dereq_(20)(6); +var KEY = 'findIndex'; +var forced = true; +// Shouldn't skip holes +if (KEY in []) Array(1)[KEY](function () { forced = false; }); +$export($export.P + $export.F * forced, 'Array', { + findIndex: function findIndex(callbackfn /* , that = undefined */) { + return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); +_dereq_(13)(KEY); + +},{"13":13,"20":20,"40":40}],135:[function(_dereq_,module,exports){ +'use strict'; +// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined) +var $export = _dereq_(40); +var $find = _dereq_(20)(5); +var KEY = 'find'; +var forced = true; +// Shouldn't skip holes +if (KEY in []) Array(1)[KEY](function () { forced = false; }); +$export($export.P + $export.F * forced, 'Array', { + find: function find(callbackfn /* , that = undefined */) { + return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); +_dereq_(13)(KEY); + +},{"13":13,"20":20,"40":40}],136:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(40); +var $forEach = _dereq_(20)(0); +var STRICT = _dereq_(104)([].forEach, true); + +$export($export.P + $export.F * !STRICT, 'Array', { + // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg]) + forEach: function forEach(callbackfn /* , thisArg */) { + return $forEach(this, callbackfn, arguments[1]); + } +}); + +},{"104":104,"20":20,"40":40}],137:[function(_dereq_,module,exports){ +'use strict'; +var ctx = _dereq_(32); +var $export = _dereq_(40); +var toObject = _dereq_(118); +var call = _dereq_(59); +var isArrayIter = _dereq_(54); +var toLength = _dereq_(117); +var createProperty = _dereq_(31); +var getIterFn = _dereq_(129); + +$export($export.S + $export.F * !_dereq_(62)(function (iter) { Array.from(iter); }), 'Array', { + // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined) + from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) { + var O = toObject(arrayLike); + var C = typeof this == 'function' ? this : Array; + var aLen = arguments.length; + var mapfn = aLen > 1 ? arguments[1] : undefined; + var mapping = mapfn !== undefined; + var index = 0; + var iterFn = getIterFn(O); + var length, result, step, iterator; + if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2); + // if object isn't iterable or it's array with default iterator - use simple case + if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) { + for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) { + createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value); + } + } else { + length = toLength(O.length); + for (result = new C(length); length > index; index++) { + createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]); + } + } + result.length = index; + return result; + } +}); + +},{"117":117,"118":118,"129":129,"31":31,"32":32,"40":40,"54":54,"59":59,"62":62}],138:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(40); +var $indexOf = _dereq_(19)(false); +var $native = [].indexOf; +var NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0; + +$export($export.P + $export.F * (NEGATIVE_ZERO || !_dereq_(104)($native)), 'Array', { + // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex]) + indexOf: function indexOf(searchElement /* , fromIndex = 0 */) { + return NEGATIVE_ZERO + // convert -0 to +0 + ? $native.apply(this, arguments) || 0 + : $indexOf(this, searchElement, arguments[1]); + } +}); + +},{"104":104,"19":19,"40":40}],139:[function(_dereq_,module,exports){ +// 22.1.2.2 / 15.4.3.2 Array.isArray(arg) +var $export = _dereq_(40); + +$export($export.S, 'Array', { isArray: _dereq_(55) }); + +},{"40":40,"55":55}],140:[function(_dereq_,module,exports){ +'use strict'; +var addToUnscopables = _dereq_(13); +var step = _dereq_(63); +var Iterators = _dereq_(64); +var toIObject = _dereq_(116); + +// 22.1.3.4 Array.prototype.entries() +// 22.1.3.13 Array.prototype.keys() +// 22.1.3.29 Array.prototype.values() +// 22.1.3.30 Array.prototype[@@iterator]() +module.exports = _dereq_(61)(Array, 'Array', function (iterated, kind) { + this._t = toIObject(iterated); // target + this._i = 0; // next index + this._k = kind; // kind +// 22.1.5.2.1 %ArrayIteratorPrototype%.next() +}, function () { + var O = this._t; + var kind = this._k; + var index = this._i++; + if (!O || index >= O.length) { + this._t = undefined; + return step(1); + } + if (kind == 'keys') return step(0, index); + if (kind == 'values') return step(0, O[index]); + return step(0, [index, O[index]]); +}, 'values'); + +// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7) +Iterators.Arguments = Iterators.Array; + +addToUnscopables('keys'); +addToUnscopables('values'); +addToUnscopables('entries'); + +},{"116":116,"13":13,"61":61,"63":63,"64":64}],141:[function(_dereq_,module,exports){ +'use strict'; +// 22.1.3.13 Array.prototype.join(separator) +var $export = _dereq_(40); +var toIObject = _dereq_(116); +var arrayJoin = [].join; + +// fallback for not array-like strings +$export($export.P + $export.F * (_dereq_(53) != Object || !_dereq_(104)(arrayJoin)), 'Array', { + join: function join(separator) { + return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator); + } +}); + +},{"104":104,"116":116,"40":40,"53":53}],142:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(40); +var toIObject = _dereq_(116); +var toInteger = _dereq_(115); +var toLength = _dereq_(117); +var $native = [].lastIndexOf; +var NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0; + +$export($export.P + $export.F * (NEGATIVE_ZERO || !_dereq_(104)($native)), 'Array', { + // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex]) + lastIndexOf: function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) { + // convert -0 to +0 + if (NEGATIVE_ZERO) return $native.apply(this, arguments) || 0; + var O = toIObject(this); + var length = toLength(O.length); + var index = length - 1; + if (arguments.length > 1) index = Math.min(index, toInteger(arguments[1])); + if (index < 0) index = length + index; + for (;index >= 0; index--) if (index in O) if (O[index] === searchElement) return index || 0; + return -1; + } +}); + +},{"104":104,"115":115,"116":116,"117":117,"40":40}],143:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(40); +var $map = _dereq_(20)(1); + +$export($export.P + $export.F * !_dereq_(104)([].map, true), 'Array', { + // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg]) + map: function map(callbackfn /* , thisArg */) { + return $map(this, callbackfn, arguments[1]); + } +}); + +},{"104":104,"20":20,"40":40}],144:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(40); +var createProperty = _dereq_(31); + +// WebKit Array.of isn't generic +$export($export.S + $export.F * _dereq_(42)(function () { + function F() { /* empty */ } + return !(Array.of.call(F) instanceof F); +}), 'Array', { + // 22.1.2.3 Array.of( ...items) + of: function of(/* ...args */) { + var index = 0; + var aLen = arguments.length; + var result = new (typeof this == 'function' ? this : Array)(aLen); + while (aLen > index) createProperty(result, index, arguments[index++]); + result.length = aLen; + return result; + } +}); + +},{"31":31,"40":40,"42":42}],145:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(40); +var $reduce = _dereq_(21); + +$export($export.P + $export.F * !_dereq_(104)([].reduceRight, true), 'Array', { + // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue]) + reduceRight: function reduceRight(callbackfn /* , initialValue */) { + return $reduce(this, callbackfn, arguments.length, arguments[1], true); + } +}); + +},{"104":104,"21":21,"40":40}],146:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(40); +var $reduce = _dereq_(21); + +$export($export.P + $export.F * !_dereq_(104)([].reduce, true), 'Array', { + // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue]) + reduce: function reduce(callbackfn /* , initialValue */) { + return $reduce(this, callbackfn, arguments.length, arguments[1], false); + } +}); + +},{"104":104,"21":21,"40":40}],147:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(40); +var html = _dereq_(49); +var cof = _dereq_(26); +var toAbsoluteIndex = _dereq_(113); +var toLength = _dereq_(117); +var arraySlice = [].slice; + +// fallback for not array-like ES3 strings and DOM objects +$export($export.P + $export.F * _dereq_(42)(function () { + if (html) arraySlice.call(html); +}), 'Array', { + slice: function slice(begin, end) { + var len = toLength(this.length); + var klass = cof(this); + end = end === undefined ? len : end; + if (klass == 'Array') return arraySlice.call(this, begin, end); + var start = toAbsoluteIndex(begin, len); + var upTo = toAbsoluteIndex(end, len); + var size = toLength(upTo - start); + var cloned = new Array(size); + var i = 0; + for (; i < size; i++) cloned[i] = klass == 'String' + ? this.charAt(start + i) + : this[start + i]; + return cloned; + } +}); + +},{"113":113,"117":117,"26":26,"40":40,"42":42,"49":49}],148:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(40); +var $some = _dereq_(20)(3); + +$export($export.P + $export.F * !_dereq_(104)([].some, true), 'Array', { + // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg]) + some: function some(callbackfn /* , thisArg */) { + return $some(this, callbackfn, arguments[1]); + } +}); + +},{"104":104,"20":20,"40":40}],149:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(40); +var aFunction = _dereq_(11); +var toObject = _dereq_(118); +var fails = _dereq_(42); +var $sort = [].sort; +var test = [1, 2, 3]; + +$export($export.P + $export.F * (fails(function () { + // IE8- + test.sort(undefined); +}) || !fails(function () { + // V8 bug + test.sort(null); + // Old WebKit +}) || !_dereq_(104)($sort)), 'Array', { + // 22.1.3.25 Array.prototype.sort(comparefn) + sort: function sort(comparefn) { + return comparefn === undefined + ? $sort.call(toObject(this)) + : $sort.call(toObject(this), aFunction(comparefn)); + } +}); + +},{"104":104,"11":11,"118":118,"40":40,"42":42}],150:[function(_dereq_,module,exports){ +_dereq_(99)('Array'); + +},{"99":99}],151:[function(_dereq_,module,exports){ +// 20.3.3.1 / 15.9.4.4 Date.now() +var $export = _dereq_(40); + +$export($export.S, 'Date', { now: function () { return new Date().getTime(); } }); + +},{"40":40}],152:[function(_dereq_,module,exports){ +// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString() +var $export = _dereq_(40); +var toISOString = _dereq_(33); + +// PhantomJS / old WebKit has a broken implementations +$export($export.P + $export.F * (Date.prototype.toISOString !== toISOString), 'Date', { + toISOString: toISOString +}); + +},{"33":33,"40":40}],153:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(40); +var toObject = _dereq_(118); +var toPrimitive = _dereq_(119); + +$export($export.P + $export.F * _dereq_(42)(function () { + return new Date(NaN).toJSON() !== null + || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1; +}), 'Date', { + // eslint-disable-next-line no-unused-vars + toJSON: function toJSON(key) { + var O = toObject(this); + var pv = toPrimitive(O); + return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString(); + } +}); + +},{"118":118,"119":119,"40":40,"42":42}],154:[function(_dereq_,module,exports){ +var TO_PRIMITIVE = _dereq_(128)('toPrimitive'); +var proto = Date.prototype; + +if (!(TO_PRIMITIVE in proto)) _dereq_(48)(proto, TO_PRIMITIVE, _dereq_(34)); + +},{"128":128,"34":34,"48":48}],155:[function(_dereq_,module,exports){ +var DateProto = Date.prototype; +var INVALID_DATE = 'Invalid Date'; +var TO_STRING = 'toString'; +var $toString = DateProto[TO_STRING]; +var getTime = DateProto.getTime; +if (new Date(NaN) + '' != INVALID_DATE) { + _dereq_(94)(DateProto, TO_STRING, function toString() { + var value = getTime.call(this); + // eslint-disable-next-line no-self-compare + return value === value ? $toString.call(this) : INVALID_DATE; + }); +} + +},{"94":94}],156:[function(_dereq_,module,exports){ +// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...) +var $export = _dereq_(40); + +$export($export.P, 'Function', { bind: _dereq_(24) }); + +},{"24":24,"40":40}],157:[function(_dereq_,module,exports){ +'use strict'; +var isObject = _dereq_(57); +var getPrototypeOf = _dereq_(81); +var HAS_INSTANCE = _dereq_(128)('hasInstance'); +var FunctionProto = Function.prototype; +// 19.2.3.6 Function.prototype[@@hasInstance](V) +if (!(HAS_INSTANCE in FunctionProto)) _dereq_(75).f(FunctionProto, HAS_INSTANCE, { value: function (O) { + if (typeof this != 'function' || !isObject(O)) return false; + if (!isObject(this.prototype)) return O instanceof this; + // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this: + while (O = getPrototypeOf(O)) if (this.prototype === O) return true; + return false; +} }); + +},{"128":128,"57":57,"75":75,"81":81}],158:[function(_dereq_,module,exports){ +var dP = _dereq_(75).f; +var FProto = Function.prototype; +var nameRE = /^\s*function ([^ (]*)/; +var NAME = 'name'; + +// 19.2.4.2 name +NAME in FProto || _dereq_(36) && dP(FProto, NAME, { + configurable: true, + get: function () { + try { + return ('' + this).match(nameRE)[1]; + } catch (e) { + return ''; + } + } +}); + +},{"36":36,"75":75}],159:[function(_dereq_,module,exports){ +'use strict'; +var strong = _dereq_(27); +var validate = _dereq_(125); +var MAP = 'Map'; + +// 23.1 Map Objects +module.exports = _dereq_(29)(MAP, function (get) { + return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); }; +}, { + // 23.1.3.6 Map.prototype.get(key) + get: function get(key) { + var entry = strong.getEntry(validate(this, MAP), key); + return entry && entry.v; + }, + // 23.1.3.9 Map.prototype.set(key, value) + set: function set(key, value) { + return strong.def(validate(this, MAP), key === 0 ? 0 : key, value); + } +}, strong, true); + +},{"125":125,"27":27,"29":29}],160:[function(_dereq_,module,exports){ +// 20.2.2.3 Math.acosh(x) +var $export = _dereq_(40); +var log1p = _dereq_(68); +var sqrt = Math.sqrt; +var $acosh = Math.acosh; + +$export($export.S + $export.F * !($acosh + // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509 + && Math.floor($acosh(Number.MAX_VALUE)) == 710 + // Tor Browser bug: Math.acosh(Infinity) -> NaN + && $acosh(Infinity) == Infinity +), 'Math', { + acosh: function acosh(x) { + return (x = +x) < 1 ? NaN : x > 94906265.62425156 + ? Math.log(x) + Math.LN2 + : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1)); + } +}); + +},{"40":40,"68":68}],161:[function(_dereq_,module,exports){ +// 20.2.2.5 Math.asinh(x) +var $export = _dereq_(40); +var $asinh = Math.asinh; + +function asinh(x) { + return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1)); +} + +// Tor Browser bug: Math.asinh(0) -> -0 +$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', { asinh: asinh }); + +},{"40":40}],162:[function(_dereq_,module,exports){ +// 20.2.2.7 Math.atanh(x) +var $export = _dereq_(40); +var $atanh = Math.atanh; + +// Tor Browser bug: Math.atanh(-0) -> 0 +$export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', { + atanh: function atanh(x) { + return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2; + } +}); + +},{"40":40}],163:[function(_dereq_,module,exports){ +// 20.2.2.9 Math.cbrt(x) +var $export = _dereq_(40); +var sign = _dereq_(69); + +$export($export.S, 'Math', { + cbrt: function cbrt(x) { + return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3); + } +}); + +},{"40":40,"69":69}],164:[function(_dereq_,module,exports){ +// 20.2.2.11 Math.clz32(x) +var $export = _dereq_(40); + +$export($export.S, 'Math', { + clz32: function clz32(x) { + return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32; + } +}); + +},{"40":40}],165:[function(_dereq_,module,exports){ +// 20.2.2.12 Math.cosh(x) +var $export = _dereq_(40); +var exp = Math.exp; + +$export($export.S, 'Math', { + cosh: function cosh(x) { + return (exp(x = +x) + exp(-x)) / 2; + } +}); + +},{"40":40}],166:[function(_dereq_,module,exports){ +// 20.2.2.14 Math.expm1(x) +var $export = _dereq_(40); +var $expm1 = _dereq_(66); + +$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', { expm1: $expm1 }); + +},{"40":40,"66":66}],167:[function(_dereq_,module,exports){ +// 20.2.2.16 Math.fround(x) +var $export = _dereq_(40); + +$export($export.S, 'Math', { fround: _dereq_(67) }); + +},{"40":40,"67":67}],168:[function(_dereq_,module,exports){ +// 20.2.2.17 Math.hypot([value1[, value2[, … ]]]) +var $export = _dereq_(40); +var abs = Math.abs; + +$export($export.S, 'Math', { + hypot: function hypot(value1, value2) { // eslint-disable-line no-unused-vars + var sum = 0; + var i = 0; + var aLen = arguments.length; + var larg = 0; + var arg, div; + while (i < aLen) { + arg = abs(arguments[i++]); + if (larg < arg) { + div = larg / arg; + sum = sum * div * div + 1; + larg = arg; + } else if (arg > 0) { + div = arg / larg; + sum += div * div; + } else sum += arg; + } + return larg === Infinity ? Infinity : larg * Math.sqrt(sum); + } +}); + +},{"40":40}],169:[function(_dereq_,module,exports){ +// 20.2.2.18 Math.imul(x, y) +var $export = _dereq_(40); +var $imul = Math.imul; + +// some WebKit versions fails with big numbers, some has wrong arity +$export($export.S + $export.F * _dereq_(42)(function () { + return $imul(0xffffffff, 5) != -5 || $imul.length != 2; +}), 'Math', { + imul: function imul(x, y) { + var UINT16 = 0xffff; + var xn = +x; + var yn = +y; + var xl = UINT16 & xn; + var yl = UINT16 & yn; + return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0); + } +}); + +},{"40":40,"42":42}],170:[function(_dereq_,module,exports){ +// 20.2.2.21 Math.log10(x) +var $export = _dereq_(40); + +$export($export.S, 'Math', { + log10: function log10(x) { + return Math.log(x) * Math.LOG10E; + } +}); + +},{"40":40}],171:[function(_dereq_,module,exports){ +// 20.2.2.20 Math.log1p(x) +var $export = _dereq_(40); + +$export($export.S, 'Math', { log1p: _dereq_(68) }); + +},{"40":40,"68":68}],172:[function(_dereq_,module,exports){ +// 20.2.2.22 Math.log2(x) +var $export = _dereq_(40); + +$export($export.S, 'Math', { + log2: function log2(x) { + return Math.log(x) / Math.LN2; + } +}); + +},{"40":40}],173:[function(_dereq_,module,exports){ +// 20.2.2.28 Math.sign(x) +var $export = _dereq_(40); + +$export($export.S, 'Math', { sign: _dereq_(69) }); + +},{"40":40,"69":69}],174:[function(_dereq_,module,exports){ +// 20.2.2.30 Math.sinh(x) +var $export = _dereq_(40); +var expm1 = _dereq_(66); +var exp = Math.exp; + +// V8 near Chromium 38 has a problem with very small numbers +$export($export.S + $export.F * _dereq_(42)(function () { + return !Math.sinh(-2e-17) != -2e-17; +}), 'Math', { + sinh: function sinh(x) { + return Math.abs(x = +x) < 1 + ? (expm1(x) - expm1(-x)) / 2 + : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2); + } +}); + +},{"40":40,"42":42,"66":66}],175:[function(_dereq_,module,exports){ +// 20.2.2.33 Math.tanh(x) +var $export = _dereq_(40); +var expm1 = _dereq_(66); +var exp = Math.exp; + +$export($export.S, 'Math', { + tanh: function tanh(x) { + var a = expm1(x = +x); + var b = expm1(-x); + return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x)); + } +}); + +},{"40":40,"66":66}],176:[function(_dereq_,module,exports){ +// 20.2.2.34 Math.trunc(x) +var $export = _dereq_(40); + +$export($export.S, 'Math', { + trunc: function trunc(it) { + return (it > 0 ? Math.floor : Math.ceil)(it); + } +}); + +},{"40":40}],177:[function(_dereq_,module,exports){ +'use strict'; +var global = _dereq_(46); +var has = _dereq_(47); +var cof = _dereq_(26); +var inheritIfRequired = _dereq_(51); +var toPrimitive = _dereq_(119); +var fails = _dereq_(42); +var gOPN = _dereq_(79).f; +var gOPD = _dereq_(77).f; +var dP = _dereq_(75).f; +var $trim = _dereq_(110).trim; +var NUMBER = 'Number'; +var $Number = global[NUMBER]; +var Base = $Number; +var proto = $Number.prototype; +// Opera ~12 has broken Object#toString +var BROKEN_COF = cof(_dereq_(74)(proto)) == NUMBER; +var TRIM = 'trim' in String.prototype; + +// 7.1.3 ToNumber(argument) +var toNumber = function (argument) { + var it = toPrimitive(argument, false); + if (typeof it == 'string' && it.length > 2) { + it = TRIM ? it.trim() : $trim(it, 3); + var first = it.charCodeAt(0); + var third, radix, maxCode; + if (first === 43 || first === 45) { + third = it.charCodeAt(2); + if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix + } else if (first === 48) { + switch (it.charCodeAt(1)) { + case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i + case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i + default: return +it; + } + for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) { + code = digits.charCodeAt(i); + // parseInt parses a string to a first unavailable symbol + // but ToNumber should return NaN if a string contains unavailable symbols + if (code < 48 || code > maxCode) return NaN; + } return parseInt(digits, radix); + } + } return +it; +}; + +if (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) { + $Number = function Number(value) { + var it = arguments.length < 1 ? 0 : value; + var that = this; + return that instanceof $Number + // check on 1..constructor(foo) case + && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER) + ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it); + }; + for (var keys = _dereq_(36) ? gOPN(Base) : ( + // ES3: + 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' + + // ES6 (in case, if modules with ES6 Number statics required before): + 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' + + 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger' + ).split(','), j = 0, key; keys.length > j; j++) { + if (has(Base, key = keys[j]) && !has($Number, key)) { + dP($Number, key, gOPD(Base, key)); + } + } + $Number.prototype = proto; + proto.constructor = $Number; + _dereq_(94)(global, NUMBER, $Number); +} + +},{"110":110,"119":119,"26":26,"36":36,"42":42,"46":46,"47":47,"51":51,"74":74,"75":75,"77":77,"79":79,"94":94}],178:[function(_dereq_,module,exports){ +// 20.1.2.1 Number.EPSILON +var $export = _dereq_(40); + +$export($export.S, 'Number', { EPSILON: Math.pow(2, -52) }); + +},{"40":40}],179:[function(_dereq_,module,exports){ +// 20.1.2.2 Number.isFinite(number) +var $export = _dereq_(40); +var _isFinite = _dereq_(46).isFinite; + +$export($export.S, 'Number', { + isFinite: function isFinite(it) { + return typeof it == 'number' && _isFinite(it); + } +}); + +},{"40":40,"46":46}],180:[function(_dereq_,module,exports){ +// 20.1.2.3 Number.isInteger(number) +var $export = _dereq_(40); + +$export($export.S, 'Number', { isInteger: _dereq_(56) }); + +},{"40":40,"56":56}],181:[function(_dereq_,module,exports){ +// 20.1.2.4 Number.isNaN(number) +var $export = _dereq_(40); + +$export($export.S, 'Number', { + isNaN: function isNaN(number) { + // eslint-disable-next-line no-self-compare + return number != number; + } +}); + +},{"40":40}],182:[function(_dereq_,module,exports){ +// 20.1.2.5 Number.isSafeInteger(number) +var $export = _dereq_(40); +var isInteger = _dereq_(56); +var abs = Math.abs; + +$export($export.S, 'Number', { + isSafeInteger: function isSafeInteger(number) { + return isInteger(number) && abs(number) <= 0x1fffffffffffff; + } +}); + +},{"40":40,"56":56}],183:[function(_dereq_,module,exports){ +// 20.1.2.6 Number.MAX_SAFE_INTEGER +var $export = _dereq_(40); + +$export($export.S, 'Number', { MAX_SAFE_INTEGER: 0x1fffffffffffff }); + +},{"40":40}],184:[function(_dereq_,module,exports){ +// 20.1.2.10 Number.MIN_SAFE_INTEGER +var $export = _dereq_(40); + +$export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff }); + +},{"40":40}],185:[function(_dereq_,module,exports){ +var $export = _dereq_(40); +var $parseFloat = _dereq_(88); +// 20.1.2.12 Number.parseFloat(string) +$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', { parseFloat: $parseFloat }); + +},{"40":40,"88":88}],186:[function(_dereq_,module,exports){ +var $export = _dereq_(40); +var $parseInt = _dereq_(89); +// 20.1.2.13 Number.parseInt(string, radix) +$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', { parseInt: $parseInt }); + +},{"40":40,"89":89}],187:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(40); +var toInteger = _dereq_(115); +var aNumberValue = _dereq_(12); +var repeat = _dereq_(109); +var $toFixed = 1.0.toFixed; +var floor = Math.floor; +var data = [0, 0, 0, 0, 0, 0]; +var ERROR = 'Number.toFixed: incorrect invocation!'; +var ZERO = '0'; + +var multiply = function (n, c) { + var i = -1; + var c2 = c; + while (++i < 6) { + c2 += n * data[i]; + data[i] = c2 % 1e7; + c2 = floor(c2 / 1e7); + } +}; +var divide = function (n) { + var i = 6; + var c = 0; + while (--i >= 0) { + c += data[i]; + data[i] = floor(c / n); + c = (c % n) * 1e7; + } +}; +var numToString = function () { + var i = 6; + var s = ''; + while (--i >= 0) { + if (s !== '' || i === 0 || data[i] !== 0) { + var t = String(data[i]); + s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t; + } + } return s; +}; +var pow = function (x, n, acc) { + return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc); +}; +var log = function (x) { + var n = 0; + var x2 = x; + while (x2 >= 4096) { + n += 12; + x2 /= 4096; + } + while (x2 >= 2) { + n += 1; + x2 /= 2; + } return n; +}; + +$export($export.P + $export.F * (!!$toFixed && ( + 0.00008.toFixed(3) !== '0.000' || + 0.9.toFixed(0) !== '1' || + 1.255.toFixed(2) !== '1.25' || + 1000000000000000128.0.toFixed(0) !== '1000000000000000128' +) || !_dereq_(42)(function () { + // V8 ~ Android 4.3- + $toFixed.call({}); +})), 'Number', { + toFixed: function toFixed(fractionDigits) { + var x = aNumberValue(this, ERROR); + var f = toInteger(fractionDigits); + var s = ''; + var m = ZERO; + var e, z, j, k; + if (f < 0 || f > 20) throw RangeError(ERROR); + // eslint-disable-next-line no-self-compare + if (x != x) return 'NaN'; + if (x <= -1e21 || x >= 1e21) return String(x); + if (x < 0) { + s = '-'; + x = -x; + } + if (x > 1e-21) { + e = log(x * pow(2, 69, 1)) - 69; + z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1); + z *= 0x10000000000000; + e = 52 - e; + if (e > 0) { + multiply(0, z); + j = f; + while (j >= 7) { + multiply(1e7, 0); + j -= 7; + } + multiply(pow(10, j, 1), 0); + j = e - 1; + while (j >= 23) { + divide(1 << 23); + j -= 23; + } + divide(1 << j); + multiply(1, 1); + divide(2); + m = numToString(); + } else { + multiply(0, z); + multiply(1 << -e, 0); + m = numToString() + repeat.call(ZERO, f); + } + } + if (f > 0) { + k = m.length; + m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f)); + } else { + m = s + m; + } return m; + } +}); + +},{"109":109,"115":115,"12":12,"40":40,"42":42}],188:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(40); +var $fails = _dereq_(42); +var aNumberValue = _dereq_(12); +var $toPrecision = 1.0.toPrecision; + +$export($export.P + $export.F * ($fails(function () { + // IE7- + return $toPrecision.call(1, undefined) !== '1'; +}) || !$fails(function () { + // V8 ~ Android 4.3- + $toPrecision.call({}); +})), 'Number', { + toPrecision: function toPrecision(precision) { + var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!'); + return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision); + } +}); + +},{"12":12,"40":40,"42":42}],189:[function(_dereq_,module,exports){ +// 19.1.3.1 Object.assign(target, source) +var $export = _dereq_(40); + +$export($export.S + $export.F, 'Object', { assign: _dereq_(73) }); + +},{"40":40,"73":73}],190:[function(_dereq_,module,exports){ +var $export = _dereq_(40); +// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) +$export($export.S, 'Object', { create: _dereq_(74) }); + +},{"40":40,"74":74}],191:[function(_dereq_,module,exports){ +var $export = _dereq_(40); +// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties) +$export($export.S + $export.F * !_dereq_(36), 'Object', { defineProperties: _dereq_(76) }); + +},{"36":36,"40":40,"76":76}],192:[function(_dereq_,module,exports){ +var $export = _dereq_(40); +// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes) +$export($export.S + $export.F * !_dereq_(36), 'Object', { defineProperty: _dereq_(75).f }); + +},{"36":36,"40":40,"75":75}],193:[function(_dereq_,module,exports){ +// 19.1.2.5 Object.freeze(O) +var isObject = _dereq_(57); +var meta = _dereq_(70).onFreeze; + +_dereq_(85)('freeze', function ($freeze) { + return function freeze(it) { + return $freeze && isObject(it) ? $freeze(meta(it)) : it; + }; +}); + +},{"57":57,"70":70,"85":85}],194:[function(_dereq_,module,exports){ +// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P) +var toIObject = _dereq_(116); +var $getOwnPropertyDescriptor = _dereq_(77).f; + +_dereq_(85)('getOwnPropertyDescriptor', function () { + return function getOwnPropertyDescriptor(it, key) { + return $getOwnPropertyDescriptor(toIObject(it), key); + }; +}); + +},{"116":116,"77":77,"85":85}],195:[function(_dereq_,module,exports){ +// 19.1.2.7 Object.getOwnPropertyNames(O) +_dereq_(85)('getOwnPropertyNames', function () { + return _dereq_(78).f; +}); + +},{"78":78,"85":85}],196:[function(_dereq_,module,exports){ +// 19.1.2.9 Object.getPrototypeOf(O) +var toObject = _dereq_(118); +var $getPrototypeOf = _dereq_(81); + +_dereq_(85)('getPrototypeOf', function () { + return function getPrototypeOf(it) { + return $getPrototypeOf(toObject(it)); + }; +}); + +},{"118":118,"81":81,"85":85}],197:[function(_dereq_,module,exports){ +// 19.1.2.11 Object.isExtensible(O) +var isObject = _dereq_(57); + +_dereq_(85)('isExtensible', function ($isExtensible) { + return function isExtensible(it) { + return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false; + }; +}); + +},{"57":57,"85":85}],198:[function(_dereq_,module,exports){ +// 19.1.2.12 Object.isFrozen(O) +var isObject = _dereq_(57); + +_dereq_(85)('isFrozen', function ($isFrozen) { + return function isFrozen(it) { + return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true; + }; +}); + +},{"57":57,"85":85}],199:[function(_dereq_,module,exports){ +// 19.1.2.13 Object.isSealed(O) +var isObject = _dereq_(57); + +_dereq_(85)('isSealed', function ($isSealed) { + return function isSealed(it) { + return isObject(it) ? $isSealed ? $isSealed(it) : false : true; + }; +}); + +},{"57":57,"85":85}],200:[function(_dereq_,module,exports){ +// 19.1.3.10 Object.is(value1, value2) +var $export = _dereq_(40); +$export($export.S, 'Object', { is: _dereq_(97) }); + +},{"40":40,"97":97}],201:[function(_dereq_,module,exports){ +// 19.1.2.14 Object.keys(O) +var toObject = _dereq_(118); +var $keys = _dereq_(83); + +_dereq_(85)('keys', function () { + return function keys(it) { + return $keys(toObject(it)); + }; +}); + +},{"118":118,"83":83,"85":85}],202:[function(_dereq_,module,exports){ +// 19.1.2.15 Object.preventExtensions(O) +var isObject = _dereq_(57); +var meta = _dereq_(70).onFreeze; + +_dereq_(85)('preventExtensions', function ($preventExtensions) { + return function preventExtensions(it) { + return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it; + }; +}); + +},{"57":57,"70":70,"85":85}],203:[function(_dereq_,module,exports){ +// 19.1.2.17 Object.seal(O) +var isObject = _dereq_(57); +var meta = _dereq_(70).onFreeze; + +_dereq_(85)('seal', function ($seal) { + return function seal(it) { + return $seal && isObject(it) ? $seal(meta(it)) : it; + }; +}); + +},{"57":57,"70":70,"85":85}],204:[function(_dereq_,module,exports){ +// 19.1.3.19 Object.setPrototypeOf(O, proto) +var $export = _dereq_(40); +$export($export.S, 'Object', { setPrototypeOf: _dereq_(98).set }); + +},{"40":40,"98":98}],205:[function(_dereq_,module,exports){ +'use strict'; +// 19.1.3.6 Object.prototype.toString() +var classof = _dereq_(25); +var test = {}; +test[_dereq_(128)('toStringTag')] = 'z'; +if (test + '' != '[object z]') { + _dereq_(94)(Object.prototype, 'toString', function toString() { + return '[object ' + classof(this) + ']'; + }, true); +} + +},{"128":128,"25":25,"94":94}],206:[function(_dereq_,module,exports){ +var $export = _dereq_(40); +var $parseFloat = _dereq_(88); +// 18.2.4 parseFloat(string) +$export($export.G + $export.F * (parseFloat != $parseFloat), { parseFloat: $parseFloat }); + +},{"40":40,"88":88}],207:[function(_dereq_,module,exports){ +var $export = _dereq_(40); +var $parseInt = _dereq_(89); +// 18.2.5 parseInt(string, radix) +$export($export.G + $export.F * (parseInt != $parseInt), { parseInt: $parseInt }); + +},{"40":40,"89":89}],208:[function(_dereq_,module,exports){ +'use strict'; +var LIBRARY = _dereq_(65); +var global = _dereq_(46); +var ctx = _dereq_(32); +var classof = _dereq_(25); +var $export = _dereq_(40); +var isObject = _dereq_(57); +var aFunction = _dereq_(11); +var anInstance = _dereq_(15); +var forOf = _dereq_(45); +var speciesConstructor = _dereq_(103); +var task = _dereq_(112).set; +var microtask = _dereq_(71)(); +var newPromiseCapabilityModule = _dereq_(72); +var perform = _dereq_(90); +var userAgent = _dereq_(124); +var promiseResolve = _dereq_(91); +var PROMISE = 'Promise'; +var TypeError = global.TypeError; +var process = global.process; +var versions = process && process.versions; +var v8 = versions && versions.v8 || ''; +var $Promise = global[PROMISE]; +var isNode = classof(process) == 'process'; +var empty = function () { /* empty */ }; +var Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper; +var newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f; + +var USE_NATIVE = !!function () { + try { + // correct subclassing with @@species support + var promise = $Promise.resolve(1); + var FakePromise = (promise.constructor = {})[_dereq_(128)('species')] = function (exec) { + exec(empty, empty); + }; + // unhandled rejections tracking support, NodeJS Promise without it fails @@species test + return (isNode || typeof PromiseRejectionEvent == 'function') + && promise.then(empty) instanceof FakePromise + // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables + // https://bugs.chromium.org/p/chromium/issues/detail?id=830565 + // we can't detect it synchronously, so just check versions + && v8.indexOf('6.6') !== 0 + && userAgent.indexOf('Chrome/66') === -1; + } catch (e) { /* empty */ } +}(); + +// helpers +var isThenable = function (it) { + var then; + return isObject(it) && typeof (then = it.then) == 'function' ? then : false; +}; +var notify = function (promise, isReject) { + if (promise._n) return; + promise._n = true; + var chain = promise._c; + microtask(function () { + var value = promise._v; + var ok = promise._s == 1; + var i = 0; + var run = function (reaction) { + var handler = ok ? reaction.ok : reaction.fail; + var resolve = reaction.resolve; + var reject = reaction.reject; + var domain = reaction.domain; + var result, then, exited; + try { + if (handler) { + if (!ok) { + if (promise._h == 2) onHandleUnhandled(promise); + promise._h = 1; + } + if (handler === true) result = value; + else { + if (domain) domain.enter(); + result = handler(value); // may throw + if (domain) { + domain.exit(); + exited = true; + } + } + if (result === reaction.promise) { + reject(TypeError('Promise-chain cycle')); + } else if (then = isThenable(result)) { + then.call(result, resolve, reject); + } else resolve(result); + } else reject(value); + } catch (e) { + if (domain && !exited) domain.exit(); + reject(e); + } + }; + while (chain.length > i) run(chain[i++]); // variable length - can't use forEach + promise._c = []; + promise._n = false; + if (isReject && !promise._h) onUnhandled(promise); + }); +}; +var onUnhandled = function (promise) { + task.call(global, function () { + var value = promise._v; + var unhandled = isUnhandled(promise); + var result, handler, console; + if (unhandled) { + result = perform(function () { + if (isNode) { + process.emit('unhandledRejection', value, promise); + } else if (handler = global.onunhandledrejection) { + handler({ promise: promise, reason: value }); + } else if ((console = global.console) && console.error) { + console.error('Unhandled promise rejection', value); + } + }); + // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should + promise._h = isNode || isUnhandled(promise) ? 2 : 1; + } promise._a = undefined; + if (unhandled && result.e) throw result.v; + }); +}; +var isUnhandled = function (promise) { + return promise._h !== 1 && (promise._a || promise._c).length === 0; +}; +var onHandleUnhandled = function (promise) { + task.call(global, function () { + var handler; + if (isNode) { + process.emit('rejectionHandled', promise); + } else if (handler = global.onrejectionhandled) { + handler({ promise: promise, reason: promise._v }); + } + }); +}; +var $reject = function (value) { + var promise = this; + if (promise._d) return; + promise._d = true; + promise = promise._w || promise; // unwrap + promise._v = value; + promise._s = 2; + if (!promise._a) promise._a = promise._c.slice(); + notify(promise, true); +}; +var $resolve = function (value) { + var promise = this; + var then; + if (promise._d) return; + promise._d = true; + promise = promise._w || promise; // unwrap + try { + if (promise === value) throw TypeError("Promise can't be resolved itself"); + if (then = isThenable(value)) { + microtask(function () { + var wrapper = { _w: promise, _d: false }; // wrap + try { + then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1)); + } catch (e) { + $reject.call(wrapper, e); + } + }); + } else { + promise._v = value; + promise._s = 1; + notify(promise, false); + } + } catch (e) { + $reject.call({ _w: promise, _d: false }, e); // wrap + } +}; + +// constructor polyfill +if (!USE_NATIVE) { + // 25.4.3.1 Promise(executor) + $Promise = function Promise(executor) { + anInstance(this, $Promise, PROMISE, '_h'); + aFunction(executor); + Internal.call(this); + try { + executor(ctx($resolve, this, 1), ctx($reject, this, 1)); + } catch (err) { + $reject.call(this, err); + } + }; + // eslint-disable-next-line no-unused-vars + Internal = function Promise(executor) { + this._c = []; // <- awaiting reactions + this._a = undefined; // <- checked in isUnhandled reactions + this._s = 0; // <- state + this._d = false; // <- done + this._v = undefined; // <- value + this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled + this._n = false; // <- notify + }; + Internal.prototype = _dereq_(93)($Promise.prototype, { + // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected) + then: function then(onFulfilled, onRejected) { + var reaction = newPromiseCapability(speciesConstructor(this, $Promise)); + reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true; + reaction.fail = typeof onRejected == 'function' && onRejected; + reaction.domain = isNode ? process.domain : undefined; + this._c.push(reaction); + if (this._a) this._a.push(reaction); + if (this._s) notify(this, false); + return reaction.promise; + }, + // 25.4.5.1 Promise.prototype.catch(onRejected) + 'catch': function (onRejected) { + return this.then(undefined, onRejected); + } + }); + OwnPromiseCapability = function () { + var promise = new Internal(); + this.promise = promise; + this.resolve = ctx($resolve, promise, 1); + this.reject = ctx($reject, promise, 1); + }; + newPromiseCapabilityModule.f = newPromiseCapability = function (C) { + return C === $Promise || C === Wrapper + ? new OwnPromiseCapability(C) + : newGenericPromiseCapability(C); + }; +} + +$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise }); +_dereq_(100)($Promise, PROMISE); +_dereq_(99)(PROMISE); +Wrapper = _dereq_(30)[PROMISE]; + +// statics +$export($export.S + $export.F * !USE_NATIVE, PROMISE, { + // 25.4.4.5 Promise.reject(r) + reject: function reject(r) { + var capability = newPromiseCapability(this); + var $$reject = capability.reject; + $$reject(r); + return capability.promise; + } +}); +$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, { + // 25.4.4.6 Promise.resolve(x) + resolve: function resolve(x) { + return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x); + } +}); +$export($export.S + $export.F * !(USE_NATIVE && _dereq_(62)(function (iter) { + $Promise.all(iter)['catch'](empty); +})), PROMISE, { + // 25.4.4.1 Promise.all(iterable) + all: function all(iterable) { + var C = this; + var capability = newPromiseCapability(C); + var resolve = capability.resolve; + var reject = capability.reject; + var result = perform(function () { + var values = []; + var index = 0; + var remaining = 1; + forOf(iterable, false, function (promise) { + var $index = index++; + var alreadyCalled = false; + values.push(undefined); + remaining++; + C.resolve(promise).then(function (value) { + if (alreadyCalled) return; + alreadyCalled = true; + values[$index] = value; + --remaining || resolve(values); + }, reject); + }); + --remaining || resolve(values); + }); + if (result.e) reject(result.v); + return capability.promise; + }, + // 25.4.4.4 Promise.race(iterable) + race: function race(iterable) { + var C = this; + var capability = newPromiseCapability(C); + var reject = capability.reject; + var result = perform(function () { + forOf(iterable, false, function (promise) { + C.resolve(promise).then(capability.resolve, reject); + }); + }); + if (result.e) reject(result.v); + return capability.promise; + } +}); + +},{"100":100,"103":103,"11":11,"112":112,"124":124,"128":128,"15":15,"25":25,"30":30,"32":32,"40":40,"45":45,"46":46,"57":57,"62":62,"65":65,"71":71,"72":72,"90":90,"91":91,"93":93,"99":99}],209:[function(_dereq_,module,exports){ +// 26.1.1 Reflect.apply(target, thisArgument, argumentsList) +var $export = _dereq_(40); +var aFunction = _dereq_(11); +var anObject = _dereq_(16); +var rApply = (_dereq_(46).Reflect || {}).apply; +var fApply = Function.apply; +// MS Edge argumentsList argument is optional +$export($export.S + $export.F * !_dereq_(42)(function () { + rApply(function () { /* empty */ }); +}), 'Reflect', { + apply: function apply(target, thisArgument, argumentsList) { + var T = aFunction(target); + var L = anObject(argumentsList); + return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L); + } +}); + +},{"11":11,"16":16,"40":40,"42":42,"46":46}],210:[function(_dereq_,module,exports){ +// 26.1.2 Reflect.construct(target, argumentsList [, newTarget]) +var $export = _dereq_(40); +var create = _dereq_(74); +var aFunction = _dereq_(11); +var anObject = _dereq_(16); +var isObject = _dereq_(57); +var fails = _dereq_(42); +var bind = _dereq_(24); +var rConstruct = (_dereq_(46).Reflect || {}).construct; + +// MS Edge supports only 2 arguments and argumentsList argument is optional +// FF Nightly sets third argument as `new.target`, but does not create `this` from it +var NEW_TARGET_BUG = fails(function () { + function F() { /* empty */ } + return !(rConstruct(function () { /* empty */ }, [], F) instanceof F); +}); +var ARGS_BUG = !fails(function () { + rConstruct(function () { /* empty */ }); +}); + +$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', { + construct: function construct(Target, args /* , newTarget */) { + aFunction(Target); + anObject(args); + var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]); + if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget); + if (Target == newTarget) { + // w/o altered newTarget, optimization for 0-4 arguments + switch (args.length) { + case 0: return new Target(); + case 1: return new Target(args[0]); + case 2: return new Target(args[0], args[1]); + case 3: return new Target(args[0], args[1], args[2]); + case 4: return new Target(args[0], args[1], args[2], args[3]); + } + // w/o altered newTarget, lot of arguments case + var $args = [null]; + $args.push.apply($args, args); + return new (bind.apply(Target, $args))(); + } + // with altered newTarget, not support built-in constructors + var proto = newTarget.prototype; + var instance = create(isObject(proto) ? proto : Object.prototype); + var result = Function.apply.call(Target, instance, args); + return isObject(result) ? result : instance; + } +}); + +},{"11":11,"16":16,"24":24,"40":40,"42":42,"46":46,"57":57,"74":74}],211:[function(_dereq_,module,exports){ +// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes) +var dP = _dereq_(75); +var $export = _dereq_(40); +var anObject = _dereq_(16); +var toPrimitive = _dereq_(119); + +// MS Edge has broken Reflect.defineProperty - throwing instead of returning false +$export($export.S + $export.F * _dereq_(42)(function () { + // eslint-disable-next-line no-undef + Reflect.defineProperty(dP.f({}, 1, { value: 1 }), 1, { value: 2 }); +}), 'Reflect', { + defineProperty: function defineProperty(target, propertyKey, attributes) { + anObject(target); + propertyKey = toPrimitive(propertyKey, true); + anObject(attributes); + try { + dP.f(target, propertyKey, attributes); + return true; + } catch (e) { + return false; + } + } +}); + +},{"119":119,"16":16,"40":40,"42":42,"75":75}],212:[function(_dereq_,module,exports){ +// 26.1.4 Reflect.deleteProperty(target, propertyKey) +var $export = _dereq_(40); +var gOPD = _dereq_(77).f; +var anObject = _dereq_(16); + +$export($export.S, 'Reflect', { + deleteProperty: function deleteProperty(target, propertyKey) { + var desc = gOPD(anObject(target), propertyKey); + return desc && !desc.configurable ? false : delete target[propertyKey]; + } +}); + +},{"16":16,"40":40,"77":77}],213:[function(_dereq_,module,exports){ +'use strict'; +// 26.1.5 Reflect.enumerate(target) +var $export = _dereq_(40); +var anObject = _dereq_(16); +var Enumerate = function (iterated) { + this._t = anObject(iterated); // target + this._i = 0; // next index + var keys = this._k = []; // keys + var key; + for (key in iterated) keys.push(key); +}; +_dereq_(60)(Enumerate, 'Object', function () { + var that = this; + var keys = that._k; + var key; + do { + if (that._i >= keys.length) return { value: undefined, done: true }; + } while (!((key = keys[that._i++]) in that._t)); + return { value: key, done: false }; +}); + +$export($export.S, 'Reflect', { + enumerate: function enumerate(target) { + return new Enumerate(target); + } +}); + +},{"16":16,"40":40,"60":60}],214:[function(_dereq_,module,exports){ +// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey) +var gOPD = _dereq_(77); +var $export = _dereq_(40); +var anObject = _dereq_(16); + +$export($export.S, 'Reflect', { + getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) { + return gOPD.f(anObject(target), propertyKey); + } +}); + +},{"16":16,"40":40,"77":77}],215:[function(_dereq_,module,exports){ +// 26.1.8 Reflect.getPrototypeOf(target) +var $export = _dereq_(40); +var getProto = _dereq_(81); +var anObject = _dereq_(16); + +$export($export.S, 'Reflect', { + getPrototypeOf: function getPrototypeOf(target) { + return getProto(anObject(target)); + } +}); + +},{"16":16,"40":40,"81":81}],216:[function(_dereq_,module,exports){ +// 26.1.6 Reflect.get(target, propertyKey [, receiver]) +var gOPD = _dereq_(77); +var getPrototypeOf = _dereq_(81); +var has = _dereq_(47); +var $export = _dereq_(40); +var isObject = _dereq_(57); +var anObject = _dereq_(16); + +function get(target, propertyKey /* , receiver */) { + var receiver = arguments.length < 3 ? target : arguments[2]; + var desc, proto; + if (anObject(target) === receiver) return target[propertyKey]; + if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value') + ? desc.value + : desc.get !== undefined + ? desc.get.call(receiver) + : undefined; + if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver); +} + +$export($export.S, 'Reflect', { get: get }); + +},{"16":16,"40":40,"47":47,"57":57,"77":77,"81":81}],217:[function(_dereq_,module,exports){ +// 26.1.9 Reflect.has(target, propertyKey) +var $export = _dereq_(40); + +$export($export.S, 'Reflect', { + has: function has(target, propertyKey) { + return propertyKey in target; + } +}); + +},{"40":40}],218:[function(_dereq_,module,exports){ +// 26.1.10 Reflect.isExtensible(target) +var $export = _dereq_(40); +var anObject = _dereq_(16); +var $isExtensible = Object.isExtensible; + +$export($export.S, 'Reflect', { + isExtensible: function isExtensible(target) { + anObject(target); + return $isExtensible ? $isExtensible(target) : true; + } +}); + +},{"16":16,"40":40}],219:[function(_dereq_,module,exports){ +// 26.1.11 Reflect.ownKeys(target) +var $export = _dereq_(40); + +$export($export.S, 'Reflect', { ownKeys: _dereq_(87) }); + +},{"40":40,"87":87}],220:[function(_dereq_,module,exports){ +// 26.1.12 Reflect.preventExtensions(target) +var $export = _dereq_(40); +var anObject = _dereq_(16); +var $preventExtensions = Object.preventExtensions; + +$export($export.S, 'Reflect', { + preventExtensions: function preventExtensions(target) { + anObject(target); + try { + if ($preventExtensions) $preventExtensions(target); + return true; + } catch (e) { + return false; + } + } +}); + +},{"16":16,"40":40}],221:[function(_dereq_,module,exports){ +// 26.1.14 Reflect.setPrototypeOf(target, proto) +var $export = _dereq_(40); +var setProto = _dereq_(98); + +if (setProto) $export($export.S, 'Reflect', { + setPrototypeOf: function setPrototypeOf(target, proto) { + setProto.check(target, proto); + try { + setProto.set(target, proto); + return true; + } catch (e) { + return false; + } + } +}); + +},{"40":40,"98":98}],222:[function(_dereq_,module,exports){ +// 26.1.13 Reflect.set(target, propertyKey, V [, receiver]) +var dP = _dereq_(75); +var gOPD = _dereq_(77); +var getPrototypeOf = _dereq_(81); +var has = _dereq_(47); +var $export = _dereq_(40); +var createDesc = _dereq_(92); +var anObject = _dereq_(16); +var isObject = _dereq_(57); + +function set(target, propertyKey, V /* , receiver */) { + var receiver = arguments.length < 4 ? target : arguments[3]; + var ownDesc = gOPD.f(anObject(target), propertyKey); + var existingDescriptor, proto; + if (!ownDesc) { + if (isObject(proto = getPrototypeOf(target))) { + return set(proto, propertyKey, V, receiver); + } + ownDesc = createDesc(0); + } + if (has(ownDesc, 'value')) { + if (ownDesc.writable === false || !isObject(receiver)) return false; + if (existingDescriptor = gOPD.f(receiver, propertyKey)) { + if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false; + existingDescriptor.value = V; + dP.f(receiver, propertyKey, existingDescriptor); + } else dP.f(receiver, propertyKey, createDesc(0, V)); + return true; + } + return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true); +} + +$export($export.S, 'Reflect', { set: set }); + +},{"16":16,"40":40,"47":47,"57":57,"75":75,"77":77,"81":81,"92":92}],223:[function(_dereq_,module,exports){ +var global = _dereq_(46); +var inheritIfRequired = _dereq_(51); +var dP = _dereq_(75).f; +var gOPN = _dereq_(79).f; +var isRegExp = _dereq_(58); +var $flags = _dereq_(44); +var $RegExp = global.RegExp; +var Base = $RegExp; +var proto = $RegExp.prototype; +var re1 = /a/g; +var re2 = /a/g; +// "new" creates a new object, old webkit buggy here +var CORRECT_NEW = new $RegExp(re1) !== re1; + +if (_dereq_(36) && (!CORRECT_NEW || _dereq_(42)(function () { + re2[_dereq_(128)('match')] = false; + // RegExp constructor can alter flags and IsRegExp works correct with @@match + return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i'; +}))) { + $RegExp = function RegExp(p, f) { + var tiRE = this instanceof $RegExp; + var piRE = isRegExp(p); + var fiU = f === undefined; + return !tiRE && piRE && p.constructor === $RegExp && fiU ? p + : inheritIfRequired(CORRECT_NEW + ? new Base(piRE && !fiU ? p.source : p, f) + : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f) + , tiRE ? this : proto, $RegExp); + }; + var proxy = function (key) { + key in $RegExp || dP($RegExp, key, { + configurable: true, + get: function () { return Base[key]; }, + set: function (it) { Base[key] = it; } + }); + }; + for (var keys = gOPN(Base), i = 0; keys.length > i;) proxy(keys[i++]); + proto.constructor = $RegExp; + $RegExp.prototype = proto; + _dereq_(94)(global, 'RegExp', $RegExp); +} + +_dereq_(99)('RegExp'); + +},{"128":128,"36":36,"42":42,"44":44,"46":46,"51":51,"58":58,"75":75,"79":79,"94":94,"99":99}],224:[function(_dereq_,module,exports){ +'use strict'; +var regexpExec = _dereq_(96); +_dereq_(40)({ + target: 'RegExp', + proto: true, + forced: regexpExec !== /./.exec +}, { + exec: regexpExec +}); + +},{"40":40,"96":96}],225:[function(_dereq_,module,exports){ +// 21.2.5.3 get RegExp.prototype.flags() +if (_dereq_(36) && /./g.flags != 'g') _dereq_(75).f(RegExp.prototype, 'flags', { + configurable: true, + get: _dereq_(44) +}); + +},{"36":36,"44":44,"75":75}],226:[function(_dereq_,module,exports){ +'use strict'; + +var anObject = _dereq_(16); +var toLength = _dereq_(117); +var advanceStringIndex = _dereq_(14); +var regExpExec = _dereq_(95); + +// @@match logic +_dereq_(43)('match', 1, function (defined, MATCH, $match, maybeCallNative) { + return [ + // `String.prototype.match` method + // https://tc39.github.io/ecma262/#sec-string.prototype.match + function match(regexp) { + var O = defined(this); + var fn = regexp == undefined ? undefined : regexp[MATCH]; + return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O)); + }, + // `RegExp.prototype[@@match]` method + // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match + function (regexp) { + var res = maybeCallNative($match, regexp, this); + if (res.done) return res.value; + var rx = anObject(regexp); + var S = String(this); + if (!rx.global) return regExpExec(rx, S); + var fullUnicode = rx.unicode; + rx.lastIndex = 0; + var A = []; + var n = 0; + var result; + while ((result = regExpExec(rx, S)) !== null) { + var matchStr = String(result[0]); + A[n] = matchStr; + if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); + n++; + } + return n === 0 ? null : A; + } + ]; +}); + +},{"117":117,"14":14,"16":16,"43":43,"95":95}],227:[function(_dereq_,module,exports){ +'use strict'; + +var anObject = _dereq_(16); +var toObject = _dereq_(118); +var toLength = _dereq_(117); +var toInteger = _dereq_(115); +var advanceStringIndex = _dereq_(14); +var regExpExec = _dereq_(95); +var max = Math.max; +var min = Math.min; +var floor = Math.floor; +var SUBSTITUTION_SYMBOLS = /\$([$&`']|\d\d?|<[^>]*>)/g; +var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&`']|\d\d?)/g; + +var maybeToString = function (it) { + return it === undefined ? it : String(it); +}; + +// @@replace logic +_dereq_(43)('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) { + return [ + // `String.prototype.replace` method + // https://tc39.github.io/ecma262/#sec-string.prototype.replace + function replace(searchValue, replaceValue) { + var O = defined(this); + var fn = searchValue == undefined ? undefined : searchValue[REPLACE]; + return fn !== undefined + ? fn.call(searchValue, O, replaceValue) + : $replace.call(String(O), searchValue, replaceValue); + }, + // `RegExp.prototype[@@replace]` method + // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace + function (regexp, replaceValue) { + var res = maybeCallNative($replace, regexp, this, replaceValue); + if (res.done) return res.value; + + var rx = anObject(regexp); + var S = String(this); + var functionalReplace = typeof replaceValue === 'function'; + if (!functionalReplace) replaceValue = String(replaceValue); + var global = rx.global; + if (global) { + var fullUnicode = rx.unicode; + rx.lastIndex = 0; + } + var results = []; + while (true) { + var result = regExpExec(rx, S); + if (result === null) break; + results.push(result); + if (!global) break; + var matchStr = String(result[0]); + if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); + } + var accumulatedResult = ''; + var nextSourcePosition = 0; + for (var i = 0; i < results.length; i++) { + result = results[i]; + var matched = String(result[0]); + var position = max(min(toInteger(result.index), S.length), 0); + var captures = []; + // NOTE: This is equivalent to + // captures = result.slice(1).map(maybeToString) + // but for some reason `nativeSlice.call(result, 1, result.length)` (called in + // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and + // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it. + for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j])); + var namedCaptures = result.groups; + if (functionalReplace) { + var replacerArgs = [matched].concat(captures, position, S); + if (namedCaptures !== undefined) replacerArgs.push(namedCaptures); + var replacement = String(replaceValue.apply(undefined, replacerArgs)); + } else { + replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue); + } + if (position >= nextSourcePosition) { + accumulatedResult += S.slice(nextSourcePosition, position) + replacement; + nextSourcePosition = position + matched.length; + } + } + return accumulatedResult + S.slice(nextSourcePosition); + } + ]; + + // https://tc39.github.io/ecma262/#sec-getsubstitution + function getSubstitution(matched, str, position, captures, namedCaptures, replacement) { + var tailPos = position + matched.length; + var m = captures.length; + var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED; + if (namedCaptures !== undefined) { + namedCaptures = toObject(namedCaptures); + symbols = SUBSTITUTION_SYMBOLS; + } + return $replace.call(replacement, symbols, function (match, ch) { + var capture; + switch (ch.charAt(0)) { + case '$': return '$'; + case '&': return matched; + case '`': return str.slice(0, position); + case "'": return str.slice(tailPos); + case '<': + capture = namedCaptures[ch.slice(1, -1)]; + break; + default: // \d\d? + var n = +ch; + if (n === 0) return ch; + if (n > m) { + var f = floor(n / 10); + if (f === 0) return ch; + if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1); + return ch; + } + capture = captures[n - 1]; + } + return capture === undefined ? '' : capture; + }); + } +}); + +},{"115":115,"117":117,"118":118,"14":14,"16":16,"43":43,"95":95}],228:[function(_dereq_,module,exports){ +'use strict'; + +var anObject = _dereq_(16); +var sameValue = _dereq_(97); +var regExpExec = _dereq_(95); + +// @@search logic +_dereq_(43)('search', 1, function (defined, SEARCH, $search, maybeCallNative) { + return [ + // `String.prototype.search` method + // https://tc39.github.io/ecma262/#sec-string.prototype.search + function search(regexp) { + var O = defined(this); + var fn = regexp == undefined ? undefined : regexp[SEARCH]; + return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O)); + }, + // `RegExp.prototype[@@search]` method + // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search + function (regexp) { + var res = maybeCallNative($search, regexp, this); + if (res.done) return res.value; + var rx = anObject(regexp); + var S = String(this); + var previousLastIndex = rx.lastIndex; + if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0; + var result = regExpExec(rx, S); + if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex; + return result === null ? -1 : result.index; + } + ]; +}); + +},{"16":16,"43":43,"95":95,"97":97}],229:[function(_dereq_,module,exports){ +'use strict'; + +var isRegExp = _dereq_(58); +var anObject = _dereq_(16); +var speciesConstructor = _dereq_(103); +var advanceStringIndex = _dereq_(14); +var toLength = _dereq_(117); +var callRegExpExec = _dereq_(95); +var regexpExec = _dereq_(96); +var $min = Math.min; +var $push = [].push; +var $SPLIT = 'split'; +var LENGTH = 'length'; +var LAST_INDEX = 'lastIndex'; + +// eslint-disable-next-line no-empty +var SUPPORTS_Y = !!(function () { try { return new RegExp('x', 'y'); } catch (e) {} })(); + +// @@split logic +_dereq_(43)('split', 2, function (defined, SPLIT, $split, maybeCallNative) { + var internalSplit; + if ( + 'abbc'[$SPLIT](/(b)*/)[1] == 'c' || + 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 || + 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 || + '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 || + '.'[$SPLIT](/()()/)[LENGTH] > 1 || + ''[$SPLIT](/.?/)[LENGTH] + ) { + // based on es5-shim implementation, need to rework it + internalSplit = function (separator, limit) { + var string = String(this); + if (separator === undefined && limit === 0) return []; + // If `separator` is not a regex, use native split + if (!isRegExp(separator)) return $split.call(string, separator, limit); + var output = []; + var flags = (separator.ignoreCase ? 'i' : '') + + (separator.multiline ? 'm' : '') + + (separator.unicode ? 'u' : '') + + (separator.sticky ? 'y' : ''); + var lastLastIndex = 0; + var splitLimit = limit === undefined ? 4294967295 : limit >>> 0; + // Make `global` and avoid `lastIndex` issues by working with a copy + var separatorCopy = new RegExp(separator.source, flags + 'g'); + var match, lastIndex, lastLength; + while (match = regexpExec.call(separatorCopy, string)) { + lastIndex = separatorCopy[LAST_INDEX]; + if (lastIndex > lastLastIndex) { + output.push(string.slice(lastLastIndex, match.index)); + if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1)); + lastLength = match[0][LENGTH]; + lastLastIndex = lastIndex; + if (output[LENGTH] >= splitLimit) break; + } + if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop + } + if (lastLastIndex === string[LENGTH]) { + if (lastLength || !separatorCopy.test('')) output.push(''); + } else output.push(string.slice(lastLastIndex)); + return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output; + }; + // Chakra, V8 + } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) { + internalSplit = function (separator, limit) { + return separator === undefined && limit === 0 ? [] : $split.call(this, separator, limit); + }; + } else { + internalSplit = $split; + } + + return [ + // `String.prototype.split` method + // https://tc39.github.io/ecma262/#sec-string.prototype.split + function split(separator, limit) { + var O = defined(this); + var splitter = separator == undefined ? undefined : separator[SPLIT]; + return splitter !== undefined + ? splitter.call(separator, O, limit) + : internalSplit.call(String(O), separator, limit); + }, + // `RegExp.prototype[@@split]` method + // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split + // + // NOTE: This cannot be properly polyfilled in engines that don't support + // the 'y' flag. + function (regexp, limit) { + var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== $split); + if (res.done) return res.value; + + var rx = anObject(regexp); + var S = String(this); + var C = speciesConstructor(rx, RegExp); + + var unicodeMatching = rx.unicode; + var flags = (rx.ignoreCase ? 'i' : '') + + (rx.multiline ? 'm' : '') + + (rx.unicode ? 'u' : '') + + (SUPPORTS_Y ? 'y' : 'g'); + + // ^(? + rx + ) is needed, in combination with some S slicing, to + // simulate the 'y' flag. + var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags); + var lim = limit === undefined ? 0xffffffff : limit >>> 0; + if (lim === 0) return []; + if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : []; + var p = 0; + var q = 0; + var A = []; + while (q < S.length) { + splitter.lastIndex = SUPPORTS_Y ? q : 0; + var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q)); + var e; + if ( + z === null || + (e = $min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p + ) { + q = advanceStringIndex(S, q, unicodeMatching); + } else { + A.push(S.slice(p, q)); + if (A.length === lim) return A; + for (var i = 1; i <= z.length - 1; i++) { + A.push(z[i]); + if (A.length === lim) return A; + } + q = p = e; + } + } + A.push(S.slice(p)); + return A; + } + ]; +}); + +},{"103":103,"117":117,"14":14,"16":16,"43":43,"58":58,"95":95,"96":96}],230:[function(_dereq_,module,exports){ +'use strict'; +_dereq_(225); +var anObject = _dereq_(16); +var $flags = _dereq_(44); +var DESCRIPTORS = _dereq_(36); +var TO_STRING = 'toString'; +var $toString = /./[TO_STRING]; + +var define = function (fn) { + _dereq_(94)(RegExp.prototype, TO_STRING, fn, true); +}; + +// 21.2.5.14 RegExp.prototype.toString() +if (_dereq_(42)(function () { return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; })) { + define(function toString() { + var R = anObject(this); + return '/'.concat(R.source, '/', + 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined); + }); +// FF44- RegExp#toString has a wrong name +} else if ($toString.name != TO_STRING) { + define(function toString() { + return $toString.call(this); + }); +} + +},{"16":16,"225":225,"36":36,"42":42,"44":44,"94":94}],231:[function(_dereq_,module,exports){ +'use strict'; +var strong = _dereq_(27); +var validate = _dereq_(125); +var SET = 'Set'; + +// 23.2 Set Objects +module.exports = _dereq_(29)(SET, function (get) { + return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); }; +}, { + // 23.2.3.1 Set.prototype.add(value) + add: function add(value) { + return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value); + } +}, strong); + +},{"125":125,"27":27,"29":29}],232:[function(_dereq_,module,exports){ +'use strict'; +// B.2.3.2 String.prototype.anchor(name) +_dereq_(107)('anchor', function (createHTML) { + return function anchor(name) { + return createHTML(this, 'a', 'name', name); + }; +}); + +},{"107":107}],233:[function(_dereq_,module,exports){ +'use strict'; +// B.2.3.3 String.prototype.big() +_dereq_(107)('big', function (createHTML) { + return function big() { + return createHTML(this, 'big', '', ''); + }; +}); + +},{"107":107}],234:[function(_dereq_,module,exports){ +'use strict'; +// B.2.3.4 String.prototype.blink() +_dereq_(107)('blink', function (createHTML) { + return function blink() { + return createHTML(this, 'blink', '', ''); + }; +}); + +},{"107":107}],235:[function(_dereq_,module,exports){ +'use strict'; +// B.2.3.5 String.prototype.bold() +_dereq_(107)('bold', function (createHTML) { + return function bold() { + return createHTML(this, 'b', '', ''); + }; +}); + +},{"107":107}],236:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(40); +var $at = _dereq_(105)(false); +$export($export.P, 'String', { + // 21.1.3.3 String.prototype.codePointAt(pos) + codePointAt: function codePointAt(pos) { + return $at(this, pos); + } +}); + +},{"105":105,"40":40}],237:[function(_dereq_,module,exports){ +// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition]) +'use strict'; +var $export = _dereq_(40); +var toLength = _dereq_(117); +var context = _dereq_(106); +var ENDS_WITH = 'endsWith'; +var $endsWith = ''[ENDS_WITH]; + +$export($export.P + $export.F * _dereq_(41)(ENDS_WITH), 'String', { + endsWith: function endsWith(searchString /* , endPosition = @length */) { + var that = context(this, searchString, ENDS_WITH); + var endPosition = arguments.length > 1 ? arguments[1] : undefined; + var len = toLength(that.length); + var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len); + var search = String(searchString); + return $endsWith + ? $endsWith.call(that, search, end) + : that.slice(end - search.length, end) === search; + } +}); + +},{"106":106,"117":117,"40":40,"41":41}],238:[function(_dereq_,module,exports){ +'use strict'; +// B.2.3.6 String.prototype.fixed() +_dereq_(107)('fixed', function (createHTML) { + return function fixed() { + return createHTML(this, 'tt', '', ''); + }; +}); + +},{"107":107}],239:[function(_dereq_,module,exports){ +'use strict'; +// B.2.3.7 String.prototype.fontcolor(color) +_dereq_(107)('fontcolor', function (createHTML) { + return function fontcolor(color) { + return createHTML(this, 'font', 'color', color); + }; +}); + +},{"107":107}],240:[function(_dereq_,module,exports){ +'use strict'; +// B.2.3.8 String.prototype.fontsize(size) +_dereq_(107)('fontsize', function (createHTML) { + return function fontsize(size) { + return createHTML(this, 'font', 'size', size); + }; +}); + +},{"107":107}],241:[function(_dereq_,module,exports){ +var $export = _dereq_(40); +var toAbsoluteIndex = _dereq_(113); +var fromCharCode = String.fromCharCode; +var $fromCodePoint = String.fromCodePoint; + +// length should be 1, old FF problem +$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', { + // 21.1.2.2 String.fromCodePoint(...codePoints) + fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars + var res = []; + var aLen = arguments.length; + var i = 0; + var code; + while (aLen > i) { + code = +arguments[i++]; + if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point'); + res.push(code < 0x10000 + ? fromCharCode(code) + : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00) + ); + } return res.join(''); + } +}); + +},{"113":113,"40":40}],242:[function(_dereq_,module,exports){ +// 21.1.3.7 String.prototype.includes(searchString, position = 0) +'use strict'; +var $export = _dereq_(40); +var context = _dereq_(106); +var INCLUDES = 'includes'; + +$export($export.P + $export.F * _dereq_(41)(INCLUDES), 'String', { + includes: function includes(searchString /* , position = 0 */) { + return !!~context(this, searchString, INCLUDES) + .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +},{"106":106,"40":40,"41":41}],243:[function(_dereq_,module,exports){ +'use strict'; +// B.2.3.9 String.prototype.italics() +_dereq_(107)('italics', function (createHTML) { + return function italics() { + return createHTML(this, 'i', '', ''); + }; +}); + +},{"107":107}],244:[function(_dereq_,module,exports){ +'use strict'; +var $at = _dereq_(105)(true); + +// 21.1.3.27 String.prototype[@@iterator]() +_dereq_(61)(String, 'String', function (iterated) { + this._t = String(iterated); // target + this._i = 0; // next index +// 21.1.5.2.1 %StringIteratorPrototype%.next() +}, function () { + var O = this._t; + var index = this._i; + var point; + if (index >= O.length) return { value: undefined, done: true }; + point = $at(O, index); + this._i += point.length; + return { value: point, done: false }; +}); + +},{"105":105,"61":61}],245:[function(_dereq_,module,exports){ +'use strict'; +// B.2.3.10 String.prototype.link(url) +_dereq_(107)('link', function (createHTML) { + return function link(url) { + return createHTML(this, 'a', 'href', url); + }; +}); + +},{"107":107}],246:[function(_dereq_,module,exports){ +var $export = _dereq_(40); +var toIObject = _dereq_(116); +var toLength = _dereq_(117); + +$export($export.S, 'String', { + // 21.1.2.4 String.raw(callSite, ...substitutions) + raw: function raw(callSite) { + var tpl = toIObject(callSite.raw); + var len = toLength(tpl.length); + var aLen = arguments.length; + var res = []; + var i = 0; + while (len > i) { + res.push(String(tpl[i++])); + if (i < aLen) res.push(String(arguments[i])); + } return res.join(''); + } +}); + +},{"116":116,"117":117,"40":40}],247:[function(_dereq_,module,exports){ +var $export = _dereq_(40); + +$export($export.P, 'String', { + // 21.1.3.13 String.prototype.repeat(count) + repeat: _dereq_(109) +}); + +},{"109":109,"40":40}],248:[function(_dereq_,module,exports){ +'use strict'; +// B.2.3.11 String.prototype.small() +_dereq_(107)('small', function (createHTML) { + return function small() { + return createHTML(this, 'small', '', ''); + }; +}); + +},{"107":107}],249:[function(_dereq_,module,exports){ +// 21.1.3.18 String.prototype.startsWith(searchString [, position ]) +'use strict'; +var $export = _dereq_(40); +var toLength = _dereq_(117); +var context = _dereq_(106); +var STARTS_WITH = 'startsWith'; +var $startsWith = ''[STARTS_WITH]; + +$export($export.P + $export.F * _dereq_(41)(STARTS_WITH), 'String', { + startsWith: function startsWith(searchString /* , position = 0 */) { + var that = context(this, searchString, STARTS_WITH); + var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length)); + var search = String(searchString); + return $startsWith + ? $startsWith.call(that, search, index) + : that.slice(index, index + search.length) === search; + } +}); + +},{"106":106,"117":117,"40":40,"41":41}],250:[function(_dereq_,module,exports){ +'use strict'; +// B.2.3.12 String.prototype.strike() +_dereq_(107)('strike', function (createHTML) { + return function strike() { + return createHTML(this, 'strike', '', ''); + }; +}); + +},{"107":107}],251:[function(_dereq_,module,exports){ +'use strict'; +// B.2.3.13 String.prototype.sub() +_dereq_(107)('sub', function (createHTML) { + return function sub() { + return createHTML(this, 'sub', '', ''); + }; +}); + +},{"107":107}],252:[function(_dereq_,module,exports){ +'use strict'; +// B.2.3.14 String.prototype.sup() +_dereq_(107)('sup', function (createHTML) { + return function sup() { + return createHTML(this, 'sup', '', ''); + }; +}); + +},{"107":107}],253:[function(_dereq_,module,exports){ +'use strict'; +// 21.1.3.25 String.prototype.trim() +_dereq_(110)('trim', function ($trim) { + return function trim() { + return $trim(this, 3); + }; +}); + +},{"110":110}],254:[function(_dereq_,module,exports){ +'use strict'; +// ECMAScript 6 symbols shim +var global = _dereq_(46); +var has = _dereq_(47); +var DESCRIPTORS = _dereq_(36); +var $export = _dereq_(40); +var redefine = _dereq_(94); +var META = _dereq_(70).KEY; +var $fails = _dereq_(42); +var shared = _dereq_(102); +var setToStringTag = _dereq_(100); +var uid = _dereq_(123); +var wks = _dereq_(128); +var wksExt = _dereq_(127); +var wksDefine = _dereq_(126); +var enumKeys = _dereq_(39); +var isArray = _dereq_(55); +var anObject = _dereq_(16); +var isObject = _dereq_(57); +var toIObject = _dereq_(116); +var toPrimitive = _dereq_(119); +var createDesc = _dereq_(92); +var _create = _dereq_(74); +var gOPNExt = _dereq_(78); +var $GOPD = _dereq_(77); +var $DP = _dereq_(75); +var $keys = _dereq_(83); +var gOPD = $GOPD.f; +var dP = $DP.f; +var gOPN = gOPNExt.f; +var $Symbol = global.Symbol; +var $JSON = global.JSON; +var _stringify = $JSON && $JSON.stringify; +var PROTOTYPE = 'prototype'; +var HIDDEN = wks('_hidden'); +var TO_PRIMITIVE = wks('toPrimitive'); +var isEnum = {}.propertyIsEnumerable; +var SymbolRegistry = shared('symbol-registry'); +var AllSymbols = shared('symbols'); +var OPSymbols = shared('op-symbols'); +var ObjectProto = Object[PROTOTYPE]; +var USE_NATIVE = typeof $Symbol == 'function'; +var QObject = global.QObject; +// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173 +var setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild; + +// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687 +var setSymbolDesc = DESCRIPTORS && $fails(function () { + return _create(dP({}, 'a', { + get: function () { return dP(this, 'a', { value: 7 }).a; } + })).a != 7; +}) ? function (it, key, D) { + var protoDesc = gOPD(ObjectProto, key); + if (protoDesc) delete ObjectProto[key]; + dP(it, key, D); + if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc); +} : dP; + +var wrap = function (tag) { + var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]); + sym._k = tag; + return sym; +}; + +var isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) { + return typeof it == 'symbol'; +} : function (it) { + return it instanceof $Symbol; +}; + +var $defineProperty = function defineProperty(it, key, D) { + if (it === ObjectProto) $defineProperty(OPSymbols, key, D); + anObject(it); + key = toPrimitive(key, true); + anObject(D); + if (has(AllSymbols, key)) { + if (!D.enumerable) { + if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {})); + it[HIDDEN][key] = true; + } else { + if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false; + D = _create(D, { enumerable: createDesc(0, false) }); + } return setSymbolDesc(it, key, D); + } return dP(it, key, D); +}; +var $defineProperties = function defineProperties(it, P) { + anObject(it); + var keys = enumKeys(P = toIObject(P)); + var i = 0; + var l = keys.length; + var key; + while (l > i) $defineProperty(it, key = keys[i++], P[key]); + return it; +}; +var $create = function create(it, P) { + return P === undefined ? _create(it) : $defineProperties(_create(it), P); +}; +var $propertyIsEnumerable = function propertyIsEnumerable(key) { + var E = isEnum.call(this, key = toPrimitive(key, true)); + if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false; + return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true; +}; +var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) { + it = toIObject(it); + key = toPrimitive(key, true); + if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return; + var D = gOPD(it, key); + if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true; + return D; +}; +var $getOwnPropertyNames = function getOwnPropertyNames(it) { + var names = gOPN(toIObject(it)); + var result = []; + var i = 0; + var key; + while (names.length > i) { + if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key); + } return result; +}; +var $getOwnPropertySymbols = function getOwnPropertySymbols(it) { + var IS_OP = it === ObjectProto; + var names = gOPN(IS_OP ? OPSymbols : toIObject(it)); + var result = []; + var i = 0; + var key; + while (names.length > i) { + if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]); + } return result; +}; + +// 19.4.1.1 Symbol([description]) +if (!USE_NATIVE) { + $Symbol = function Symbol() { + if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!'); + var tag = uid(arguments.length > 0 ? arguments[0] : undefined); + var $set = function (value) { + if (this === ObjectProto) $set.call(OPSymbols, value); + if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false; + setSymbolDesc(this, tag, createDesc(1, value)); + }; + if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set }); + return wrap(tag); + }; + redefine($Symbol[PROTOTYPE], 'toString', function toString() { + return this._k; + }); + + $GOPD.f = $getOwnPropertyDescriptor; + $DP.f = $defineProperty; + _dereq_(79).f = gOPNExt.f = $getOwnPropertyNames; + _dereq_(84).f = $propertyIsEnumerable; + _dereq_(80).f = $getOwnPropertySymbols; + + if (DESCRIPTORS && !_dereq_(65)) { + redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true); + } + + wksExt.f = function (name) { + return wrap(wks(name)); + }; +} + +$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol }); + +for (var es6Symbols = ( + // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14 + 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables' +).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]); + +for (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]); + +$export($export.S + $export.F * !USE_NATIVE, 'Symbol', { + // 19.4.2.1 Symbol.for(key) + 'for': function (key) { + return has(SymbolRegistry, key += '') + ? SymbolRegistry[key] + : SymbolRegistry[key] = $Symbol(key); + }, + // 19.4.2.5 Symbol.keyFor(sym) + keyFor: function keyFor(sym) { + if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!'); + for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key; + }, + useSetter: function () { setter = true; }, + useSimple: function () { setter = false; } +}); + +$export($export.S + $export.F * !USE_NATIVE, 'Object', { + // 19.1.2.2 Object.create(O [, Properties]) + create: $create, + // 19.1.2.4 Object.defineProperty(O, P, Attributes) + defineProperty: $defineProperty, + // 19.1.2.3 Object.defineProperties(O, Properties) + defineProperties: $defineProperties, + // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P) + getOwnPropertyDescriptor: $getOwnPropertyDescriptor, + // 19.1.2.7 Object.getOwnPropertyNames(O) + getOwnPropertyNames: $getOwnPropertyNames, + // 19.1.2.8 Object.getOwnPropertySymbols(O) + getOwnPropertySymbols: $getOwnPropertySymbols +}); + +// 24.3.2 JSON.stringify(value [, replacer [, space]]) +$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () { + var S = $Symbol(); + // MS Edge converts symbol values to JSON as {} + // WebKit converts symbol values to JSON as null + // V8 throws on boxed symbols + return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}'; +})), 'JSON', { + stringify: function stringify(it) { + var args = [it]; + var i = 1; + var replacer, $replacer; + while (arguments.length > i) args.push(arguments[i++]); + $replacer = replacer = args[1]; + if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined + if (!isArray(replacer)) replacer = function (key, value) { + if (typeof $replacer == 'function') value = $replacer.call(this, key, value); + if (!isSymbol(value)) return value; + }; + args[1] = replacer; + return _stringify.apply($JSON, args); + } +}); + +// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint) +$Symbol[PROTOTYPE][TO_PRIMITIVE] || _dereq_(48)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf); +// 19.4.3.5 Symbol.prototype[@@toStringTag] +setToStringTag($Symbol, 'Symbol'); +// 20.2.1.9 Math[@@toStringTag] +setToStringTag(Math, 'Math', true); +// 24.3.3 JSON[@@toStringTag] +setToStringTag(global.JSON, 'JSON', true); + +},{"100":100,"102":102,"116":116,"119":119,"123":123,"126":126,"127":127,"128":128,"16":16,"36":36,"39":39,"40":40,"42":42,"46":46,"47":47,"48":48,"55":55,"57":57,"65":65,"70":70,"74":74,"75":75,"77":77,"78":78,"79":79,"80":80,"83":83,"84":84,"92":92,"94":94}],255:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(40); +var $typed = _dereq_(122); +var buffer = _dereq_(121); +var anObject = _dereq_(16); +var toAbsoluteIndex = _dereq_(113); +var toLength = _dereq_(117); +var isObject = _dereq_(57); +var ArrayBuffer = _dereq_(46).ArrayBuffer; +var speciesConstructor = _dereq_(103); +var $ArrayBuffer = buffer.ArrayBuffer; +var $DataView = buffer.DataView; +var $isView = $typed.ABV && ArrayBuffer.isView; +var $slice = $ArrayBuffer.prototype.slice; +var VIEW = $typed.VIEW; +var ARRAY_BUFFER = 'ArrayBuffer'; + +$export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), { ArrayBuffer: $ArrayBuffer }); + +$export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, { + // 24.1.3.1 ArrayBuffer.isView(arg) + isView: function isView(it) { + return $isView && $isView(it) || isObject(it) && VIEW in it; + } +}); + +$export($export.P + $export.U + $export.F * _dereq_(42)(function () { + return !new $ArrayBuffer(2).slice(1, undefined).byteLength; +}), ARRAY_BUFFER, { + // 24.1.4.3 ArrayBuffer.prototype.slice(start, end) + slice: function slice(start, end) { + if ($slice !== undefined && end === undefined) return $slice.call(anObject(this), start); // FF fix + var len = anObject(this).byteLength; + var first = toAbsoluteIndex(start, len); + var fin = toAbsoluteIndex(end === undefined ? len : end, len); + var result = new (speciesConstructor(this, $ArrayBuffer))(toLength(fin - first)); + var viewS = new $DataView(this); + var viewT = new $DataView(result); + var index = 0; + while (first < fin) { + viewT.setUint8(index++, viewS.getUint8(first++)); + } return result; + } +}); + +_dereq_(99)(ARRAY_BUFFER); + +},{"103":103,"113":113,"117":117,"121":121,"122":122,"16":16,"40":40,"42":42,"46":46,"57":57,"99":99}],256:[function(_dereq_,module,exports){ +var $export = _dereq_(40); +$export($export.G + $export.W + $export.F * !_dereq_(122).ABV, { + DataView: _dereq_(121).DataView +}); + +},{"121":121,"122":122,"40":40}],257:[function(_dereq_,module,exports){ +_dereq_(120)('Float32', 4, function (init) { + return function Float32Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + +},{"120":120}],258:[function(_dereq_,module,exports){ +_dereq_(120)('Float64', 8, function (init) { + return function Float64Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + +},{"120":120}],259:[function(_dereq_,module,exports){ +_dereq_(120)('Int16', 2, function (init) { + return function Int16Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + +},{"120":120}],260:[function(_dereq_,module,exports){ +_dereq_(120)('Int32', 4, function (init) { + return function Int32Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + +},{"120":120}],261:[function(_dereq_,module,exports){ +_dereq_(120)('Int8', 1, function (init) { + return function Int8Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + +},{"120":120}],262:[function(_dereq_,module,exports){ +_dereq_(120)('Uint16', 2, function (init) { + return function Uint16Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + +},{"120":120}],263:[function(_dereq_,module,exports){ +_dereq_(120)('Uint32', 4, function (init) { + return function Uint32Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + +},{"120":120}],264:[function(_dereq_,module,exports){ +_dereq_(120)('Uint8', 1, function (init) { + return function Uint8Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + +},{"120":120}],265:[function(_dereq_,module,exports){ +_dereq_(120)('Uint8', 1, function (init) { + return function Uint8ClampedArray(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}, true); + +},{"120":120}],266:[function(_dereq_,module,exports){ +'use strict'; +var each = _dereq_(20)(0); +var redefine = _dereq_(94); +var meta = _dereq_(70); +var assign = _dereq_(73); +var weak = _dereq_(28); +var isObject = _dereq_(57); +var fails = _dereq_(42); +var validate = _dereq_(125); +var WEAK_MAP = 'WeakMap'; +var getWeak = meta.getWeak; +var isExtensible = Object.isExtensible; +var uncaughtFrozenStore = weak.ufstore; +var tmp = {}; +var InternalMap; + +var wrapper = function (get) { + return function WeakMap() { + return get(this, arguments.length > 0 ? arguments[0] : undefined); + }; +}; + +var methods = { + // 23.3.3.3 WeakMap.prototype.get(key) + get: function get(key) { + if (isObject(key)) { + var data = getWeak(key); + if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key); + return data ? data[this._i] : undefined; + } + }, + // 23.3.3.5 WeakMap.prototype.set(key, value) + set: function set(key, value) { + return weak.def(validate(this, WEAK_MAP), key, value); + } +}; + +// 23.3 WeakMap Objects +var $WeakMap = module.exports = _dereq_(29)(WEAK_MAP, wrapper, methods, weak, true, true); + +// IE11 WeakMap frozen keys fix +if (fails(function () { return new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7; })) { + InternalMap = weak.getConstructor(wrapper, WEAK_MAP); + assign(InternalMap.prototype, methods); + meta.NEED = true; + each(['delete', 'has', 'get', 'set'], function (key) { + var proto = $WeakMap.prototype; + var method = proto[key]; + redefine(proto, key, function (a, b) { + // store frozen objects on internal weakmap shim + if (isObject(a) && !isExtensible(a)) { + if (!this._f) this._f = new InternalMap(); + var result = this._f[key](a, b); + return key == 'set' ? this : result; + // store all the rest on native weakmap + } return method.call(this, a, b); + }); + }); +} + +},{"125":125,"20":20,"28":28,"29":29,"42":42,"57":57,"70":70,"73":73,"94":94}],267:[function(_dereq_,module,exports){ +'use strict'; +var weak = _dereq_(28); +var validate = _dereq_(125); +var WEAK_SET = 'WeakSet'; + +// 23.4 WeakSet Objects +_dereq_(29)(WEAK_SET, function (get) { + return function WeakSet() { return get(this, arguments.length > 0 ? arguments[0] : undefined); }; +}, { + // 23.4.3.1 WeakSet.prototype.add(value) + add: function add(value) { + return weak.def(validate(this, WEAK_SET), value, true); + } +}, weak, false, true); + +},{"125":125,"28":28,"29":29}],268:[function(_dereq_,module,exports){ +'use strict'; +// https://github.com/tc39/Array.prototype.includes +var $export = _dereq_(40); +var $includes = _dereq_(19)(true); + +$export($export.P, 'Array', { + includes: function includes(el /* , fromIndex = 0 */) { + return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +_dereq_(13)('includes'); + +},{"13":13,"19":19,"40":40}],269:[function(_dereq_,module,exports){ +// https://github.com/tc39/proposal-object-values-entries +var $export = _dereq_(40); +var $entries = _dereq_(86)(true); + +$export($export.S, 'Object', { + entries: function entries(it) { + return $entries(it); + } +}); + +},{"40":40,"86":86}],270:[function(_dereq_,module,exports){ +// https://github.com/tc39/proposal-object-getownpropertydescriptors +var $export = _dereq_(40); +var ownKeys = _dereq_(87); +var toIObject = _dereq_(116); +var gOPD = _dereq_(77); +var createProperty = _dereq_(31); + +$export($export.S, 'Object', { + getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) { + var O = toIObject(object); + var getDesc = gOPD.f; + var keys = ownKeys(O); + var result = {}; + var i = 0; + var key, desc; + while (keys.length > i) { + desc = getDesc(O, key = keys[i++]); + if (desc !== undefined) createProperty(result, key, desc); + } + return result; + } +}); + +},{"116":116,"31":31,"40":40,"77":77,"87":87}],271:[function(_dereq_,module,exports){ +// https://github.com/tc39/proposal-object-values-entries +var $export = _dereq_(40); +var $values = _dereq_(86)(false); + +$export($export.S, 'Object', { + values: function values(it) { + return $values(it); + } +}); + +},{"40":40,"86":86}],272:[function(_dereq_,module,exports){ +// https://github.com/tc39/proposal-promise-finally +'use strict'; +var $export = _dereq_(40); +var core = _dereq_(30); +var global = _dereq_(46); +var speciesConstructor = _dereq_(103); +var promiseResolve = _dereq_(91); + +$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) { + var C = speciesConstructor(this, core.Promise || global.Promise); + var isFunction = typeof onFinally == 'function'; + return this.then( + isFunction ? function (x) { + return promiseResolve(C, onFinally()).then(function () { return x; }); + } : onFinally, + isFunction ? function (e) { + return promiseResolve(C, onFinally()).then(function () { throw e; }); + } : onFinally + ); +} }); + +},{"103":103,"30":30,"40":40,"46":46,"91":91}],273:[function(_dereq_,module,exports){ +'use strict'; +// https://github.com/tc39/proposal-string-pad-start-end +var $export = _dereq_(40); +var $pad = _dereq_(108); +var userAgent = _dereq_(124); + +// https://github.com/zloirock/core-js/issues/280 +$export($export.P + $export.F * /Version\/10\.\d+(\.\d+)? Safari\//.test(userAgent), 'String', { + padEnd: function padEnd(maxLength /* , fillString = ' ' */) { + return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false); + } +}); + +},{"108":108,"124":124,"40":40}],274:[function(_dereq_,module,exports){ +'use strict'; +// https://github.com/tc39/proposal-string-pad-start-end +var $export = _dereq_(40); +var $pad = _dereq_(108); +var userAgent = _dereq_(124); + +// https://github.com/zloirock/core-js/issues/280 +$export($export.P + $export.F * /Version\/10\.\d+(\.\d+)? Safari\//.test(userAgent), 'String', { + padStart: function padStart(maxLength /* , fillString = ' ' */) { + return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true); + } +}); + +},{"108":108,"124":124,"40":40}],275:[function(_dereq_,module,exports){ +_dereq_(126)('asyncIterator'); + +},{"126":126}],276:[function(_dereq_,module,exports){ +var $iterators = _dereq_(140); +var getKeys = _dereq_(83); +var redefine = _dereq_(94); +var global = _dereq_(46); +var hide = _dereq_(48); +var Iterators = _dereq_(64); +var wks = _dereq_(128); +var ITERATOR = wks('iterator'); +var TO_STRING_TAG = wks('toStringTag'); +var ArrayValues = Iterators.Array; + +var DOMIterables = { + CSSRuleList: true, // TODO: Not spec compliant, should be false. + CSSStyleDeclaration: false, + CSSValueList: false, + ClientRectList: false, + DOMRectList: false, + DOMStringList: false, + DOMTokenList: true, + DataTransferItemList: false, + FileList: false, + HTMLAllCollection: false, + HTMLCollection: false, + HTMLFormElement: false, + HTMLSelectElement: false, + MediaList: true, // TODO: Not spec compliant, should be false. + MimeTypeArray: false, + NamedNodeMap: false, + NodeList: true, + PaintRequestList: false, + Plugin: false, + PluginArray: false, + SVGLengthList: false, + SVGNumberList: false, + SVGPathSegList: false, + SVGPointList: false, + SVGStringList: false, + SVGTransformList: false, + SourceBufferList: false, + StyleSheetList: true, // TODO: Not spec compliant, should be false. + TextTrackCueList: false, + TextTrackList: false, + TouchList: false +}; + +for (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) { + var NAME = collections[i]; + var explicit = DOMIterables[NAME]; + var Collection = global[NAME]; + var proto = Collection && Collection.prototype; + var key; + if (proto) { + if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues); + if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME); + Iterators[NAME] = ArrayValues; + if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true); + } +} + +},{"128":128,"140":140,"46":46,"48":48,"64":64,"83":83,"94":94}],277:[function(_dereq_,module,exports){ +var $export = _dereq_(40); +var $task = _dereq_(112); +$export($export.G + $export.B, { + setImmediate: $task.set, + clearImmediate: $task.clear +}); + +},{"112":112,"40":40}],278:[function(_dereq_,module,exports){ +// ie9- setTimeout & setInterval additional parameters fix +var global = _dereq_(46); +var $export = _dereq_(40); +var userAgent = _dereq_(124); +var slice = [].slice; +var MSIE = /MSIE .\./.test(userAgent); // <- dirty ie9- check +var wrap = function (set) { + return function (fn, time /* , ...args */) { + var boundArgs = arguments.length > 2; + var args = boundArgs ? slice.call(arguments, 2) : false; + return set(boundArgs ? function () { + // eslint-disable-next-line no-new-func + (typeof fn == 'function' ? fn : Function(fn)).apply(this, args); + } : fn, time); + }; +}; +$export($export.G + $export.B + $export.F * MSIE, { + setTimeout: wrap(global.setTimeout), + setInterval: wrap(global.setInterval) +}); + +},{"124":124,"40":40,"46":46}],279:[function(_dereq_,module,exports){ +_dereq_(278); +_dereq_(277); +_dereq_(276); +module.exports = _dereq_(30); + +},{"276":276,"277":277,"278":278,"30":30}],280:[function(_dereq_,module,exports){ +/** + * Copyright (c) 2014-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +!(function(global) { + "use strict"; + + var Op = Object.prototype; + var hasOwn = Op.hasOwnProperty; + var undefined; // More compressible than void 0. + var $Symbol = typeof Symbol === "function" ? Symbol : {}; + var iteratorSymbol = $Symbol.iterator || "@@iterator"; + var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator"; + var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; + + var inModule = typeof module === "object"; + var runtime = global.regeneratorRuntime; + if (runtime) { + if (inModule) { + // If regeneratorRuntime is defined globally and we're in a module, + // make the exports object identical to regeneratorRuntime. + module.exports = runtime; + } + // Don't bother evaluating the rest of this file if the runtime was + // already defined globally. + return; + } + + // Define the runtime globally (as expected by generated code) as either + // module.exports (if we're in a module) or a new, empty object. + runtime = global.regeneratorRuntime = inModule ? module.exports : {}; + + function wrap(innerFn, outerFn, self, tryLocsList) { + // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator. + var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator; + var generator = Object.create(protoGenerator.prototype); + var context = new Context(tryLocsList || []); + + // The ._invoke method unifies the implementations of the .next, + // .throw, and .return methods. + generator._invoke = makeInvokeMethod(innerFn, self, context); + + return generator; + } + runtime.wrap = wrap; + + // Try/catch helper to minimize deoptimizations. Returns a completion + // record like context.tryEntries[i].completion. This interface could + // have been (and was previously) designed to take a closure to be + // invoked without arguments, but in all the cases we care about we + // already have an existing method we want to call, so there's no need + // to create a new function object. We can even get away with assuming + // the method takes exactly one argument, since that happens to be true + // in every case, so we don't have to touch the arguments object. The + // only additional allocation required is the completion record, which + // has a stable shape and so hopefully should be cheap to allocate. + function tryCatch(fn, obj, arg) { + try { + return { type: "normal", arg: fn.call(obj, arg) }; + } catch (err) { + return { type: "throw", arg: err }; + } + } + + var GenStateSuspendedStart = "suspendedStart"; + var GenStateSuspendedYield = "suspendedYield"; + var GenStateExecuting = "executing"; + var GenStateCompleted = "completed"; + + // Returning this object from the innerFn has the same effect as + // breaking out of the dispatch switch statement. + var ContinueSentinel = {}; + + // Dummy constructor functions that we use as the .constructor and + // .constructor.prototype properties for functions that return Generator + // objects. For full spec compliance, you may wish to configure your + // minifier not to mangle the names of these two functions. + function Generator() {} + function GeneratorFunction() {} + function GeneratorFunctionPrototype() {} + + // This is a polyfill for %IteratorPrototype% for environments that + // don't natively support it. + var IteratorPrototype = {}; + IteratorPrototype[iteratorSymbol] = function () { + return this; + }; + + var getProto = Object.getPrototypeOf; + var NativeIteratorPrototype = getProto && getProto(getProto(values([]))); + if (NativeIteratorPrototype && + NativeIteratorPrototype !== Op && + hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) { + // This environment has a native %IteratorPrototype%; use it instead + // of the polyfill. + IteratorPrototype = NativeIteratorPrototype; + } + + var Gp = GeneratorFunctionPrototype.prototype = + Generator.prototype = Object.create(IteratorPrototype); + GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype; + GeneratorFunctionPrototype.constructor = GeneratorFunction; + GeneratorFunctionPrototype[toStringTagSymbol] = + GeneratorFunction.displayName = "GeneratorFunction"; + + // Helper for defining the .next, .throw, and .return methods of the + // Iterator interface in terms of a single ._invoke method. + function defineIteratorMethods(prototype) { + ["next", "throw", "return"].forEach(function(method) { + prototype[method] = function(arg) { + return this._invoke(method, arg); + }; + }); + } + + runtime.isGeneratorFunction = function(genFun) { + var ctor = typeof genFun === "function" && genFun.constructor; + return ctor + ? ctor === GeneratorFunction || + // For the native GeneratorFunction constructor, the best we can + // do is to check its .name property. + (ctor.displayName || ctor.name) === "GeneratorFunction" + : false; + }; + + runtime.mark = function(genFun) { + if (Object.setPrototypeOf) { + Object.setPrototypeOf(genFun, GeneratorFunctionPrototype); + } else { + genFun.__proto__ = GeneratorFunctionPrototype; + if (!(toStringTagSymbol in genFun)) { + genFun[toStringTagSymbol] = "GeneratorFunction"; + } + } + genFun.prototype = Object.create(Gp); + return genFun; + }; + + // Within the body of any async function, `await x` is transformed to + // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test + // `hasOwn.call(value, "__await")` to determine if the yielded value is + // meant to be awaited. + runtime.awrap = function(arg) { + return { __await: arg }; + }; + + function AsyncIterator(generator) { + function invoke(method, arg, resolve, reject) { + var record = tryCatch(generator[method], generator, arg); + if (record.type === "throw") { + reject(record.arg); + } else { + var result = record.arg; + var value = result.value; + if (value && + typeof value === "object" && + hasOwn.call(value, "__await")) { + return Promise.resolve(value.__await).then(function(value) { + invoke("next", value, resolve, reject); + }, function(err) { + invoke("throw", err, resolve, reject); + }); + } + + return Promise.resolve(value).then(function(unwrapped) { + // When a yielded Promise is resolved, its final value becomes + // the .value of the Promise<{value,done}> result for the + // current iteration. + result.value = unwrapped; + resolve(result); + }, function(error) { + // If a rejected Promise was yielded, throw the rejection back + // into the async generator function so it can be handled there. + return invoke("throw", error, resolve, reject); + }); + } + } + + var previousPromise; + + function enqueue(method, arg) { + function callInvokeWithMethodAndArg() { + return new Promise(function(resolve, reject) { + invoke(method, arg, resolve, reject); + }); + } + + return previousPromise = + // If enqueue has been called before, then we want to wait until + // all previous Promises have been resolved before calling invoke, + // so that results are always delivered in the correct order. If + // enqueue has not been called before, then it is important to + // call invoke immediately, without waiting on a callback to fire, + // so that the async generator function has the opportunity to do + // any necessary setup in a predictable way. This predictability + // is why the Promise constructor synchronously invokes its + // executor callback, and why async functions synchronously + // execute code before the first await. Since we implement simple + // async functions in terms of async generators, it is especially + // important to get this right, even though it requires care. + previousPromise ? previousPromise.then( + callInvokeWithMethodAndArg, + // Avoid propagating failures to Promises returned by later + // invocations of the iterator. + callInvokeWithMethodAndArg + ) : callInvokeWithMethodAndArg(); + } + + // Define the unified helper method that is used to implement .next, + // .throw, and .return (see defineIteratorMethods). + this._invoke = enqueue; + } + + defineIteratorMethods(AsyncIterator.prototype); + AsyncIterator.prototype[asyncIteratorSymbol] = function () { + return this; + }; + runtime.AsyncIterator = AsyncIterator; + + // Note that simple async functions are implemented on top of + // AsyncIterator objects; they just return a Promise for the value of + // the final result produced by the iterator. + runtime.async = function(innerFn, outerFn, self, tryLocsList) { + var iter = new AsyncIterator( + wrap(innerFn, outerFn, self, tryLocsList) + ); + + return runtime.isGeneratorFunction(outerFn) + ? iter // If outerFn is a generator, return the full iterator. + : iter.next().then(function(result) { + return result.done ? result.value : iter.next(); + }); + }; + + function makeInvokeMethod(innerFn, self, context) { + var state = GenStateSuspendedStart; + + return function invoke(method, arg) { + if (state === GenStateExecuting) { + throw new Error("Generator is already running"); + } + + if (state === GenStateCompleted) { + if (method === "throw") { + throw arg; + } + + // Be forgiving, per 25.3.3.3.3 of the spec: + // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume + return doneResult(); + } + + context.method = method; + context.arg = arg; + + while (true) { + var delegate = context.delegate; + if (delegate) { + var delegateResult = maybeInvokeDelegate(delegate, context); + if (delegateResult) { + if (delegateResult === ContinueSentinel) continue; + return delegateResult; + } + } + + if (context.method === "next") { + // Setting context._sent for legacy support of Babel's + // function.sent implementation. + context.sent = context._sent = context.arg; + + } else if (context.method === "throw") { + if (state === GenStateSuspendedStart) { + state = GenStateCompleted; + throw context.arg; + } + + context.dispatchException(context.arg); + + } else if (context.method === "return") { + context.abrupt("return", context.arg); + } + + state = GenStateExecuting; + + var record = tryCatch(innerFn, self, context); + if (record.type === "normal") { + // If an exception is thrown from innerFn, we leave state === + // GenStateExecuting and loop back for another invocation. + state = context.done + ? GenStateCompleted + : GenStateSuspendedYield; + + if (record.arg === ContinueSentinel) { + continue; + } + + return { + value: record.arg, + done: context.done + }; + + } else if (record.type === "throw") { + state = GenStateCompleted; + // Dispatch the exception by looping back around to the + // context.dispatchException(context.arg) call above. + context.method = "throw"; + context.arg = record.arg; + } + } + }; + } + + // Call delegate.iterator[context.method](context.arg) and handle the + // result, either by returning a { value, done } result from the + // delegate iterator, or by modifying context.method and context.arg, + // setting context.delegate to null, and returning the ContinueSentinel. + function maybeInvokeDelegate(delegate, context) { + var method = delegate.iterator[context.method]; + if (method === undefined) { + // A .throw or .return when the delegate iterator has no .throw + // method always terminates the yield* loop. + context.delegate = null; + + if (context.method === "throw") { + if (delegate.iterator.return) { + // If the delegate iterator has a return method, give it a + // chance to clean up. + context.method = "return"; + context.arg = undefined; + maybeInvokeDelegate(delegate, context); + + if (context.method === "throw") { + // If maybeInvokeDelegate(context) changed context.method from + // "return" to "throw", let that override the TypeError below. + return ContinueSentinel; + } + } + + context.method = "throw"; + context.arg = new TypeError( + "The iterator does not provide a 'throw' method"); + } + + return ContinueSentinel; + } + + var record = tryCatch(method, delegate.iterator, context.arg); + + if (record.type === "throw") { + context.method = "throw"; + context.arg = record.arg; + context.delegate = null; + return ContinueSentinel; + } + + var info = record.arg; + + if (! info) { + context.method = "throw"; + context.arg = new TypeError("iterator result is not an object"); + context.delegate = null; + return ContinueSentinel; + } + + if (info.done) { + // Assign the result of the finished delegate to the temporary + // variable specified by delegate.resultName (see delegateYield). + context[delegate.resultName] = info.value; + + // Resume execution at the desired location (see delegateYield). + context.next = delegate.nextLoc; + + // If context.method was "throw" but the delegate handled the + // exception, let the outer generator proceed normally. If + // context.method was "next", forget context.arg since it has been + // "consumed" by the delegate iterator. If context.method was + // "return", allow the original .return call to continue in the + // outer generator. + if (context.method !== "return") { + context.method = "next"; + context.arg = undefined; + } + + } else { + // Re-yield the result returned by the delegate method. + return info; + } + + // The delegate iterator is finished, so forget it and continue with + // the outer generator. + context.delegate = null; + return ContinueSentinel; + } + + // Define Generator.prototype.{next,throw,return} in terms of the + // unified ._invoke helper method. + defineIteratorMethods(Gp); + + Gp[toStringTagSymbol] = "Generator"; + + // A Generator should always return itself as the iterator object when the + // @@iterator function is called on it. Some browsers' implementations of the + // iterator prototype chain incorrectly implement this, causing the Generator + // object to not be returned from this call. This ensures that doesn't happen. + // See https://github.com/facebook/regenerator/issues/274 for more details. + Gp[iteratorSymbol] = function() { + return this; + }; + + Gp.toString = function() { + return "[object Generator]"; + }; + + function pushTryEntry(locs) { + var entry = { tryLoc: locs[0] }; + + if (1 in locs) { + entry.catchLoc = locs[1]; + } + + if (2 in locs) { + entry.finallyLoc = locs[2]; + entry.afterLoc = locs[3]; + } + + this.tryEntries.push(entry); + } + + function resetTryEntry(entry) { + var record = entry.completion || {}; + record.type = "normal"; + delete record.arg; + entry.completion = record; + } + + function Context(tryLocsList) { + // The root entry object (effectively a try statement without a catch + // or a finally block) gives us a place to store values thrown from + // locations where there is no enclosing try statement. + this.tryEntries = [{ tryLoc: "root" }]; + tryLocsList.forEach(pushTryEntry, this); + this.reset(true); + } + + runtime.keys = function(object) { + var keys = []; + for (var key in object) { + keys.push(key); + } + keys.reverse(); + + // Rather than returning an object with a next method, we keep + // things simple and return the next function itself. + return function next() { + while (keys.length) { + var key = keys.pop(); + if (key in object) { + next.value = key; + next.done = false; + return next; + } + } + + // To avoid creating an additional object, we just hang the .value + // and .done properties off the next function object itself. This + // also ensures that the minifier will not anonymize the function. + next.done = true; + return next; + }; + }; + + function values(iterable) { + if (iterable) { + var iteratorMethod = iterable[iteratorSymbol]; + if (iteratorMethod) { + return iteratorMethod.call(iterable); + } + + if (typeof iterable.next === "function") { + return iterable; + } + + if (!isNaN(iterable.length)) { + var i = -1, next = function next() { + while (++i < iterable.length) { + if (hasOwn.call(iterable, i)) { + next.value = iterable[i]; + next.done = false; + return next; + } + } + + next.value = undefined; + next.done = true; + + return next; + }; + + return next.next = next; + } + } + + // Return an iterator with no values. + return { next: doneResult }; + } + runtime.values = values; + + function doneResult() { + return { value: undefined, done: true }; + } + + Context.prototype = { + constructor: Context, + + reset: function(skipTempReset) { + this.prev = 0; + this.next = 0; + // Resetting context._sent for legacy support of Babel's + // function.sent implementation. + this.sent = this._sent = undefined; + this.done = false; + this.delegate = null; + + this.method = "next"; + this.arg = undefined; + + this.tryEntries.forEach(resetTryEntry); + + if (!skipTempReset) { + for (var name in this) { + // Not sure about the optimal order of these conditions: + if (name.charAt(0) === "t" && + hasOwn.call(this, name) && + !isNaN(+name.slice(1))) { + this[name] = undefined; + } + } + } + }, + + stop: function() { + this.done = true; + + var rootEntry = this.tryEntries[0]; + var rootRecord = rootEntry.completion; + if (rootRecord.type === "throw") { + throw rootRecord.arg; + } + + return this.rval; + }, + + dispatchException: function(exception) { + if (this.done) { + throw exception; + } + + var context = this; + function handle(loc, caught) { + record.type = "throw"; + record.arg = exception; + context.next = loc; + + if (caught) { + // If the dispatched exception was caught by a catch block, + // then let that catch block handle the exception normally. + context.method = "next"; + context.arg = undefined; + } + + return !! caught; + } + + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + var record = entry.completion; + + if (entry.tryLoc === "root") { + // Exception thrown outside of any try block that could handle + // it, so set the completion value of the entire function to + // throw the exception. + return handle("end"); + } + + if (entry.tryLoc <= this.prev) { + var hasCatch = hasOwn.call(entry, "catchLoc"); + var hasFinally = hasOwn.call(entry, "finallyLoc"); + + if (hasCatch && hasFinally) { + if (this.prev < entry.catchLoc) { + return handle(entry.catchLoc, true); + } else if (this.prev < entry.finallyLoc) { + return handle(entry.finallyLoc); + } + + } else if (hasCatch) { + if (this.prev < entry.catchLoc) { + return handle(entry.catchLoc, true); + } + + } else if (hasFinally) { + if (this.prev < entry.finallyLoc) { + return handle(entry.finallyLoc); + } + + } else { + throw new Error("try statement without catch or finally"); + } + } + } + }, + + abrupt: function(type, arg) { + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + if (entry.tryLoc <= this.prev && + hasOwn.call(entry, "finallyLoc") && + this.prev < entry.finallyLoc) { + var finallyEntry = entry; + break; + } + } + + if (finallyEntry && + (type === "break" || + type === "continue") && + finallyEntry.tryLoc <= arg && + arg <= finallyEntry.finallyLoc) { + // Ignore the finally entry if control is not jumping to a + // location outside the try/catch block. + finallyEntry = null; + } + + var record = finallyEntry ? finallyEntry.completion : {}; + record.type = type; + record.arg = arg; + + if (finallyEntry) { + this.method = "next"; + this.next = finallyEntry.finallyLoc; + return ContinueSentinel; + } + + return this.complete(record); + }, + + complete: function(record, afterLoc) { + if (record.type === "throw") { + throw record.arg; + } + + if (record.type === "break" || + record.type === "continue") { + this.next = record.arg; + } else if (record.type === "return") { + this.rval = this.arg = record.arg; + this.method = "return"; + this.next = "end"; + } else if (record.type === "normal" && afterLoc) { + this.next = afterLoc; + } + + return ContinueSentinel; + }, + + finish: function(finallyLoc) { + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + if (entry.finallyLoc === finallyLoc) { + this.complete(entry.completion, entry.afterLoc); + resetTryEntry(entry); + return ContinueSentinel; + } + } + }, + + "catch": function(tryLoc) { + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + if (entry.tryLoc === tryLoc) { + var record = entry.completion; + if (record.type === "throw") { + var thrown = record.arg; + resetTryEntry(entry); + } + return thrown; + } + } + + // The context.catch method must only be called with a location + // argument that corresponds to a known catch block. + throw new Error("illegal catch attempt"); + }, + + delegateYield: function(iterable, resultName, nextLoc) { + this.delegate = { + iterator: values(iterable), + resultName: resultName, + nextLoc: nextLoc + }; + + if (this.method === "next") { + // Deliberately forget the last sent value so that we don't + // accidentally pass it on to the delegate. + this.arg = undefined; + } + + return ContinueSentinel; + } + }; +})( + // In sloppy mode, unbound `this` refers to the global object, fallback to + // Function constructor if we're in global strict mode. That is sadly a form + // of indirect eval which violates Content Security Policy. + (function() { + return this || (typeof self === "object" && self); + })() || Function("return this")() +); + +},{}]},{},[1]); diff --git a/public/cdn/font-icon/font_2316098_umqusozousr.js b/public/cdn/font-icon/font_2316098_umqusozousr.js new file mode 100644 index 0000000..b098acf --- /dev/null +++ b/public/cdn/font-icon/font_2316098_umqusozousr.js @@ -0,0 +1 @@ +!function(c){var a,t,e,i,l,n,o='',d=(d=document.getElementsByTagName("script"))[d.length-1].getAttribute("data-injectcss");if(d&&!c.__iconfont__svg__cssinject__){c.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(c){console&&console.log(c)}}function h(){l||(l=!0,e())}a=function(){var c,a,t,e;(e=document.createElement("div")).innerHTML=o,o=null,(t=e.getElementsByTagName("svg")[0])&&(t.setAttribute("aria-hidden","true"),t.style.position="absolute",t.style.width=0,t.style.height=0,t.style.overflow="hidden",c=t,(a=document.body).firstChild?(e=c,(t=a.firstChild).parentNode.insertBefore(e,t)):a.appendChild(c))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(a,0):(t=function(){document.removeEventListener("DOMContentLoaded",t,!1),a()},document.addEventListener("DOMContentLoaded",t,!1)):document.attachEvent&&(e=a,i=c.document,l=!1,(n=function(){try{i.documentElement.doScroll("left")}catch(c){return void setTimeout(n,50)}h()})(),i.onreadystatechange=function(){"complete"==i.readyState&&(i.onreadystatechange=null,h())})}(window); \ No newline at end of file diff --git a/public/color.less b/public/color.less new file mode 100644 index 0000000..31150d2 --- /dev/null +++ b/public/color.less @@ -0,0 +1,7739 @@ +@primary-color: #1890ff; +/* stylelint-disable at-rule-empty-line-before,at-rule-name-space-after,at-rule-no-unknown */ +/* stylelint-disable no-duplicate-selectors */ +/* stylelint-disable */ +.bezierEasingMixin() { + @functions: ~`(function() { + var NEWTON_ITERATIONS = 4; + var NEWTON_MIN_SLOPE = 0.001; + var SUBDIVISION_PRECISION = 0.0000001; + var SUBDIVISION_MAX_ITERATIONS = 10; + + var kSplineTableSize = 11; + var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0); + + var float32ArraySupported = typeof Float32Array === 'function'; + + function A (aA1, aA2) { return 1.0 - 3.0 * aA2 + 3.0 * aA1; } + function B (aA1, aA2) { return 3.0 * aA2 - 6.0 * aA1; } + function C (aA1) { return 3.0 * aA1; } + + // Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2. + function calcBezier (aT, aA1, aA2) { return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT; } + + // Returns dx/dt given t, x1, and x2, or dy/dt given t, y1, and y2. + function getSlope (aT, aA1, aA2) { return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1); } + + function binarySubdivide (aX, aA, aB, mX1, mX2) { + var currentX, currentT, i = 0; + do { + currentT = aA + (aB - aA) / 2.0; + currentX = calcBezier(currentT, mX1, mX2) - aX; + if (currentX > 0.0) { + aB = currentT; + } else { + aA = currentT; + } + } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS); + return currentT; + } + + function newtonRaphsonIterate (aX, aGuessT, mX1, mX2) { + for (var i = 0; i < NEWTON_ITERATIONS; ++i) { + var currentSlope = getSlope(aGuessT, mX1, mX2); + if (currentSlope === 0.0) { + return aGuessT; + } + var currentX = calcBezier(aGuessT, mX1, mX2) - aX; + aGuessT -= currentX / currentSlope; + } + return aGuessT; + } + + var BezierEasing = function (mX1, mY1, mX2, mY2) { + if (!(0 <= mX1 && mX1 <= 1 && 0 <= mX2 && mX2 <= 1)) { + throw new Error('bezier x values must be in [0, 1] range'); + } + + // Precompute samples table + var sampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize); + if (mX1 !== mY1 || mX2 !== mY2) { + for (var i = 0; i < kSplineTableSize; ++i) { + sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2); + } + } + + function getTForX (aX) { + var intervalStart = 0.0; + var currentSample = 1; + var lastSample = kSplineTableSize - 1; + + for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) { + intervalStart += kSampleStepSize; + } + --currentSample; + + // Interpolate to provide an initial guess for t + var dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]); + var guessForT = intervalStart + dist * kSampleStepSize; + + var initialSlope = getSlope(guessForT, mX1, mX2); + if (initialSlope >= NEWTON_MIN_SLOPE) { + return newtonRaphsonIterate(aX, guessForT, mX1, mX2); + } else if (initialSlope === 0.0) { + return guessForT; + } else { + return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2); + } + } + + return function BezierEasing (x) { + if (mX1 === mY1 && mX2 === mY2) { + return x; // linear + } + // Because JavaScript number are imprecise, we should guarantee the extremes are right. + if (x === 0) { + return 0; + } + if (x === 1) { + return 1; + } + return calcBezier(getTForX(x), mY1, mY2); + }; + }; + + this.colorEasing = BezierEasing(0.26, 0.09, 0.37, 0.18); + // less 3 requires a return + return ''; +})()`; +} +// It is hacky way to make this function will be compiled preferentially by less +// resolve error: `ReferenceError: colorPalette is not defined` +// https://github.com/ant-design/ant-motion/issues/44 +.bezierEasingMixin(); + +/* stylelint-disable declaration-bang-space-before,no-duplicate-selectors,string-no-newline */ +.tinyColorMixin() { + @functions: ~`(function() { +// TinyColor v1.4.1 +// https://github.com/bgrins/TinyColor +// 2016-07-07, Brian Grinstead, MIT License +var trimLeft = /^\s+/, + trimRight = /\s+$/, + tinyCounter = 0, + mathRound = Math.round, + mathMin = Math.min, + mathMax = Math.max, + mathRandom = Math.random; + +function tinycolor (color, opts) { + + color = (color) ? color : ''; + opts = opts || { }; + + // If input is already a tinycolor, return itself + if (color instanceof tinycolor) { + return color; + } + // If we are called as a function, call using new instead + if (!(this instanceof tinycolor)) { + return new tinycolor(color, opts); + } + + var rgb = inputToRGB(color); + this._originalInput = color, + this._r = rgb.r, + this._g = rgb.g, + this._b = rgb.b, + this._a = rgb.a, + this._roundA = mathRound(100*this._a) / 100, + this._format = opts.format || rgb.format; + this._gradientType = opts.gradientType; + + // Don't let the range of [0,255] come back in [0,1]. + // Potentially lose a little bit of precision here, but will fix issues where + // .5 gets interpreted as half of the total, instead of half of 1 + // If it was supposed to be 128, this was already taken care of by inputToRgb + if (this._r < 1) { this._r = mathRound(this._r); } + if (this._g < 1) { this._g = mathRound(this._g); } + if (this._b < 1) { this._b = mathRound(this._b); } + + this._ok = rgb.ok; + this._tc_id = tinyCounter++; +} + +tinycolor.prototype = { + isDark: function() { + return this.getBrightness() < 128; + }, + isLight: function() { + return !this.isDark(); + }, + isValid: function() { + return this._ok; + }, + getOriginalInput: function() { + return this._originalInput; + }, + getFormat: function() { + return this._format; + }, + getAlpha: function() { + return this._a; + }, + getBrightness: function() { + //http://www.w3.org/TR/AERT#color-contrast + var rgb = this.toRgb(); + return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000; + }, + getLuminance: function() { + //http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef + var rgb = this.toRgb(); + var RsRGB, GsRGB, BsRGB, R, G, B; + RsRGB = rgb.r/255; + GsRGB = rgb.g/255; + BsRGB = rgb.b/255; + + if (RsRGB <= 0.03928) {R = RsRGB / 12.92;} else {R = Math.pow(((RsRGB + 0.055) / 1.055), 2.4);} + if (GsRGB <= 0.03928) {G = GsRGB / 12.92;} else {G = Math.pow(((GsRGB + 0.055) / 1.055), 2.4);} + if (BsRGB <= 0.03928) {B = BsRGB / 12.92;} else {B = Math.pow(((BsRGB + 0.055) / 1.055), 2.4);} + return (0.2126 * R) + (0.7152 * G) + (0.0722 * B); + }, + setAlpha: function(value) { + this._a = boundAlpha(value); + this._roundA = mathRound(100*this._a) / 100; + return this; + }, + toHsv: function() { + var hsv = rgbToHsv(this._r, this._g, this._b); + return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this._a }; + }, + toHsvString: function() { + var hsv = rgbToHsv(this._r, this._g, this._b); + var h = mathRound(hsv.h * 360), s = mathRound(hsv.s * 100), v = mathRound(hsv.v * 100); + return (this._a == 1) ? + "hsv(" + h + ", " + s + "%, " + v + "%)" : + "hsva(" + h + ", " + s + "%, " + v + "%, "+ this._roundA + ")"; + }, + toHsl: function() { + var hsl = rgbToHsl(this._r, this._g, this._b); + return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this._a }; + }, + toHslString: function() { + var hsl = rgbToHsl(this._r, this._g, this._b); + var h = mathRound(hsl.h * 360), s = mathRound(hsl.s * 100), l = mathRound(hsl.l * 100); + return (this._a == 1) ? + "hsl(" + h + ", " + s + "%, " + l + "%)" : + "hsla(" + h + ", " + s + "%, " + l + "%, "+ this._roundA + ")"; + }, + toHex: function(allow3Char) { + return rgbToHex(this._r, this._g, this._b, allow3Char); + }, + toHexString: function(allow3Char) { + return '#' + this.toHex(allow3Char); + }, + toHex8: function(allow4Char) { + return rgbaToHex(this._r, this._g, this._b, this._a, allow4Char); + }, + toHex8String: function(allow4Char) { + return '#' + this.toHex8(allow4Char); + }, + toRgb: function() { + return { r: mathRound(this._r), g: mathRound(this._g), b: mathRound(this._b), a: this._a }; + }, + toRgbString: function() { + return (this._a == 1) ? + "rgb(" + mathRound(this._r) + ", " + mathRound(this._g) + ", " + mathRound(this._b) + ")" : + "rgba(" + mathRound(this._r) + ", " + mathRound(this._g) + ", " + mathRound(this._b) + ", " + this._roundA + ")"; + }, + toPercentageRgb: function() { + return { r: mathRound(bound01(this._r, 255) * 100) + "%", g: mathRound(bound01(this._g, 255) * 100) + "%", b: mathRound(bound01(this._b, 255) * 100) + "%", a: this._a }; + }, + toPercentageRgbString: function() { + return (this._a == 1) ? + "rgb(" + mathRound(bound01(this._r, 255) * 100) + "%, " + mathRound(bound01(this._g, 255) * 100) + "%, " + mathRound(bound01(this._b, 255) * 100) + "%)" : + "rgba(" + mathRound(bound01(this._r, 255) * 100) + "%, " + mathRound(bound01(this._g, 255) * 100) + "%, " + mathRound(bound01(this._b, 255) * 100) + "%, " + this._roundA + ")"; + }, + toName: function() { + if (this._a === 0) { + return "transparent"; + } + + if (this._a < 1) { + return false; + } + + return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false; + }, + toFilter: function(secondColor) { + var hex8String = '#' + rgbaToArgbHex(this._r, this._g, this._b, this._a); + var secondHex8String = hex8String; + var gradientType = this._gradientType ? "GradientType = 1, " : ""; + + if (secondColor) { + var s = tinycolor(secondColor); + secondHex8String = '#' + rgbaToArgbHex(s._r, s._g, s._b, s._a); + } + + return "progid:DXImageTransform.Microsoft.gradient("+gradientType+"startColorstr="+hex8String+",endColorstr="+secondHex8String+")"; + }, + toString: function(format) { + var formatSet = !!format; + format = format || this._format; + + var formattedString = false; + var hasAlpha = this._a < 1 && this._a >= 0; + var needsAlphaFormat = !formatSet && hasAlpha && (format === "hex" || format === "hex6" || format === "hex3" || format === "hex4" || format === "hex8" || format === "name"); + + if (needsAlphaFormat) { + // Special case for "transparent", all other non-alpha formats + // will return rgba when there is transparency. + if (format === "name" && this._a === 0) { + return this.toName(); + } + return this.toRgbString(); + } + if (format === "rgb") { + formattedString = this.toRgbString(); + } + if (format === "prgb") { + formattedString = this.toPercentageRgbString(); + } + if (format === "hex" || format === "hex6") { + formattedString = this.toHexString(); + } + if (format === "hex3") { + formattedString = this.toHexString(true); + } + if (format === "hex4") { + formattedString = this.toHex8String(true); + } + if (format === "hex8") { + formattedString = this.toHex8String(); + } + if (format === "name") { + formattedString = this.toName(); + } + if (format === "hsl") { + formattedString = this.toHslString(); + } + if (format === "hsv") { + formattedString = this.toHsvString(); + } + + return formattedString || this.toHexString(); + }, + clone: function() { + return tinycolor(this.toString()); + }, + + _applyModification: function(fn, args) { + var color = fn.apply(null, [this].concat([].slice.call(args))); + this._r = color._r; + this._g = color._g; + this._b = color._b; + this.setAlpha(color._a); + return this; + }, + lighten: function() { + return this._applyModification(lighten, arguments); + }, + brighten: function() { + return this._applyModification(brighten, arguments); + }, + darken: function() { + return this._applyModification(darken, arguments); + }, + desaturate: function() { + return this._applyModification(desaturate, arguments); + }, + saturate: function() { + return this._applyModification(saturate, arguments); + }, + greyscale: function() { + return this._applyModification(greyscale, arguments); + }, + spin: function() { + return this._applyModification(spin, arguments); + }, + + _applyCombination: function(fn, args) { + return fn.apply(null, [this].concat([].slice.call(args))); + }, + analogous: function() { + return this._applyCombination(analogous, arguments); + }, + complement: function() { + return this._applyCombination(complement, arguments); + }, + monochromatic: function() { + return this._applyCombination(monochromatic, arguments); + }, + splitcomplement: function() { + return this._applyCombination(splitcomplement, arguments); + }, + triad: function() { + return this._applyCombination(triad, arguments); + }, + tetrad: function() { + return this._applyCombination(tetrad, arguments); + } +}; + +// If input is an object, force 1 into "1.0" to handle ratios properly +// String input requires "1.0" as input, so 1 will be treated as 1 +tinycolor.fromRatio = function(color, opts) { + if (typeof color == "object") { + var newColor = {}; + for (var i in color) { + if (color.hasOwnProperty(i)) { + if (i === "a") { + newColor[i] = color[i]; + } + else { + newColor[i] = convertToPercentage(color[i]); + } + } + } + color = newColor; + } + + return tinycolor(color, opts); +}; + +// Given a string or object, convert that input to RGB +// Possible string inputs: +// +// "red" +// "#f00" or "f00" +// "#ff0000" or "ff0000" +// "#ff000000" or "ff000000" +// "rgb 255 0 0" or "rgb (255, 0, 0)" +// "rgb 1.0 0 0" or "rgb (1, 0, 0)" +// "rgba (255, 0, 0, 1)" or "rgba 255, 0, 0, 1" +// "rgba (1.0, 0, 0, 1)" or "rgba 1.0, 0, 0, 1" +// "hsl(0, 100%, 50%)" or "hsl 0 100% 50%" +// "hsla(0, 100%, 50%, 1)" or "hsla 0 100% 50%, 1" +// "hsv(0, 100%, 100%)" or "hsv 0 100% 100%" +// +function inputToRGB(color) { + + var rgb = { r: 0, g: 0, b: 0 }; + var a = 1; + var s = null; + var v = null; + var l = null; + var ok = false; + var format = false; + + if (typeof color == "string") { + color = stringInputToObject(color); + } + + if (typeof color == "object") { + if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) { + rgb = rgbToRgb(color.r, color.g, color.b); + ok = true; + format = String(color.r).substr(-1) === "%" ? "prgb" : "rgb"; + } + else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) { + s = convertToPercentage(color.s); + v = convertToPercentage(color.v); + rgb = hsvToRgb(color.h, s, v); + ok = true; + format = "hsv"; + } + else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) { + s = convertToPercentage(color.s); + l = convertToPercentage(color.l); + rgb = hslToRgb(color.h, s, l); + ok = true; + format = "hsl"; + } + + if (color.hasOwnProperty("a")) { + a = color.a; + } + } + + a = boundAlpha(a); + + return { + ok: ok, + format: color.format || format, + r: mathMin(255, mathMax(rgb.r, 0)), + g: mathMin(255, mathMax(rgb.g, 0)), + b: mathMin(255, mathMax(rgb.b, 0)), + a: a + }; +} + +// Conversion Functions +// -------------------- + +// rgbToHsl, rgbToHsv, hslToRgb, hsvToRgb modified from: +// + +// rgbToRgb +// Handle bounds / percentage checking to conform to CSS color spec +// +// *Assumes:* r, g, b in [0, 255] or [0, 1] +// *Returns:* { r, g, b } in [0, 255] +function rgbToRgb(r, g, b){ + return { + r: bound01(r, 255) * 255, + g: bound01(g, 255) * 255, + b: bound01(b, 255) * 255 + }; +} + +// rgbToHsl +// Converts an RGB color value to HSL. +// *Assumes:* r, g, and b are contained in [0, 255] or [0, 1] +// *Returns:* { h, s, l } in [0,1] +function rgbToHsl(r, g, b) { + + r = bound01(r, 255); + g = bound01(g, 255); + b = bound01(b, 255); + + var max = mathMax(r, g, b), min = mathMin(r, g, b); + var h, s, l = (max + min) / 2; + + if(max == min) { + h = s = 0; // achromatic + } + else { + var d = max - min; + s = l > 0.5 ? d / (2 - max - min) : d / (max + min); + switch(max) { + case r: h = (g - b) / d + (g < b ? 6 : 0); break; + case g: h = (b - r) / d + 2; break; + case b: h = (r - g) / d + 4; break; + } + + h /= 6; + } + + return { h: h, s: s, l: l }; +} + +// hslToRgb +// Converts an HSL color value to RGB. +// *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100] +// *Returns:* { r, g, b } in the set [0, 255] +function hslToRgb(h, s, l) { + var r, g, b; + + h = bound01(h, 360); + s = bound01(s, 100); + l = bound01(l, 100); + + function hue2rgb(p, q, t) { + if(t < 0) t += 1; + if(t > 1) t -= 1; + if(t < 1/6) return p + (q - p) * 6 * t; + if(t < 1/2) return q; + if(t < 2/3) return p + (q - p) * (2/3 - t) * 6; + return p; + } + + if(s === 0) { + r = g = b = l; // achromatic + } + else { + var q = l < 0.5 ? l * (1 + s) : l + s - l * s; + var p = 2 * l - q; + r = hue2rgb(p, q, h + 1/3); + g = hue2rgb(p, q, h); + b = hue2rgb(p, q, h - 1/3); + } + + return { r: r * 255, g: g * 255, b: b * 255 }; +} + +// rgbToHsv +// Converts an RGB color value to HSV +// *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1] +// *Returns:* { h, s, v } in [0,1] +function rgbToHsv(r, g, b) { + + r = bound01(r, 255); + g = bound01(g, 255); + b = bound01(b, 255); + + var max = mathMax(r, g, b), min = mathMin(r, g, b); + var h, s, v = max; + + var d = max - min; + s = max === 0 ? 0 : d / max; + + if(max == min) { + h = 0; // achromatic + } + else { + switch(max) { + case r: h = (g - b) / d + (g < b ? 6 : 0); break; + case g: h = (b - r) / d + 2; break; + case b: h = (r - g) / d + 4; break; + } + h /= 6; + } + return { h: h, s: s, v: v }; +} + +// hsvToRgb +// Converts an HSV color value to RGB. +// *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100] +// *Returns:* { r, g, b } in the set [0, 255] + function hsvToRgb(h, s, v) { + + h = bound01(h, 360) * 6; + s = bound01(s, 100); + v = bound01(v, 100); + + var i = Math.floor(h), + f = h - i, + p = v * (1 - s), + q = v * (1 - f * s), + t = v * (1 - (1 - f) * s), + mod = i % 6, + r = [v, q, p, p, t, v][mod], + g = [t, v, v, q, p, p][mod], + b = [p, p, t, v, v, q][mod]; + + return { r: r * 255, g: g * 255, b: b * 255 }; +} + +// rgbToHex +// Converts an RGB color to hex +// Assumes r, g, and b are contained in the set [0, 255] +// Returns a 3 or 6 character hex +function rgbToHex(r, g, b, allow3Char) { + + var hex = [ + pad2(mathRound(r).toString(16)), + pad2(mathRound(g).toString(16)), + pad2(mathRound(b).toString(16)) + ]; + + // Return a 3 character hex if possible + if (allow3Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1)) { + return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0); + } + + return hex.join(""); +} + +// rgbaToHex +// Converts an RGBA color plus alpha transparency to hex +// Assumes r, g, b are contained in the set [0, 255] and +// a in [0, 1]. Returns a 4 or 8 character rgba hex +function rgbaToHex(r, g, b, a, allow4Char) { + + var hex = [ + pad2(mathRound(r).toString(16)), + pad2(mathRound(g).toString(16)), + pad2(mathRound(b).toString(16)), + pad2(convertDecimalToHex(a)) + ]; + + // Return a 4 character hex if possible + if (allow4Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1) && hex[3].charAt(0) == hex[3].charAt(1)) { + return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0); + } + + return hex.join(""); +} + +// rgbaToArgbHex +// Converts an RGBA color to an ARGB Hex8 string +// Rarely used, but required for "toFilter()" +function rgbaToArgbHex(r, g, b, a) { + + var hex = [ + pad2(convertDecimalToHex(a)), + pad2(mathRound(r).toString(16)), + pad2(mathRound(g).toString(16)), + pad2(mathRound(b).toString(16)) + ]; + + return hex.join(""); +} + +// equals +// Can be called with any tinycolor input +tinycolor.equals = function (color1, color2) { + if (!color1 || !color2) { return false; } + return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString(); +}; + +tinycolor.random = function() { + return tinycolor.fromRatio({ + r: mathRandom(), + g: mathRandom(), + b: mathRandom() + }); +}; + +// Modification Functions +// ---------------------- +// Thanks to less.js for some of the basics here +// + +function desaturate(color, amount) { + amount = (amount === 0) ? 0 : (amount || 10); + var hsl = tinycolor(color).toHsl(); + hsl.s -= amount / 100; + hsl.s = clamp01(hsl.s); + return tinycolor(hsl); +} + +function saturate(color, amount) { + amount = (amount === 0) ? 0 : (amount || 10); + var hsl = tinycolor(color).toHsl(); + hsl.s += amount / 100; + hsl.s = clamp01(hsl.s); + return tinycolor(hsl); +} + +function greyscale(color) { + return tinycolor(color).desaturate(100); +} + +function lighten (color, amount) { + amount = (amount === 0) ? 0 : (amount || 10); + var hsl = tinycolor(color).toHsl(); + hsl.l += amount / 100; + hsl.l = clamp01(hsl.l); + return tinycolor(hsl); +} + +function brighten(color, amount) { + amount = (amount === 0) ? 0 : (amount || 10); + var rgb = tinycolor(color).toRgb(); + rgb.r = mathMax(0, mathMin(255, rgb.r - mathRound(255 * - (amount / 100)))); + rgb.g = mathMax(0, mathMin(255, rgb.g - mathRound(255 * - (amount / 100)))); + rgb.b = mathMax(0, mathMin(255, rgb.b - mathRound(255 * - (amount / 100)))); + return tinycolor(rgb); +} + +function darken (color, amount) { + amount = (amount === 0) ? 0 : (amount || 10); + var hsl = tinycolor(color).toHsl(); + hsl.l -= amount / 100; + hsl.l = clamp01(hsl.l); + return tinycolor(hsl); +} + +// Spin takes a positive or negative amount within [-360, 360] indicating the change of hue. +// Values outside of this range will be wrapped into this range. +function spin(color, amount) { + var hsl = tinycolor(color).toHsl(); + var hue = (hsl.h + amount) % 360; + hsl.h = hue < 0 ? 360 + hue : hue; + return tinycolor(hsl); +} + +// Combination Functions +// --------------------- +// Thanks to jQuery xColor for some of the ideas behind these +// + +function complement(color) { + var hsl = tinycolor(color).toHsl(); + hsl.h = (hsl.h + 180) % 360; + return tinycolor(hsl); +} + +function triad(color) { + var hsl = tinycolor(color).toHsl(); + var h = hsl.h; + return [ + tinycolor(color), + tinycolor({ h: (h + 120) % 360, s: hsl.s, l: hsl.l }), + tinycolor({ h: (h + 240) % 360, s: hsl.s, l: hsl.l }) + ]; +} + +function tetrad(color) { + var hsl = tinycolor(color).toHsl(); + var h = hsl.h; + return [ + tinycolor(color), + tinycolor({ h: (h + 90) % 360, s: hsl.s, l: hsl.l }), + tinycolor({ h: (h + 180) % 360, s: hsl.s, l: hsl.l }), + tinycolor({ h: (h + 270) % 360, s: hsl.s, l: hsl.l }) + ]; +} + +function splitcomplement(color) { + var hsl = tinycolor(color).toHsl(); + var h = hsl.h; + return [ + tinycolor(color), + tinycolor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l}), + tinycolor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l}) + ]; +} + +function analogous(color, results, slices) { + results = results || 6; + slices = slices || 30; + + var hsl = tinycolor(color).toHsl(); + var part = 360 / slices; + var ret = [tinycolor(color)]; + + for (hsl.h = ((hsl.h - (part * results >> 1)) + 720) % 360; --results; ) { + hsl.h = (hsl.h + part) % 360; + ret.push(tinycolor(hsl)); + } + return ret; +} + +function monochromatic(color, results) { + results = results || 6; + var hsv = tinycolor(color).toHsv(); + var h = hsv.h, s = hsv.s, v = hsv.v; + var ret = []; + var modification = 1 / results; + + while (results--) { + ret.push(tinycolor({ h: h, s: s, v: v})); + v = (v + modification) % 1; + } + + return ret; +} + +// Utility Functions +// --------------------- + +tinycolor.mix = function(color1, color2, amount) { + amount = (amount === 0) ? 0 : (amount || 50); + + var rgb1 = tinycolor(color1).toRgb(); + var rgb2 = tinycolor(color2).toRgb(); + + var p = amount / 100; + + var rgba = { + r: ((rgb2.r - rgb1.r) * p) + rgb1.r, + g: ((rgb2.g - rgb1.g) * p) + rgb1.g, + b: ((rgb2.b - rgb1.b) * p) + rgb1.b, + a: ((rgb2.a - rgb1.a) * p) + rgb1.a + }; + + return tinycolor(rgba); +}; + +// Readability Functions +// --------------------- +// false +// tinycolor.isReadable("#000", "#111",{level:"AA",size:"large"}) => false +tinycolor.isReadable = function(color1, color2, wcag2) { + var readability = tinycolor.readability(color1, color2); + var wcag2Parms, out; + + out = false; + + wcag2Parms = validateWCAG2Parms(wcag2); + switch (wcag2Parms.level + wcag2Parms.size) { + case "AAsmall": + case "AAAlarge": + out = readability >= 4.5; + break; + case "AAlarge": + out = readability >= 3; + break; + case "AAAsmall": + out = readability >= 7; + break; + } + return out; + +}; + +// mostReadable +// Given a base color and a list of possible foreground or background +// colors for that base, returns the most readable color. +// Optionally returns Black or White if the most readable color is unreadable. +// *Example* +// tinycolor.mostReadable(tinycolor.mostReadable("#123", ["#124", "#125"],{includeFallbackColors:false}).toHexString(); // "#112255" +// tinycolor.mostReadable(tinycolor.mostReadable("#123", ["#124", "#125"],{includeFallbackColors:true}).toHexString(); // "#ffffff" +// tinycolor.mostReadable("#a8015a", ["#faf3f3"],{includeFallbackColors:true,level:"AAA",size:"large"}).toHexString(); // "#faf3f3" +// tinycolor.mostReadable("#a8015a", ["#faf3f3"],{includeFallbackColors:true,level:"AAA",size:"small"}).toHexString(); // "#ffffff" +tinycolor.mostReadable = function(baseColor, colorList, args) { + var bestColor = null; + var bestScore = 0; + var readability; + var includeFallbackColors, level, size ; + args = args || {}; + includeFallbackColors = args.includeFallbackColors ; + level = args.level; + size = args.size; + + for (var i= 0; i < colorList.length ; i++) { + readability = tinycolor.readability(baseColor, colorList[i]); + if (readability > bestScore) { + bestScore = readability; + bestColor = tinycolor(colorList[i]); + } + } + + if (tinycolor.isReadable(baseColor, bestColor, {"level":level,"size":size}) || !includeFallbackColors) { + return bestColor; + } + else { + args.includeFallbackColors=false; + return tinycolor.mostReadable(baseColor,["#fff", "#000"],args); + } +}; + +// Big List of Colors +// ------------------ +// +var names = tinycolor.names = { + aliceblue: "f0f8ff", + antiquewhite: "faebd7", + aqua: "0ff", + aquamarine: "7fffd4", + azure: "f0ffff", + beige: "f5f5dc", + bisque: "ffe4c4", + black: "000", + blanchedalmond: "ffebcd", + blue: "00f", + blueviolet: "8a2be2", + brown: "a52a2a", + burlywood: "deb887", + burntsienna: "ea7e5d", + cadetblue: "5f9ea0", + chartreuse: "7fff00", + chocolate: "d2691e", + coral: "ff7f50", + cornflowerblue: "6495ed", + cornsilk: "fff8dc", + crimson: "dc143c", + cyan: "0ff", + darkblue: "00008b", + darkcyan: "008b8b", + darkgoldenrod: "b8860b", + darkgray: "a9a9a9", + darkgreen: "006400", + darkgrey: "a9a9a9", + darkkhaki: "bdb76b", + darkmagenta: "8b008b", + darkolivegreen: "556b2f", + darkorange: "ff8c00", + darkorchid: "9932cc", + darkred: "8b0000", + darksalmon: "e9967a", + darkseagreen: "8fbc8f", + darkslateblue: "483d8b", + darkslategray: "2f4f4f", + darkslategrey: "2f4f4f", + darkturquoise: "00ced1", + darkviolet: "9400d3", + deeppink: "ff1493", + deepskyblue: "00bfff", + dimgray: "696969", + dimgrey: "696969", + dodgerblue: "1e90ff", + firebrick: "b22222", + floralwhite: "fffaf0", + forestgreen: "228b22", + fuchsia: "f0f", + gainsboro: "dcdcdc", + ghostwhite: "f8f8ff", + gold: "ffd700", + goldenrod: "daa520", + gray: "808080", + green: "008000", + greenyellow: "adff2f", + grey: "808080", + honeydew: "f0fff0", + hotpink: "ff69b4", + indianred: "cd5c5c", + indigo: "4b0082", + ivory: "fffff0", + khaki: "f0e68c", + lavender: "e6e6fa", + lavenderblush: "fff0f5", + lawngreen: "7cfc00", + lemonchiffon: "fffacd", + lightblue: "add8e6", + lightcoral: "f08080", + lightcyan: "e0ffff", + lightgoldenrodyellow: "fafad2", + lightgray: "d3d3d3", + lightgreen: "90ee90", + lightgrey: "d3d3d3", + lightpink: "ffb6c1", + lightsalmon: "ffa07a", + lightseagreen: "20b2aa", + lightskyblue: "87cefa", + lightslategray: "789", + lightslategrey: "789", + lightsteelblue: "b0c4de", + lightyellow: "ffffe0", + lime: "0f0", + limegreen: "32cd32", + linen: "faf0e6", + magenta: "f0f", + maroon: "800000", + mediumaquamarine: "66cdaa", + mediumblue: "0000cd", + mediumorchid: "ba55d3", + mediumpurple: "9370db", + mediumseagreen: "3cb371", + mediumslateblue: "7b68ee", + mediumspringgreen: "00fa9a", + mediumturquoise: "48d1cc", + mediumvioletred: "c71585", + midnightblue: "191970", + mintcream: "f5fffa", + mistyrose: "ffe4e1", + moccasin: "ffe4b5", + navajowhite: "ffdead", + navy: "000080", + oldlace: "fdf5e6", + olive: "808000", + olivedrab: "6b8e23", + orange: "ffa500", + orangered: "ff4500", + orchid: "da70d6", + palegoldenrod: "eee8aa", + palegreen: "98fb98", + paleturquoise: "afeeee", + palevioletred: "db7093", + papayawhip: "ffefd5", + peachpuff: "ffdab9", + peru: "cd853f", + pink: "ffc0cb", + plum: "dda0dd", + powderblue: "b0e0e6", + purple: "800080", + rebeccapurple: "663399", + red: "f00", + rosybrown: "bc8f8f", + royalblue: "4169e1", + saddlebrown: "8b4513", + salmon: "fa8072", + sandybrown: "f4a460", + seagreen: "2e8b57", + seashell: "fff5ee", + sienna: "a0522d", + silver: "c0c0c0", + skyblue: "87ceeb", + slateblue: "6a5acd", + slategray: "708090", + slategrey: "708090", + snow: "fffafa", + springgreen: "00ff7f", + steelblue: "4682b4", + tan: "d2b48c", + teal: "008080", + thistle: "d8bfd8", + tomato: "ff6347", + turquoise: "40e0d0", + violet: "ee82ee", + wheat: "f5deb3", + white: "fff", + whitesmoke: "f5f5f5", + yellow: "ff0", + yellowgreen: "9acd32" +}; + +// Make it easy to access colors via hexNames[hex] +var hexNames = tinycolor.hexNames = flip(names); + +// Utilities +// --------- + +// { 'name1': 'val1' } becomes { 'val1': 'name1' } +function flip(o) { + var flipped = { }; + for (var i in o) { + if (o.hasOwnProperty(i)) { + flipped[o[i]] = i; + } + } + return flipped; +} + +// Return a valid alpha value [0,1] with all invalid values being set to 1 +function boundAlpha(a) { + a = parseFloat(a); + + if (isNaN(a) || a < 0 || a > 1) { + a = 1; + } + + return a; +} + +// Take input from [0, n] and return it as [0, 1] +function bound01(n, max) { + if (isOnePointZero(n)) { n = "100%"; } + + var processPercent = isPercentage(n); + n = mathMin(max, mathMax(0, parseFloat(n))); + + // Automatically convert percentage into number + if (processPercent) { + n = parseInt(n * max, 10) / 100; + } + + // Handle floating point rounding errors + if ((Math.abs(n - max) < 0.000001)) { + return 1; + } + + // Convert into [0, 1] range if it isn't already + return (n % max) / parseFloat(max); +} + +// Force a number between 0 and 1 +function clamp01(val) { + return mathMin(1, mathMax(0, val)); +} + +// Parse a base-16 hex value into a base-10 integer +function parseIntFromHex(val) { + return parseInt(val, 16); +} + +// Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1 +// +function isOnePointZero(n) { + return typeof n == "string" && n.indexOf('.') != -1 && parseFloat(n) === 1; +} + +// Check to see if string passed in is a percentage +function isPercentage(n) { + return typeof n === "string" && n.indexOf('%') != -1; +} + +// Force a hex value to have 2 characters +function pad2(c) { + return c.length == 1 ? '0' + c : '' + c; +} + +// Replace a decimal with it's percentage value +function convertToPercentage(n) { + if (n <= 1) { + n = (n * 100) + "%"; + } + + return n; +} + +// Converts a decimal to a hex value +function convertDecimalToHex(d) { + return Math.round(parseFloat(d) * 255).toString(16); +} +// Converts a hex value to a decimal +function convertHexToDecimal(h) { + return (parseIntFromHex(h) / 255); +} + +var matchers = (function() { + + // + var CSS_INTEGER = "[-\\+]?\\d+%?"; + + // + var CSS_NUMBER = "[-\\+]?\\d*\\.\\d+%?"; + + // Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome. + var CSS_UNIT = "(?:" + CSS_NUMBER + ")|(?:" + CSS_INTEGER + ")"; + + // Actual matching. + // Parentheses and commas are optional, but not required. + // Whitespace can take the place of commas or opening paren + var PERMISSIVE_MATCH3 = "[\\s|\\(]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")\\s*\\)?"; + var PERMISSIVE_MATCH4 = "[\\s|\\(]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")\\s*\\)?"; + + return { + CSS_UNIT: new RegExp(CSS_UNIT), + rgb: new RegExp("rgb" + PERMISSIVE_MATCH3), + rgba: new RegExp("rgba" + PERMISSIVE_MATCH4), + hsl: new RegExp("hsl" + PERMISSIVE_MATCH3), + hsla: new RegExp("hsla" + PERMISSIVE_MATCH4), + hsv: new RegExp("hsv" + PERMISSIVE_MATCH3), + hsva: new RegExp("hsva" + PERMISSIVE_MATCH4), + hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, + hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/, + hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, + hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/ + }; +})(); + +// isValidCSSUnit +// Take in a single string / number and check to see if it looks like a CSS unit +// (see matchers above for definition). +function isValidCSSUnit(color) { + return !!matchers.CSS_UNIT.exec(color); +} + +// stringInputToObject +// Permissive string parsing. Take in a number of formats, and output an object +// based on detected format. Returns { r, g, b } or { h, s, l } or { h, s, v} +function stringInputToObject(color) { + + color = color.replace(trimLeft, '').replace(trimRight, '').toLowerCase(); + var named = false; + if (names[color]) { + color = names[color]; + named = true; + } + else if (color == 'transparent') { + return { r: 0, g: 0, b: 0, a: 0, format: "name" }; + } + + // Try to match string input using regular expressions. + // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360] + // Just return an object and let the conversion functions handle that. + // This way the result will be the same whether the tinycolor is initialized with string or object. + var match; + if ((match = matchers.rgb.exec(color))) { + return { r: match[1], g: match[2], b: match[3] }; + } + if ((match = matchers.rgba.exec(color))) { + return { r: match[1], g: match[2], b: match[3], a: match[4] }; + } + if ((match = matchers.hsl.exec(color))) { + return { h: match[1], s: match[2], l: match[3] }; + } + if ((match = matchers.hsla.exec(color))) { + return { h: match[1], s: match[2], l: match[3], a: match[4] }; + } + if ((match = matchers.hsv.exec(color))) { + return { h: match[1], s: match[2], v: match[3] }; + } + if ((match = matchers.hsva.exec(color))) { + return { h: match[1], s: match[2], v: match[3], a: match[4] }; + } + if ((match = matchers.hex8.exec(color))) { + return { + r: parseIntFromHex(match[1]), + g: parseIntFromHex(match[2]), + b: parseIntFromHex(match[3]), + a: convertHexToDecimal(match[4]), + format: named ? "name" : "hex8" + }; + } + if ((match = matchers.hex6.exec(color))) { + return { + r: parseIntFromHex(match[1]), + g: parseIntFromHex(match[2]), + b: parseIntFromHex(match[3]), + format: named ? "name" : "hex" + }; + } + if ((match = matchers.hex4.exec(color))) { + return { + r: parseIntFromHex(match[1] + '' + match[1]), + g: parseIntFromHex(match[2] + '' + match[2]), + b: parseIntFromHex(match[3] + '' + match[3]), + a: convertHexToDecimal(match[4] + '' + match[4]), + format: named ? "name" : "hex8" + }; + } + if ((match = matchers.hex3.exec(color))) { + return { + r: parseIntFromHex(match[1] + '' + match[1]), + g: parseIntFromHex(match[2] + '' + match[2]), + b: parseIntFromHex(match[3] + '' + match[3]), + format: named ? "name" : "hex" + }; + } + + return false; +} + +function validateWCAG2Parms(parms) { + // return valid WCAG2 parms for isReadable. + // If input parms are invalid, return {"level":"AA", "size":"small"} + var level, size; + parms = parms || {"level":"AA", "size":"small"}; + level = (parms.level || "AA").toUpperCase(); + size = (parms.size || "small").toLowerCase(); + if (level !== "AA" && level !== "AAA") { + level = "AA"; + } + if (size !== "small" && size !== "large") { + size = "small"; + } + return {"level":level, "size":size}; +} + +this.tinycolor = tinycolor; + +})()`; +} +// It is hacky way to make this function will be compiled preferentially by less +// resolve error: `ReferenceError: colorPalette is not defined` +// https://github.com/ant-design/ant-motion/issues/44 +.tinyColorMixin(); + +// We create a very complex algorithm which take the place of original tint/shade color system +// to make sure no one can understand it 👻 +// and create an entire color palette magicly by inputing just a single primary color. +// We are using bezier-curve easing function and some color manipulations like tint/shade/darken/spin +.colorPaletteMixin() { + @functions: ~`(function() { + var hueStep = 2; + var saturationStep = 16; + var saturationStep2 = 5; + var brightnessStep1 = 5; + var brightnessStep2 = 15; + var lightColorCount = 5; + var darkColorCount = 4; + + var getHue = function(hsv, i, isLight) { + var hue; + if (hsv.h >= 60 && hsv.h <= 240) { + hue = isLight ? hsv.h - hueStep * i : hsv.h + hueStep * i; + } else { + hue = isLight ? hsv.h + hueStep * i : hsv.h - hueStep * i; + } + if (hue < 0) { + hue += 360; + } else if (hue >= 360) { + hue -= 360; + } + return Math.round(hue); + }; + var getSaturation = function(hsv, i, isLight) { + var saturation; + if (isLight) { + saturation = Math.round(hsv.s * 100) - saturationStep * i; + } else if (i == darkColorCount) { + saturation = Math.round(hsv.s * 100) + saturationStep; + } else { + saturation = Math.round(hsv.s * 100) + saturationStep2 * i; + } + if (saturation > 100) { + saturation = 100; + } + if (isLight && i === lightColorCount && saturation > 10) { + saturation = 10; + } + if (saturation < 6) { + saturation = 6; + } + return Math.round(saturation); + }; + var getValue = function(hsv, i, isLight) { + if (isLight) { + return Math.round(hsv.v * 100) + brightnessStep1 * i; + } + return Math.round(hsv.v * 100) - brightnessStep2 * i; + }; + + this.colorPalette = function(color, index) { + var isLight = index <= 6; + var hsv = tinycolor(color).toHsv(); + var i = isLight ? lightColorCount + 1 - index : index - lightColorCount - 1; + return tinycolor({ + h: getHue(hsv, i, isLight), + s: getSaturation(hsv, i, isLight), + v: getValue(hsv, i, isLight), + }).toHexString(); + }; +})()`; +} +// It is hacky way to make this function will be compiled preferentially by less +// resolve error: `ReferenceError: colorPalette is not defined` +// https://github.com/ant-design/ant-motion/issues/44 +.colorPaletteMixin(); + +// color palettes +@blue-1: color(~`colorPalette("@{blue-6}", 1)`); +@blue-2: color(~`colorPalette("@{blue-6}", 2)`); +@blue-3: color(~`colorPalette("@{blue-6}", 3)`); +@blue-4: color(~`colorPalette("@{blue-6}", 4)`); +@blue-5: color(~`colorPalette("@{blue-6}", 5)`); +@blue-6: #1890ff; +@blue-7: color(~`colorPalette("@{blue-6}", 7)`); +@blue-8: color(~`colorPalette("@{blue-6}", 8)`); +@blue-9: color(~`colorPalette("@{blue-6}", 9)`); +@blue-10: color(~`colorPalette("@{blue-6}", 10)`); + +@purple-1: color(~`colorPalette("@{purple-6}", 1)`); +@purple-2: color(~`colorPalette("@{purple-6}", 2)`); +@purple-3: color(~`colorPalette("@{purple-6}", 3)`); +@purple-4: color(~`colorPalette("@{purple-6}", 4)`); +@purple-5: color(~`colorPalette("@{purple-6}", 5)`); +@purple-6: #722ed1; +@purple-7: color(~`colorPalette("@{purple-6}", 7)`); +@purple-8: color(~`colorPalette("@{purple-6}", 8)`); +@purple-9: color(~`colorPalette("@{purple-6}", 9)`); +@purple-10: color(~`colorPalette("@{purple-6}", 10)`); + +@cyan-1: color(~`colorPalette("@{cyan-6}", 1)`); +@cyan-2: color(~`colorPalette("@{cyan-6}", 2)`); +@cyan-3: color(~`colorPalette("@{cyan-6}", 3)`); +@cyan-4: color(~`colorPalette("@{cyan-6}", 4)`); +@cyan-5: color(~`colorPalette("@{cyan-6}", 5)`); +@cyan-6: #13c2c2; +@cyan-7: color(~`colorPalette("@{cyan-6}", 7)`); +@cyan-8: color(~`colorPalette("@{cyan-6}", 8)`); +@cyan-9: color(~`colorPalette("@{cyan-6}", 9)`); +@cyan-10: color(~`colorPalette("@{cyan-6}", 10)`); + +@green-1: color(~`colorPalette("@{green-6}", 1)`); +@green-2: color(~`colorPalette("@{green-6}", 2)`); +@green-3: color(~`colorPalette("@{green-6}", 3)`); +@green-4: color(~`colorPalette("@{green-6}", 4)`); +@green-5: color(~`colorPalette("@{green-6}", 5)`); +@green-6: #52c41a; +@green-7: color(~`colorPalette("@{green-6}", 7)`); +@green-8: color(~`colorPalette("@{green-6}", 8)`); +@green-9: color(~`colorPalette("@{green-6}", 9)`); +@green-10: color(~`colorPalette("@{green-6}", 10)`); + +@magenta-1: color(~`colorPalette("@{magenta-6}", 1)`); +@magenta-2: color(~`colorPalette("@{magenta-6}", 2)`); +@magenta-3: color(~`colorPalette("@{magenta-6}", 3)`); +@magenta-4: color(~`colorPalette("@{magenta-6}", 4)`); +@magenta-5: color(~`colorPalette("@{magenta-6}", 5)`); +@magenta-6: #eb2f96; +@magenta-7: color(~`colorPalette("@{magenta-6}", 7)`); +@magenta-8: color(~`colorPalette("@{magenta-6}", 8)`); +@magenta-9: color(~`colorPalette("@{magenta-6}", 9)`); +@magenta-10: color(~`colorPalette("@{magenta-6}", 10)`); + +// alias of magenta +@pink-1: color(~`colorPalette("@{pink-6}", 1)`); +@pink-2: color(~`colorPalette("@{pink-6}", 2)`); +@pink-3: color(~`colorPalette("@{pink-6}", 3)`); +@pink-4: color(~`colorPalette("@{pink-6}", 4)`); +@pink-5: color(~`colorPalette("@{pink-6}", 5)`); +@pink-6: #eb2f96; +@pink-7: color(~`colorPalette("@{pink-6}", 7)`); +@pink-8: color(~`colorPalette("@{pink-6}", 8)`); +@pink-9: color(~`colorPalette("@{pink-6}", 9)`); +@pink-10: color(~`colorPalette("@{pink-6}", 10)`); + +@red-1: color(~`colorPalette("@{red-6}", 1)`); +@red-2: color(~`colorPalette("@{red-6}", 2)`); +@red-3: color(~`colorPalette("@{red-6}", 3)`); +@red-4: color(~`colorPalette("@{red-6}", 4)`); +@red-5: color(~`colorPalette("@{red-6}", 5)`); +@red-6: #f5222d; +@red-7: color(~`colorPalette("@{red-6}", 7)`); +@red-8: color(~`colorPalette("@{red-6}", 8)`); +@red-9: color(~`colorPalette("@{red-6}", 9)`); +@red-10: color(~`colorPalette("@{red-6}", 10)`); + +@orange-1: color(~`colorPalette("@{orange-6}", 1)`); +@orange-2: color(~`colorPalette("@{orange-6}", 2)`); +@orange-3: color(~`colorPalette("@{orange-6}", 3)`); +@orange-4: color(~`colorPalette("@{orange-6}", 4)`); +@orange-5: color(~`colorPalette("@{orange-6}", 5)`); +@orange-6: #fa8c16; +@orange-7: color(~`colorPalette("@{orange-6}", 7)`); +@orange-8: color(~`colorPalette("@{orange-6}", 8)`); +@orange-9: color(~`colorPalette("@{orange-6}", 9)`); +@orange-10: color(~`colorPalette("@{orange-6}", 10)`); + +@yellow-1: color(~`colorPalette("@{yellow-6}", 1)`); +@yellow-2: color(~`colorPalette("@{yellow-6}", 2)`); +@yellow-3: color(~`colorPalette("@{yellow-6}", 3)`); +@yellow-4: color(~`colorPalette("@{yellow-6}", 4)`); +@yellow-5: color(~`colorPalette("@{yellow-6}", 5)`); +@yellow-6: #fadb14; +@yellow-7: color(~`colorPalette("@{yellow-6}", 7)`); +@yellow-8: color(~`colorPalette("@{yellow-6}", 8)`); +@yellow-9: color(~`colorPalette("@{yellow-6}", 9)`); +@yellow-10: color(~`colorPalette("@{yellow-6}", 10)`); + +@volcano-1: color(~`colorPalette("@{volcano-6}", 1)`); +@volcano-2: color(~`colorPalette("@{volcano-6}", 2)`); +@volcano-3: color(~`colorPalette("@{volcano-6}", 3)`); +@volcano-4: color(~`colorPalette("@{volcano-6}", 4)`); +@volcano-5: color(~`colorPalette("@{volcano-6}", 5)`); +@volcano-6: #fa541c; +@volcano-7: color(~`colorPalette("@{volcano-6}", 7)`); +@volcano-8: color(~`colorPalette("@{volcano-6}", 8)`); +@volcano-9: color(~`colorPalette("@{volcano-6}", 9)`); +@volcano-10: color(~`colorPalette("@{volcano-6}", 10)`); + +@geekblue-1: color(~`colorPalette("@{geekblue-6}", 1)`); +@geekblue-2: color(~`colorPalette("@{geekblue-6}", 2)`); +@geekblue-3: color(~`colorPalette("@{geekblue-6}", 3)`); +@geekblue-4: color(~`colorPalette("@{geekblue-6}", 4)`); +@geekblue-5: color(~`colorPalette("@{geekblue-6}", 5)`); +@geekblue-6: #2f54eb; +@geekblue-7: color(~`colorPalette("@{geekblue-6}", 7)`); +@geekblue-8: color(~`colorPalette("@{geekblue-6}", 8)`); +@geekblue-9: color(~`colorPalette("@{geekblue-6}", 9)`); +@geekblue-10: color(~`colorPalette("@{geekblue-6}", 10)`); + +@lime-1: color(~`colorPalette("@{lime-6}", 1)`); +@lime-2: color(~`colorPalette("@{lime-6}", 2)`); +@lime-3: color(~`colorPalette("@{lime-6}", 3)`); +@lime-4: color(~`colorPalette("@{lime-6}", 4)`); +@lime-5: color(~`colorPalette("@{lime-6}", 5)`); +@lime-6: #a0d911; +@lime-7: color(~`colorPalette("@{lime-6}", 7)`); +@lime-8: color(~`colorPalette("@{lime-6}", 8)`); +@lime-9: color(~`colorPalette("@{lime-6}", 9)`); +@lime-10: color(~`colorPalette("@{lime-6}", 10)`); + +@gold-1: color(~`colorPalette("@{gold-6}", 1)`); +@gold-2: color(~`colorPalette("@{gold-6}", 2)`); +@gold-3: color(~`colorPalette("@{gold-6}", 3)`); +@gold-4: color(~`colorPalette("@{gold-6}", 4)`); +@gold-5: color(~`colorPalette("@{gold-6}", 5)`); +@gold-6: #faad14; +@gold-7: color(~`colorPalette("@{gold-6}", 7)`); +@gold-8: color(~`colorPalette("@{gold-6}", 8)`); +@gold-9: color(~`colorPalette("@{gold-6}", 9)`); +@gold-10: color(~`colorPalette("@{gold-6}", 10)`); + +// The prefix to use on all css classes from ant. +@ant-prefix : ant; + +// -------- Colors ----------- + +@info-color : @blue-6; +@success-color : @green-6; +@processing-color : @blue-6; +@error-color : @red-6; +@highlight-color : @red-6; +@warning-color : @gold-6; +@normal-color : #d9d9d9; + +// Color used by default to control hover and active backgrounds and for +// alert info backgrounds. +@primary-1: color(~`colorPalette("@{primary-color}", 1)`); // replace tint(@primary-color, 90%) +@primary-2: color(~`colorPalette("@{primary-color}", 2)`); // replace tint(@primary-color, 80%) +@primary-3: color(~`colorPalette("@{primary-color}", 3)`); // unused +@primary-4: color(~`colorPalette("@{primary-color}", 4)`); // unused +@primary-5: color(~`colorPalette("@{primary-color}", 5)`); // color used to control the text color in many active and hover states, replace tint(@primary-color, 20%) +@primary-6: @primary-color; // color used to control the text color of active buttons, don't use, use @primary-color +@primary-7: color(~`colorPalette("@{primary-color}", 7)`); // replace shade(@primary-color, 5%) +@primary-8: color(~`colorPalette("@{primary-color}", 8)`); // unused +@primary-9: color(~`colorPalette("@{primary-color}", 9)`); // unused +@primary-10: color(~`colorPalette("@{primary-color}", 10)`); // unused + +// Base Scaffolding Variables +// --- + +// Background color for `` +@body-background : #fff; +// Base background color for most components +@component-background : #fff; +@font-family : "Chinese Quote", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif, +"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; +@code-family : "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace; +@heading-color : fade(#000, 85%); +@text-color : fade(#000, 65%); +@text-color-secondary : fade(#000, 45%); +@heading-color-dark : fade(#fff, 100%); +@text-color-dark : fade(#fff, 85%); +@text-color-secondary-dark: fade(#fff, 65%); +@font-size-base : 14px; +@font-size-lg : @font-size-base + 2px; +@font-size-sm : 12px; +@line-height-base : 1.5; +@border-radius-base : 4px; +@border-radius-sm : 2px; + +// vertical paddings +@padding-lg : 24px; // containers +@padding-md : 16px; // small containers and buttons +@padding-sm : 12px; // Form controls and items +@padding-xs : 8px; // small items + +// vertical padding for all form controls +@control-padding-horizontal: @padding-sm; +@control-padding-horizontal-sm: @padding-xs; + +// The background colors for active and hover states for things like +// list items or table cells. +@item-active-bg : @primary-1; +@item-hover-bg : @primary-1; + +// ICONFONT +@iconfont-css-prefix : anticon; + +// LINK +@link-color : @primary-color; +@link-hover-color : color(~`colorPalette("@{link-color}", 5)`); +@link-active-color : color(~`colorPalette("@{link-color}", 7)`); +@link-decoration : none; +@link-hover-decoration : none; + +// Animation +@ease-base-out : cubic-bezier(0.7, 0.3, 0.1, 1); +@ease-base-in : cubic-bezier(0.9, 0, 0.3, 0.7); +@ease-out : cubic-bezier(0.215, 0.61, 0.355, 1); +@ease-in : cubic-bezier(0.55, 0.055, 0.675, 0.19); +@ease-in-out : cubic-bezier(0.645, 0.045, 0.355, 1); +@ease-out-back : cubic-bezier(0.12, 0.4, 0.29, 1.46); +@ease-in-back : cubic-bezier(0.71, -0.46, 0.88, 0.6); +@ease-in-out-back : cubic-bezier(0.71, -0.46, 0.29, 1.46); +@ease-out-circ : cubic-bezier(0.08, 0.82, 0.17, 1); +@ease-in-circ : cubic-bezier(0.6, 0.04, 0.98, 0.34); +@ease-in-out-circ : cubic-bezier(0.78, 0.14, 0.15, 0.86); +@ease-out-quint : cubic-bezier(0.23, 1, 0.32, 1); +@ease-in-quint : cubic-bezier(0.755, 0.05, 0.855, 0.06); +@ease-in-out-quint : cubic-bezier(0.86, 0, 0.07, 1); + +// Border color +@border-color-base : hsv(0, 0, 85%); // base border outline a component +@border-color-split : hsv(0, 0, 91%); // split border inside a component +@border-width-base : 1px; // width of the border for a component +@border-style-base : solid; // style of a components border + +// Outline +@outline-blur-size : 0; +@outline-width : 2px; +@outline-color : @primary-color; + +@background-color-light : hsv(0, 0, 98%); // background of header and selected item +@background-color-base : hsv(0, 0, 96%); // Default grey background color + +// Disabled states +@disabled-color : fade(#000, 25%); +@disabled-bg : @background-color-base; +@disabled-color-dark : fade(#fff, 35%); + +// Shadow +@shadow-color : rgba(0, 0, 0, .15); +@box-shadow-base : @shadow-1-down; +@shadow-1-up : 0 -2px 8px @shadow-color; +@shadow-1-down : 0 2px 8px @shadow-color; +@shadow-1-left : -2px 0 8px @shadow-color; +@shadow-1-right : 2px 0 8px @shadow-color; +@shadow-2 : 0 4px 12px @shadow-color; + +// Buttons +@btn-font-weight : 400; +@btn-border-radius-base : @border-radius-base; +@btn-border-radius-sm : @border-radius-base; + +@btn-primary-color : #fff; +@btn-primary-bg : @primary-color; + +@btn-default-color : @text-color; +@btn-default-bg : #fff; +@btn-default-border : @border-color-base; + +@btn-danger-color : @error-color; +@btn-danger-bg : @background-color-base; +@btn-danger-border : @border-color-base; + +@btn-disable-color : @disabled-color; +@btn-disable-bg : @disabled-bg; +@btn-disable-border : @border-color-base; + +@btn-padding-base : 0 @padding-md - 1px; +@btn-font-size-lg : @font-size-lg; +@btn-font-size-sm : @font-size-base; +@btn-padding-lg : @btn-padding-base; +@btn-padding-sm : 0 @padding-xs - 1px; + +@btn-height-base : 32px; +@btn-height-lg : 40px; +@btn-height-sm : 24px; + +@btn-circle-size : @btn-height-base; +@btn-circle-size-lg : @btn-height-lg; +@btn-circle-size-sm : @btn-height-sm; + +@btn-group-border : @primary-5; + +// Checkbox +@checkbox-size : 16px; +@checkbox-color : @primary-color; +@checkbox-check-color : #fff; + +// Radio +@radio-size : 16px; +@radio-dot-color : @primary-color; + +// Radio buttons +@radio-button-bg : @btn-default-bg; +@radio-button-color : @btn-default-color; +@radio-button-hover-color : @primary-5; +@radio-button-active-color : @primary-7; + +// Media queries breakpoints +// Extra small screen / phone +@screen-xs : 480px; +@screen-xs-min : @screen-xs; + +// Small screen / tablet +@screen-sm : 576px; +@screen-sm-min : @screen-sm; + +// Medium screen / desktop +@screen-md : 768px; +@screen-md-min : @screen-md; + +// Large screen / wide desktop +@screen-lg : 992px; +@screen-lg-min : @screen-lg; + +// Extra large screen / full hd +@screen-xl : 1200px; +@screen-xl-min : @screen-xl; + +// Extra extra large screen / large descktop +@screen-xxl : 1600px; +@screen-xxl-min : @screen-xxl; + +// provide a maximum +@screen-xs-max : (@screen-sm-min - 1px); +@screen-sm-max : (@screen-md-min - 1px); +@screen-md-max : (@screen-lg-min - 1px); +@screen-lg-max : (@screen-xl-min - 1px); +@screen-xl-max : (@screen-xxl-min - 1px); + +// Grid system +@grid-columns : 24; +@grid-gutter-width : 0; + +// Layout +@layout-body-background : #f0f2f5; +@layout-header-background : #001529; +@layout-footer-background : @layout-body-background; +@layout-header-height : 64px; +@layout-header-padding : 0 50px; +@layout-footer-padding : 24px 50px; +@layout-sider-background : @layout-header-background; +@layout-trigger-height : 48px; +@layout-trigger-background : #002140; +@layout-trigger-color : #fff; +@layout-zero-trigger-width : 36px; +@layout-zero-trigger-height : 42px; +// Layout light theme +@layout-sider-background-light : #fff; +@layout-trigger-background-light: #fff; +@layout-trigger-color-light : @text-color; + +// z-index list +@zindex-affix : 10; +@zindex-back-top : 10; +@zindex-modal-mask : 1000; +@zindex-modal : 1000; +@zindex-notification : 1010; +@zindex-message : 1010; +@zindex-popover : 1030; +@zindex-picker : 1050; +@zindex-dropdown : 1050; +@zindex-tooltip : 1060; + +// Animation +@animation-duration-slow: .3s; // Modal +@animation-duration-base: .2s; +@animation-duration-fast: .1s; // Tooltip + +// Form +// --- +@label-required-color : @highlight-color; +@label-color : @heading-color; +@form-item-margin-bottom : 24px; +@form-item-trailing-colon : true; +@form-vertical-label-padding : 0 0 8px; +@form-vertical-label-margin : 0; + +// Input +// --- +@input-height-base : 32px; +@input-height-lg : 40px; +@input-height-sm : 24px; +@input-padding-horizontal : @control-padding-horizontal - 1px; +@input-padding-horizontal-base: @input-padding-horizontal; +@input-padding-horizontal-sm : @control-padding-horizontal-sm - 1px; +@input-padding-horizontal-lg : @input-padding-horizontal; +@input-padding-vertical-base : 4px; +@input-padding-vertical-sm : 1px; +@input-padding-vertical-lg : 6px; +@input-placeholder-color : hsv(0, 0, 75%); +@input-color : @text-color; +@input-border-color : @border-color-base; +@input-bg : #fff; +@input-addon-bg : @background-color-light; +@input-hover-border-color : @primary-color; +@input-disabled-bg : @disabled-bg; +@input-outline-offset : 0 0; + +// Tooltip +// --- +//* Tooltip max width +@tooltip-max-width: 250px; +//** Tooltip text color +@tooltip-color: #fff; +//** Tooltip background color +@tooltip-bg: rgba(0, 0, 0, .75); +//** Tooltip arrow width +@tooltip-arrow-width: 5px; +//** Tooltip distance with trigger +@tooltip-distance: @tooltip-arrow-width - 1px + 4px; +//** Tooltip arrow color +@tooltip-arrow-color: @tooltip-bg; + +// Popover +// --- +//** Popover body background color +@popover-bg: #fff; +//** Popover text color +@popover-color: @text-color; +//** Popover maximum width +@popover-min-width: 177px; +//** Popover arrow width +@popover-arrow-width: 6px; +//** Popover arrow color +@popover-arrow-color: @popover-bg; +//** Popover outer arrow width +//** Popover outer arrow color +@popover-arrow-outer-color: @popover-bg; +//** Popover distance with trigger +@popover-distance: @popover-arrow-width + 4px; + +// Modal +// -- +@modal-mask-bg: rgba(0, 0, 0, 0.65); + +// Progress +// -- +@progress-default-color: @processing-color; +@progress-remaining-color: @background-color-base; +@progress-text-color: @text-color; + +// Menu +// --- +@menu-inline-toplevel-item-height: 40px; +@menu-item-height: 40px; +@menu-collapsed-width: 80px; +@menu-bg: @component-background; +@menu-item-color: @text-color; +@menu-highlight-color: @primary-color; +@menu-item-active-bg: @item-active-bg; +@menu-item-active-border-width: 3px; +@menu-item-group-title-color: @text-color-secondary; +// dark theme +@menu-dark-color: @text-color-secondary-dark; +@menu-dark-bg: @layout-header-background; +@menu-dark-arrow-color: #fff; +@menu-dark-submenu-bg: #000c17; +@menu-dark-highlight-color: #fff; +@menu-dark-item-active-bg: @primary-color; + +// Spin +// --- +@spin-dot-size-sm: 14px; +@spin-dot-size: 20px; +@spin-dot-size-lg: 32px; + +// Table +// -- +@table-header-bg: @background-color-light; +@table-header-color: @heading-color; +@table-header-sort-bg: @background-color-base; +@table-body-sort-bg: rgba(0, 0, 0, .01); +@table-row-hover-bg: @primary-1; +@table-selected-row-bg: #fafafa; +@table-expanded-row-bg: #fbfbfb; +@table-padding-vertical: 16px; +@table-padding-horizontal: 16px; + +// Tag +// -- +@tag-default-bg: @background-color-light; +@tag-default-color: @text-color; +@tag-font-size: @font-size-sm; + +// TimePicker +// --- +@time-picker-panel-column-width: 56px; +@time-picker-panel-width: @time-picker-panel-column-width * 3; +@time-picker-selected-bg: @background-color-base; + +// Carousel +// --- +@carousel-dot-width: 16px; +@carousel-dot-height: 3px; +@carousel-dot-active-width: 24px; + +// Badge +// --- +@badge-height: 20px; +@badge-dot-size: 6px; +@badge-font-size: @font-size-sm; +@badge-font-weight: normal; +@badge-status-size: 6px; + +// Rate +// --- +@rate-star-color: @yellow-6; +@rate-star-bg: @border-color-split; + +// Card +// --- +@card-head-color: @heading-color; +@card-head-background: transparent; +@card-head-padding: 16px; +@card-inner-head-padding: 12px; +@card-padding-base: 24px; +@card-padding-wider: 32px; +@card-actions-background: @background-color-light; +@card-shadow: 0 2px 8px rgba(0, 0, 0, .09); + +// Tabs +// --- +@tabs-card-head-background: @background-color-light; +@tabs-card-height: 40px; +@tabs-card-active-color: @primary-color; +@tabs-title-font-size: @font-size-base; +@tabs-title-font-size-lg: @font-size-lg; +@tabs-title-font-size-sm: @font-size-base; +@tabs-ink-bar-color: @primary-color; +@tabs-bar-margin: 0 0 16px 0; +@tabs-horizontal-margin: 0 32px 0 0; +@tabs-horizontal-padding: 12px 16px; +@tabs-vertical-padding: 8px 24px; +@tabs-vertical-margin: 0 0 16px 0; +@tabs-scrolling-size: 32px; +@tabs-highlight-color: @primary-color; +@tabs-hover-color: @primary-5; +@tabs-active-color: @primary-7; + +// BackTop +// --- +@back-top-color: #fff; +@back-top-bg: @text-color-secondary; +@back-top-hover-bg: @text-color; + +// Avatar +// --- +@avatar-size-base: 32px; +@avatar-size-lg: 40px; +@avatar-size-sm: 24px; +@avatar-font-size-base: 18px; +@avatar-font-size-lg: 24px; +@avatar-font-size-sm: 14px; +@avatar-bg: #ccc; +@avatar-color: #fff; +@avatar-border-radius: @border-radius-base; + +// Switch +// --- +@switch-height: 22px; +@switch-sm-height: 16px; +@switch-sm-checked-margin-left: -(@switch-sm-height - 3px); +@switch-disabled-opacity: 0.4; +@switch-color: @primary-color; + +// Pagination +// --- +@pagination-item-size: 32px; +@pagination-item-size-sm: 24px; +@pagination-font-family: Arial; +@pagination-font-weight-active: 500; + +// Breadcrumb +// --- +@breadcrumb-base-color: @text-color-secondary; +@breadcrumb-last-item-color: @text-color; +@breadcrumb-font-size: @font-size-base; +@breadcrumb-icon-font-size: @font-size-base; +@breadcrumb-link-color: @text-color-secondary; +@breadcrumb-link-color-hover: @primary-5; +@breadcrumb-separator-color: @text-color-secondary; +@breadcrumb-separator-margin: 0 @padding-xs; + +// Slider +// --- +@slider-margin: 14px 6px 10px; +@slider-rail-background-color: @background-color-base; +@slider-rail-background-color-hover: #e1e1e1; +@slider-track-background-color: @primary-3; +@slider-track-background-color-hover: @primary-4; +@slider-handle-color: @primary-3; +@slider-handle-color-hover: @primary-4; +@slider-handle-color-focus: tint(@primary-color, 20%); +@slider-handle-color-focus-shadow: tint(@primary-color, 50%); +@slider-handle-color-tooltip-open: @primary-color; +@slider-dot-border-color: @border-color-split; +@slider-dot-border-color-active: tint(@primary-color, 50%); +@slider-disabled-color: @disabled-color; +@slider-disabled-background-color: @component-background; + +// Tree +// --- +@tree-title-height: 24px; +@tree-child-padding: 18px; +@tree-directory-selected-color: #fff; +@tree-directory-selected-bg: @primary-color; + +// Collapse +// --- +@collapse-header-padding: 12px 0 12px 40px; +@collapse-header-bg: @background-color-light; +@collapse-content-padding: @padding-md; +@collapse-content-bg: @component-background; + +// Skeleton +// --- +@skeleton-color: #f2f2f2; + +// Transfer +// --- +@transfer-disabled-bg: @disabled-bg; + +// Message +// --- +@message-notice-content-padding: 10px 16px; + +// Motion +// --- +@wave-animation-width: 6px; + +// Alert +// --- +@alert-success-border-color: ~`colorPalette("@{success-color}", 3)`; +@alert-success-bg-color: ~`colorPalette("@{success-color}", 1)`; +@alert-success-icon-color: @success-color; +@alert-info-border-color: ~`colorPalette("@{info-color}", 3)`; +@alert-info-bg-color: ~`colorPalette("@{info-color}", 1)`; +@alert-info-icon-color: @info-color; +@alert-warning-border-color: ~`colorPalette("@{warning-color}", 3)`; +@alert-warning-bg-color: ~`colorPalette("@{warning-color}", 1)`; +@alert-warning-icon-color: @warning-color; +@alert-error-border-color: ~`colorPalette("@{error-color}", 3)`; +@alert-error-bg-color: ~`colorPalette("@{error-color}", 1)`; +@alert-error-icon-color: @error-color; + +// List +// --- +@list-empty-text-padding: @padding-md; +@list-item-padding: @padding-sm 0; +@list-item-content-margin: 0 0 @padding-md 0; +@list-item-meta-margin-bottom: @padding-md; +@list-item-meta-avatar-margin-right: @padding-md; +@list-item-meta-title-margin-bottom: @padding-sm; + +// Menu +@menu-dark-item-selected-bg: @menu-dark-item-active-bg; + +// Tabs +@tab-bar-margin: @tabs-bar-margin; +@tab-horizontal-margin: @tabs-horizontal-margin; +@tab-vertical-margin: @tabs-vertical-margin; +@tab-horizontal-padding: @tabs-horizontal-padding; +@tab-vertical-padding: @tabs-vertical-padding; +@tab-scrolling-size: @tabs-scrolling-size; +@tab-highlight-color: @tabs-highlight-color; +@tab-hover-color: @tabs-hover-color; +@tab-active-color: @tabs-active-color; +@tabs-ink-bar-bg-color: @tabs-ink-bar-color; + +.listContent .extra { + color: rgba(0, 0, 0, 0.45); +} +.listContent .extra > em { + color: rgba(0, 0, 0, 0.25); +} +.avatarItem :global .ant-avatar { + border: 1px solid #fff; +} +.chartCard .avatar img { + border-radius: 100%; +} +.chartCard .meta { + color: rgba(0, 0, 0, 0.45); +} +.chartCard .total { + color: rgba(0, 0, 0, 0.85); +} +.chartCard .footer { + border-top: 1px solid #e8e8e8; +} +.field span:last-child { + color: rgba(0, 0, 0, 0.85); +} +.miniProgress .progressWrap { + background-color: #f5f5f5; +} +.miniProgress .progress { + border-radius: 1px 0 0 1px; + background-color: @primary-color; +} +.miniProgress .target span { + border-radius: 100px; +} +.pie .dot { + border-radius: 8px; +} +.pie .line { + background-color: #e8e8e8; +} +.pie .legendTitle { + color: rgba(0, 0, 0, 0.65); +} +.pie .percent { + color: rgba(0, 0, 0, 0.45); +} +.pie .total > h4 { + color: rgba(0, 0, 0, 0.45); +} +.pie .total > p { + color: rgba(0, 0, 0, 0.85); +} +.radar .legend .legendItem { + color: rgba(0, 0, 0, 0.45); +} +.radar .legend .legendItem h6 { + color: rgba(0, 0, 0, 0.85); +} +.radar .legend .legendItem:after { + background-color: #e8e8e8; +} +.radar .legend .dot { + border-radius: 6px; +} + +.timelineChart { + background: #fff; +} +.waterWave .text span { + color: rgba(0, 0, 0, 0.45); +} +.waterWave .text h4 { + color: rgba(0, 0, 0, 0.85); +} +.descriptionList .title { + color: rgba(0, 0, 0, 0.85); +} +.descriptionList .term { + color: rgba(0, 0, 0, 0.85); +} +.descriptionList .detail { + color: rgba(0, 0, 0, 0.65); +} +.descriptionList.small .title { + color: rgba(0, 0, 0, 0.65); +} +.linkGroup > a { + color: rgba(0, 0, 0, 0.65); +} +.linkGroup > a:hover { + color: @primary-color; +} +.lines .shadow { + color: transparent; +} +.exception .imgEle { + background-repeat: no-repeat; + background-position: 50% 50%; + background-size: contain; +} +.exception .content h1 { + color: #434e59; +} +.exception .content .desc { + color: rgba(0, 0, 0, 0.45); +} +.toolbar { + box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.03); + background: #fff; + border-top: 1px solid #e8e8e8; +} +.globalFooter .links a { + color: rgba(0, 0, 0, 0.45); +} +.globalFooter .links a:hover { + color: rgba(0, 0, 0, 0.65); +} +.globalFooter .copyright { + color: rgba(0, 0, 0, 0.45); +} +.layout .header { + background-color: @primary-color !important; +} +i.trigger:hover { + background: rgba(0, 0, 0, 0.025); +} +.right .action > i { + color: rgba(0, 0, 0, 0.65); +} +.right .action:hover { + background: rgba(0, 0, 0, 0.025); +} +:global(.right .action.ant-popover-open) { + background: rgba(0, 0, 0, 0.025); +} +.right .search:hover { + background: transparent; +} +.right .account .avatar { + color: @primary-color; + background: rgba(255, 255, 255, 0.85); +} +.dark .action { + color: rgba(255, 255, 255, 0.85); +} +.dark .action > i { + color: rgba(255, 255, 255, 0.85); +} +.dark .action:hover, +.dark .action:global(.ant-popover-open) { + background: @primary-color; +} +.dark .action :global(.ant-badge) { + color: rgba(255, 255, 255, 0.85); +} +.headerSearch .input { + background: transparent; + border-radius: 0; +} +.headerSearch .input :global(.ant-select-selection) { + background: transparent; +} +.headerSearch .input input { + border: 0; + box-shadow: none !important; +} +.headerSearch .input, +.headerSearch .input:hover, +.headerSearch .input:focus { + border-bottom: 1px solid #d9d9d9; +} +.login :global .ant-tabs .ant-tabs-bar { + border-bottom: 0; +} +.login .icon { + color: rgba(0, 0, 0, 0.2); +} +.login .icon:hover { + color: @primary-color; +} +.login .prefixIcon { + color: rgba(0, 0, 0, 0.25); +} +.list .item .avatar { + background: #fff; +} +.list .item:last-child { + border-bottom: 0; +} +.list .item:hover { + background: color(~`colorPalette("@{primary-color}", 1)`); +} +.list .item .extra { + color: rgba(0, 0, 0, 0.45); +} +.notFound { + color: rgba(0, 0, 0, 0.45); +} +.clear { + color: rgba(0, 0, 0, 0.65); + border-radius: 0 0 4px 4px; + border-top: 1px solid #e8e8e8; +} +.clear:hover { + color: rgba(0, 0, 0, 0.85); +} +.numberInfo .suffix { + color: rgba(0, 0, 0, 0.65); +} +.numberInfo .numberInfoTitle { + color: rgba(0, 0, 0, 0.65); +} +.numberInfo .numberInfoSubTitle { + color: rgba(0, 0, 0, 0.45); +} +.numberInfo .numberInfoValue > span { + color: rgba(0, 0, 0, 0.85); +} +.numberInfo .numberInfoValue .subTotal { + color: rgba(0, 0, 0, 0.45); +} +.numberInfo .numberInfoValue .subTotal :global .anticon-caret-up { + color: #f5222d; +} +.numberInfo .numberInfoValue .subTotal :global .anticon-caret-down { + color: #52c41a; +} +.numberInfolight .numberInfoValue > span { + color: rgba(0, 0, 0, 0.65); +} +.pageHeader { + background: #fff; + border-bottom: 1px solid #e8e8e8; +} +.pageHeader .tabs :global .ant-tabs-bar { + border-bottom: 1px solid #e8e8e8; +} +.pageHeader .logo > img { + border-radius: 4px; +} +.pageHeader .title { + color: rgba(0, 0, 0, 0.85); +} +.result .icon > .success { + color: #52c41a; +} +.result .icon > .error { + color: #f5222d; +} +.result .title { + color: rgba(0, 0, 0, 0.85); +} +.result .description { + color: rgba(0, 0, 0, 0.45); +} +.result .extra { + background: #fafafa; + border-radius: 2px; +} +.blockChecbox .item { + border-radius: 4px; +} +.blockChecbox .selectIcon { + color: @primary-color; +} +.color_block { + border-radius: 4px; +} +.title { + color: rgba(0, 0, 0, 0.85); +} +.handle { + background: @primary-color; + border-radius: 4px 0 0 4px; +} +.setting-drawer-index-handle { + /* 暂时不知道放哪解决 */ + background: @primary-color !important; +} +.themeColor .title { + color: rgba(0, 0, 0, 0.65); +} +.themeColor .colorBlock { + border-radius: 2px; + color: #fff; +} +.logo h1 { + color: white; +} +.sider { + box-shadow: 2px 116px 6px rgba(0, 21, 41, 0.35); +} +.sider.light { + box-shadow: 2px 116px 8px 0 rgba(29, 35, 41, 0.05); + background-color: white; +} +.sider.light .logo { + background-color: @primary-color !important; + box-shadow: 1px 1px 0 0 #e8e8e8; +} +.sider.light .logo h1 { + color: white; +} +.sider.light :global(.ant-menu-light) { + border-right-color: transparent; +} +:global .drawer .drawer-content { + background: #001529; +} +.standardFormRow { + border-bottom: 1px dashed #e8e8e8; +} +.standardFormRow :global .ant-form-item-label label { + color: rgba(0, 0, 0, 0.65); +} +.standardFormRow .label { + color: rgba(0, 0, 0, 0.85); +} +.standardFormRowLast { + border: none; +} + +.head { + box-shadow: 0 1px 4px rgba(0, 21, 41, 0.08); +} +.head.light { + background-color: #fff; +} +.logo h1 { + color: #fff; +} +.light h1 { + color: #002140; +} +.trendItem .up { + color: #f5222d; +} +.trendItem .down { + color: #52c41a; +} +.trendItem.trendItemGrey .up, +.trendItem.trendItemGrey .down { + color: rgba(0, 0, 0, 0.65); +} +.trendItem.reverseColor .up { + color: #52c41a; +} +.trendItem.reverseColor .down { + color: #f5222d; +} +.container { + background: #f0f2f5; +} +.title { + color: rgba(0, 0, 0, 0.85); +} +.desc { + color: rgba(0, 0, 0, 0.45); +} +a.listItemMetaTitle { + color: rgba(0, 0, 0, 0.85); +} +.baseView .right .avatar_title { + color: rgba(0, 0, 0, 0.85); +} +.main { + //update-begin---author:liusq Date:20210108 for:[JT-409]编译主题色,然后退出登录后的首页是这样子------------ + //background-color: #fff; + //update-end---author:liusq Date:20210108 for:[JT-409]编译主题色,然后退出登录后的首页是这样子------------ +} +.main .leftmenu { + border-right: 1px solid #e8e8e8; +} +.main .leftmenu :global .ant-menu-inline { + border: none; +} +.main .right .title { + color: rgba(0, 0, 0, 0.85); +} +.main :global .ant-list-split .ant-list-item:last-child { + border-bottom: 1px solid #e8e8e8; +} +:global .ant-list-item-meta .taobao { + color: #ff4000; + border-radius: 4px; +} +:global .ant-list-item-meta .dingding { + background-color: #2eabff; + color: #fff; + border-radius: 4px; +} +:global .ant-list-item-meta .alipay { + color: #2eabff; + border-radius: 4px; +} +:global font.strong { + color: #52c41a; +} +:global font.medium { + color: #faad14; +} +:global font.weak { + color: #f5222d; +} + + + + +.trigger { + background: 'red'; +} +.desc { + color: rgba(0, 0, 0, 0.45); +} +.desc h3 { + color: rgba(0, 0, 0, 0.45); +} +.desc h4 { + color: rgba(0, 0, 0, 0.45); +} +.information .label { + color: rgba(0, 0, 0, 0.85); +} +.errorIcon { + color: #f5222d; +} +.errorListItem { + border-bottom: 1px solid #e8e8e8; +} +.errorListItem:hover { + background: color(~`colorPalette("@{primary-color}", 1)`); +} +.errorListItem:last-child { + border: 0; +} +.errorListItem .errorIcon { + color: #f5222d; +} +.errorListItem .errorField { + color: rgba(0, 0, 0, 0.45); +} +.optional { + color: rgba(0, 0, 0, 0.45); +} +a.listItemMetaTitle { + color: rgba(0, 0, 0, 0.85); +} +.noData { + color: rgba(0, 0, 0, 0.25); +} +.heading { + color: rgba(0, 0, 0, 0.85); +} +.textSecondary { + color: rgba(0, 0, 0, 0.45); +} +.title { + color: rgba(0, 0, 0, 0.85); +} +.main .icon { + color: rgba(0, 0, 0, 0.2); +} +.main .icon:hover { + color: @primary-color; +} +.success { + color: #52c41a; +} +.warning { + color: #faad14; +} +.error { + color: #f5222d; +} +.progress-pass > .progress :global .ant-progress-bg { + background-color: #faad14; +} +html { + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} +body { + color: rgba(0, 0, 0, 0.65); + background-color: #fff; +} +h1, +h2, +h3, +h4, +h5, +h6 { + color: rgba(0, 0, 0, 0.85); +} +abbr[title], +abbr[data-original-title] { + border-bottom: 0; +} +a { + color: @primary-color; + background-color: transparent; +} +a:hover { + color: color(~`colorPalette("@{primary-color}", 5)`); +} +a:active { + color: color(~`colorPalette("@{primary-color}", 7)`); +} +a[disabled] { + color: rgba(0, 0, 0, 0.25); +} +img { + border-style: none; +} +table { + border-collapse: collapse; +} +caption { + color: rgba(0, 0, 0, 0.45); +} +input, +button, +select, +optgroup, +textarea { + color: inherit; +} +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + border-style: none; +} +fieldset { + border: 0; +} +legend { + color: inherit; +} +mark { + background-color: #feffe6; +} +::selection { + background: @primary-color; + color: #fff; +} +[ant-click-animating-without-extra-node]:after, +.ant-click-animating-node { + border-radius: inherit; + border: 0 solid @primary-color; +} +.ant-alert { + color: rgba(0, 0, 0, 0.65); + border-radius: 4px; +} +.ant-alert-success { + border: 1px solid #b7eb8f; + background-color: #f6ffed; +} +.ant-alert-success .ant-alert-icon { + color: #52c41a; +} +.ant-alert-info { + border: 1px solid color(~`colorPalette("@{primary-color}", 3)`); + background-color: color(~`colorPalette("@{primary-color}", 1)`); +} +.ant-alert-info .ant-alert-icon { + color: @primary-color; +} +.ant-alert-warning { + border: 1px solid #ffe58f; + background-color: #fffbe6; +} +.ant-alert-warning .ant-alert-icon { + color: #faad14; +} +.ant-alert-error { + border: 1px solid #ffa39e; + background-color: #fff1f0; +} +.ant-alert-error .ant-alert-icon { + color: #f5222d; +} +.ant-alert-close-icon .anticon-close { + color: rgba(0, 0, 0, 0.45); +} +.ant-alert-close-icon .anticon-close:hover { + color: #404040; +} +.ant-alert-with-description { + border-radius: 4px; + color: rgba(0, 0, 0, 0.65); +} +.ant-alert-with-description .ant-alert-message { + color: rgba(0, 0, 0, 0.85); +} +.ant-alert-banner { + border-radius: 0; + border: 0; +} +.ant-anchor { + color: rgba(0, 0, 0, 0.65); +} +.ant-anchor-wrapper { + background-color: #fff; +} +.ant-anchor-ink:before { + background-color: #e8e8e8; +} +.ant-anchor-ink-ball { + border-radius: 8px; + border: 2px solid @primary-color; + background-color: #fff; +} +.ant-anchor-link-title { + color: rgba(0, 0, 0, 0.65); +} +.ant-anchor-link-active > .ant-anchor-link-title { + color: @primary-color; +} +.ant-select-auto-complete { + color: rgba(0, 0, 0, 0.65); +} +.ant-select-auto-complete.ant-select .ant-select-selection { + border: 0; + box-shadow: none; +} +.ant-select-auto-complete.ant-select .ant-input { + background: transparent; + border-width: 1px; +} +.ant-select-auto-complete.ant-select .ant-input:focus, +.ant-select-auto-complete.ant-select .ant-input:hover { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + border-right-width: 1px !important; +} +.ant-avatar { + color: rgba(0, 0, 0, 0.65); + background: #ccc; + color: #fff; + border-radius: 50%; +} +.ant-avatar-image { + background: transparent; +} +.ant-avatar-lg { + border-radius: 50%; +} +.ant-avatar-sm { + border-radius: 50%; +} +.ant-avatar-square { + border-radius: 4px; +} +.ant-back-top { + color: rgba(0, 0, 0, 0.65); +} +.ant-back-top-content { + border-radius: 20px; + background-color: rgba(0, 0, 0, 0.45); + color: #fff; +} +.ant-back-top-content:hover { + background-color: rgba(0, 0, 0, 0.65); +} +.ant-back-top-icon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAoCAYAAACWwljjAAAABGdBTUEAALGPC/xhBQAAAbtJREFUWAntmMtKw0AUhhMvS5cuxILgQlRUpIggIoKIIoigG1eC+AA+jo+i6FIXBfeuXIgoeKVeitVWJX5HWhhDksnUpp3FDPyZk3Nm5nycmZKkXhAEOXSA3lG7muTeRzmfy6HneUvIhnYkQK+Q9NhAA0Opg0vBEhjBKHiyb8iGMyQMOYuK41BcBSypAL+MYXSKjtFAW7EAGEO3qN4uMQbbAkXiSfRQJ1H6a+yhlkKRcAoVFYiweYNjtCVQJJpBz2GCiPt7fBOZQpFgDpUikse5HgnkM4Fi4QX0Fpc5wf9EbLqpUCy4jMoJSXWhFwbMNgWKhVbRhy5jirhs9fy/oFhgHVVTJEs7RLZ8sSEoJm6iz7SZDMbJ+/OKERQTttCXQRLToRUmrKWCYuA2+jbN0MB4OQobYShfdTCgn/sL1K36M7TLrN3n+758aPy2rrpR6+/od5E8tf/A1uLS9aId5T7J3CNYihkQ4D9PiMdMC7mp4rjB9kjFjZp8BlnVHJBuO1yFXIV0FdDF3RlyFdJVQBdv5AxVdIsq8apiZ2PyYO1EVykesGfZEESsCkweyR8MUW+V8uJ1gkYipmpdP1pm2aJVPEGzAAAAAElFTkSuQmCC) 100%/100% no-repeat; +} +.ant-badge { + color: rgba(0, 0, 0, 0.65); + color: unset; +} +.ant-badge-count { + border-radius: 10px; + background: #f5222d; + color: #fff; + box-shadow: 0 0 0 1px #fff; +} +.ant-badge-count a, +.ant-badge-count a:hover { + color: #fff; +} +.ant-badge-dot { + border-radius: 100%; + background: #f5222d; + box-shadow: 0 0 0 1px #fff; +} +.ant-badge-status-dot { + border-radius: 50%; +} +.ant-badge-status-success { + background-color: #52c41a; +} +.ant-badge-status-processing { + background-color: @primary-color; +} +.ant-badge-status-processing:after { + border-radius: 50%; + border: 1px solid @primary-color; +} +.ant-badge-status-default { + background-color: #d9d9d9; +} +.ant-badge-status-error { + background-color: #f5222d; +} +.ant-badge-status-warning { + background-color: #faad14; +} +.ant-badge-status-text { + color: rgba(0, 0, 0, 0.65); +} +.ant-breadcrumb { + color: rgba(0, 0, 0, 0.65); + color: rgba(0, 0, 0, 0.45); +} +.ant-breadcrumb a { + color: rgba(0, 0, 0, 0.45); +} +.ant-breadcrumb a:hover { + color: color(~`colorPalette("@{primary-color}", 5)`); +} +.ant-breadcrumb > span:last-child { + color: rgba(0, 0, 0, 0.65); +} +.ant-breadcrumb-separator { + color: rgba(0, 0, 0, 0.45); +} +.ant-btn { + background-image: none; + border: 1px solid transparent; + border-radius: 4px; + box-shadow: 0 2px 0 rgba(0, 0, 0, 0.015); + color: rgba(0, 0, 0, 0.65); + background-color: #fff; + border-color: #d9d9d9; +} +.ant-btn:not([disabled]):active { + box-shadow: none; +} +.ant-btn-lg { + border-radius: 4px; +} +.ant-btn-sm { + border-radius: 4px; +} +.ant-btn > a:only-child { + color: currentColor; +} +.ant-btn > a:only-child:after { + background: transparent; +} +.ant-btn:hover, +.ant-btn:focus { + color: color(~`colorPalette("@{primary-color}", 5)`); + background-color: #fff; + border-color: color(~`colorPalette("@{primary-color}", 5)`); +} +.ant-btn:hover > a:only-child, +.ant-btn:focus > a:only-child { + color: currentColor; +} +.ant-btn:hover > a:only-child:after, +.ant-btn:focus > a:only-child:after { + background: transparent; +} +.ant-btn:active, +.ant-btn.active { + color: color(~`colorPalette("@{primary-color}", 7)`); + background-color: #fff; + border-color: color(~`colorPalette("@{primary-color}", 7)`); +} +.ant-btn:active > a:only-child, +.ant-btn.active > a:only-child { + color: currentColor; +} +.ant-btn:active > a:only-child:after, +.ant-btn.active > a:only-child:after { + background: transparent; +} +.ant-btn.disabled, +.ant-btn[disabled], +.ant-btn.disabled:hover, +.ant-btn[disabled]:hover, +.ant-btn.disabled:focus, +.ant-btn[disabled]:focus, +.ant-btn.disabled:active, +.ant-btn[disabled]:active, +.ant-btn.disabled.active, +.ant-btn[disabled].active { + color: rgba(0, 0, 0, 0.25); + background-color: #f5f5f5; + border-color: #d9d9d9; + box-shadow: none; +} +.ant-btn.disabled > a:only-child, +.ant-btn[disabled] > a:only-child, +.ant-btn.disabled:hover > a:only-child, +.ant-btn[disabled]:hover > a:only-child, +.ant-btn.disabled:focus > a:only-child, +.ant-btn[disabled]:focus > a:only-child, +.ant-btn.disabled:active > a:only-child, +.ant-btn[disabled]:active > a:only-child, +.ant-btn.disabled.active > a:only-child, +.ant-btn[disabled].active > a:only-child { + color: currentColor; +} +.ant-btn.disabled > a:only-child:after, +.ant-btn[disabled] > a:only-child:after, +.ant-btn.disabled:hover > a:only-child:after, +.ant-btn[disabled]:hover > a:only-child:after, +.ant-btn.disabled:focus > a:only-child:after, +.ant-btn[disabled]:focus > a:only-child:after, +.ant-btn.disabled:active > a:only-child:after, +.ant-btn[disabled]:active > a:only-child:after, +.ant-btn.disabled.active > a:only-child:after, +.ant-btn[disabled].active > a:only-child:after { + background: transparent; +} +.ant-btn:hover, +.ant-btn:focus, +.ant-btn:active, +.ant-btn.active { + background: #fff; +} +.ant-btn-primary { + color: #fff; + background-color: @primary-color; + border-color: @primary-color; + box-shadow: 0 2px 0 rgba(0, 0, 0, 0.035); +} +.ant-btn-primary > a:only-child { + color: currentColor; +} +.ant-btn-primary > a:only-child:after { + background: transparent; +} +.ant-btn-primary:hover, +.ant-btn-primary:focus { + color: #fff; + background-color: color(~`colorPalette("@{primary-color}", 5)`); + border-color: color(~`colorPalette("@{primary-color}", 5)`); +} +.ant-btn-primary:hover > a:only-child, +.ant-btn-primary:focus > a:only-child { + color: currentColor; +} +.ant-btn-primary:hover > a:only-child:after, +.ant-btn-primary:focus > a:only-child:after { + background: transparent; +} +.ant-btn-primary:active, +.ant-btn-primary.active { + color: #fff; + background-color: color(~`colorPalette("@{primary-color}", 7)`); + border-color: color(~`colorPalette("@{primary-color}", 7)`); +} +.ant-btn-primary:active > a:only-child, +.ant-btn-primary.active > a:only-child { + color: currentColor; +} +.ant-btn-primary:active > a:only-child:after, +.ant-btn-primary.active > a:only-child:after { + background: transparent; +} +.ant-btn-primary.disabled, +.ant-btn-primary[disabled], +.ant-btn-primary.disabled:hover, +.ant-btn-primary[disabled]:hover, +.ant-btn-primary.disabled:focus, +.ant-btn-primary[disabled]:focus, +.ant-btn-primary.disabled:active, +.ant-btn-primary[disabled]:active, +.ant-btn-primary.disabled.active, +.ant-btn-primary[disabled].active { + color: rgba(0, 0, 0, 0.25); + background-color: #f5f5f5; + border-color: #d9d9d9; + box-shadow: none; +} +.ant-btn-primary.disabled > a:only-child, +.ant-btn-primary[disabled] > a:only-child, +.ant-btn-primary.disabled:hover > a:only-child, +.ant-btn-primary[disabled]:hover > a:only-child, +.ant-btn-primary.disabled:focus > a:only-child, +.ant-btn-primary[disabled]:focus > a:only-child, +.ant-btn-primary.disabled:active > a:only-child, +.ant-btn-primary[disabled]:active > a:only-child, +.ant-btn-primary.disabled.active > a:only-child, +.ant-btn-primary[disabled].active > a:only-child { + color: currentColor; +} +.ant-btn-primary.disabled > a:only-child:after, +.ant-btn-primary[disabled] > a:only-child:after, +.ant-btn-primary.disabled:hover > a:only-child:after, +.ant-btn-primary[disabled]:hover > a:only-child:after, +.ant-btn-primary.disabled:focus > a:only-child:after, +.ant-btn-primary[disabled]:focus > a:only-child:after, +.ant-btn-primary.disabled:active > a:only-child:after, +.ant-btn-primary[disabled]:active > a:only-child:after, +.ant-btn-primary.disabled.active > a:only-child:after, +.ant-btn-primary[disabled].active > a:only-child:after { + background: transparent; +} +.ant-btn-group .ant-btn-primary:not(:first-child):not(:last-child) { + border-right-color: color(~`colorPalette("@{primary-color}", 5)`); + border-left-color: color(~`colorPalette("@{primary-color}", 5)`); +} +.ant-btn-group .ant-btn-primary:not(:first-child):not(:last-child):disabled { + border-color: #d9d9d9; +} +.ant-btn-group .ant-btn-primary:first-child:not(:last-child) { + border-right-color: color(~`colorPalette("@{primary-color}", 5)`); +} +.ant-btn-group .ant-btn-primary:first-child:not(:last-child)[disabled] { + border-right-color: #d9d9d9; +} +.ant-btn-group .ant-btn-primary:last-child:not(:first-child), +.ant-btn-group .ant-btn-primary + .ant-btn-primary { + border-left-color: color(~`colorPalette("@{primary-color}", 5)`); +} +.ant-btn-group .ant-btn-primary:last-child:not(:first-child)[disabled], +.ant-btn-group .ant-btn-primary + .ant-btn-primary[disabled] { + border-left-color: #d9d9d9; +} +.ant-btn-ghost { + color: rgba(0, 0, 0, 0.65); + background-color: transparent; + border-color: #d9d9d9; +} +.ant-btn-ghost > a:only-child { + color: currentColor; +} +.ant-btn-ghost > a:only-child:after { + background: transparent; +} +.ant-btn-ghost:hover, +.ant-btn-ghost:focus { + color: color(~`colorPalette("@{primary-color}", 5)`); + background-color: transparent; + border-color: color(~`colorPalette("@{primary-color}", 5)`); +} +.ant-btn-ghost:hover > a:only-child, +.ant-btn-ghost:focus > a:only-child { + color: currentColor; +} +.ant-btn-ghost:hover > a:only-child:after, +.ant-btn-ghost:focus > a:only-child:after { + background: transparent; +} +.ant-btn-ghost:active, +.ant-btn-ghost.active { + color: color(~`colorPalette("@{primary-color}", 7)`); + background-color: transparent; + border-color: color(~`colorPalette("@{primary-color}", 7)`); +} +.ant-btn-ghost:active > a:only-child, +.ant-btn-ghost.active > a:only-child { + color: currentColor; +} +.ant-btn-ghost:active > a:only-child:after, +.ant-btn-ghost.active > a:only-child:after { + background: transparent; +} +.ant-btn-ghost.disabled, +.ant-btn-ghost[disabled], +.ant-btn-ghost.disabled:hover, +.ant-btn-ghost[disabled]:hover, +.ant-btn-ghost.disabled:focus, +.ant-btn-ghost[disabled]:focus, +.ant-btn-ghost.disabled:active, +.ant-btn-ghost[disabled]:active, +.ant-btn-ghost.disabled.active, +.ant-btn-ghost[disabled].active { + color: rgba(0, 0, 0, 0.25); + background-color: #f5f5f5; + border-color: #d9d9d9; + box-shadow: none; +} +.ant-btn-ghost.disabled > a:only-child, +.ant-btn-ghost[disabled] > a:only-child, +.ant-btn-ghost.disabled:hover > a:only-child, +.ant-btn-ghost[disabled]:hover > a:only-child, +.ant-btn-ghost.disabled:focus > a:only-child, +.ant-btn-ghost[disabled]:focus > a:only-child, +.ant-btn-ghost.disabled:active > a:only-child, +.ant-btn-ghost[disabled]:active > a:only-child, +.ant-btn-ghost.disabled.active > a:only-child, +.ant-btn-ghost[disabled].active > a:only-child { + color: currentColor; +} +.ant-btn-ghost.disabled > a:only-child:after, +.ant-btn-ghost[disabled] > a:only-child:after, +.ant-btn-ghost.disabled:hover > a:only-child:after, +.ant-btn-ghost[disabled]:hover > a:only-child:after, +.ant-btn-ghost.disabled:focus > a:only-child:after, +.ant-btn-ghost[disabled]:focus > a:only-child:after, +.ant-btn-ghost.disabled:active > a:only-child:after, +.ant-btn-ghost[disabled]:active > a:only-child:after, +.ant-btn-ghost.disabled.active > a:only-child:after, +.ant-btn-ghost[disabled].active > a:only-child:after { + background: transparent; +} +.ant-btn-dashed { + color: rgba(0, 0, 0, 0.65); + background-color: #fff; + border-color: #d9d9d9; + border-style: dashed; +} +.ant-btn-dashed > a:only-child { + color: currentColor; +} +.ant-btn-dashed > a:only-child:after { + background: transparent; +} +.ant-btn-dashed:hover, +.ant-btn-dashed:focus { + color: color(~`colorPalette("@{primary-color}", 5)`); + background-color: #fff; + border-color: color(~`colorPalette("@{primary-color}", 5)`); +} +.ant-btn-dashed:hover > a:only-child, +.ant-btn-dashed:focus > a:only-child { + color: currentColor; +} +.ant-btn-dashed:hover > a:only-child:after, +.ant-btn-dashed:focus > a:only-child:after { + background: transparent; +} +.ant-btn-dashed:active, +.ant-btn-dashed.active { + color: color(~`colorPalette("@{primary-color}", 7)`); + background-color: #fff; + border-color: color(~`colorPalette("@{primary-color}", 7)`); +} +.ant-btn-dashed:active > a:only-child, +.ant-btn-dashed.active > a:only-child { + color: currentColor; +} +.ant-btn-dashed:active > a:only-child:after, +.ant-btn-dashed.active > a:only-child:after { + background: transparent; +} +.ant-btn-dashed.disabled, +.ant-btn-dashed[disabled], +.ant-btn-dashed.disabled:hover, +.ant-btn-dashed[disabled]:hover, +.ant-btn-dashed.disabled:focus, +.ant-btn-dashed[disabled]:focus, +.ant-btn-dashed.disabled:active, +.ant-btn-dashed[disabled]:active, +.ant-btn-dashed.disabled.active, +.ant-btn-dashed[disabled].active { + color: rgba(0, 0, 0, 0.25); + background-color: #f5f5f5; + border-color: #d9d9d9; + box-shadow: none; +} +.ant-btn-dashed.disabled > a:only-child, +.ant-btn-dashed[disabled] > a:only-child, +.ant-btn-dashed.disabled:hover > a:only-child, +.ant-btn-dashed[disabled]:hover > a:only-child, +.ant-btn-dashed.disabled:focus > a:only-child, +.ant-btn-dashed[disabled]:focus > a:only-child, +.ant-btn-dashed.disabled:active > a:only-child, +.ant-btn-dashed[disabled]:active > a:only-child, +.ant-btn-dashed.disabled.active > a:only-child, +.ant-btn-dashed[disabled].active > a:only-child { + color: currentColor; +} +.ant-btn-dashed.disabled > a:only-child:after, +.ant-btn-dashed[disabled] > a:only-child:after, +.ant-btn-dashed.disabled:hover > a:only-child:after, +.ant-btn-dashed[disabled]:hover > a:only-child:after, +.ant-btn-dashed.disabled:focus > a:only-child:after, +.ant-btn-dashed[disabled]:focus > a:only-child:after, +.ant-btn-dashed.disabled:active > a:only-child:after, +.ant-btn-dashed[disabled]:active > a:only-child:after, +.ant-btn-dashed.disabled.active > a:only-child:after, +.ant-btn-dashed[disabled].active > a:only-child:after { + background: transparent; +} +.ant-btn-danger { + color: #f5222d; + background-color: #f5f5f5; + border-color: #d9d9d9; +} +.ant-btn-danger > a:only-child { + color: currentColor; +} +.ant-btn-danger > a:only-child:after { + background: transparent; +} +.ant-btn-danger:hover { + color: #fff; + background-color: #ff4d4f; + border-color: #ff4d4f; +} +.ant-btn-danger:hover > a:only-child { + color: currentColor; +} +.ant-btn-danger:hover > a:only-child:after { + background: transparent; +} +.ant-btn-danger:focus { + color: #ff4d4f; + background-color: #fff; + border-color: #ff4d4f; +} +.ant-btn-danger:focus > a:only-child { + color: currentColor; +} +.ant-btn-danger:focus > a:only-child:after { + background: transparent; +} +.ant-btn-danger:active, +.ant-btn-danger.active { + color: #fff; + background-color: #cf1322; + border-color: #cf1322; +} +.ant-btn-danger:active > a:only-child, +.ant-btn-danger.active > a:only-child { + color: currentColor; +} +.ant-btn-danger:active > a:only-child:after, +.ant-btn-danger.active > a:only-child:after { + background: transparent; +} +.ant-btn-danger.disabled, +.ant-btn-danger[disabled], +.ant-btn-danger.disabled:hover, +.ant-btn-danger[disabled]:hover, +.ant-btn-danger.disabled:focus, +.ant-btn-danger[disabled]:focus, +.ant-btn-danger.disabled:active, +.ant-btn-danger[disabled]:active, +.ant-btn-danger.disabled.active, +.ant-btn-danger[disabled].active { + color: rgba(0, 0, 0, 0.25); + background-color: #f5f5f5; + border-color: #d9d9d9; + box-shadow: none; +} +.ant-btn-danger.disabled > a:only-child, +.ant-btn-danger[disabled] > a:only-child, +.ant-btn-danger.disabled:hover > a:only-child, +.ant-btn-danger[disabled]:hover > a:only-child, +.ant-btn-danger.disabled:focus > a:only-child, +.ant-btn-danger[disabled]:focus > a:only-child, +.ant-btn-danger.disabled:active > a:only-child, +.ant-btn-danger[disabled]:active > a:only-child, +.ant-btn-danger.disabled.active > a:only-child, +.ant-btn-danger[disabled].active > a:only-child { + color: currentColor; +} +.ant-btn-danger.disabled > a:only-child:after, +.ant-btn-danger[disabled] > a:only-child:after, +.ant-btn-danger.disabled:hover > a:only-child:after, +.ant-btn-danger[disabled]:hover > a:only-child:after, +.ant-btn-danger.disabled:focus > a:only-child:after, +.ant-btn-danger[disabled]:focus > a:only-child:after, +.ant-btn-danger.disabled:active > a:only-child:after, +.ant-btn-danger[disabled]:active > a:only-child:after, +.ant-btn-danger.disabled.active > a:only-child:after, +.ant-btn-danger[disabled].active > a:only-child:after { + background: transparent; +} +.ant-btn-circle, +.ant-btn-circle-outline { + border-radius: 50%; +} +.ant-btn-circle.ant-btn-lg, +.ant-btn-circle-outline.ant-btn-lg { + border-radius: 50%; +} +.ant-btn-circle.ant-btn-sm, +.ant-btn-circle-outline.ant-btn-sm { + border-radius: 50%; +} +.ant-btn:before { + background: #fff; + border-radius: inherit; +} +.ant-btn-group-lg > .ant-btn, +.ant-btn-group-lg > span > .ant-btn { + border-radius: 0; +} +.ant-btn-group-sm > .ant-btn, +.ant-btn-group-sm > span > .ant-btn { + border-radius: 0; +} +.ant-btn-group .ant-btn-primary + .ant-btn:not(.ant-btn-primary):not([disabled]) { + border-left-color: transparent; +} +.ant-btn-group .ant-btn { + border-radius: 0; +} +.ant-btn-group > .ant-btn:only-child { + border-radius: 4px; +} +.ant-btn-group > span:only-child > .ant-btn { + border-radius: 4px; +} +.ant-btn-group > .ant-btn:first-child:not(:last-child), +.ant-btn-group > span:first-child:not(:last-child) > .ant-btn { + border-bottom-left-radius: 4px; + border-top-left-radius: 4px; +} +.ant-btn-group > .ant-btn:last-child:not(:first-child), +.ant-btn-group > span:last-child:not(:first-child) > .ant-btn { + border-bottom-right-radius: 4px; + border-top-right-radius: 4px; +} +.ant-btn-group-sm > .ant-btn:only-child { + border-radius: 4px; +} +.ant-btn-group-sm > span:only-child > .ant-btn { + border-radius: 4px; +} +.ant-btn-group-sm > .ant-btn:first-child:not(:last-child), +.ant-btn-group-sm > span:first-child:not(:last-child) > .ant-btn { + border-bottom-left-radius: 4px; + border-top-left-radius: 4px; +} +.ant-btn-group-sm > .ant-btn:last-child:not(:first-child), +.ant-btn-group-sm > span:last-child:not(:first-child) > .ant-btn { + border-bottom-right-radius: 4px; + border-top-right-radius: 4px; +} +.ant-btn-group > .ant-btn-group:not(:first-child):not(:last-child) > .ant-btn { + border-radius: 0; +} +.ant-btn-group > .ant-btn-group:first-child:not(:last-child) > .ant-btn:last-child { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.ant-btn-group > .ant-btn-group:last-child:not(:first-child) > .ant-btn:first-child { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.ant-btn-background-ghost { + background: transparent !important; + border-color: #fff; + color: #fff; +} +.ant-btn-background-ghost.ant-btn-primary { + color: @primary-color; + background-color: transparent; + border-color: @primary-color; +} +.ant-btn-background-ghost.ant-btn-primary > a:only-child { + color: currentColor; +} +.ant-btn-background-ghost.ant-btn-primary > a:only-child:after { + background: transparent; +} +.ant-btn-background-ghost.ant-btn-primary:hover, +.ant-btn-background-ghost.ant-btn-primary:focus { + color: color(~`colorPalette("@{primary-color}", 5)`); + background-color: transparent; + border-color: color(~`colorPalette("@{primary-color}", 5)`); +} +.ant-btn-background-ghost.ant-btn-primary:hover > a:only-child, +.ant-btn-background-ghost.ant-btn-primary:focus > a:only-child { + color: currentColor; +} +.ant-btn-background-ghost.ant-btn-primary:hover > a:only-child:after, +.ant-btn-background-ghost.ant-btn-primary:focus > a:only-child:after { + background: transparent; +} +.ant-btn-background-ghost.ant-btn-primary:active, +.ant-btn-background-ghost.ant-btn-primary.active { + color: color(~`colorPalette("@{primary-color}", 7)`); + background-color: transparent; + border-color: color(~`colorPalette("@{primary-color}", 7)`); +} +.ant-btn-background-ghost.ant-btn-primary:active > a:only-child, +.ant-btn-background-ghost.ant-btn-primary.active > a:only-child { + color: currentColor; +} +.ant-btn-background-ghost.ant-btn-primary:active > a:only-child:after, +.ant-btn-background-ghost.ant-btn-primary.active > a:only-child:after { + background: transparent; +} +.ant-btn-background-ghost.ant-btn-primary.disabled, +.ant-btn-background-ghost.ant-btn-primary[disabled], +.ant-btn-background-ghost.ant-btn-primary.disabled:hover, +.ant-btn-background-ghost.ant-btn-primary[disabled]:hover, +.ant-btn-background-ghost.ant-btn-primary.disabled:focus, +.ant-btn-background-ghost.ant-btn-primary[disabled]:focus, +.ant-btn-background-ghost.ant-btn-primary.disabled:active, +.ant-btn-background-ghost.ant-btn-primary[disabled]:active, +.ant-btn-background-ghost.ant-btn-primary.disabled.active, +.ant-btn-background-ghost.ant-btn-primary[disabled].active { + color: rgba(0, 0, 0, 0.25); + background-color: #f5f5f5; + border-color: #d9d9d9; + box-shadow: none; +} +.ant-btn-background-ghost.ant-btn-primary.disabled > a:only-child, +.ant-btn-background-ghost.ant-btn-primary[disabled] > a:only-child, +.ant-btn-background-ghost.ant-btn-primary.disabled:hover > a:only-child, +.ant-btn-background-ghost.ant-btn-primary[disabled]:hover > a:only-child, +.ant-btn-background-ghost.ant-btn-primary.disabled:focus > a:only-child, +.ant-btn-background-ghost.ant-btn-primary[disabled]:focus > a:only-child, +.ant-btn-background-ghost.ant-btn-primary.disabled:active > a:only-child, +.ant-btn-background-ghost.ant-btn-primary[disabled]:active > a:only-child, +.ant-btn-background-ghost.ant-btn-primary.disabled.active > a:only-child, +.ant-btn-background-ghost.ant-btn-primary[disabled].active > a:only-child { + color: currentColor; +} +.ant-btn-background-ghost.ant-btn-primary.disabled > a:only-child:after, +.ant-btn-background-ghost.ant-btn-primary[disabled] > a:only-child:after, +.ant-btn-background-ghost.ant-btn-primary.disabled:hover > a:only-child:after, +.ant-btn-background-ghost.ant-btn-primary[disabled]:hover > a:only-child:after, +.ant-btn-background-ghost.ant-btn-primary.disabled:focus > a:only-child:after, +.ant-btn-background-ghost.ant-btn-primary[disabled]:focus > a:only-child:after, +.ant-btn-background-ghost.ant-btn-primary.disabled:active > a:only-child:after, +.ant-btn-background-ghost.ant-btn-primary[disabled]:active > a:only-child:after, +.ant-btn-background-ghost.ant-btn-primary.disabled.active > a:only-child:after, +.ant-btn-background-ghost.ant-btn-primary[disabled].active > a:only-child:after { + background: transparent; +} +.ant-btn-background-ghost.ant-btn-danger { + color: #f5222d; + background-color: transparent; + border-color: #f5222d; +} +.ant-btn-background-ghost.ant-btn-danger > a:only-child { + color: currentColor; +} +.ant-btn-background-ghost.ant-btn-danger > a:only-child:after { + background: transparent; +} +.ant-btn-background-ghost.ant-btn-danger:hover, +.ant-btn-background-ghost.ant-btn-danger:focus { + color: #ff4d4f; + background-color: transparent; + border-color: #ff4d4f; +} +.ant-btn-background-ghost.ant-btn-danger:hover > a:only-child, +.ant-btn-background-ghost.ant-btn-danger:focus > a:only-child { + color: currentColor; +} +.ant-btn-background-ghost.ant-btn-danger:hover > a:only-child:after, +.ant-btn-background-ghost.ant-btn-danger:focus > a:only-child:after { + background: transparent; +} +.ant-btn-background-ghost.ant-btn-danger:active, +.ant-btn-background-ghost.ant-btn-danger.active { + color: #cf1322; + background-color: transparent; + border-color: #cf1322; +} +.ant-btn-background-ghost.ant-btn-danger:active > a:only-child, +.ant-btn-background-ghost.ant-btn-danger.active > a:only-child { + color: currentColor; +} +.ant-btn-background-ghost.ant-btn-danger:active > a:only-child:after, +.ant-btn-background-ghost.ant-btn-danger.active > a:only-child:after { + background: transparent; +} +.ant-btn-background-ghost.ant-btn-danger.disabled, +.ant-btn-background-ghost.ant-btn-danger[disabled], +.ant-btn-background-ghost.ant-btn-danger.disabled:hover, +.ant-btn-background-ghost.ant-btn-danger[disabled]:hover, +.ant-btn-background-ghost.ant-btn-danger.disabled:focus, +.ant-btn-background-ghost.ant-btn-danger[disabled]:focus, +.ant-btn-background-ghost.ant-btn-danger.disabled:active, +.ant-btn-background-ghost.ant-btn-danger[disabled]:active, +.ant-btn-background-ghost.ant-btn-danger.disabled.active, +.ant-btn-background-ghost.ant-btn-danger[disabled].active { + color: rgba(0, 0, 0, 0.25); + background-color: #f5f5f5; + border-color: #d9d9d9; + box-shadow: none; +} +.ant-btn-background-ghost.ant-btn-danger.disabled > a:only-child, +.ant-btn-background-ghost.ant-btn-danger[disabled] > a:only-child, +.ant-btn-background-ghost.ant-btn-danger.disabled:hover > a:only-child, +.ant-btn-background-ghost.ant-btn-danger[disabled]:hover > a:only-child, +.ant-btn-background-ghost.ant-btn-danger.disabled:focus > a:only-child, +.ant-btn-background-ghost.ant-btn-danger[disabled]:focus > a:only-child, +.ant-btn-background-ghost.ant-btn-danger.disabled:active > a:only-child, +.ant-btn-background-ghost.ant-btn-danger[disabled]:active > a:only-child, +.ant-btn-background-ghost.ant-btn-danger.disabled.active > a:only-child, +.ant-btn-background-ghost.ant-btn-danger[disabled].active > a:only-child { + color: currentColor; +} +.ant-btn-background-ghost.ant-btn-danger.disabled > a:only-child:after, +.ant-btn-background-ghost.ant-btn-danger[disabled] > a:only-child:after, +.ant-btn-background-ghost.ant-btn-danger.disabled:hover > a:only-child:after, +.ant-btn-background-ghost.ant-btn-danger[disabled]:hover > a:only-child:after, +.ant-btn-background-ghost.ant-btn-danger.disabled:focus > a:only-child:after, +.ant-btn-background-ghost.ant-btn-danger[disabled]:focus > a:only-child:after, +.ant-btn-background-ghost.ant-btn-danger.disabled:active > a:only-child:after, +.ant-btn-background-ghost.ant-btn-danger[disabled]:active > a:only-child:after, +.ant-btn-background-ghost.ant-btn-danger.disabled.active > a:only-child:after, +.ant-btn-background-ghost.ant-btn-danger[disabled].active > a:only-child:after { + background: transparent; +} +.christmas.ant-btn-primary:before { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAE0AAAAXCAYAAABOHMIhAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABiZJREFUeNrsWMtPlFcUvzPMwIDysLyRR4uATDHWCiVgSmRlios2DeiiXUFs0nRBd6arxqQhJDapkYXhP4BqDKTQhZaFNQSCaBEVJjwdHsNr5DUMDDPDzPT3u7nTDEgRKrKgc5KT+z3uufec33de99P4fD4RpL2RNgjB3kn35MkTeRERESFiYmLkGBoaKnQ6nWSNRvPPZFxr+vv7k6KioiIdDsfa8vLyQkFBgcP3Bnel3MDAQArWI0eFhISE87nb7bZ7PJ4VvLYuLi5O5+fnu9+kMNfq6+tLjIyMzMY6KeBEbK/XarXReI3lPDZMWcc4v7GxYV1dXR3Jy8ub2E5HPvJ6vRSSDH0ku1wuAfsEZOV1IEFHoeNFdHS0yMrK2knR0Lm5uR+hxLdQMjbwHTZbB41h8RGwCdc9MzMzneHh4bGJiYlf4SN8ijkfwqiIncCAAR7Iz2GPSShudjqdfeCeqampvwBQfFxc3JdYqwTv8gB8/F48A8BgKecE14V+L7ju2tpae05OzkuCCZvkPOj8mizmC6vVKtmPu+bx48cC3qI1mUyFUOyywWD4SHlELBaLJmCHNcwAghuAOujtuF4FqHO4nsX4EsAS3I4TJ04ME1h8PDE9PS09TYZoY2Pj1729vd6lpSVfkDYTPG0UkfNDRUWFgQ5Gb2Mh0N29e9eG/GQfHh4W8/PzwUy/ObQ/gMfVVlZW1iAiZdQxp3nv3LljRoL/5erVq1UIxzSiiVD9X4EDYATynCwAzGO858hCQRoaGmJFZNJz8YIcBc4BF966dau6sLAwBxVSJCUlCSThQwuU3W6XkYUok1Vzm5znQx5bbm9v77p+/frPeNSNRzZ/ISBwrG4ZR48eLamtrf2+uLjYSEG9Xi/wTISFhQlWGXohyzO/CJlVl23KQRLbABoaHx+/Z1lUZ/Hq1SsJFj3JT3hmHx8fnydPTEzMj46OziHPW2w22wxeD4Kfgadh/4YEzU8Az4DhffAn5eXlX1y6dKkEoCTspAQ9Mjs7+0BBo8Fms1lkZGTsOo0QLLRNkvnR+fEJzIMHD0xtbW39CL8JTFtSbAOvBIyLHIGVm9VzE2gKuDAMSSpcT6KXyT137lx2cnLyMXhcGDb3wq3XuWF3d/fCzZs3P0c4v5eSknJQbYLo7Ox0gC2lpaVZ3Be67Th/dnZWoAJKsJC3XA8fPhxoamp6hMb+BaaMgWcUMGtszZjiFDNmvcDI91pzG0iY4ARwkwrxkcHBwUdgNrRMbnrqoRbkVzDcvn3bl5qaWsmcgFH4G8XdEGUWFhak51AuISFBnkoCTyFbyWKxCJwIxlC0fq2rq7tcVFRkRKskjh8/Lr0+kBjCCDV/knfdv3//WX19/R8IRRNemxlu4AXwKqM+EJwdj1HbPYSwh3sCPAJDABm2LLchCjS+5/kirKGhwWk0GrMuXrxYQuX9hm/XXTMXMY+srKwI5ApZrbYmZh7deEJhAUKjLe/pLTzSsCuHrK+1tbUJVe3P6upq87Vr174rKysrYHVj/uW+OH3IfEuw4F3ee/fuPQfAvwOs5yyE4CnlFOu7BWrTCWlreO6FACpBZGwUw4BvkANLobReHb3kGZYGsGzTq/zlO8AT1ru6uoZbWlqeA6gINJAfnz59OlVLoX8Jtebm5raampqfcMvQYgTknz9//sKVK1c+y83NTdIEuCnaKMuNGzd+6+np6cCtSTkAw9D9X8Dyh+dbgaaAC1XAnUlPTy+qqqq6cPbs2UzkmWjNljiDJzpwHFnCkW2yo6NjCKW8H54wjlezKvRT09LSTsJrz5w6dSoN+Yp51ADAPUj8VoDbDq9pxrwuJcNIYQllJTIi/xopBw/VA7DJp0+f9hA78CgL5F5C8J2CpoCj8sfA6WCe/FPRhsRlZmbGIs8Y4FFO5CJgtrSsvrRVGW1V93b1myoGnKAKEcHgnwsWpg1lNI0fphwrmdqbckeU18WrnlOjqp5/j7W3BWvfQVPKa5SBkcrYCNVB65TRTlWZ1lXiXVU5xbtlDb2SPaLWYwrgHIcqPg6Vc7fbX69Yoyqfa7/AeiegbWOEVhmsVcWDwPn224iDJgla8Hd38Hd3ELQgaIeI/hZgAIPEp0vmQJdoAAAAAElFTkSuQmCC) no-repeat 50% 0; + background-size: 64px; +} +.christmas.ant-btn-primary.ant-btn-lg:before { + background-size: 72px; +} +.christmas.ant-btn-primary.ant-btn-sm:before { + background-size: 56px; +} +.ant-fullcalendar { + color: rgba(0, 0, 0, 0.65); + border-top: 1px solid #d9d9d9; +} +.ant-fullcalendar table { + border-collapse: collapse; + background-color: transparent; +} +.ant-fullcalendar table, +.ant-fullcalendar th, +.ant-fullcalendar td { + border: 0; +} +.ant-fullcalendar-calendar-table { + border-spacing: 0; +} +.ant-fullcalendar-value { + color: rgba(0, 0, 0, 0.65); + border-radius: 2px; + background: transparent; +} +.ant-fullcalendar-value:hover { + background: color(~`colorPalette("@{primary-color}", 1)`); +} +.ant-fullcalendar-value:active { + background: @primary-color; + color: #fff; +} +.ant-fullcalendar-today .ant-fullcalendar-value, +.ant-fullcalendar-month-panel-current-cell .ant-fullcalendar-value { + box-shadow: 0 0 0 1px @primary-color inset; +} +.ant-fullcalendar-selected-day .ant-fullcalendar-value, +.ant-fullcalendar-month-panel-selected-cell .ant-fullcalendar-value { + background: @primary-color; + color: #fff; +} +.ant-fullcalendar-disabled-cell-first-of-row .ant-fullcalendar-value { + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; +} +.ant-fullcalendar-disabled-cell-last-of-row .ant-fullcalendar-value { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; +} +.ant-fullcalendar-last-month-cell .ant-fullcalendar-value, +.ant-fullcalendar-next-month-btn-day .ant-fullcalendar-value { + color: rgba(0, 0, 0, 0.25); +} +.ant-fullcalendar-month-panel-table { + border-collapse: separate; +} +.ant-fullcalendar-fullscreen { + border-top: 0; +} +.ant-fullcalendar-fullscreen .ant-fullcalendar-month, +.ant-fullcalendar-fullscreen .ant-fullcalendar-date { + color: rgba(0, 0, 0, 0.65); + border-top: 2px solid #e8e8e8; +} +.ant-fullcalendar-fullscreen .ant-fullcalendar-month:hover, +.ant-fullcalendar-fullscreen .ant-fullcalendar-date:hover { + background: color(~`colorPalette("@{primary-color}", 1)`); +} +.ant-fullcalendar-fullscreen .ant-fullcalendar-month:active, +.ant-fullcalendar-fullscreen .ant-fullcalendar-date:active { + background: color(~`colorPalette("@{primary-color}", 2)`); +} +.ant-fullcalendar-fullscreen .ant-fullcalendar-value { + background: transparent; +} +.ant-fullcalendar-fullscreen .ant-fullcalendar-today .ant-fullcalendar-value { + color: rgba(0, 0, 0, 0.65); +} +.ant-fullcalendar-fullscreen .ant-fullcalendar-month-panel-current-cell .ant-fullcalendar-month, +.ant-fullcalendar-fullscreen .ant-fullcalendar-today .ant-fullcalendar-date { + border-top-color: @primary-color; + background: transparent; +} +.ant-fullcalendar-fullscreen .ant-fullcalendar-month-panel-current-cell .ant-fullcalendar-value, +.ant-fullcalendar-fullscreen .ant-fullcalendar-today .ant-fullcalendar-value { + box-shadow: none; +} +.ant-fullcalendar-fullscreen .ant-fullcalendar-month-panel-selected-cell .ant-fullcalendar-month, +.ant-fullcalendar-fullscreen .ant-fullcalendar-selected-day .ant-fullcalendar-date { + background: color(~`colorPalette("@{primary-color}", 1)`); +} +.ant-fullcalendar-fullscreen .ant-fullcalendar-month-panel-selected-cell .ant-fullcalendar-value, +.ant-fullcalendar-fullscreen .ant-fullcalendar-selected-day .ant-fullcalendar-value { + color: @primary-color; +} +.ant-fullcalendar-fullscreen .ant-fullcalendar-last-month-cell .ant-fullcalendar-date, +.ant-fullcalendar-fullscreen .ant-fullcalendar-next-month-btn-day .ant-fullcalendar-date { + color: rgba(0, 0, 0, 0.25); +} +.ant-fullcalendar-disabled-cell:not(.ant-fullcalendar-today) .ant-fullcalendar-date, +.ant-fullcalendar-disabled-cell:not(.ant-fullcalendar-today) .ant-fullcalendar-date:hover { + background: transparent; +} +.ant-fullcalendar-disabled-cell .ant-fullcalendar-value { + color: rgba(0, 0, 0, 0.25); + border-radius: 0; +} +.ant-card { + color: rgba(0, 0, 0, 0.65); + background: #fff; + border-radius: 2px; +} +.ant-card-hoverable:hover { + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.09); + border-color: rgba(0, 0, 0, 0.09); +} +.ant-card-bordered { + border: 1px solid #e8e8e8; +} +.ant-card-head { + background: transparent; + border-bottom: 1px solid #e8e8e8; + border-radius: 2px 2px 0 0; + color: rgba(0, 0, 0, 0.85); +} +.ant-card-head .ant-tabs { + color: rgba(0, 0, 0, 0.65); +} +.ant-card-head .ant-tabs-bar { + border-bottom: 1px solid #e8e8e8; +} +.ant-card-extra { + color: rgba(0, 0, 0, 0.65); +} +.ant-card-grid { + border-radius: 0; + border: 0; + box-shadow: 1px 0 0 0 #e8e8e8, 0 1px 0 0 #e8e8e8, 1px 1px 0 0 #e8e8e8, 1px 0 0 0 #e8e8e8 inset, 0 1px 0 0 #e8e8e8 inset; +} +.ant-card-grid:hover { + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); +} +.ant-card-cover img { + border-radius: 2px 2px 0 0; +} +.ant-card-actions { + border-top: 1px solid #e8e8e8; + background: #fafafa; +} +.ant-card-actions > li { + color: rgba(0, 0, 0, 0.45); +} +.ant-card-actions > li > span:hover { + color: @primary-color; +} +.ant-card-actions > li > span a { + color: rgba(0, 0, 0, 0.45); +} +.ant-card-actions > li > span a:hover { + color: @primary-color; +} +.ant-card-actions > li:not(:last-child) { + border-right: 1px solid #e8e8e8; +} +.ant-card-type-inner .ant-card-head { + background: #fafafa; +} +.ant-card-meta-title { + color: rgba(0, 0, 0, 0.85); +} +.ant-card-meta-description { + color: rgba(0, 0, 0, 0.45); +} +.ant-card-loading-block { + border-radius: 2px; + background: linear-gradient(90deg, rgba(207, 216, 220, 0.2), rgba(207, 216, 220, 0.4), rgba(207, 216, 220, 0.2)); + background-size: 600% 600%; +} +.ant-carousel { + color: rgba(0, 0, 0, 0.65); +} +.ant-carousel .slick-slider { + -webkit-tap-highlight-color: transparent; +} +.ant-carousel .slick-vertical .slick-slide { + border: 1px solid transparent; +} +.ant-carousel .slick-prev, +.ant-carousel .slick-next { + background: transparent; + color: transparent; + border: 0; +} +.ant-carousel .slick-prev:hover, +.ant-carousel .slick-next:hover, +.ant-carousel .slick-prev:focus, +.ant-carousel .slick-next:focus { + background: transparent; + color: transparent; +} +.ant-carousel .slick-dots li button { + border: 0; + background: #fff; + border-radius: 1px; + color: transparent; +} +.ant-carousel .slick-dots li.slick-active button { + background: #fff; +} +.ant-cascader { + color: rgba(0, 0, 0, 0.65); +} +.ant-cascader-input.ant-input { + background-color: transparent !important; +} +.ant-cascader-picker { + color: rgba(0, 0, 0, 0.65); + background-color: #fff; + border-radius: 4px; +} +.ant-cascader-picker-with-value .ant-cascader-picker-label { + color: transparent; +} +.ant-cascader-picker-disabled { + background: #f5f5f5; + color: rgba(0, 0, 0, 0.25); +} +.ant-cascader-picker:focus .ant-cascader-input { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); + border-right-width: 1px !important; +} +.ant-cascader-picker-show-search.ant-cascader-picker-focused { + color: rgba(0, 0, 0, 0.25); +} +.ant-cascader-picker-clear { + background: #fff; + color: rgba(0, 0, 0, 0.25); +} +.ant-cascader-picker-clear:hover { + color: rgba(0, 0, 0, 0.45); +} +.ant-cascader-picker-arrow { + color: rgba(0, 0, 0, 0.25); +} +.ant-cascader-menus { + background: #fff; + border-radius: 4px; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); +} +.ant-cascader-menu { + border-right: 1px solid #e8e8e8; +} +.ant-cascader-menu:first-child { + border-radius: 4px 0 0 4px; +} +.ant-cascader-menu:last-child { + border-right-color: transparent; + border-radius: 0 4px 4px 0; +} +.ant-cascader-menu:only-child { + border-radius: 4px; +} +.ant-cascader-menu-item:hover { + background: color(~`colorPalette("@{primary-color}", 1)`); +} +.ant-cascader-menu-item-disabled { + color: rgba(0, 0, 0, 0.25); +} +.ant-cascader-menu-item-disabled:hover { + background: transparent; +} +.ant-cascader-menu-item-active:not(.ant-cascader-menu-item-disabled), +.ant-cascader-menu-item-active:not(.ant-cascader-menu-item-disabled):hover { + background: #f5f5f5; +} +.ant-cascader-menu-item-expand .ant-cascader-menu-item-expand-icon, +.ant-cascader-menu-item-expand .ant-cascader-menu-item-loading-icon { + color: rgba(0, 0, 0, 0.45); +} +.ant-cascader-menu-item .ant-cascader-menu-item-keyword { + color: #f5222d; +} +.ant-checkbox { + color: rgba(0, 0, 0, 0.65); +} +.ant-checkbox-wrapper:hover .ant-checkbox-inner, +.ant-checkbox:hover .ant-checkbox-inner, +.ant-checkbox-input:focus + .ant-checkbox-inner { + border-color: @primary-color; +} +.ant-checkbox-checked:after { + border-radius: 2px; + border: 1px solid @primary-color; +} +.ant-checkbox-inner { + border: 1px solid #d9d9d9; + border-radius: 2px; + background-color: #fff; +} +.ant-checkbox-inner:after { + border: 2px solid #fff; + border-top: 0; + border-left: 0; +} +.ant-checkbox-indeterminate .ant-checkbox-inner:after { + border: 0; + background-color: @primary-color; +} +.ant-checkbox-indeterminate.ant-checkbox-disabled .ant-checkbox-inner:after { + border-color: rgba(0, 0, 0, 0.25); +} +.ant-checkbox-checked .ant-checkbox-inner:after { + border: 2px solid #fff; + border-top: 0; + border-left: 0; +} +.ant-checkbox-checked .ant-checkbox-inner { + background-color: @primary-color; + border-color: @primary-color; +} +.ant-checkbox-disabled.ant-checkbox-checked .ant-checkbox-inner:after { + border-color: rgba(0, 0, 0, 0.25); +} +.ant-checkbox-disabled .ant-checkbox-inner { + border-color: #d9d9d9 !important; + background-color: #f5f5f5; +} +.ant-checkbox-disabled .ant-checkbox-inner:after { + border-color: #f5f5f5; +} +.ant-checkbox-disabled + span { + color: rgba(0, 0, 0, 0.25); +} +.ant-checkbox-wrapper { + color: rgba(0, 0, 0, 0.65); +} +.ant-checkbox-group { + color: rgba(0, 0, 0, 0.65); +} +.ant-collapse { + color: rgba(0, 0, 0, 0.65); + background-color: #fafafa; + border-radius: 4px; + border: 1px solid #d9d9d9; + border-bottom: 0; +} +.ant-collapse > .ant-collapse-item { + border-bottom: 1px solid #d9d9d9; +} +.ant-collapse > .ant-collapse-item:last-child, +.ant-collapse > .ant-collapse-item:last-child > .ant-collapse-header { + border-radius: 0 0 4px 4px; +} +.ant-collapse > .ant-collapse-item > .ant-collapse-header { + color: rgba(0, 0, 0, 0.85); +} +.ant-collapse-content { + color: rgba(0, 0, 0, 0.65); + background-color: #fff; + border-top: 1px solid #d9d9d9; +} +.ant-collapse-item:last-child > .ant-collapse-content { + border-radius: 0 0 4px 4px; +} +.ant-collapse-borderless { + background-color: #fff; + border: 0; +} +.ant-collapse-borderless > .ant-collapse-item { + border-bottom: 1px solid #d9d9d9; +} +.ant-collapse-borderless > .ant-collapse-item:last-child, +.ant-collapse-borderless > .ant-collapse-item:last-child .ant-collapse-header { + border-radius: 0; +} +.ant-collapse-borderless > .ant-collapse-item > .ant-collapse-content { + background-color: transparent; + border-top: 0; +} +.ant-collapse .ant-collapse-item-disabled > .ant-collapse-header, +.ant-collapse .ant-collapse-item-disabled > .ant-collapse-header > .arrow { + color: rgba(0, 0, 0, 0.25); +} +.ant-calendar-picker-container { + color: rgba(0, 0, 0, 0.65); +} +.ant-calendar-picker { + color: rgba(0, 0, 0, 0.65); +} +.ant-calendar-picker:hover .ant-calendar-picker-input:not(.ant-input-disabled) { + border-color: @primary-color; +} +.ant-calendar-picker:focus .ant-calendar-picker-input:not(.ant-input-disabled) { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); + border-right-width: 1px !important; +} +.ant-calendar-picker-clear { + color: rgba(0, 0, 0, 0.25); + background: #fff; +} +.ant-calendar-picker-clear:hover { + color: rgba(0, 0, 0, 0.45); +} +.ant-calendar-picker-icon { + color: rgba(0, 0, 0, 0.25); +} +.ant-calendar { + border: 1px solid #fff; + background-color: #fff; + border-radius: 4px; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); + background-clip: padding-box; +} +.ant-calendar-input-wrap { + border-bottom: 1px solid #e8e8e8; +} +.ant-calendar-input { + border: 0; + color: rgba(0, 0, 0, 0.65); + background: #fff; +} +.ant-calendar-input::-moz-placeholder { + color: #bfbfbf; +} +.ant-calendar-input:-ms-input-placeholder { + color: #bfbfbf; +} +.ant-calendar-input::-webkit-input-placeholder { + color: #bfbfbf; +} +.ant-calendar-header { + border-bottom: 1px solid #e8e8e8; +} +.ant-calendar-header a:hover { + color: color(~`colorPalette("@{primary-color}", 5)`); +} +.ant-calendar-header .ant-calendar-century-select, +.ant-calendar-header .ant-calendar-decade-select, +.ant-calendar-header .ant-calendar-year-select, +.ant-calendar-header .ant-calendar-month-select { + color: rgba(0, 0, 0, 0.85); +} +.ant-calendar-header .ant-calendar-prev-century-btn, +.ant-calendar-header .ant-calendar-next-century-btn, +.ant-calendar-header .ant-calendar-prev-decade-btn, +.ant-calendar-header .ant-calendar-next-decade-btn, +.ant-calendar-header .ant-calendar-prev-month-btn, +.ant-calendar-header .ant-calendar-next-month-btn, +.ant-calendar-header .ant-calendar-prev-year-btn, +.ant-calendar-header .ant-calendar-next-year-btn { + color: rgba(0, 0, 0, 0.45); +} +.ant-calendar table { + border-collapse: collapse; + background-color: transparent; +} +.ant-calendar table, +.ant-calendar th, +.ant-calendar td { + border: 0; +} +.ant-calendar-calendar-table { + border-spacing: 0; +} +.ant-calendar-date { + color: rgba(0, 0, 0, 0.65); + border-radius: 2px; + border: 1px solid transparent; + background: transparent; +} +.ant-calendar-date:hover { + background: color(~`colorPalette("@{primary-color}", 1)`); +} +.ant-calendar-date:active { + color: #fff; + background: color(~`colorPalette("@{primary-color}", 5)`); +} +.ant-calendar-today .ant-calendar-date { + border-color: @primary-color; + color: @primary-color; +} +.ant-calendar-last-month-cell .ant-calendar-date, +.ant-calendar-next-month-btn-day .ant-calendar-date { + color: rgba(0, 0, 0, 0.25); +} +.ant-calendar-selected-day .ant-calendar-date { + background: #d1e9ff; +} +.ant-calendar-selected-date .ant-calendar-date, +.ant-calendar-selected-start-date .ant-calendar-date, +.ant-calendar-selected-end-date .ant-calendar-date { + background: @primary-color; + color: #fff; + border: 1px solid transparent; +} +.ant-calendar-selected-date .ant-calendar-date:hover, +.ant-calendar-selected-start-date .ant-calendar-date:hover, +.ant-calendar-selected-end-date .ant-calendar-date:hover { + background: @primary-color; +} +.ant-calendar-disabled-cell .ant-calendar-date { + color: #bcbcbc; + background: #f5f5f5; + border-radius: 0; + border: 1px solid transparent; +} +.ant-calendar-disabled-cell .ant-calendar-date:hover { + background: #f5f5f5; +} +.ant-calendar-disabled-cell.ant-calendar-today .ant-calendar-date:before { + border: 1px solid #bcbcbc; + border-radius: 2px; +} +.ant-calendar-disabled-cell-first-of-row .ant-calendar-date { + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; +} +.ant-calendar-disabled-cell-last-of-row .ant-calendar-date { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; +} +.ant-calendar-footer { + border-top: 1px solid #e8e8e8; +} +.ant-calendar-footer:empty { + border-top: 0; +} +.ant-calendar .ant-calendar-today-btn-disabled, +.ant-calendar .ant-calendar-clear-btn-disabled { + color: rgba(0, 0, 0, 0.25); +} +.ant-calendar .ant-calendar-clear-btn:after { + color: rgba(0, 0, 0, 0.25); +} +.ant-calendar .ant-calendar-clear-btn:hover:after { + color: rgba(0, 0, 0, 0.45); +} +.ant-calendar .ant-calendar-ok-btn { + background-image: none; + border: 1px solid transparent; + box-shadow: 0 2px 0 rgba(0, 0, 0, 0.015); + color: #fff; + background-color: @primary-color; + border-color: @primary-color; + box-shadow: 0 2px 0 rgba(0, 0, 0, 0.035); + border-radius: 4px; +} +.ant-calendar .ant-calendar-ok-btn:not([disabled]):active { + box-shadow: none; +} +.ant-calendar .ant-calendar-ok-btn-lg { + border-radius: 4px; +} +.ant-calendar .ant-calendar-ok-btn-sm { + border-radius: 4px; +} +.ant-calendar .ant-calendar-ok-btn > a:only-child { + color: currentColor; +} +.ant-calendar .ant-calendar-ok-btn > a:only-child:after { + background: transparent; +} +.ant-calendar .ant-calendar-ok-btn:hover, +.ant-calendar .ant-calendar-ok-btn:focus { + color: #fff; + background-color: color(~`colorPalette("@{primary-color}", 5)`); + border-color: color(~`colorPalette("@{primary-color}", 5)`); +} +.ant-calendar .ant-calendar-ok-btn:hover > a:only-child, +.ant-calendar .ant-calendar-ok-btn:focus > a:only-child { + color: currentColor; +} +.ant-calendar .ant-calendar-ok-btn:hover > a:only-child:after, +.ant-calendar .ant-calendar-ok-btn:focus > a:only-child:after { + background: transparent; +} +.ant-calendar .ant-calendar-ok-btn:active, +.ant-calendar .ant-calendar-ok-btn.active { + color: #fff; + background-color: color(~`colorPalette("@{primary-color}", 7)`); + border-color: color(~`colorPalette("@{primary-color}", 7)`); +} +.ant-calendar .ant-calendar-ok-btn:active > a:only-child, +.ant-calendar .ant-calendar-ok-btn.active > a:only-child { + color: currentColor; +} +.ant-calendar .ant-calendar-ok-btn:active > a:only-child:after, +.ant-calendar .ant-calendar-ok-btn.active > a:only-child:after { + background: transparent; +} +.ant-calendar .ant-calendar-ok-btn.disabled, +.ant-calendar .ant-calendar-ok-btn[disabled], +.ant-calendar .ant-calendar-ok-btn.disabled:hover, +.ant-calendar .ant-calendar-ok-btn[disabled]:hover, +.ant-calendar .ant-calendar-ok-btn.disabled:focus, +.ant-calendar .ant-calendar-ok-btn[disabled]:focus, +.ant-calendar .ant-calendar-ok-btn.disabled:active, +.ant-calendar .ant-calendar-ok-btn[disabled]:active, +.ant-calendar .ant-calendar-ok-btn.disabled.active, +.ant-calendar .ant-calendar-ok-btn[disabled].active { + color: rgba(0, 0, 0, 0.25); + background-color: #f5f5f5; + border-color: #d9d9d9; + box-shadow: none; +} +.ant-calendar .ant-calendar-ok-btn.disabled > a:only-child, +.ant-calendar .ant-calendar-ok-btn[disabled] > a:only-child, +.ant-calendar .ant-calendar-ok-btn.disabled:hover > a:only-child, +.ant-calendar .ant-calendar-ok-btn[disabled]:hover > a:only-child, +.ant-calendar .ant-calendar-ok-btn.disabled:focus > a:only-child, +.ant-calendar .ant-calendar-ok-btn[disabled]:focus > a:only-child, +.ant-calendar .ant-calendar-ok-btn.disabled:active > a:only-child, +.ant-calendar .ant-calendar-ok-btn[disabled]:active > a:only-child, +.ant-calendar .ant-calendar-ok-btn.disabled.active > a:only-child, +.ant-calendar .ant-calendar-ok-btn[disabled].active > a:only-child { + color: currentColor; +} +.ant-calendar .ant-calendar-ok-btn.disabled > a:only-child:after, +.ant-calendar .ant-calendar-ok-btn[disabled] > a:only-child:after, +.ant-calendar .ant-calendar-ok-btn.disabled:hover > a:only-child:after, +.ant-calendar .ant-calendar-ok-btn[disabled]:hover > a:only-child:after, +.ant-calendar .ant-calendar-ok-btn.disabled:focus > a:only-child:after, +.ant-calendar .ant-calendar-ok-btn[disabled]:focus > a:only-child:after, +.ant-calendar .ant-calendar-ok-btn.disabled:active > a:only-child:after, +.ant-calendar .ant-calendar-ok-btn[disabled]:active > a:only-child:after, +.ant-calendar .ant-calendar-ok-btn.disabled.active > a:only-child:after, +.ant-calendar .ant-calendar-ok-btn[disabled].active > a:only-child:after { + background: transparent; +} +.ant-calendar .ant-calendar-ok-btn-disabled { + color: rgba(0, 0, 0, 0.25); + background-color: #f5f5f5; + border-color: #d9d9d9; +} +.ant-calendar .ant-calendar-ok-btn-disabled > a:only-child { + color: currentColor; +} +.ant-calendar .ant-calendar-ok-btn-disabled > a:only-child:after { + background: transparent; +} +.ant-calendar .ant-calendar-ok-btn-disabled:hover { + color: rgba(0, 0, 0, 0.25); + background-color: #f5f5f5; + border-color: #d9d9d9; +} +.ant-calendar .ant-calendar-ok-btn-disabled:hover > a:only-child { + color: currentColor; +} +.ant-calendar .ant-calendar-ok-btn-disabled:hover > a:only-child:after { + background: transparent; +} +.ant-calendar-range-picker-input { + background-color: transparent; + border: 0; +} +.ant-calendar-range-picker-input::-moz-placeholder { + color: #bfbfbf; +} +.ant-calendar-range-picker-input:-ms-input-placeholder { + color: #bfbfbf; +} +.ant-calendar-range-picker-input::-webkit-input-placeholder { + color: #bfbfbf; +} +.ant-calendar-range-picker-separator { + color: rgba(0, 0, 0, 0.45); +} +.ant-calendar-range-left .ant-calendar-time-picker-inner { + border-right: 1px solid #e8e8e8; +} +.ant-calendar-range-right .ant-calendar-time-picker-inner { + border-left: 1px solid #e8e8e8; +} +.ant-calendar-range-middle { + color: rgba(0, 0, 0, 0.45); +} +.ant-calendar-range .ant-calendar-input, +.ant-calendar-range .ant-calendar-time-picker-input { + color: rgba(0, 0, 0, 0.65); + background-color: #fff; + background-image: none; + border: 1px solid #d9d9d9; + border-radius: 4px; + border: 0; + box-shadow: none; +} +.ant-calendar-range .ant-calendar-input::-moz-placeholder, +.ant-calendar-range .ant-calendar-time-picker-input::-moz-placeholder { + color: #bfbfbf; +} +.ant-calendar-range .ant-calendar-input:-ms-input-placeholder, +.ant-calendar-range .ant-calendar-time-picker-input:-ms-input-placeholder { + color: #bfbfbf; +} +.ant-calendar-range .ant-calendar-input::-webkit-input-placeholder, +.ant-calendar-range .ant-calendar-time-picker-input::-webkit-input-placeholder { + color: #bfbfbf; +} +.ant-calendar-range .ant-calendar-input:hover, +.ant-calendar-range .ant-calendar-time-picker-input:hover { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + border-right-width: 1px !important; +} +.ant-calendar-range .ant-calendar-input:focus, +.ant-calendar-range .ant-calendar-time-picker-input:focus { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); + border-right-width: 1px !important; +} +.ant-calendar-range .ant-calendar-input-disabled, +.ant-calendar-range .ant-calendar-time-picker-input-disabled { + background-color: #f5f5f5; + color: rgba(0, 0, 0, 0.25); +} +.ant-calendar-range .ant-calendar-input-disabled:hover, +.ant-calendar-range .ant-calendar-time-picker-input-disabled:hover { + border-color: #e6d8d8; + border-right-width: 1px !important; +} +.ant-calendar-range .ant-calendar-input:focus, +.ant-calendar-range .ant-calendar-time-picker-input:focus { + box-shadow: none; +} +.ant-calendar-range .ant-calendar-in-range-cell { + border-radius: 0; +} +.ant-calendar-range .ant-calendar-in-range-cell:before { + background: color(~`colorPalette("@{primary-color}", 1)`); + border-radius: 0; + border: 0; +} +.ant-calendar-range .ant-calendar-header, +.ant-calendar-range .ant-calendar-month-panel-header, +.ant-calendar-range .ant-calendar-year-panel-header { + border-bottom: 0; +} +.ant-calendar-range .ant-calendar-body, +.ant-calendar-range .ant-calendar-month-panel-body, +.ant-calendar-range .ant-calendar-year-panel-body { + border-top: 1px solid #e8e8e8; +} +.ant-calendar-range.ant-calendar-time .ant-calendar-time-picker-inner { + background: none; +} +.ant-calendar-range.ant-calendar-time .ant-calendar-time-picker-combobox { + background-color: #fff; + border-top: 1px solid #e8e8e8; +} +.ant-calendar-range.ant-calendar-show-time-picker .ant-calendar-body { + border-top-color: transparent; +} +.ant-calendar-time-picker { + background-color: #fff; +} +.ant-calendar-time-picker-inner { + background-color: #fff; + background-clip: padding-box; +} +.ant-calendar-time-picker-select { + border-right: 1px solid #e8e8e8; +} +.ant-calendar-time-picker-select:first-child { + border-left: 0; +} +.ant-calendar-time-picker-select:last-child { + border-right: 0; +} +.ant-calendar-time-picker-select li:hover { + background: color(~`colorPalette("@{primary-color}", 1)`); +} +li.ant-calendar-time-picker-select-option-selected { + background: #f5f5f5; +} +li.ant-calendar-time-picker-select-option-disabled { + color: rgba(0, 0, 0, 0.25); +} +li.ant-calendar-time-picker-select-option-disabled:hover { + background: transparent; +} +.ant-calendar-time .ant-calendar-day-select { + color: rgba(0, 0, 0, 0.85); +} +.ant-calendar-time .ant-calendar-footer .ant-calendar-time-picker-btn-disabled { + color: rgba(0, 0, 0, 0.25); +} +.ant-calendar-month-panel { + border-radius: 4px; + background: #fff; +} +.ant-calendar-month-panel-header { + border-bottom: 1px solid #e8e8e8; +} +.ant-calendar-month-panel-header a:hover { + color: color(~`colorPalette("@{primary-color}", 5)`); +} +.ant-calendar-month-panel-header .ant-calendar-month-panel-century-select, +.ant-calendar-month-panel-header .ant-calendar-month-panel-decade-select, +.ant-calendar-month-panel-header .ant-calendar-month-panel-year-select, +.ant-calendar-month-panel-header .ant-calendar-month-panel-month-select { + color: rgba(0, 0, 0, 0.85); +} +.ant-calendar-month-panel-header .ant-calendar-month-panel-prev-century-btn, +.ant-calendar-month-panel-header .ant-calendar-month-panel-next-century-btn, +.ant-calendar-month-panel-header .ant-calendar-month-panel-prev-decade-btn, +.ant-calendar-month-panel-header .ant-calendar-month-panel-next-decade-btn, +.ant-calendar-month-panel-header .ant-calendar-month-panel-prev-month-btn, +.ant-calendar-month-panel-header .ant-calendar-month-panel-next-month-btn, +.ant-calendar-month-panel-header .ant-calendar-month-panel-prev-year-btn, +.ant-calendar-month-panel-header .ant-calendar-month-panel-next-year-btn { + color: rgba(0, 0, 0, 0.45); +} +.ant-calendar-month-panel-table { + border-collapse: separate; +} +.ant-calendar-month-panel-selected-cell .ant-calendar-month-panel-month { + background: @primary-color; + color: #fff; +} +.ant-calendar-month-panel-selected-cell .ant-calendar-month-panel-month:hover { + background: @primary-color; + color: #fff; +} +.ant-calendar-month-panel-cell-disabled .ant-calendar-month-panel-month, +.ant-calendar-month-panel-cell-disabled .ant-calendar-month-panel-month:hover { + color: #bcbcbc; + background: #f5f5f5; +} +.ant-calendar-month-panel-month { + color: rgba(0, 0, 0, 0.65); + background: transparent; + border-radius: 2px; +} +.ant-calendar-month-panel-month:hover { + background: color(~`colorPalette("@{primary-color}", 1)`); +} +.ant-calendar-year-panel { + border-radius: 4px; + background: #fff; +} +.ant-calendar-year-panel-header { + border-bottom: 1px solid #e8e8e8; +} +.ant-calendar-year-panel-header a:hover { + color: color(~`colorPalette("@{primary-color}", 5)`); +} +.ant-calendar-year-panel-header .ant-calendar-year-panel-century-select, +.ant-calendar-year-panel-header .ant-calendar-year-panel-decade-select, +.ant-calendar-year-panel-header .ant-calendar-year-panel-year-select, +.ant-calendar-year-panel-header .ant-calendar-year-panel-month-select { + color: rgba(0, 0, 0, 0.85); +} +.ant-calendar-year-panel-header .ant-calendar-year-panel-prev-century-btn, +.ant-calendar-year-panel-header .ant-calendar-year-panel-next-century-btn, +.ant-calendar-year-panel-header .ant-calendar-year-panel-prev-decade-btn, +.ant-calendar-year-panel-header .ant-calendar-year-panel-next-decade-btn, +.ant-calendar-year-panel-header .ant-calendar-year-panel-prev-month-btn, +.ant-calendar-year-panel-header .ant-calendar-year-panel-next-month-btn, +.ant-calendar-year-panel-header .ant-calendar-year-panel-prev-year-btn, +.ant-calendar-year-panel-header .ant-calendar-year-panel-next-year-btn { + color: rgba(0, 0, 0, 0.45); +} +.ant-calendar-year-panel-table { + border-collapse: separate; +} +.ant-calendar-year-panel-year { + color: rgba(0, 0, 0, 0.65); + background: transparent; + border-radius: 2px; +} +.ant-calendar-year-panel-year:hover { + background: color(~`colorPalette("@{primary-color}", 1)`); +} +.ant-calendar-year-panel-selected-cell .ant-calendar-year-panel-year { + background: @primary-color; + color: #fff; +} +.ant-calendar-year-panel-selected-cell .ant-calendar-year-panel-year:hover { + background: @primary-color; + color: #fff; +} +.ant-calendar-year-panel-last-decade-cell .ant-calendar-year-panel-year, +.ant-calendar-year-panel-next-decade-cell .ant-calendar-year-panel-year { + color: rgba(0, 0, 0, 0.25); +} +.ant-calendar-decade-panel { + background: #fff; + border-radius: 4px; +} +.ant-calendar-decade-panel-header { + border-bottom: 1px solid #e8e8e8; +} +.ant-calendar-decade-panel-header a:hover { + color: color(~`colorPalette("@{primary-color}", 5)`); +} +.ant-calendar-decade-panel-header .ant-calendar-decade-panel-century-select, +.ant-calendar-decade-panel-header .ant-calendar-decade-panel-decade-select, +.ant-calendar-decade-panel-header .ant-calendar-decade-panel-year-select, +.ant-calendar-decade-panel-header .ant-calendar-decade-panel-month-select { + color: rgba(0, 0, 0, 0.85); +} +.ant-calendar-decade-panel-header .ant-calendar-decade-panel-prev-century-btn, +.ant-calendar-decade-panel-header .ant-calendar-decade-panel-next-century-btn, +.ant-calendar-decade-panel-header .ant-calendar-decade-panel-prev-decade-btn, +.ant-calendar-decade-panel-header .ant-calendar-decade-panel-next-decade-btn, +.ant-calendar-decade-panel-header .ant-calendar-decade-panel-prev-month-btn, +.ant-calendar-decade-panel-header .ant-calendar-decade-panel-next-month-btn, +.ant-calendar-decade-panel-header .ant-calendar-decade-panel-prev-year-btn, +.ant-calendar-decade-panel-header .ant-calendar-decade-panel-next-year-btn { + color: rgba(0, 0, 0, 0.45); +} +.ant-calendar-decade-panel-table { + border-collapse: separate; +} +.ant-calendar-decade-panel-decade { + color: rgba(0, 0, 0, 0.65); + background: transparent; + border-radius: 2px; +} +.ant-calendar-decade-panel-decade:hover { + background: color(~`colorPalette("@{primary-color}", 1)`); +} +.ant-calendar-decade-panel-selected-cell .ant-calendar-decade-panel-decade { + background: @primary-color; + color: #fff; +} +.ant-calendar-decade-panel-selected-cell .ant-calendar-decade-panel-decade:hover { + background: @primary-color; + color: #fff; +} +.ant-calendar-decade-panel-last-century-cell .ant-calendar-decade-panel-decade, +.ant-calendar-decade-panel-next-century-cell .ant-calendar-decade-panel-decade { + color: rgba(0, 0, 0, 0.25); +} +.ant-calendar-week-number .ant-calendar-body tr:hover { + background: color(~`colorPalette("@{primary-color}", 1)`); +} +.ant-calendar-week-number .ant-calendar-body tr.ant-calendar-active-week { + background: color(~`colorPalette("@{primary-color}", 2)`); +} +.ant-calendar-week-number .ant-calendar-body tr .ant-calendar-selected-day .ant-calendar-date, +.ant-calendar-week-number .ant-calendar-body tr .ant-calendar-selected-day:hover .ant-calendar-date { + background: transparent; + color: rgba(0, 0, 0, 0.65); +} +.ant-divider { + color: rgba(0, 0, 0, 0.65); + background: #e8e8e8; +} +.ant-divider-horizontal.ant-divider-with-text, +.ant-divider-horizontal.ant-divider-with-text-left, +.ant-divider-horizontal.ant-divider-with-text-right { + background: transparent; + color: rgba(0, 0, 0, 0.85); +} +.ant-divider-horizontal.ant-divider-with-text:before, +.ant-divider-horizontal.ant-divider-with-text-left:before, +.ant-divider-horizontal.ant-divider-with-text-right:before, +.ant-divider-horizontal.ant-divider-with-text:after, +.ant-divider-horizontal.ant-divider-with-text-left:after, +.ant-divider-horizontal.ant-divider-with-text-right:after { + border-top: 1px solid #e8e8e8; +} +.ant-divider-dashed { + background: none; + border-top: 1px dashed #e8e8e8; +} +.ant-divider-horizontal.ant-divider-with-text.ant-divider-dashed, +.ant-divider-horizontal.ant-divider-with-text-left.ant-divider-dashed, +.ant-divider-horizontal.ant-divider-with-text-right.ant-divider-dashed { + border-top: 0; +} +.ant-divider-horizontal.ant-divider-with-text.ant-divider-dashed:before, +.ant-divider-horizontal.ant-divider-with-text-left.ant-divider-dashed:before, +.ant-divider-horizontal.ant-divider-with-text-right.ant-divider-dashed:before, +.ant-divider-horizontal.ant-divider-with-text.ant-divider-dashed:after, +.ant-divider-horizontal.ant-divider-with-text-left.ant-divider-dashed:after, +.ant-divider-horizontal.ant-divider-with-text-right.ant-divider-dashed:after { + border-style: dashed none none; +} +.ant-drawer-left.ant-drawer-open .ant-drawer-content-wrapper { + box-shadow: 2px 0 8px rgba(0, 0, 0, 0.15); +} +.ant-drawer-right.ant-drawer-open .ant-drawer-content-wrapper { + box-shadow: -2px 0 8px rgba(0, 0, 0, 0.15); +} +.ant-drawer-top.ant-drawer-open .ant-drawer-content-wrapper { + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); +} +.ant-drawer-bottom.ant-drawer-open .ant-drawer-content-wrapper { + box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.15); +} +.ant-drawer-title { + color: rgba(0, 0, 0, 0.85); +} +.ant-drawer-content { + background-color: #fff; + border: 0; + background-clip: padding-box; +} +.ant-drawer-close { + border: 0; + background: transparent; + color: rgba(0, 0, 0, 0.45); +} +.ant-drawer-close:focus, +.ant-drawer-close:hover { + color: #444; +} +.ant-drawer-header { + border-radius: 4px 4px 0 0; + background: #fff; + color: rgba(0, 0, 0, 0.65); + border-bottom: 1px solid #e8e8e8; +} +.ant-drawer-mask { + background-color: rgba(0, 0, 0, 0.65); +} +.ant-drawer-open-content { + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); +} +.ant-dropdown { + color: rgba(0, 0, 0, 0.65); +} +.ant-dropdown-menu { + background-color: #fff; + border-radius: 4px; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); + background-clip: padding-box; +} +.ant-dropdown-menu-item-group-title { + color: rgba(0, 0, 0, 0.45); +} +.ant-dropdown-menu-item, +.ant-dropdown-menu-submenu-title { + color: rgba(0, 0, 0, 0.65); +} +.ant-dropdown-menu-item > a, +.ant-dropdown-menu-submenu-title > a { + color: rgba(0, 0, 0, 0.65); +} +.ant-dropdown-menu-item-selected, +.ant-dropdown-menu-submenu-title-selected, +.ant-dropdown-menu-item-selected > a, +.ant-dropdown-menu-submenu-title-selected > a { + color: @primary-color; + background-color: color(~`colorPalette("@{primary-color}", 1)`); +} +.ant-dropdown-menu-item:hover, +.ant-dropdown-menu-submenu-title:hover { + background-color: color(~`colorPalette("@{primary-color}", 1)`); +} +.ant-dropdown-menu-item-disabled, +.ant-dropdown-menu-submenu-title-disabled { + color: rgba(0, 0, 0, 0.25); +} +.ant-dropdown-menu-item-disabled:hover, +.ant-dropdown-menu-submenu-title-disabled:hover { + color: rgba(0, 0, 0, 0.25); + background-color: #fff; +} +.ant-dropdown-menu-item-divider, +.ant-dropdown-menu-submenu-title-divider { + background-color: #e8e8e8; +} +.ant-dropdown-menu-item .ant-dropdown-menu-submenu-arrow-icon, +.ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow-icon { + color: rgba(0, 0, 0, 0.45); +} +.ant-dropdown-menu-submenu.ant-dropdown-menu-submenu-disabled .ant-dropdown-menu-submenu-title, +.ant-dropdown-menu-submenu.ant-dropdown-menu-submenu-disabled .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow-icon { + color: rgba(0, 0, 0, 0.25); +} +.ant-dropdown-menu-dark, +.ant-dropdown-menu-dark .ant-dropdown-menu { + background: #001529; +} +.ant-dropdown-menu-dark .ant-dropdown-menu-item, +.ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title, +.ant-dropdown-menu-dark .ant-dropdown-menu-item > a { + color: rgba(255, 255, 255, 0.65); +} +.ant-dropdown-menu-dark .ant-dropdown-menu-item .ant-dropdown-menu-submenu-arrow:after, +.ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow:after, +.ant-dropdown-menu-dark .ant-dropdown-menu-item > a .ant-dropdown-menu-submenu-arrow:after { + color: rgba(255, 255, 255, 0.65); +} +.ant-dropdown-menu-dark .ant-dropdown-menu-item:hover, +.ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title:hover, +.ant-dropdown-menu-dark .ant-dropdown-menu-item > a:hover { + color: #fff; + background: transparent; +} +.ant-dropdown-menu-dark .ant-dropdown-menu-item-selected, +.ant-dropdown-menu-dark .ant-dropdown-menu-item-selected:hover, +.ant-dropdown-menu-dark .ant-dropdown-menu-item-selected > a { + background: @primary-color; + color: #fff; +} +.ant-form { + color: rgba(0, 0, 0, 0.65); +} +.ant-form legend { + color: rgba(0, 0, 0, 0.45); + border: 0; + border-bottom: 1px solid #d9d9d9; +} +.ant-form output { + color: rgba(0, 0, 0, 0.65); +} +.ant-form-item-required:before { + color: #f5222d; +} +.ant-form-item { + color: rgba(0, 0, 0, 0.65); +} +.ant-form-item-label label { + color: rgba(0, 0, 0, 0.85); +} +.ant-form-explain, +.ant-form-extra { + color: rgba(0, 0, 0, 0.45); +} +form .ant-upload { + background: transparent; +} +.ant-input-group-wrap .ant-select-selection { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.ant-input-group-wrap .ant-select-selection:hover { + border-color: #d9d9d9; +} +.ant-input-group-wrap .ant-select-selection--single { + background-color: #eee; +} +.ant-input-group-wrap .ant-select-open .ant-select-selection { + border-color: #d9d9d9; + box-shadow: none; +} +.has-success.has-feedback .ant-form-item-children-icon { + color: #52c41a; +} +.has-warning .ant-form-explain, +.has-warning .ant-form-split { + color: #faad14; +} +.has-warning .ant-input, +.has-warning .ant-input:hover { + border-color: #faad14; +} +.has-warning .ant-input:focus { + border-color: #ffc53d; + box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2); + border-right-width: 1px !important; +} +.has-warning .ant-input:not([disabled]):hover { + border-color: #faad14; +} +.has-warning .ant-calendar-picker-open .ant-calendar-picker-input { + border-color: #ffc53d; + box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2); + border-right-width: 1px !important; +} +.has-warning .ant-input-prefix { + color: #faad14; +} +.has-warning .ant-input-group-addon { + color: #faad14; + border-color: #faad14; + background-color: #fff; +} +.has-warning .has-feedback { + color: #faad14; +} +.has-warning.has-feedback .ant-form-item-children-icon { + color: #faad14; +} +.has-warning .ant-select-selection { + border-color: #faad14; +} +.has-warning .ant-select-open .ant-select-selection, +.has-warning .ant-select-focused .ant-select-selection { + border-color: #ffc53d; + box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2); + border-right-width: 1px !important; +} +.has-warning .ant-calendar-picker-icon:after, +.has-warning .ant-time-picker-icon:after, +.has-warning .ant-picker-icon:after, +.has-warning .ant-select-arrow, +.has-warning .ant-cascader-picker-arrow { + color: #faad14; +} +.has-warning .ant-input-number, +.has-warning .ant-time-picker-input { + border-color: #faad14; +} +.has-warning .ant-input-number-focused, +.has-warning .ant-time-picker-input-focused, +.has-warning .ant-input-number:focus, +.has-warning .ant-time-picker-input:focus { + border-color: #ffc53d; + box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2); + border-right-width: 1px !important; +} +.has-warning .ant-input-number:not([disabled]):hover, +.has-warning .ant-time-picker-input:not([disabled]):hover { + border-color: #faad14; +} +.has-warning .ant-cascader-picker:focus .ant-cascader-input { + border-color: #ffc53d; + box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2); + border-right-width: 1px !important; +} +.has-error .ant-form-explain, +.has-error .ant-form-split { + color: #f5222d; +} +.has-error .ant-input, +.has-error .ant-input:hover { + border-color: #f5222d; +} +.has-error .ant-input:focus { + border-color: #ff4d4f; + box-shadow: 0 0 0 2px rgba(245, 34, 45, 0.2); + border-right-width: 1px !important; +} +.has-error .ant-input:not([disabled]):hover { + border-color: #f5222d; +} +.has-error .ant-calendar-picker-open .ant-calendar-picker-input { + border-color: #ff4d4f; + box-shadow: 0 0 0 2px rgba(245, 34, 45, 0.2); + border-right-width: 1px !important; +} +.has-error .ant-input-prefix { + color: #f5222d; +} +.has-error .ant-input-group-addon { + color: #f5222d; + border-color: #f5222d; + background-color: #fff; +} +.has-error .has-feedback { + color: #f5222d; +} +.has-error.has-feedback .ant-form-item-children-icon { + color: #f5222d; +} +.has-error .ant-select-selection { + border-color: #f5222d; +} +.has-error .ant-select-open .ant-select-selection, +.has-error .ant-select-focused .ant-select-selection { + border-color: #ff4d4f; + box-shadow: 0 0 0 2px rgba(245, 34, 45, 0.2); + border-right-width: 1px !important; +} +.has-error .ant-select.ant-select-auto-complete .ant-input:focus { + border-color: #f5222d; +} +.has-error .ant-input-group-addon .ant-select-selection { + border-color: transparent; + box-shadow: none; +} +.has-error .ant-calendar-picker-icon:after, +.has-error .ant-time-picker-icon:after, +.has-error .ant-picker-icon:after, +.has-error .ant-select-arrow, +.has-error .ant-cascader-picker-arrow { + color: #f5222d; +} +.has-error .ant-input-number, +.has-error .ant-time-picker-input { + border-color: #f5222d; +} +.has-error .ant-input-number-focused, +.has-error .ant-time-picker-input-focused, +.has-error .ant-input-number:focus, +.has-error .ant-time-picker-input:focus { + border-color: #ff4d4f; + box-shadow: 0 0 0 2px rgba(245, 34, 45, 0.2); + border-right-width: 1px !important; +} +.has-error .ant-input-number:not([disabled]):hover, +.has-error .ant-time-picker-input:not([disabled]):hover { + border-color: #f5222d; +} +.has-error .ant-mention-wrapper .ant-mention-editor, +.has-error .ant-mention-wrapper .ant-mention-editor:not([disabled]):hover { + border-color: #f5222d; +} +.has-error .ant-mention-wrapper.ant-mention-active:not([disabled]) .ant-mention-editor, +.has-error .ant-mention-wrapper .ant-mention-editor:not([disabled]):focus { + border-color: #ff4d4f; + box-shadow: 0 0 0 2px rgba(245, 34, 45, 0.2); + border-right-width: 1px !important; +} +.has-error .ant-cascader-picker:focus .ant-cascader-input { + border-color: #ff4d4f; + box-shadow: 0 0 0 2px rgba(245, 34, 45, 0.2); + border-right-width: 1px !important; +} +.is-validating.has-feedback .ant-form-item-children-icon { + color: @primary-color; +} +.ant-input-number { + color: rgba(0, 0, 0, 0.65); + background-color: #fff; + background-image: none; + border: 1px solid #d9d9d9; + border-radius: 4px; +} +.ant-input-number::-moz-placeholder { + color: #bfbfbf; +} +.ant-input-number:-ms-input-placeholder { + color: #bfbfbf; +} +.ant-input-number::-webkit-input-placeholder { + color: #bfbfbf; +} +.ant-input-number:hover { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + border-right-width: 1px !important; +} +.ant-input-number:focus { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); + border-right-width: 1px !important; +} +.ant-input-number-disabled { + background-color: #f5f5f5; + color: rgba(0, 0, 0, 0.25); +} +.ant-input-number-disabled:hover { + border-color: #e6d8d8; + border-right-width: 1px !important; +} +.ant-input-number-handler { + color: rgba(0, 0, 0, 0.45); +} +.ant-input-number-handler:active { + background: #f4f4f4; +} +.ant-input-number-handler:hover .ant-input-number-handler-up-inner, +.ant-input-number-handler:hover .ant-input-number-handler-down-inner { + color: color(~`colorPalette("@{primary-color}", 5)`); +} +.ant-input-number-handler-up-inner, +.ant-input-number-handler-down-inner { + color: rgba(0, 0, 0, 0.45); +} +.ant-input-number:hover { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + border-right-width: 1px !important; +} +.ant-input-number-focused { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); + border-right-width: 1px !important; +} +.ant-input-number-disabled { + background-color: #f5f5f5; + color: rgba(0, 0, 0, 0.25); +} +.ant-input-number-disabled:hover { + border-color: #e6d8d8; + border-right-width: 1px !important; +} +.ant-input-number-input { + background-color: transparent; + border: 0; + border-radius: 4px; +} +.ant-input-number-input::-moz-placeholder { + color: #bfbfbf; +} +.ant-input-number-input:-ms-input-placeholder { + color: #bfbfbf; +} +.ant-input-number-input::-webkit-input-placeholder { + color: #bfbfbf; +} +.ant-input-number-handler-wrap { + border-left: 1px solid #d9d9d9; + background: #fff; + border-radius: 0 4px 4px 0; +} +.ant-input-number-handler-down { + border-top: 1px solid #d9d9d9; +} +.ant-input-number-handler-up-disabled:hover .ant-input-number-handler-up-inner, +.ant-input-number-handler-down-disabled:hover .ant-input-number-handler-down-inner { + color: rgba(0, 0, 0, 0.25); +} +.ant-input { + color: rgba(0, 0, 0, 0.65); + background-color: #fff; + background-image: none; + border: 1px solid #d9d9d9; + border-radius: 4px; +} +.ant-input::-moz-placeholder { + color: #bfbfbf; +} +.ant-input:-ms-input-placeholder { + color: #bfbfbf; +} +.ant-input::-webkit-input-placeholder { + color: #bfbfbf; +} +.ant-input:hover { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + border-right-width: 1px !important; +} +.ant-input:focus { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); + border-right-width: 1px !important; +} +.ant-input-disabled { + background-color: #f5f5f5; + color: rgba(0, 0, 0, 0.25); +} +.ant-input-disabled:hover { + border-color: #e6d8d8; + border-right-width: 1px !important; +} +.ant-input-group { + color: rgba(0, 0, 0, 0.65); + border-collapse: separate; + border-spacing: 0; +} +.ant-input-group-addon:not(:first-child):not(:last-child), +.ant-input-group-wrap:not(:first-child):not(:last-child), +.ant-input-group > .ant-input:not(:first-child):not(:last-child) { + border-radius: 0; +} +.ant-input-group .ant-input:focus { + border-right-width: 1px; +} +.ant-input-group .ant-input:hover { + border-right-width: 1px; +} +.ant-input-group-addon { + color: rgba(0, 0, 0, 0.65); + background-color: #fafafa; + border: 1px solid #d9d9d9; + border-radius: 4px; +} +.ant-input-group-addon .ant-select .ant-select-selection { + background-color: inherit; + border: 1px solid transparent; + box-shadow: none; +} +.ant-input-group-addon .ant-select-open .ant-select-selection, +.ant-input-group-addon .ant-select-focused .ant-select-selection { + color: @primary-color; +} +.ant-input-group > .ant-input:first-child, +.ant-input-group-addon:first-child { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.ant-input-group > .ant-input:first-child .ant-select .ant-select-selection, +.ant-input-group-addon:first-child .ant-select .ant-select-selection { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.ant-input-group > .ant-input-affix-wrapper:not(:first-child) .ant-input { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.ant-input-group > .ant-input-affix-wrapper:not(:last-child) .ant-input { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.ant-input-group-addon:first-child { + border-right: 0; +} +.ant-input-group-addon:last-child { + border-left: 0; +} +.ant-input-group > .ant-input:last-child, +.ant-input-group-addon:last-child { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.ant-input-group > .ant-input:last-child .ant-select .ant-select-selection, +.ant-input-group-addon:last-child .ant-select .ant-select-selection { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.ant-input-group.ant-input-group-compact-addon:not(:first-child):not(:last-child), +.ant-input-group.ant-input-group-compact-wrap:not(:first-child):not(:last-child), +.ant-input-group.ant-input-group-compact > .ant-input:not(:first-child):not(:last-child) { + border-right-width: 1px; + border-right-color: transparent; +} +.ant-input-group.ant-input-group-compact-addon:not(:first-child):not(:last-child):hover, +.ant-input-group.ant-input-group-compact-wrap:not(:first-child):not(:last-child):hover, +.ant-input-group.ant-input-group-compact > .ant-input:not(:first-child):not(:last-child):hover { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + border-right-width: 1px !important; +} +.ant-input-group.ant-input-group-compact-addon:not(:first-child):not(:last-child):focus, +.ant-input-group.ant-input-group-compact-wrap:not(:first-child):not(:last-child):focus, +.ant-input-group.ant-input-group-compact > .ant-input:not(:first-child):not(:last-child):focus { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); + border-right-width: 1px !important; +} +.ant-input-group.ant-input-group-compact > * { + border-radius: 0; + border-right-width: 0; +} +.ant-input-group.ant-input-group-compact > span:not(:last-child) > .ant-input { + border-right-width: 0; +} +.ant-input-group.ant-input-group-compact > .ant-select > .ant-select-selection, +.ant-input-group.ant-input-group-compact > .ant-calendar-picker .ant-input, +.ant-input-group.ant-input-group-compact > .ant-select-auto-complete .ant-input, +.ant-input-group.ant-input-group-compact > .ant-cascader-picker .ant-input, +.ant-input-group.ant-input-group-compact > .ant-mention-wrapper .ant-mention-editor, +.ant-input-group.ant-input-group-compact > .ant-time-picker .ant-time-picker-input { + border-radius: 0; + border-right-width: 1px; + border-right-color: transparent; +} +.ant-input-group.ant-input-group-compact > .ant-select > .ant-select-selection:hover, +.ant-input-group.ant-input-group-compact > .ant-calendar-picker .ant-input:hover, +.ant-input-group.ant-input-group-compact > .ant-select-auto-complete .ant-input:hover, +.ant-input-group.ant-input-group-compact > .ant-cascader-picker .ant-input:hover, +.ant-input-group.ant-input-group-compact > .ant-mention-wrapper .ant-mention-editor:hover, +.ant-input-group.ant-input-group-compact > .ant-time-picker .ant-time-picker-input:hover { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + border-right-width: 1px !important; +} +.ant-input-group.ant-input-group-compact > .ant-select > .ant-select-selection:focus, +.ant-input-group.ant-input-group-compact > .ant-calendar-picker .ant-input:focus, +.ant-input-group.ant-input-group-compact > .ant-select-auto-complete .ant-input:focus, +.ant-input-group.ant-input-group-compact > .ant-cascader-picker .ant-input:focus, +.ant-input-group.ant-input-group-compact > .ant-mention-wrapper .ant-mention-editor:focus, +.ant-input-group.ant-input-group-compact > .ant-time-picker .ant-time-picker-input:focus { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); + border-right-width: 1px !important; +} +.ant-input-group.ant-input-group-compact > *:first-child, +.ant-input-group.ant-input-group-compact > .ant-select:first-child > .ant-select-selection, +.ant-input-group.ant-input-group-compact > .ant-calendar-picker:first-child .ant-input, +.ant-input-group.ant-input-group-compact > .ant-select-auto-complete:first-child .ant-input, +.ant-input-group.ant-input-group-compact > .ant-cascader-picker:first-child .ant-input, +.ant-input-group.ant-input-group-compact > .ant-mention-wrapper:first-child .ant-mention-editor, +.ant-input-group.ant-input-group-compact > .ant-time-picker:first-child .ant-time-picker-input { + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; +} +.ant-input-group.ant-input-group-compact > *:last-child, +.ant-input-group.ant-input-group-compact > .ant-select:last-child > .ant-select-selection, +.ant-input-group.ant-input-group-compact > .ant-calendar-picker:last-child .ant-input, +.ant-input-group.ant-input-group-compact > .ant-select-auto-complete:last-child .ant-input, +.ant-input-group.ant-input-group-compact > .ant-cascader-picker:last-child .ant-input, +.ant-input-group.ant-input-group-compact > .ant-cascader-picker-focused:last-child .ant-input, +.ant-input-group.ant-input-group-compact > .ant-mention-wrapper:last-child .ant-mention-editor, +.ant-input-group.ant-input-group-compact > .ant-time-picker:last-child .ant-time-picker-input { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; + border-right-width: 1px; + border-right-color: #d9d9d9; +} +.ant-input-group.ant-input-group-compact > *:last-child:hover, +.ant-input-group.ant-input-group-compact > .ant-select:last-child > .ant-select-selection:hover, +.ant-input-group.ant-input-group-compact > .ant-calendar-picker:last-child .ant-input:hover, +.ant-input-group.ant-input-group-compact > .ant-select-auto-complete:last-child .ant-input:hover, +.ant-input-group.ant-input-group-compact > .ant-cascader-picker:last-child .ant-input:hover, +.ant-input-group.ant-input-group-compact > .ant-cascader-picker-focused:last-child .ant-input:hover, +.ant-input-group.ant-input-group-compact > .ant-mention-wrapper:last-child .ant-mention-editor:hover, +.ant-input-group.ant-input-group-compact > .ant-time-picker:last-child .ant-time-picker-input:hover { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + border-right-width: 1px !important; +} +.ant-input-group.ant-input-group-compact > *:last-child:focus, +.ant-input-group.ant-input-group-compact > .ant-select:last-child > .ant-select-selection:focus, +.ant-input-group.ant-input-group-compact > .ant-calendar-picker:last-child .ant-input:focus, +.ant-input-group.ant-input-group-compact > .ant-select-auto-complete:last-child .ant-input:focus, +.ant-input-group.ant-input-group-compact > .ant-cascader-picker:last-child .ant-input:focus, +.ant-input-group.ant-input-group-compact > .ant-cascader-picker-focused:last-child .ant-input:focus, +.ant-input-group.ant-input-group-compact > .ant-mention-wrapper:last-child .ant-mention-editor:focus, +.ant-input-group.ant-input-group-compact > .ant-time-picker:last-child .ant-time-picker-input:focus { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); + border-right-width: 1px !important; +} +.ant-input-group.ant-input-group-compact > *:last-child:focus .ant-cascader-input, +.ant-input-group.ant-input-group-compact > .ant-select:last-child > .ant-select-selection:focus .ant-cascader-input, +.ant-input-group.ant-input-group-compact > .ant-calendar-picker:last-child .ant-input:focus .ant-cascader-input, +.ant-input-group.ant-input-group-compact > .ant-select-auto-complete:last-child .ant-input:focus .ant-cascader-input, +.ant-input-group.ant-input-group-compact > .ant-cascader-picker:last-child .ant-input:focus .ant-cascader-input, +.ant-input-group.ant-input-group-compact > .ant-cascader-picker-focused:last-child .ant-input:focus .ant-cascader-input, +.ant-input-group.ant-input-group-compact > .ant-mention-wrapper:last-child .ant-mention-editor:focus .ant-cascader-input, +.ant-input-group.ant-input-group-compact > .ant-time-picker:last-child .ant-time-picker-input:focus .ant-cascader-input { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); + border-right-width: 1px !important; +} +.ant-input-affix-wrapper { + color: rgba(0, 0, 0, 0.65); +} +.ant-input-affix-wrapper:hover .ant-input:not(.ant-input-disabled) { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + border-right-width: 1px !important; +} +.ant-input-affix-wrapper .ant-input-prefix, +.ant-input-affix-wrapper .ant-input-suffix { + color: rgba(0, 0, 0, 0.65); +} +.ant-input-search-icon { + color: rgba(0, 0, 0, 0.45); +} +.ant-input-search-icon:hover { + color: #333; +} +.ant-input-search > .ant-input-suffix > .ant-input-search-button { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.ant-layout { + background: #f0f2f5; +} +.ant-layout-header { + background: #001529; +} +.ant-layout-footer { + background: #f0f2f5; + color: rgba(0, 0, 0, 0.65); +} +.ant-layout-sider { + background: #001529; +} +.ant-layout-sider-trigger { + color: #fff; + background: #002140; +} +.ant-layout-sider-zero-width-trigger { + background: #001529; + color: #fff; + border-radius: 0 4px 4px 0; +} +.ant-layout-sider-zero-width-trigger:hover { + background: #192c3e; +} +.ant-layout-sider-light { + background: #fff; +} +.ant-layout-sider-light .ant-layout-sider-trigger { + color: rgba(0, 0, 0, 0.65); + background: #fff; +} +.ant-layout-sider-light .ant-layout-sider-zero-width-trigger { + color: rgba(0, 0, 0, 0.65); + background: #fff; +} +.ant-list { + color: rgba(0, 0, 0, 0.65); +} +.ant-list-empty-text { + color: rgba(0, 0, 0, 0.45); +} +.ant-list-item-meta-title { + color: rgba(0, 0, 0, 0.65); +} +.ant-list-item-meta-title > a { + color: rgba(0, 0, 0, 0.65); +} +.ant-list-item-meta-title > a:hover { + color: @primary-color; +} +.ant-list-item-meta-description { + color: rgba(0, 0, 0, 0.45); +} +.ant-list-item-action > li { + color: rgba(0, 0, 0, 0.45); +} +.ant-list-item-action-split { + background-color: #e8e8e8; +} +.ant-list-empty { + color: rgba(0, 0, 0, 0.45); +} +.ant-list-split .ant-list-item { + border-bottom: 1px solid #e8e8e8; +} +.ant-list-split .ant-list-item:last-child { + border-bottom: none; +} +.ant-list-split .ant-list-header { + border-bottom: 1px solid #e8e8e8; +} +.ant-list-something-after-last-item .ant-spin-container > .ant-list-item:last-child { + border-bottom: 1px solid #e8e8e8; +} +.ant-list-vertical .ant-list-item-meta-title { + color: rgba(0, 0, 0, 0.85); +} +.ant-list-vertical .ant-list-item-content { + color: rgba(0, 0, 0, 0.65); +} +.ant-list-grid .ant-list-item { + border-bottom: none; +} +.ant-list-bordered { + border-radius: 4px; + border: 1px solid #d9d9d9; +} +.ant-list-bordered .ant-list-item { + border-bottom: 1px solid #e8e8e8; +} +.ant-mention-wrapper { + color: rgba(0, 0, 0, 0.65); +} +.ant-mention-wrapper .ant-mention-editor { + color: rgba(0, 0, 0, 0.65); + background-color: #fff; + background-image: none; + border: 1px solid #d9d9d9; + border-radius: 4px; +} +.ant-mention-wrapper .ant-mention-editor::-moz-placeholder { + color: #bfbfbf; +} +.ant-mention-wrapper .ant-mention-editor:-ms-input-placeholder { + color: #bfbfbf; +} +.ant-mention-wrapper .ant-mention-editor::-webkit-input-placeholder { + color: #bfbfbf; +} +.ant-mention-wrapper .ant-mention-editor:hover { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + border-right-width: 1px !important; +} +.ant-mention-wrapper .ant-mention-editor:focus { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); + border-right-width: 1px !important; +} +.ant-mention-wrapper .ant-mention-editor-disabled { + background-color: #f5f5f5; + color: rgba(0, 0, 0, 0.25); +} +.ant-mention-wrapper .ant-mention-editor-disabled:hover { + border-color: #e6d8d8; + border-right-width: 1px !important; +} +.ant-mention-wrapper.ant-mention-active:not(.disabled) .ant-mention-editor { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); + border-right-width: 1px !important; +} +.ant-mention-wrapper.disabled .ant-mention-editor { + background-color: #f5f5f5; + color: rgba(0, 0, 0, 0.25); +} +.ant-mention-wrapper.disabled .ant-mention-editor:hover { + border-color: #e6d8d8; + border-right-width: 1px !important; +} +.ant-mention-wrapper .public-DraftEditorPlaceholder-root .public-DraftEditorPlaceholder-inner { + color: #bfbfbf; +} +.ant-mention-dropdown { + color: rgba(0, 0, 0, 0.65); + background-color: #fff; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); + border-radius: 4px; +} +.ant-mention-dropdown-notfound.ant-mention-dropdown-item { + color: rgba(0, 0, 0, 0.25); +} +.ant-mention-dropdown-notfound.ant-mention-dropdown-item .anticon-loading { + color: @primary-color; +} +.ant-mention-dropdown-item { + color: rgba(0, 0, 0, 0.65); +} +.ant-mention-dropdown-item:hover { + background-color: color(~`colorPalette("@{primary-color}", 1)`); +} +.ant-mention-dropdown-item.focus, +.ant-mention-dropdown-item-active { + background-color: color(~`colorPalette("@{primary-color}", 1)`); +} +.ant-mention-dropdown-item-disabled { + color: rgba(0, 0, 0, 0.25); +} +.ant-mention-dropdown-item-disabled:hover { + color: rgba(0, 0, 0, 0.25); + background-color: #fff; +} +.ant-mention-dropdown-item-selected, +.ant-mention-dropdown-item-selected:hover { + background-color: #f5f5f5; + color: rgba(0, 0, 0, 0.65); +} +.ant-mention-dropdown-item-divider { + background-color: #e8e8e8; +} +.ant-menu { + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); + color: rgba(0, 0, 0, 0.65); + background: #fff; +} +.ant-menu-item-group-title { + color: rgba(0, 0, 0, 0.45); +} +.ant-menu-item:active, +.ant-menu-submenu-title:active { + background: color(~`colorPalette("@{primary-color}", 1)`); +} +.ant-menu-item > a { + color: rgba(0, 0, 0, 0.65); +} +.ant-menu-item > a:hover { + color: @primary-color; +} +.ant-menu-item > a:before { + background-color: transparent; +} +.ant-menu-item-divider { + background-color: #e8e8e8; +} +.ant-menu-item:hover, +.ant-menu-item-active, +.ant-menu:not(.ant-menu-inline) .ant-menu-submenu-open, +.ant-menu-submenu-active, +.ant-menu-submenu-title:hover { + color: @primary-color; +} +.ant-menu-horizontal > .ant-menu-item:hover, +.ant-menu-horizontal > .ant-menu-item-active, +.ant-menu-horizontal > .ant-menu-submenu .ant-menu-submenu-title:hover { + background-color: transparent; +} +.ant-menu-item-selected { + color: @primary-color; +} +.ant-menu-item-selected > a, +.ant-menu-item-selected > a:hover { + color: @primary-color; +} +.ant-menu:not(.ant-menu-horizontal) .ant-menu-item-selected { + background-color: color(~`colorPalette("@{primary-color}", 1)`); +} +.ant-menu-inline, +.ant-menu-vertical, +.ant-menu-vertical-left { + border-right: 1px solid #e8e8e8; +} +.ant-menu-vertical-right { + border-left: 1px solid #e8e8e8; +} +.ant-menu-vertical.ant-menu-sub, +.ant-menu-vertical-left.ant-menu-sub, +.ant-menu-vertical-right.ant-menu-sub { + border-right: 0; +} +.ant-menu-vertical.ant-menu-sub .ant-menu-item, +.ant-menu-vertical-left.ant-menu-sub .ant-menu-item, +.ant-menu-vertical-right.ant-menu-sub .ant-menu-item { + border-right: 0; +} +.ant-menu-vertical.ant-menu-sub .ant-menu-item:after, +.ant-menu-vertical-left.ant-menu-sub .ant-menu-item:after, +.ant-menu-vertical-right.ant-menu-sub .ant-menu-item:after { + border-right: 0; +} +.ant-menu > .ant-menu-item-divider { + background-color: #e8e8e8; +} +.ant-menu-submenu-popup { + border-radius: 4px; +} +.ant-menu-submenu > .ant-menu { + background-color: #fff; + border-radius: 4px; +} +.ant-menu-submenu-vertical > .ant-menu-submenu-title .ant-menu-submenu-arrow:before, +.ant-menu-submenu-vertical-left > .ant-menu-submenu-title .ant-menu-submenu-arrow:before, +.ant-menu-submenu-vertical-right > .ant-menu-submenu-title .ant-menu-submenu-arrow:before, +.ant-menu-submenu-inline > .ant-menu-submenu-title .ant-menu-submenu-arrow:before, +.ant-menu-submenu-vertical > .ant-menu-submenu-title .ant-menu-submenu-arrow:after, +.ant-menu-submenu-vertical-left > .ant-menu-submenu-title .ant-menu-submenu-arrow:after, +.ant-menu-submenu-vertical-right > .ant-menu-submenu-title .ant-menu-submenu-arrow:after, +.ant-menu-submenu-inline > .ant-menu-submenu-title .ant-menu-submenu-arrow:after { + background: #fff; + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0.65)); + border-radius: 2px; +} +.ant-menu-submenu-vertical > .ant-menu-submenu-title:hover .ant-menu-submenu-arrow:after, +.ant-menu-submenu-vertical-left > .ant-menu-submenu-title:hover .ant-menu-submenu-arrow:after, +.ant-menu-submenu-vertical-right > .ant-menu-submenu-title:hover .ant-menu-submenu-arrow:after, +.ant-menu-submenu-inline > .ant-menu-submenu-title:hover .ant-menu-submenu-arrow:after, +.ant-menu-submenu-vertical > .ant-menu-submenu-title:hover .ant-menu-submenu-arrow:before, +.ant-menu-submenu-vertical-left > .ant-menu-submenu-title:hover .ant-menu-submenu-arrow:before, +.ant-menu-submenu-vertical-right > .ant-menu-submenu-title:hover .ant-menu-submenu-arrow:before, +.ant-menu-submenu-inline > .ant-menu-submenu-title:hover .ant-menu-submenu-arrow:before { + background: linear-gradient(to right, @primary-color, @primary-color); +} +.ant-menu-vertical .ant-menu-submenu-selected, +.ant-menu-vertical-left .ant-menu-submenu-selected, +.ant-menu-vertical-right .ant-menu-submenu-selected { + color: @primary-color; +} +.ant-menu-vertical .ant-menu-submenu-selected > a, +.ant-menu-vertical-left .ant-menu-submenu-selected > a, +.ant-menu-vertical-right .ant-menu-submenu-selected > a { + color: @primary-color; +} +.ant-menu-horizontal { + border: 0; + border-bottom: 1px solid #e8e8e8; + box-shadow: none; +} +.ant-menu-horizontal > .ant-menu-item, +.ant-menu-horizontal > .ant-menu-submenu { + border-bottom: 2px solid transparent; +} +.ant-menu-horizontal > .ant-menu-item:hover, +.ant-menu-horizontal > .ant-menu-submenu:hover, +.ant-menu-horizontal > .ant-menu-item-active, +.ant-menu-horizontal > .ant-menu-submenu-active, +.ant-menu-horizontal > .ant-menu-item-open, +.ant-menu-horizontal > .ant-menu-submenu-open, +.ant-menu-horizontal > .ant-menu-item-selected, +.ant-menu-horizontal > .ant-menu-submenu-selected { + border-bottom: 2px solid @primary-color; + color: @primary-color; +} +.ant-menu-horizontal > .ant-menu-item > a { + color: rgba(0, 0, 0, 0.65); +} +.ant-menu-horizontal > .ant-menu-item > a:hover { + color: @primary-color; +} +.ant-menu-horizontal > .ant-menu-item-selected > a { + color: @primary-color; +} +.ant-menu-vertical .ant-menu-item:after, +.ant-menu-vertical-left .ant-menu-item:after, +.ant-menu-vertical-right .ant-menu-item:after, +.ant-menu-inline .ant-menu-item:after { + border-right: 3px solid @primary-color; +} +.ant-menu-inline-collapsed-tooltip a { + color: rgba(255, 255, 255, 0.85); +} +.ant-menu-root.ant-menu-vertical, +.ant-menu-root.ant-menu-vertical-left, +.ant-menu-root.ant-menu-vertical-right, +.ant-menu-root.ant-menu-inline { + box-shadow: none; +} +.ant-menu-sub.ant-menu-inline { + border: 0; + box-shadow: none; + border-radius: 0; +} +.ant-menu-item-disabled, +.ant-menu-submenu-disabled { + color: rgba(0, 0, 0, 0.25) !important; + background: none; + border-color: transparent !important; +} +.ant-menu-item-disabled > a, +.ant-menu-submenu-disabled > a { + color: rgba(0, 0, 0, 0.25) !important; +} +.ant-menu-item-disabled > .ant-menu-submenu-title, +.ant-menu-submenu-disabled > .ant-menu-submenu-title { + color: rgba(0, 0, 0, 0.25) !important; +} +.ant-menu-item-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow:before, +.ant-menu-submenu-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow:before, +.ant-menu-item-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow:after, +.ant-menu-submenu-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow:after { + background: rgba(0, 0, 0, 0.25) !important; +} +.ant-menu-dark, +.ant-menu-dark .ant-menu-sub { + color: rgba(255, 255, 255, 0.65); + background: #001529; +} +.ant-menu-dark .ant-menu-submenu-title .ant-menu-submenu-arrow:after, +.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow:after, +.ant-menu-dark .ant-menu-submenu-title .ant-menu-submenu-arrow:before, +.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow:before { + background: #fff; +} +.ant-menu-dark.ant-menu-submenu-popup { + background: transparent; +} +.ant-menu-dark .ant-menu-inline.ant-menu-sub { + background: #000c17; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.45) inset; +} +.ant-menu-dark.ant-menu-horizontal { + border-bottom: 0; +} +.ant-menu-dark.ant-menu-horizontal > .ant-menu-item, +.ant-menu-dark.ant-menu-horizontal > .ant-menu-submenu { + border-color: #001529; + border-bottom: 0; +} +.ant-menu-dark .ant-menu-item, +.ant-menu-dark .ant-menu-item-group-title, +.ant-menu-dark .ant-menu-item > a { + color: rgba(255, 255, 255, 0.65); +} +.ant-menu-dark.ant-menu-inline, +.ant-menu-dark.ant-menu-vertical, +.ant-menu-dark.ant-menu-vertical-left, +.ant-menu-dark.ant-menu-vertical-right { + border-right: 0; +} +.ant-menu-dark.ant-menu-inline .ant-menu-item, +.ant-menu-dark.ant-menu-vertical .ant-menu-item, +.ant-menu-dark.ant-menu-vertical-left .ant-menu-item, +.ant-menu-dark.ant-menu-vertical-right .ant-menu-item { + border-right: 0; +} +.ant-menu-dark.ant-menu-inline .ant-menu-item:after, +.ant-menu-dark.ant-menu-vertical .ant-menu-item:after, +.ant-menu-dark.ant-menu-vertical-left .ant-menu-item:after, +.ant-menu-dark.ant-menu-vertical-right .ant-menu-item:after { + border-right: 0; +} +.ant-menu-dark .ant-menu-item:hover, +.ant-menu-dark .ant-menu-item-active, +.ant-menu-dark .ant-menu-submenu-active, +.ant-menu-dark .ant-menu-submenu-open, +.ant-menu-dark .ant-menu-submenu-selected, +.ant-menu-dark .ant-menu-submenu-title:hover { + background-color: transparent; + color: #fff; +} +.ant-menu-dark .ant-menu-item:hover > a, +.ant-menu-dark .ant-menu-item-active > a, +.ant-menu-dark .ant-menu-submenu-active > a, +.ant-menu-dark .ant-menu-submenu-open > a, +.ant-menu-dark .ant-menu-submenu-selected > a, +.ant-menu-dark .ant-menu-submenu-title:hover > a { + color: #fff; +} +.ant-menu-dark .ant-menu-item:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow:after, +.ant-menu-dark .ant-menu-item-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow:after, +.ant-menu-dark .ant-menu-submenu-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow:after, +.ant-menu-dark .ant-menu-submenu-open > .ant-menu-submenu-title > .ant-menu-submenu-arrow:after, +.ant-menu-dark .ant-menu-submenu-selected > .ant-menu-submenu-title > .ant-menu-submenu-arrow:after, +.ant-menu-dark .ant-menu-submenu-title:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow:after, +.ant-menu-dark .ant-menu-item:hover > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow:after, +.ant-menu-dark .ant-menu-item-active > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow:after, +.ant-menu-dark .ant-menu-submenu-active > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow:after, +.ant-menu-dark .ant-menu-submenu-open > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow:after, +.ant-menu-dark .ant-menu-submenu-selected > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow:after, +.ant-menu-dark .ant-menu-submenu-title:hover > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow:after, +.ant-menu-dark .ant-menu-item:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow:before, +.ant-menu-dark .ant-menu-item-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow:before, +.ant-menu-dark .ant-menu-submenu-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow:before, +.ant-menu-dark .ant-menu-submenu-open > .ant-menu-submenu-title > .ant-menu-submenu-arrow:before, +.ant-menu-dark .ant-menu-submenu-selected > .ant-menu-submenu-title > .ant-menu-submenu-arrow:before, +.ant-menu-dark .ant-menu-submenu-title:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow:before, +.ant-menu-dark .ant-menu-item:hover > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow:before, +.ant-menu-dark .ant-menu-item-active > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow:before, +.ant-menu-dark .ant-menu-submenu-active > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow:before, +.ant-menu-dark .ant-menu-submenu-open > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow:before, +.ant-menu-dark .ant-menu-submenu-selected > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow:before, +.ant-menu-dark .ant-menu-submenu-title:hover > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow:before { + background: #fff; +} +.ant-menu-dark .ant-menu-item-selected { + border-right: 0; + color: #fff; +} +.ant-menu-dark .ant-menu-item-selected:after { + border-right: 0; +} +.ant-menu-dark .ant-menu-item-selected > a, +.ant-menu-dark .ant-menu-item-selected > a:hover { + color: #fff; +} +.ant-menu.ant-menu-dark .ant-menu-item-selected, +.ant-menu-submenu-popup.ant-menu-dark .ant-menu-item-selected { + background-color: @primary-color; +} +.ant-menu-dark .ant-menu-item-disabled, +.ant-menu-dark .ant-menu-submenu-disabled, +.ant-menu-dark .ant-menu-item-disabled > a, +.ant-menu-dark .ant-menu-submenu-disabled > a { + color: rgba(255, 255, 255, 0.35) !important; +} +.ant-menu-dark .ant-menu-item-disabled > .ant-menu-submenu-title, +.ant-menu-dark .ant-menu-submenu-disabled > .ant-menu-submenu-title { + color: rgba(255, 255, 255, 0.35) !important; +} +.ant-menu-dark .ant-menu-item-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow:before, +.ant-menu-dark .ant-menu-submenu-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow:before, +.ant-menu-dark .ant-menu-item-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow:after, +.ant-menu-dark .ant-menu-submenu-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow:after { + background: rgba(255, 255, 255, 0.35) !important; +} +.ant-message { + color: rgba(0, 0, 0, 0.65); +} +.ant-message-notice-content { + border-radius: 4px; + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); + background: #fff; +} +.ant-message-success .anticon { + color: #52c41a; +} +.ant-message-error .anticon { + color: #f5222d; +} +.ant-message-warning .anticon { + color: #faad14; +} +.ant-message-info .anticon, +.ant-message-loading .anticon { + color: @primary-color; +} +.ant-modal { + color: rgba(0, 0, 0, 0.65); +} +.ant-modal-title { + color: rgba(0, 0, 0, 0.85); +} +.ant-modal-content { + background-color: #fff; + border: 0; + border-radius: 4px; + background-clip: padding-box; + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); +} +.ant-modal-close { + border: 0; + background: transparent; + color: rgba(0, 0, 0, 0.45); +} +.ant-modal-close:focus, +.ant-modal-close:hover { + color: #444; +} +.ant-modal-header { + border-radius: 4px 4px 0 0; + background: #fff; + color: rgba(0, 0, 0, 0.65); + border-bottom: 1px solid #e8e8e8; +} +.ant-modal-footer { + border-top: 1px solid #e8e8e8; + border-radius: 0 0 4px 4px; +} +.ant-modal-mask { + background-color: rgba(0, 0, 0, 0.65); +} +.ant-confirm-body .ant-confirm-title { + color: rgba(0, 0, 0, 0.85); +} +.ant-confirm-body .ant-confirm-content { + color: rgba(0, 0, 0, 0.65); +} +.ant-confirm-error .ant-confirm-body > .anticon { + color: #f5222d; +} +.ant-confirm-warning .ant-confirm-body > .anticon, +.ant-confirm-confirm .ant-confirm-body > .anticon { + color: #faad14; +} +.ant-confirm-info .ant-confirm-body > .anticon { + color: @primary-color; +} +.ant-confirm-success .ant-confirm-body > .anticon { + color: #52c41a; +} +.ant-notification { + color: rgba(0, 0, 0, 0.65); +} +.ant-notification-notice { + border-radius: 4px; + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); + background: #fff; +} +.ant-notification-notice-message { + color: rgba(0, 0, 0, 0.85); +} +.ant-notification-notice-message-single-line-auto-margin { + background-color: transparent; +} +.ant-notification-notice-icon-success { + color: #52c41a; +} +.ant-notification-notice-icon-info { + color: @primary-color; +} +.ant-notification-notice-icon-warning { + color: #faad14; +} +.ant-notification-notice-icon-error { + color: #f5222d; +} +.ant-notification-notice-close { + color: rgba(0, 0, 0, 0.45); +} +.ant-notification-notice-close:hover { + color: rgba(0, 0, 0, 0.67); +} +.ant-pagination { + color: rgba(0, 0, 0, 0.65); +} +.ant-pagination-item { + border-radius: 4px; + border: 1px solid #d9d9d9; + background-color: #fff; +} +.ant-pagination-item a { + color: rgba(0, 0, 0, 0.65); +} +.ant-pagination-item:focus, +.ant-pagination-item:hover { + border-color: @primary-color; +} +.ant-pagination-item:focus a, +.ant-pagination-item:hover a { + color: @primary-color; +} +.ant-pagination-item-active { + border-color: @primary-color; +} +.ant-pagination-item-active a { + color: @primary-color; +} +.ant-pagination-item-active:focus, +.ant-pagination-item-active:hover { + border-color: color(~`colorPalette("@{primary-color}", 5)`); +} +.ant-pagination-item-active:focus a, +.ant-pagination-item-active:hover a { + color: color(~`colorPalette("@{primary-color}", 5)`); +} +.ant-pagination-jump-prev .ant-pagination-item-container .ant-pagination-item-link-icon, +.ant-pagination-jump-next .ant-pagination-item-container .ant-pagination-item-link-icon { + color: @primary-color; +} +.ant-pagination-jump-prev .ant-pagination-item-container .ant-pagination-item-ellipsis, +.ant-pagination-jump-next .ant-pagination-item-container .ant-pagination-item-ellipsis { + color: rgba(0, 0, 0, 0.25); +} +.ant-pagination-prev, +.ant-pagination-next, +.ant-pagination-jump-prev, +.ant-pagination-jump-next { + color: rgba(0, 0, 0, 0.65); + border-radius: 4px; +} +.ant-pagination-prev a, +.ant-pagination-next a { + color: rgba(0, 0, 0, 0.65); +} +.ant-pagination-prev:hover a, +.ant-pagination-next:hover a { + border-color: color(~`colorPalette("@{primary-color}", 5)`); +} +.ant-pagination-prev .ant-pagination-item-link, +.ant-pagination-next .ant-pagination-item-link { + border: 1px solid #d9d9d9; + background-color: #fff; + border-radius: 4px; +} +.ant-pagination-prev:focus .ant-pagination-item-link, +.ant-pagination-next:focus .ant-pagination-item-link, +.ant-pagination-prev:hover .ant-pagination-item-link, +.ant-pagination-next:hover .ant-pagination-item-link { + border-color: @primary-color; + color: @primary-color; +} +.ant-pagination-disabled a, +.ant-pagination-disabled:hover a, +.ant-pagination-disabled:focus a, +.ant-pagination-disabled .ant-pagination-item-link, +.ant-pagination-disabled:hover .ant-pagination-item-link, +.ant-pagination-disabled:focus .ant-pagination-item-link { + border-color: #d9d9d9; + color: rgba(0, 0, 0, 0.25); +} +.ant-pagination-options-quick-jumper input { + color: rgba(0, 0, 0, 0.65); + background-color: #fff; + background-image: none; + border: 1px solid #d9d9d9; + border-radius: 4px; +} +.ant-pagination-options-quick-jumper input::-moz-placeholder { + color: #bfbfbf; +} +.ant-pagination-options-quick-jumper input:-ms-input-placeholder { + color: #bfbfbf; +} +.ant-pagination-options-quick-jumper input::-webkit-input-placeholder { + color: #bfbfbf; +} +.ant-pagination-options-quick-jumper input:hover { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + border-right-width: 1px !important; +} +.ant-pagination-options-quick-jumper input:focus { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); + border-right-width: 1px !important; +} +.ant-pagination-options-quick-jumper input-disabled { + background-color: #f5f5f5; + color: rgba(0, 0, 0, 0.25); +} +.ant-pagination-options-quick-jumper input-disabled:hover { + border-color: #e6d8d8; + border-right-width: 1px !important; +} +.ant-pagination-simple .ant-pagination-prev .ant-pagination-item-link, +.ant-pagination-simple .ant-pagination-next .ant-pagination-item-link { + border: 0; +} +.ant-pagination-simple .ant-pagination-simple-pager input { + background-color: #fff; + border-radius: 4px; + border: 1px solid #d9d9d9; +} +.ant-pagination-simple .ant-pagination-simple-pager input:hover { + border-color: @primary-color; +} +.ant-pagination.mini .ant-pagination-item:not(.ant-pagination-item-active) { + background: transparent; + border-color: transparent; +} +.ant-pagination.mini .ant-pagination-prev .ant-pagination-item-link, +.ant-pagination.mini .ant-pagination-next .ant-pagination-item-link { + border-color: transparent; + background: transparent; +} +.ant-popover { + color: rgba(0, 0, 0, 0.65); +} +.ant-popover:after { + background: rgba(255, 255, 255, 0.01); +} +.ant-popover-inner { + background-color: #fff; + background-clip: padding-box; + border-radius: 4px; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); +} +.ant-popover-title { + border-bottom: 1px solid #e8e8e8; + color: rgba(0, 0, 0, 0.85); +} +.ant-popover-inner-content { + color: rgba(0, 0, 0, 0.65); +} +.ant-popover-message { + color: rgba(0, 0, 0, 0.65); +} +.ant-popover-message > .anticon { + color: #faad14; +} +.ant-popover-arrow { + background: #fff; + border-color: transparent; + border-style: solid; +} +.ant-popover-placement-top > .ant-popover-content > .ant-popover-arrow, +.ant-popover-placement-topLeft > .ant-popover-content > .ant-popover-arrow, +.ant-popover-placement-topRight > .ant-popover-content > .ant-popover-arrow { + box-shadow: 3px 3px 7px rgba(0, 0, 0, 0.07); +} +.ant-popover-placement-right > .ant-popover-content > .ant-popover-arrow, +.ant-popover-placement-rightTop > .ant-popover-content > .ant-popover-arrow, +.ant-popover-placement-rightBottom > .ant-popover-content > .ant-popover-arrow { + box-shadow: -3px 3px 7px rgba(0, 0, 0, 0.07); +} +.ant-popover-placement-bottom > .ant-popover-content > .ant-popover-arrow, +.ant-popover-placement-bottomLeft > .ant-popover-content > .ant-popover-arrow, +.ant-popover-placement-bottomRight > .ant-popover-content > .ant-popover-arrow { + box-shadow: -2px -2px 5px rgba(0, 0, 0, 0.06); +} +.ant-popover-placement-left > .ant-popover-content > .ant-popover-arrow, +.ant-popover-placement-leftTop > .ant-popover-content > .ant-popover-arrow, +.ant-popover-placement-leftBottom > .ant-popover-content > .ant-popover-arrow { + box-shadow: 3px -3px 7px rgba(0, 0, 0, 0.07); +} +.ant-progress { + color: rgba(0, 0, 0, 0.65); +} +.ant-progress-inner { + background-color: #f5f5f5; + border-radius: 100px; +} +.ant-progress-success-bg, +.ant-progress-bg { + background-color: @primary-color; +} +.ant-progress-success-bg { + background-color: #52c41a; +} +.ant-progress-text { + color: rgba(0, 0, 0, 0.45); +} +.ant-progress-status-active .ant-progress-bg:before { + background: #fff; + border-radius: 10px; +} +.ant-progress-status-exception .ant-progress-bg { + background-color: #f5222d; +} +.ant-progress-status-exception .ant-progress-text { + color: #f5222d; +} +.ant-progress-status-success .ant-progress-bg { + background-color: #52c41a; +} +.ant-progress-status-success .ant-progress-text { + color: #52c41a; +} +.ant-progress-circle .ant-progress-inner { + background-color: transparent; +} +.ant-progress-circle .ant-progress-text { + color: rgba(0, 0, 0, 0.65); +} +.ant-progress-circle.ant-progress-status-exception .ant-progress-text { + color: #f5222d; +} +.ant-progress-circle.ant-progress-status-success .ant-progress-text { + color: #52c41a; +} +.ant-radio-group { + color: rgba(0, 0, 0, 0.65); +} +.ant-radio-wrapper { + color: rgba(0, 0, 0, 0.65); +} +.ant-radio { + color: rgba(0, 0, 0, 0.65); +} +.ant-radio-wrapper:hover .ant-radio .ant-radio-inner, +.ant-radio:hover .ant-radio-inner, +.ant-radio-focused .ant-radio-inner { + border-color: @primary-color; +} +.ant-radio-checked:after { + border-radius: 50%; + border: 1px solid @primary-color; +} +.ant-radio-inner { + border-width: 1px; + border-style: solid; + border-radius: 100px; + border-color: #d9d9d9; + background-color: #fff; +} +.ant-radio-inner:after { + border-radius: 8px; + border-top: 0; + border-left: 0; + background-color: @primary-color; +} +.ant-radio-checked .ant-radio-inner { + border-color: @primary-color; +} +.ant-radio-disabled .ant-radio-inner { + border-color: #d9d9d9 !important; + background-color: #f5f5f5; +} +.ant-radio-disabled .ant-radio-inner:after { + background-color: #ccc; +} +.ant-radio-disabled + span { + color: rgba(0, 0, 0, 0.25); +} +.ant-radio-button-wrapper { + color: rgba(0, 0, 0, 0.65); + border: 1px solid #d9d9d9; + border-left: 0; + border-top-width: 1.02px; + background: #fff; +} +.ant-radio-button-wrapper a { + color: rgba(0, 0, 0, 0.65); +} +.ant-radio-button-wrapper:not(:first-child)::before { + background-color: #d9d9d9; +} +.ant-radio-button-wrapper:first-child { + border-radius: 4px 0 0 4px; + border-left: 1px solid #d9d9d9; +} +.ant-radio-button-wrapper:last-child { + border-radius: 0 4px 4px 0; +} +.ant-radio-button-wrapper:first-child:last-child { + border-radius: 4px; +} +.ant-radio-button-wrapper:hover, +.ant-radio-button-wrapper-focused { + color: @primary-color; +} +.ant-radio-button-wrapper-checked { + background: #fff; + border-color: @primary-color; + color: @primary-color; + box-shadow: -1px 0 0 0 @primary-color; +} +.ant-radio-button-wrapper-checked::before { + background-color: @primary-color !important; +} +.ant-radio-button-wrapper-checked:first-child { + border-color: @primary-color; + box-shadow: none !important; +} +.ant-radio-button-wrapper-checked:hover { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + box-shadow: -1px 0 0 0 color(~`colorPalette("@{primary-color}", 5)`); + color: color(~`colorPalette("@{primary-color}", 5)`); +} +.ant-radio-button-wrapper-checked:active { + border-color: color(~`colorPalette("@{primary-color}", 7)`); + box-shadow: -1px 0 0 0 color(~`colorPalette("@{primary-color}", 7)`); + color: color(~`colorPalette("@{primary-color}", 7)`); +} +.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled) { + background: @primary-color; + border-color: @primary-color; + color: #fff; +} +.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + background: color(~`colorPalette("@{primary-color}", 5)`); + color: #fff; +} +.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):active { + border-color: color(~`colorPalette("@{primary-color}", 7)`); + background: color(~`colorPalette("@{primary-color}", 7)`); + color: #fff; +} +.ant-radio-button-wrapper-disabled { + border-color: #d9d9d9; + background-color: #f5f5f5; + color: rgba(0, 0, 0, 0.25); +} +.ant-radio-button-wrapper-disabled:first-child, +.ant-radio-button-wrapper-disabled:hover { + border-color: #d9d9d9; + background-color: #f5f5f5; + color: rgba(0, 0, 0, 0.25); +} +.ant-radio-button-wrapper-disabled:first-child { + border-left-color: #d9d9d9; +} +.ant-radio-button-wrapper-disabled.ant-radio-button-wrapper-checked { + color: #fff; + background-color: #e6e6e6; + border-color: #d9d9d9; + box-shadow: none; +} +.ant-rate { + color: rgba(0, 0, 0, 0.65); + color: #fadb14; +} +.ant-rate-star { + color: inherit; +} +.ant-rate-star-first, +.ant-rate-star-second { + color: #e8e8e8; +} +.ant-rate-star-half .ant-rate-star-first, +.ant-rate-star-full .ant-rate-star-second { + color: inherit; +} +.ant-select { + color: rgba(0, 0, 0, 0.65); +} +.ant-select > ul > li > a { + background-color: #fff; +} +.ant-select-arrow { + color: rgba(0, 0, 0, 0.25); +} +.ant-select-selection { + background-color: #fff; + border-radius: 4px; + border: 1px solid #d9d9d9; + border-top-width: 1.02px; +} +.ant-select-selection:hover { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + border-right-width: 1px !important; +} +.ant-select-focused .ant-select-selection, +.ant-select-selection:focus, +.ant-select-selection:active { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); + border-right-width: 1px !important; +} +.ant-select-selection__clear { + background: #fff; + color: rgba(0, 0, 0, 0.25); +} +.ant-select-selection__clear:hover { + color: rgba(0, 0, 0, 0.45); +} +.ant-select-disabled { + color: rgba(0, 0, 0, 0.25); +} +.ant-select-disabled .ant-select-selection { + background: #f5f5f5; +} +.ant-select-disabled .ant-select-selection:hover, +.ant-select-disabled .ant-select-selection:focus, +.ant-select-disabled .ant-select-selection:active { + border-color: #d9d9d9; + box-shadow: none; +} +.ant-select-disabled .ant-select-selection--multiple .ant-select-selection__choice { + background: #f5f5f5; + color: #aaa; +} +.ant-select-disabled .ant-select-selection__choice__remove { + color: rgba(0, 0, 0, 0.25); +} +.ant-select-disabled .ant-select-selection__choice__remove:hover { + color: rgba(0, 0, 0, 0.25); +} +.ant-select-selection__placeholder, +.ant-select-search__field__placeholder { + color: #bfbfbf; +} +.ant-select-search--inline .ant-select-search__field { + border-width: 0; + background: transparent; + border-radius: 4px; +} +.ant-select-selection--multiple .ant-select-selection__choice { + color: rgba(0, 0, 0, 0.65); + background-color: #fafafa; + border: 1px solid #e8e8e8; + border-radius: 2px; +} +.ant-select-selection--multiple .ant-select-selection__choice__remove { + color: rgba(0, 0, 0, 0.45); +} +.ant-select-selection--multiple .ant-select-selection__choice__remove:hover { + color: #404040; +} +.ant-select-open .ant-select-selection { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); + border-right-width: 1px !important; +} +.ant-select-combobox .ant-select-search__field { + box-shadow: none; +} +.ant-select-dropdown { + color: rgba(0, 0, 0, 0.65); + background-color: #fff; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); + border-radius: 4px; +} +.ant-select-dropdown-menu-item-group-title { + color: rgba(0, 0, 0, 0.45); +} +.ant-select-dropdown-menu-item-group-list .ant-select-dropdown-menu-item:first-child:not(:last-child), +.ant-select-dropdown-menu-item-group:not(:last-child) .ant-select-dropdown-menu-item-group-list .ant-select-dropdown-menu-item:last-child { + border-radius: 0; +} +.ant-select-dropdown-menu-item { + color: rgba(0, 0, 0, 0.65); +} +.ant-select-dropdown-menu-item:hover { + background-color: color(~`colorPalette("@{primary-color}", 1)`); +} +.ant-select-dropdown-menu-item:first-child { + border-radius: 4px 4px 0 0; +} +.ant-select-dropdown-menu-item:last-child { + border-radius: 0 0 4px 4px; +} +.ant-select-dropdown-menu-item-disabled { + color: rgba(0, 0, 0, 0.25); +} +.ant-select-dropdown-menu-item-disabled:hover { + color: rgba(0, 0, 0, 0.25); + background-color: #fff; +} +.ant-select-dropdown-menu-item-selected, +.ant-select-dropdown-menu-item-selected:hover { + background-color: #fafafa; + color: rgba(0, 0, 0, 0.65); +} +.ant-select-dropdown-menu-item-active { + background-color: color(~`colorPalette("@{primary-color}", 1)`); +} +.ant-select-dropdown-menu-item-divider { + background-color: #e8e8e8; +} +.ant-select-dropdown.ant-select-dropdown--multiple .ant-select-dropdown-menu-item .ant-select-selected-icon { + color: transparent; +} +.ant-select-dropdown.ant-select-dropdown--multiple .ant-select-dropdown-menu-item:hover .ant-select-selected-icon { + color: #ddd; +} +.ant-select-dropdown.ant-select-dropdown--multiple .ant-select-dropdown-menu-item-selected .ant-select-selected-icon, +.ant-select-dropdown.ant-select-dropdown--multiple .ant-select-dropdown-menu-item-selected:hover .ant-select-selected-icon { + color: @primary-color; +} +.ant-skeleton-header .ant-skeleton-avatar { + background: #f2f2f2; +} +.ant-skeleton-header .ant-skeleton-avatar.ant-skeleton-avatar-circle { + border-radius: 50%; +} +.ant-skeleton-header .ant-skeleton-avatar-lg.ant-skeleton-avatar-circle { + border-radius: 50%; +} +.ant-skeleton-header .ant-skeleton-avatar-sm.ant-skeleton-avatar-circle { + border-radius: 50%; +} +.ant-skeleton-content .ant-skeleton-title { + background: #f2f2f2; +} +.ant-skeleton-content .ant-skeleton-paragraph > li { + background: #f2f2f2; +} +.ant-skeleton.ant-skeleton-active .ant-skeleton-content .ant-skeleton-title, +.ant-skeleton.ant-skeleton-active .ant-skeleton-content .ant-skeleton-paragraph > li { + background: linear-gradient(90deg, #f2f2f2 25%, #e6e6e6 37%, #f2f2f2 63%); + background-size: 400% 100%; +} +.ant-skeleton.ant-skeleton-active .ant-skeleton-avatar { + background: linear-gradient(90deg, #f2f2f2 25%, #e6e6e6 37%, #f2f2f2 63%); + background-size: 400% 100%; +} +.ant-slider { + color: rgba(0, 0, 0, 0.65); +} +.ant-slider-rail { + border-radius: 2px; + background-color: #f5f5f5; +} +.ant-slider-track { + border-radius: 4px; + background-color: color(~`colorPalette("@{primary-color}", 3)`); +} +.ant-slider-handle { + border-radius: 50%; + border: solid 2px color(~`colorPalette("@{primary-color}", 3)`); + background-color: #fff; +} +.ant-slider-handle:focus { + border-color: #46a6ff; + box-shadow: 0 0 0 5px #8cc8ff; +} +.ant-slider-handle.ant-tooltip-open { + border-color: @primary-color; +} +.ant-slider:hover .ant-slider-rail { + background-color: #e1e1e1; +} +.ant-slider:hover .ant-slider-track { + background-color: color(~`colorPalette("@{primary-color}", 4)`); +} +.ant-slider:hover .ant-slider-handle:not(.ant-tooltip-open) { + border-color: color(~`colorPalette("@{primary-color}", 4)`); +} +.ant-slider-mark-text { + color: rgba(0, 0, 0, 0.45); +} +.ant-slider-mark-text-active { + color: rgba(0, 0, 0, 0.65); +} +.ant-slider-step { + background: transparent; +} +.ant-slider-dot { + border: 2px solid #e8e8e8; + background-color: #fff; + border-radius: 50%; +} +.ant-slider-dot-active { + border-color: #8cc8ff; +} +.ant-slider-disabled .ant-slider-track { + background-color: rgba(0, 0, 0, 0.25) !important; +} +.ant-slider-disabled .ant-slider-handle, +.ant-slider-disabled .ant-slider-dot { + border-color: rgba(0, 0, 0, 0.25) !important; + background-color: #fff; + box-shadow: none; +} +.ant-spin { + color: rgba(0, 0, 0, 0.65); + color: @primary-color; +} +.ant-spin-blur:after { + background: #fff; +} +.ant-spin-tip { + color: rgba(0, 0, 0, 0.45); +} +.ant-spin-dot i { + border-radius: 100%; + background-color: @primary-color; +} +.ant-steps { + color: rgba(0, 0, 0, 0.65); +} +.ant-steps-item-icon { + border: 1px solid rgba(0, 0, 0, 0.25); + border-radius: 32px; +} +.ant-steps-item-icon > .ant-steps-icon { + color: @primary-color; +} +.ant-steps-item-tail:after { + background: #e8e8e8; + border-radius: 1px; +} +.ant-steps-item-title { + color: rgba(0, 0, 0, 0.65); +} +.ant-steps-item-title:after { + background: #e8e8e8; +} +.ant-steps-item-description { + color: rgba(0, 0, 0, 0.45); +} +.ant-steps-item-wait .ant-steps-item-icon { + border-color: rgba(0, 0, 0, 0.25); + background-color: #fff; +} +.ant-steps-item-wait .ant-steps-item-icon > .ant-steps-icon { + color: rgba(0, 0, 0, 0.25); +} +.ant-steps-item-wait .ant-steps-item-icon > .ant-steps-icon .ant-steps-icon-dot { + background: rgba(0, 0, 0, 0.25); +} +.ant-steps-item-wait > .ant-steps-item-content > .ant-steps-item-title { + color: rgba(0, 0, 0, 0.45); +} +.ant-steps-item-wait > .ant-steps-item-content > .ant-steps-item-title:after { + background-color: #e8e8e8; +} +.ant-steps-item-wait > .ant-steps-item-content > .ant-steps-item-description { + color: rgba(0, 0, 0, 0.45); +} +.ant-steps-item-wait > .ant-steps-item-tail:after { + background-color: #e8e8e8; +} +.ant-steps-item-process .ant-steps-item-icon { + border-color: @primary-color; + background-color: #fff; +} +.ant-steps-item-process .ant-steps-item-icon > .ant-steps-icon { + color: @primary-color; +} +.ant-steps-item-process .ant-steps-item-icon > .ant-steps-icon .ant-steps-icon-dot { + background: @primary-color; +} +.ant-steps-item-process > .ant-steps-item-content > .ant-steps-item-title { + color: rgba(0, 0, 0, 0.85); +} +.ant-steps-item-process > .ant-steps-item-content > .ant-steps-item-title:after { + background-color: #e8e8e8; +} +.ant-steps-item-process > .ant-steps-item-content > .ant-steps-item-description { + color: rgba(0, 0, 0, 0.65); +} +.ant-steps-item-process > .ant-steps-item-tail:after { + background-color: #e8e8e8; +} +.ant-steps-item-process .ant-steps-item-icon { + background: @primary-color; +} +.ant-steps-item-process .ant-steps-item-icon > .ant-steps-icon { + color: #fff; +} +.ant-steps-item-finish .ant-steps-item-icon { + border-color: @primary-color; + background-color: #fff; +} +.ant-steps-item-finish .ant-steps-item-icon > .ant-steps-icon { + color: @primary-color; +} +.ant-steps-item-finish .ant-steps-item-icon > .ant-steps-icon .ant-steps-icon-dot { + background: @primary-color; +} +.ant-steps-item-finish > .ant-steps-item-content > .ant-steps-item-title { + color: rgba(0, 0, 0, 0.65); +} +.ant-steps-item-finish > .ant-steps-item-content > .ant-steps-item-title:after { + background-color: @primary-color; +} +.ant-steps-item-finish > .ant-steps-item-content > .ant-steps-item-description { + color: rgba(0, 0, 0, 0.45); +} +.ant-steps-item-finish > .ant-steps-item-tail:after { + background-color: @primary-color; +} +.ant-steps-item-error .ant-steps-item-icon { + border-color: #f5222d; + background-color: #fff; +} +.ant-steps-item-error .ant-steps-item-icon > .ant-steps-icon { + color: #f5222d; +} +.ant-steps-item-error .ant-steps-item-icon > .ant-steps-icon .ant-steps-icon-dot { + background: #f5222d; +} +.ant-steps-item-error > .ant-steps-item-content > .ant-steps-item-title { + color: #f5222d; +} +.ant-steps-item-error > .ant-steps-item-content > .ant-steps-item-title:after { + background-color: #e8e8e8; +} +.ant-steps-item-error > .ant-steps-item-content > .ant-steps-item-description { + color: #f5222d; +} +.ant-steps-item-error > .ant-steps-item-tail:after { + background-color: #e8e8e8; +} +.ant-steps-item.ant-steps-next-error .ant-steps-item-title:after { + background: #f5222d; +} +.ant-steps-item-custom .ant-steps-item-icon { + background: none; + border: 0; +} +.ant-steps-item-custom.ant-steps-item-process .ant-steps-item-icon > .ant-steps-icon { + color: @primary-color; +} +.ant-steps-small .ant-steps-item-icon { + border-radius: 24px; +} +.ant-steps-small .ant-steps-item-description { + color: rgba(0, 0, 0, 0.45); +} +.ant-steps-small .ant-steps-item-custom .ant-steps-item-icon { + border-radius: 0; + border: 0; + background: none; +} +.ant-steps-dot .ant-steps-item-icon { + border: 0; + background: transparent; +} +.ant-steps-dot .ant-steps-item-icon .ant-steps-icon-dot { + border-radius: 100px; +} +.ant-steps-dot .ant-steps-item-icon .ant-steps-icon-dot:after { + background: rgba(0, 0, 0, 0.001); +} +.ant-switch { + color: rgba(0, 0, 0, 0.65); + border-radius: 100px; + border: 1px solid transparent; + background-color: rgba(0, 0, 0, 0.25); +} +.ant-switch-inner { + color: #fff; +} +.ant-switch-loading-icon, +.ant-switch:after { + border-radius: 18px; + background-color: #fff; +} +.ant-switch:after { + box-shadow: 0 2px 4px 0 rgba(0, 35, 11, 0.2); +} +.ant-switch-loading-icon { + background: transparent; +} +.ant-switch-loading .ant-switch-loading-icon { + color: rgba(0, 0, 0, 0.65); +} +.ant-switch-checked.ant-switch-loading .ant-switch-loading-icon { + color: @primary-color; +} +.ant-switch:focus { + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); +} +.ant-switch:focus:hover { + box-shadow: none; +} +.ant-switch-checked { + background-color: @primary-color; +} +.ant-table { + color: rgba(0, 0, 0, 0.65); +} +.ant-table table { + border-collapse: collapse; + border-radius: 4px 4px 0 0; +} +.ant-table-thead > tr > th { + background: #fafafa; + color: rgba(0, 0, 0, 0.85); + border-bottom: 1px solid #e8e8e8; +} +.ant-table-thead > tr > th .anticon-filter, +.ant-table-thead > tr > th .ant-table-filter-icon { + color: #bfbfbf; +} +.ant-table-thead > tr > th .ant-table-filter-selected.anticon-filter { + color: @primary-color; +} +.ant-table-thead > tr > th .ant-table-column-sorter { + color: #bfbfbf; +} +.ant-table-thead > tr > th .ant-table-column-sorter-up.on, +.ant-table-thead > tr > th .ant-table-column-sorter-down.on { + color: @primary-color; +} +.ant-table-thead > tr > th.ant-table-column-has-actions:hover { + background: #f5f5f5; +} +.ant-table-thead > tr > th.ant-table-column-has-actions:hover .anticon-filter, +.ant-table-thead > tr > th.ant-table-column-has-actions:hover .ant-table-filter-icon { + background: #f5f5f5; +} +.ant-table-thead > tr > th.ant-table-column-has-actions:hover .anticon-filter:hover, +.ant-table-thead > tr > th.ant-table-column-has-actions:hover .ant-table-filter-icon:hover { + color: rgba(0, 0, 0, 0.45); + background: #ebebeb; +} +.ant-table-thead > tr > th.ant-table-column-has-actions:hover .anticon-filter:active, +.ant-table-thead > tr > th.ant-table-column-has-actions:hover .ant-table-filter-icon:active { + color: rgba(0, 0, 0, 0.65); +} +.ant-table-thead > tr > th.ant-table-column-has-actions .anticon-filter.ant-table-filter-open, +.ant-table-thead > tr > th.ant-table-column-has-actions .ant-table-filter-icon.ant-table-filter-open { + color: rgba(0, 0, 0, 0.45); + background: #ebebeb; +} +.ant-table-thead > tr > th.ant-table-column-has-actions:active .ant-table-column-sorter-up:not(.on), +.ant-table-thead > tr > th.ant-table-column-has-actions:active .ant-table-column-sorter-down:not(.on) { + color: rgba(0, 0, 0, 0.45); +} +.ant-table-thead > tr > th .ant-table-column-sorters:before { + background: transparent; +} +.ant-table-thead > tr > th .ant-table-column-sorters:hover:before { + background: rgba(0, 0, 0, 0.04); +} +.ant-table-thead > tr:first-child > th:first-child { + border-top-left-radius: 4px; +} +.ant-table-thead > tr:first-child > th:last-child { + border-top-right-radius: 4px; +} +.ant-table-thead > tr:not(:last-child) > th[colspan] { + border-bottom: 0; +} +.ant-table-tbody > tr > td { + border-bottom: 1px solid #e8e8e8; +} +.ant-table-thead > tr.ant-table-row-hover > td, +.ant-table-tbody > tr.ant-table-row-hover > td, +.ant-table-thead > tr:hover > td, +.ant-table-tbody > tr:hover > td { + background: color(~`colorPalette("@{primary-color}", 1)`); +} +.ant-table-thead > tr:hover { + background: none; +} +.ant-table-footer { + background: #fafafa; + border-radius: 0 0 4px 4px; + border-top: 1px solid #e8e8e8; +} +.ant-table-footer:before { + background: #fafafa; +} +.ant-table.ant-table-bordered .ant-table-footer { + border: 1px solid #e8e8e8; +} +.ant-table-title { + border-radius: 4px 4px 0 0; +} +.ant-table.ant-table-bordered .ant-table-title { + border: 1px solid #e8e8e8; +} +.ant-table-title + .ant-table-content { + border-radius: 4px 4px 0 0; +} +.ant-table-bordered .ant-table-title + .ant-table-content, +.ant-table-bordered .ant-table-title + .ant-table-content table, +.ant-table-bordered .ant-table-title + .ant-table-content .ant-table-thead > tr:first-child > th { + border-radius: 0; +} +.ant-table-without-column-header .ant-table-title + .ant-table-content, +.ant-table-without-column-header table { + border-radius: 0; +} +.ant-table-tbody > tr.ant-table-row-selected td { + background: #fafafa; +} +.ant-table-thead > tr > th.ant-table-column-sort { + background: #f5f5f5; +} +.ant-table-tbody > tr > td.ant-table-column-sort { + background: rgba(0, 0, 0, 0.01); +} +.ant-table-header { + background: #fafafa; +} +.ant-table-header table { + border-radius: 4px 4px 0 0; +} +.ant-table-loading .ant-table-body { + background: #fff; +} +.ant-table-bordered .ant-table-header > table, +.ant-table-bordered .ant-table-body > table, +.ant-table-bordered .ant-table-fixed-left table, +.ant-table-bordered .ant-table-fixed-right table { + border: 1px solid #e8e8e8; + border-right: 0; + border-bottom: 0; +} +.ant-table-bordered.ant-table-empty .ant-table-placeholder { + border-left: 1px solid #e8e8e8; + border-right: 1px solid #e8e8e8; +} +.ant-table-bordered.ant-table-fixed-header .ant-table-header > table { + border-bottom: 0; +} +.ant-table-bordered.ant-table-fixed-header .ant-table-body > table { + border-top: 0; + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.ant-table-bordered.ant-table-fixed-header .ant-table-body-inner > table { + border-top: 0; +} +.ant-table-bordered.ant-table-fixed-header .ant-table-placeholder { + border: 0; +} +.ant-table-bordered .ant-table-thead > tr:not(:last-child) > th { + border-bottom: 1px solid #e8e8e8; +} +.ant-table-bordered .ant-table-thead > tr > th, +.ant-table-bordered .ant-table-tbody > tr > td { + border-right: 1px solid #e8e8e8; +} +.ant-table-placeholder { + background: #fff; + border-bottom: 1px solid #e8e8e8; + color: rgba(0, 0, 0, 0.45); +} +.ant-table-filter-dropdown { + background: #fff; + border-radius: 4px; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); +} +.ant-table-filter-dropdown .ant-dropdown-menu { + border: 0; + box-shadow: none; + border-radius: 4px 4px 0 0; +} +.ant-table-filter-dropdown .ant-dropdown-menu-sub { + border-radius: 4px; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); +} +.ant-table-filter-dropdown .ant-dropdown-menu .ant-dropdown-submenu-contain-selected .ant-dropdown-menu-submenu-title:after { + color: @primary-color; +} +.ant-table-filter-dropdown > .ant-dropdown-menu > .ant-dropdown-menu-item:last-child, +.ant-table-filter-dropdown > .ant-dropdown-menu > .ant-dropdown-menu-submenu:last-child .ant-dropdown-menu-submenu-title { + border-radius: 0; +} +.ant-table-filter-dropdown-btns { + border-top: 1px solid #e8e8e8; +} +.ant-table-filter-dropdown-link { + color: @primary-color; +} +.ant-table-filter-dropdown-link:hover { + color: color(~`colorPalette("@{primary-color}", 5)`); +} +.ant-table-filter-dropdown-link:active { + color: color(~`colorPalette("@{primary-color}", 7)`); +} +.ant-table-selection .anticon-down { + color: #bfbfbf; +} +.ant-table-selection-menu { + background: #fff; + border-radius: 4px; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); +} +.ant-table-selection-menu .ant-action-down { + color: #bfbfbf; +} +.ant-table-selection-down:hover .anticon-down { + color: #666; +} +.ant-table-row-expand-icon { + border: 1px solid #e8e8e8; + background: #fff; +} +tr.ant-table-expanded-row, +tr.ant-table-expanded-row:hover { + background: #fbfbfb; +} +.ant-table-fixed-header > .ant-table-content > .ant-table-scroll > .ant-table-body { + background: #fff; +} +.ant-table-fixed-left, +.ant-table-fixed-right { + border-radius: 0; +} +.ant-table-fixed-left table, +.ant-table-fixed-right table { + background: #fff; +} +.ant-table-fixed-header .ant-table-fixed-left .ant-table-body-outer .ant-table-fixed, +.ant-table-fixed-header .ant-table-fixed-right .ant-table-body-outer .ant-table-fixed { + border-radius: 0; +} +.ant-table-fixed-left { + box-shadow: 6px 0 6px -4px rgba(0, 0, 0, 0.15); +} +.ant-table-fixed-left, +.ant-table-fixed-left table { + border-radius: 4px 0 0 0; +} +.ant-table-fixed-left .ant-table-thead > tr > th:last-child { + border-top-right-radius: 0; +} +.ant-table-fixed-right { + box-shadow: -6px 0 6px -4px rgba(0, 0, 0, 0.15); +} +.ant-table-fixed-right, +.ant-table-fixed-right table { + border-radius: 0 4px 0 0; +} +.ant-table-fixed-right .ant-table-expanded-row { + color: transparent; +} +.ant-table-fixed-right .ant-table-thead > tr > th:first-child { + border-top-left-radius: 0; +} +.ant-table.ant-table-scroll-position-left .ant-table-fixed-left { + box-shadow: none; +} +.ant-table.ant-table-scroll-position-right .ant-table-fixed-right { + box-shadow: none; +} +.ant-table-small { + border: 1px solid #e8e8e8; + border-radius: 4px; +} +.ant-table-small > .ant-table-title { + border-bottom: 1px solid #e8e8e8; +} +.ant-table-small > .ant-table-content > .ant-table-header > table, +.ant-table-small > .ant-table-content > .ant-table-body > table, +.ant-table-small > .ant-table-content > .ant-table-scroll > .ant-table-header > table, +.ant-table-small > .ant-table-content > .ant-table-scroll > .ant-table-body > table, +.ant-table-small > .ant-table-content > .ant-table-fixed-left > .ant-table-header > table, +.ant-table-small > .ant-table-content > .ant-table-fixed-right > .ant-table-header > table, +.ant-table-small > .ant-table-content > .ant-table-fixed-left > .ant-table-body-outer > .ant-table-body-inner > table, +.ant-table-small > .ant-table-content > .ant-table-fixed-right > .ant-table-body-outer > .ant-table-body-inner > table { + border: 0; +} +.ant-table-small > .ant-table-content > .ant-table-header > table > .ant-table-thead > tr > th, +.ant-table-small > .ant-table-content > .ant-table-body > table > .ant-table-thead > tr > th, +.ant-table-small > .ant-table-content > .ant-table-scroll > .ant-table-header > table > .ant-table-thead > tr > th, +.ant-table-small > .ant-table-content > .ant-table-scroll > .ant-table-body > table > .ant-table-thead > tr > th, +.ant-table-small > .ant-table-content > .ant-table-fixed-left > .ant-table-header > table > .ant-table-thead > tr > th, +.ant-table-small > .ant-table-content > .ant-table-fixed-right > .ant-table-header > table > .ant-table-thead > tr > th, +.ant-table-small > .ant-table-content > .ant-table-fixed-left > .ant-table-body-outer > .ant-table-body-inner > table > .ant-table-thead > tr > th, +.ant-table-small > .ant-table-content > .ant-table-fixed-right > .ant-table-body-outer > .ant-table-body-inner > table > .ant-table-thead > tr > th { + background: #fff; + border-bottom: 1px solid #e8e8e8; +} +.ant-table-small > .ant-table-content .ant-table-header { + background: #fff; +} +.ant-table-small > .ant-table-content .ant-table-placeholder, +.ant-table-small > .ant-table-content .ant-table-row:last-child td { + border-bottom: 0; +} +.ant-table-small.ant-table-bordered { + border-right: 0; +} +.ant-table-small.ant-table-bordered .ant-table-title { + border: 0; + border-bottom: 1px solid #e8e8e8; + border-right: 1px solid #e8e8e8; +} +.ant-table-small.ant-table-bordered .ant-table-content { + border-right: 1px solid #e8e8e8; +} +.ant-table-small.ant-table-bordered .ant-table-footer { + border: 0; + border-top: 1px solid #e8e8e8; + border-right: 1px solid #e8e8e8; +} +.ant-table-small.ant-table-bordered .ant-table-placeholder { + border-left: 0; + border-bottom: 0; +} +.ant-table-small.ant-table-bordered .ant-table-thead > tr > th:last-child, +.ant-table-small.ant-table-bordered .ant-table-tbody > tr > td:last-child { + border-right: none; +} +.ant-table-small.ant-table-bordered .ant-table-fixed-left .ant-table-thead > tr > th:last-child, +.ant-table-small.ant-table-bordered .ant-table-fixed-left .ant-table-tbody > tr > td:last-child { + border-right: 1px solid #e8e8e8; +} +.ant-table-small.ant-table-bordered .ant-table-fixed-right { + border-right: 1px solid #e8e8e8; +} +.ant-tabs.ant-tabs-card > .ant-tabs-bar .ant-tabs-tab { + border: 1px solid #e8e8e8; + border-bottom: 0; + border-radius: 4px 4px 0 0; + background: #fafafa; +} +.ant-tabs.ant-tabs-card > .ant-tabs-bar .ant-tabs-tab-active { + background: #fff; + border-color: @primary-color !important; + color: @primary-color; +} +.ant-tabs.ant-tabs-card > .ant-tabs-bar .ant-tabs-tab .ant-tabs-close-x { + color: rgba(0, 0, 0, 0.45); +} +.ant-tabs.ant-tabs-card > .ant-tabs-bar .ant-tabs-tab .ant-tabs-close-x:hover { + color: rgba(0, 0, 0, 0.85); +} +.ant-tabs-extra-content .ant-tabs-new-tab { + border-radius: 2px; + border: 1px solid #e8e8e8; + color: rgba(0, 0, 0, 0.65); +} +.ant-tabs-extra-content .ant-tabs-new-tab:hover { + color: @primary-color; + border-color: @primary-color; +} +.ant-tabs-vertical.ant-tabs-card > .ant-tabs-bar .ant-tabs-tab { + border-bottom: 1px solid #e8e8e8; +} +.ant-tabs-vertical.ant-tabs-card.ant-tabs-left > .ant-tabs-bar .ant-tabs-tab { + border-right: 0; + border-radius: 4px 0 0 4px; +} +.ant-tabs-vertical.ant-tabs-card.ant-tabs-right > .ant-tabs-bar .ant-tabs-tab { + border-left: 0; + border-radius: 0 4px 4px 0; +} +.ant-tabs.ant-tabs-card.ant-tabs-bottom > .ant-tabs-bar .ant-tabs-tab { + border-bottom: 1px solid #e8e8e8; + border-top: 0; + border-radius: 0 0 4px 4px; +} +.ant-tabs.ant-tabs-card.ant-tabs-bottom > .ant-tabs-bar .ant-tabs-tab-active { + color: @primary-color; +} +.ant-tabs { + color: rgba(0, 0, 0, 0.65); +} +.ant-tabs-ink-bar { + background-color: @primary-color; +} +.ant-tabs-bar { + border-bottom: 1px solid #e8e8e8; +} +.ant-tabs-bottom .ant-tabs-bar { + border-bottom: none; + border-top: 1px solid #e8e8e8; +} +.ant-tabs-tab-prev, +.ant-tabs-tab-next { + border: 0; + background-color: transparent; + color: rgba(0, 0, 0, 0.45); +} +.ant-tabs-tab-prev:hover, +.ant-tabs-tab-next:hover { + color: rgba(0, 0, 0, 0.65); +} +.ant-tabs-tab-btn-disabled, +.ant-tabs-tab-btn-disabled:hover { + color: rgba(0, 0, 0, 0.25); +} +.ant-tabs-nav .ant-tabs-tab-disabled { + color: rgba(0, 0, 0, 0.25); +} +.ant-tabs-nav .ant-tabs-tab:hover { + color: color(~`colorPalette("@{primary-color}", 5)`); +} +.ant-tabs-nav .ant-tabs-tab:active { + color: color(~`colorPalette("@{primary-color}", 7)`); +} +.ant-tabs-nav .ant-tabs-tab-active { + color: @primary-color; +} +.ant-tabs-vertical > .ant-tabs-bar { + border-bottom: 0; +} +.ant-tabs-vertical.ant-tabs-left > .ant-tabs-bar { + border-right: 1px solid #e8e8e8; +} +.ant-tabs-vertical.ant-tabs-left > .ant-tabs-content { + border-left: 1px solid #e8e8e8; +} +.ant-tabs-vertical.ant-tabs-right > .ant-tabs-bar { + border-left: 1px solid #e8e8e8; +} +.ant-tabs-vertical.ant-tabs-right > .ant-tabs-content { + border-right: 1px solid #e8e8e8; +} +.ant-tag { + color: rgba(0, 0, 0, 0.65); + border-radius: 4px; + border: 1px solid #d9d9d9; + background: #fafafa; +} +.ant-tag, +.ant-tag a, +.ant-tag a:hover { + color: rgba(0, 0, 0, 0.65); +} +.ant-tag .anticon-close { + color: rgba(0, 0, 0, 0.45); +} +.ant-tag .anticon-close:hover { + color: rgba(0, 0, 0, 0.85); +} +.ant-tag-has-color { + border-color: transparent; +} +.ant-tag-has-color, +.ant-tag-has-color a, +.ant-tag-has-color a:hover, +.ant-tag-has-color .anticon-close, +.ant-tag-has-color .anticon-close:hover { + color: #fff; +} +.ant-tag-checkable { + background-color: transparent; + border-color: transparent; +} +.ant-tag-checkable:not(.ant-tag-checkable-checked):hover { + color: @primary-color; +} +.ant-tag-checkable:active, +.ant-tag-checkable-checked { + color: #fff; +} +.ant-tag-checkable-checked { + background-color: @primary-color; +} +.ant-tag-checkable:active { + background-color: color(~`colorPalette("@{primary-color}", 7)`); +} +.ant-tag-pink { + color: #eb2f96; + background: #fff0f6; + border-color: #ffadd2; +} +.ant-tag-pink-inverse { + background: #eb2f96; + border-color: #eb2f96; + color: #fff; +} +.ant-tag-magenta { + color: #eb2f96; + background: #fff0f6; + border-color: #ffadd2; +} +.ant-tag-magenta-inverse { + background: #eb2f96; + border-color: #eb2f96; + color: #fff; +} +.ant-tag-red { + color: #f5222d; + background: #fff1f0; + border-color: #ffa39e; +} +.ant-tag-red-inverse { + background: #f5222d; + border-color: #f5222d; + color: #fff; +} +.ant-tag-volcano { + color: #fa541c; + background: #fff2e8; + border-color: #ffbb96; +} +.ant-tag-volcano-inverse { + background: #fa541c; + border-color: #fa541c; + color: #fff; +} +.ant-tag-orange { + color: #fa8c16; + background: #fff7e6; + border-color: #ffd591; +} +.ant-tag-orange-inverse { + background: #fa8c16; + border-color: #fa8c16; + color: #fff; +} +.ant-tag-yellow { + color: #fadb14; + background: #feffe6; + border-color: #fffb8f; +} +.ant-tag-yellow-inverse { + background: #fadb14; + border-color: #fadb14; + color: #fff; +} +.ant-tag-gold { + color: #faad14; + background: #fffbe6; + border-color: #ffe58f; +} +.ant-tag-gold-inverse { + background: #faad14; + border-color: #faad14; + color: #fff; +} +.ant-tag-cyan { + color: #13c2c2; + background: #e6fffb; + border-color: #87e8de; +} +.ant-tag-cyan-inverse { + background: #13c2c2; + border-color: #13c2c2; + color: #fff; +} +.ant-tag-lime { + color: #a0d911; + background: #fcffe6; + border-color: #eaff8f; +} +.ant-tag-lime-inverse { + background: #a0d911; + border-color: #a0d911; + color: #fff; +} +.ant-tag-green { + color: #52c41a; + background: #f6ffed; + border-color: #b7eb8f; +} +.ant-tag-green-inverse { + background: #52c41a; + border-color: #52c41a; + color: #fff; +} +.ant-tag-blue { + color: @primary-color; + background: color(~`colorPalette("@{primary-color}", 1)`); + border-color: color(~`colorPalette("@{primary-color}", 3)`); +} +.ant-tag-blue-inverse { + background: @primary-color; + border-color: @primary-color; + color: #fff; +} +.ant-tag-geekblue { + color: #2f54eb; + background: #f0f5ff; + border-color: #adc6ff; +} +.ant-tag-geekblue-inverse { + background: #2f54eb; + border-color: #2f54eb; + color: #fff; +} +.ant-tag-purple { + color: #722ed1; + background: #f9f0ff; + border-color: #d3adf7; +} +.ant-tag-purple-inverse { + background: #722ed1; + border-color: #722ed1; + color: #fff; +} +.ant-time-picker-panel { + color: rgba(0, 0, 0, 0.65); +} +.ant-time-picker-panel-inner { + background-color: #fff; + border-radius: 4px; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); + background-clip: padding-box; +} +.ant-time-picker-panel-input { + border: 0; +} +.ant-time-picker-panel-input::-moz-placeholder { + color: #bfbfbf; +} +.ant-time-picker-panel-input:-ms-input-placeholder { + color: #bfbfbf; +} +.ant-time-picker-panel-input::-webkit-input-placeholder { + color: #bfbfbf; +} +.ant-time-picker-panel-input-wrap { + border-bottom: 1px solid #e8e8e8; +} +.ant-time-picker-panel-input-invalid { + border-color: red; +} +.ant-time-picker-panel-clear-btn-icon svg { + color: rgba(0, 0, 0, 0.25); +} +.ant-time-picker-panel-clear-btn-icon svg:hover { + color: rgba(0, 0, 0, 0.45); +} +.ant-time-picker-panel-select { + border-left: 1px solid #e8e8e8; +} +.ant-time-picker-panel-select:first-child { + border-left: 0; +} +.ant-time-picker-panel-select:last-child { + border-right: 0; +} +.ant-time-picker-panel-select li:hover { + background: color(~`colorPalette("@{primary-color}", 1)`); +} +li.ant-time-picker-panel-select-option-selected { + background: #f5f5f5; +} +li.ant-time-picker-panel-select-option-selected:hover { + background: #f5f5f5; +} +li.ant-time-picker-panel-select-option-disabled { + color: rgba(0, 0, 0, 0.25); +} +li.ant-time-picker-panel-select-option-disabled:hover { + background: transparent; +} +.ant-time-picker-panel-addon { + border-top: 1px solid #e8e8e8; +} +.ant-time-picker { + color: rgba(0, 0, 0, 0.65); +} +.ant-time-picker-input { + color: rgba(0, 0, 0, 0.65); + background-color: #fff; + background-image: none; + border: 1px solid #d9d9d9; + border-radius: 4px; +} +.ant-time-picker-input::-moz-placeholder { + color: #bfbfbf; +} +.ant-time-picker-input:-ms-input-placeholder { + color: #bfbfbf; +} +.ant-time-picker-input::-webkit-input-placeholder { + color: #bfbfbf; +} +.ant-time-picker-input:hover { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + border-right-width: 1px !important; +} +.ant-time-picker-input:focus { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); + border-right-width: 1px !important; +} +.ant-time-picker-input-disabled { + background-color: #f5f5f5; + color: rgba(0, 0, 0, 0.25); +} +.ant-time-picker-input-disabled:hover { + border-color: #e6d8d8; + border-right-width: 1px !important; +} +.ant-time-picker-input[disabled] { + background-color: #f5f5f5; + color: rgba(0, 0, 0, 0.25); +} +.ant-time-picker-input[disabled]:hover { + border-color: #e6d8d8; + border-right-width: 1px !important; +} +.ant-time-picker-icon { + color: rgba(0, 0, 0, 0.25); +} +.ant-time-picker-icon .ant-time-picker-clock-icon { + color: rgba(0, 0, 0, 0.25); +} +.ant-timeline { + color: rgba(0, 0, 0, 0.65); +} +.ant-timeline-item-tail { + border-left: 2px solid #e8e8e8; +} +.ant-timeline-item-head { + background-color: #fff; + border-radius: 100px; + border: 2px solid transparent; +} +.ant-timeline-item-head-blue { + border-color: @primary-color; + color: @primary-color; +} +.ant-timeline-item-head-red { + border-color: #f5222d; + color: #f5222d; +} +.ant-timeline-item-head-green { + border-color: #52c41a; + color: #52c41a; +} +.ant-timeline-item-head-custom { + border: 0; + border-radius: 0; +} +.ant-timeline.ant-timeline-pending .ant-timeline-item-last .ant-timeline-item-tail { + border-left: 2px dotted #e8e8e8; +} +.ant-timeline.ant-timeline-reverse .ant-timeline-item-pending .ant-timeline-item-tail { + border-left: 2px dotted #e8e8e8; +} +.ant-tooltip { + color: rgba(0, 0, 0, 0.65); +} +.ant-tooltip-inner { + color: #fff; + background-color: rgba(0, 0, 0, 0.75); + border-radius: 4px; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); +} +.ant-tooltip-arrow { + border-color: transparent; + border-style: solid; +} +.ant-tooltip-placement-top .ant-tooltip-arrow, +.ant-tooltip-placement-topLeft .ant-tooltip-arrow, +.ant-tooltip-placement-topRight .ant-tooltip-arrow { + border-width: 5px 5px 0; + border-top-color: rgba(0, 0, 0, 0.75); +} +.ant-tooltip-placement-right .ant-tooltip-arrow, +.ant-tooltip-placement-rightTop .ant-tooltip-arrow, +.ant-tooltip-placement-rightBottom .ant-tooltip-arrow { + border-width: 5px 5px 5px 0; + border-right-color: rgba(0, 0, 0, 0.75); +} +.ant-tooltip-placement-left .ant-tooltip-arrow, +.ant-tooltip-placement-leftTop .ant-tooltip-arrow, +.ant-tooltip-placement-leftBottom .ant-tooltip-arrow { + border-width: 5px 0 5px 5px; + border-left-color: rgba(0, 0, 0, 0.75); +} +.ant-tooltip-placement-bottom .ant-tooltip-arrow, +.ant-tooltip-placement-bottomLeft .ant-tooltip-arrow, +.ant-tooltip-placement-bottomRight .ant-tooltip-arrow { + border-width: 0 5px 5px; + border-bottom-color: rgba(0, 0, 0, 0.75); +} +.ant-transfer { + color: rgba(0, 0, 0, 0.65); +} +.ant-transfer-disabled .ant-transfer-list { + background: #f5f5f5; +} +.ant-transfer-list { + border: 1px solid #d9d9d9; + border-radius: 4px; +} +.ant-transfer-list-search-action { + color: rgba(0, 0, 0, 0.25); +} +.ant-transfer-list-search-action .anticon { + color: rgba(0, 0, 0, 0.25); +} +.ant-transfer-list-search-action .anticon:hover { + color: rgba(0, 0, 0, 0.45); +} +.ant-transfer-list-header { + border-radius: 4px 4px 0 0; + background: #fff; + color: rgba(0, 0, 0, 0.65); + border-bottom: 1px solid #e8e8e8; +} +.ant-transfer-list-content-item:not(.ant-transfer-list-content-item-disabled):hover { + background-color: color(~`colorPalette("@{primary-color}", 1)`); +} +.ant-transfer-list-content-item-disabled { + color: rgba(0, 0, 0, 0.25); +} +.ant-transfer-list-body-not-found { + color: rgba(0, 0, 0, 0.25); +} +.ant-transfer-list-footer { + border-top: 1px solid #e8e8e8; + border-radius: 0 0 4px 4px; +} +.ant-select-tree-checkbox { + color: rgba(0, 0, 0, 0.65); +} +.ant-select-tree-checkbox-wrapper:hover .ant-select-tree-checkbox-inner, +.ant-select-tree-checkbox:hover .ant-select-tree-checkbox-inner, +.ant-select-tree-checkbox-input:focus + .ant-select-tree-checkbox-inner { + border-color: @primary-color; +} +.ant-select-tree-checkbox-checked:after { + border-radius: 2px; + border: 1px solid @primary-color; +} +.ant-select-tree-checkbox-inner { + border: 1px solid #d9d9d9; + border-radius: 2px; + background-color: #fff; +} +.ant-select-tree-checkbox-inner:after { + border: 2px solid #fff; + border-top: 0; + border-left: 0; +} +.ant-select-tree-checkbox-indeterminate .ant-select-tree-checkbox-inner:after { + border: 0; + background-color: @primary-color; +} +.ant-select-tree-checkbox-indeterminate.ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-inner:after { + border-color: rgba(0, 0, 0, 0.25); +} +.ant-select-tree-checkbox-checked .ant-select-tree-checkbox-inner:after { + border: 2px solid #fff; + border-top: 0; + border-left: 0; +} +.ant-select-tree-checkbox-checked .ant-select-tree-checkbox-inner { + background-color: @primary-color; + border-color: @primary-color; +} +.ant-select-tree-checkbox-disabled.ant-select-tree-checkbox-checked .ant-select-tree-checkbox-inner:after { + border-color: rgba(0, 0, 0, 0.25); +} +.ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-inner { + border-color: #d9d9d9 !important; + background-color: #f5f5f5; +} +.ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-inner:after { + border-color: #f5f5f5; +} +.ant-select-tree-checkbox-disabled + span { + color: rgba(0, 0, 0, 0.25); +} +.ant-select-tree-checkbox-wrapper { + color: rgba(0, 0, 0, 0.65); +} +.ant-select-tree-checkbox-group { + color: rgba(0, 0, 0, 0.65); +} +.ant-select-tree { + color: rgba(0, 0, 0, 0.65); +} +.ant-select-tree li .ant-select-tree-node-content-wrapper { + border-radius: 2px; + color: rgba(0, 0, 0, 0.65); +} +.ant-select-tree li .ant-select-tree-node-content-wrapper:hover { + background-color: color(~`colorPalette("@{primary-color}", 1)`); +} +.ant-select-tree li .ant-select-tree-node-content-wrapper.ant-select-tree-node-selected { + background-color: color(~`colorPalette("@{primary-color}", 2)`); +} +.ant-select-tree li span.ant-select-tree-switcher, +.ant-select-tree li span.ant-select-tree-iconEle { + border: 0 none; +} +.ant-select-tree li span.ant-select-icon_loading .ant-select-switcher-loading-icon { + color: @primary-color; +} +.ant-select-tree li span.ant-select-tree-switcher.ant-select-tree-switcher_open .ant-select-switcher-loading-icon, +.ant-select-tree li span.ant-select-tree-switcher.ant-select-tree-switcher_close .ant-select-switcher-loading-icon { + color: @primary-color; +} +li.ant-select-tree-treenode-disabled > span:not(.ant-select-tree-switcher), +li.ant-select-tree-treenode-disabled > .ant-select-tree-node-content-wrapper, +li.ant-select-tree-treenode-disabled > .ant-select-tree-node-content-wrapper span { + color: rgba(0, 0, 0, 0.25); +} +li.ant-select-tree-treenode-disabled > .ant-select-tree-node-content-wrapper:hover { + background: transparent; +} +.ant-select-tree-dropdown { + color: rgba(0, 0, 0, 0.65); +} +.ant-select-tree-dropdown .ant-select-dropdown-search .ant-select-search__field { + border: 1px solid #d9d9d9; + border-radius: 4px; +} +.ant-select-tree-dropdown .ant-select-not-found { + color: rgba(0, 0, 0, 0.25); +} +.ant-tree.ant-tree-directory > li span.ant-tree-node-content-wrapper, +.ant-tree.ant-tree-directory .ant-tree-child-tree > li span.ant-tree-node-content-wrapper { + border-radius: 0; +} +.ant-tree.ant-tree-directory > li span.ant-tree-node-content-wrapper:hover, +.ant-tree.ant-tree-directory .ant-tree-child-tree > li span.ant-tree-node-content-wrapper:hover { + background: transparent; +} +.ant-tree.ant-tree-directory > li span.ant-tree-node-content-wrapper:hover:before, +.ant-tree.ant-tree-directory .ant-tree-child-tree > li span.ant-tree-node-content-wrapper:hover:before { + background: color(~`colorPalette("@{primary-color}", 1)`); +} +.ant-tree.ant-tree-directory > li span.ant-tree-node-content-wrapper.ant-tree-node-selected, +.ant-tree.ant-tree-directory .ant-tree-child-tree > li span.ant-tree-node-content-wrapper.ant-tree-node-selected { + color: #fff; + background: transparent; +} +.ant-tree.ant-tree-directory > li.ant-tree-treenode-selected > span.ant-tree-switcher, +.ant-tree.ant-tree-directory .ant-tree-child-tree > li.ant-tree-treenode-selected > span.ant-tree-switcher { + color: #fff; +} +.ant-tree.ant-tree-directory > li.ant-tree-treenode-selected > span.ant-tree-checkbox .ant-tree-checkbox-inner, +.ant-tree.ant-tree-directory .ant-tree-child-tree > li.ant-tree-treenode-selected > span.ant-tree-checkbox .ant-tree-checkbox-inner { + border-color: @primary-color; +} +.ant-tree.ant-tree-directory > li.ant-tree-treenode-selected > span.ant-tree-checkbox.ant-tree-checkbox-checked:after, +.ant-tree.ant-tree-directory .ant-tree-child-tree > li.ant-tree-treenode-selected > span.ant-tree-checkbox.ant-tree-checkbox-checked:after { + border-color: #fff; +} +.ant-tree.ant-tree-directory > li.ant-tree-treenode-selected > span.ant-tree-checkbox.ant-tree-checkbox-checked .ant-tree-checkbox-inner, +.ant-tree.ant-tree-directory .ant-tree-child-tree > li.ant-tree-treenode-selected > span.ant-tree-checkbox.ant-tree-checkbox-checked .ant-tree-checkbox-inner { + background: #fff; +} +.ant-tree.ant-tree-directory > li.ant-tree-treenode-selected > span.ant-tree-checkbox.ant-tree-checkbox-checked .ant-tree-checkbox-inner:after, +.ant-tree.ant-tree-directory .ant-tree-child-tree > li.ant-tree-treenode-selected > span.ant-tree-checkbox.ant-tree-checkbox-checked .ant-tree-checkbox-inner:after { + border-color: @primary-color; +} +.ant-tree.ant-tree-directory > li.ant-tree-treenode-selected > span.ant-tree-node-content-wrapper:before, +.ant-tree.ant-tree-directory .ant-tree-child-tree > li.ant-tree-treenode-selected > span.ant-tree-node-content-wrapper:before { + background: @primary-color; +} +.ant-tree-checkbox { + color: rgba(0, 0, 0, 0.65); +} +.ant-tree-checkbox-wrapper:hover .ant-tree-checkbox-inner, +.ant-tree-checkbox:hover .ant-tree-checkbox-inner, +.ant-tree-checkbox-input:focus + .ant-tree-checkbox-inner { + border-color: @primary-color; +} +.ant-tree-checkbox-checked:after { + border-radius: 2px; + border: 1px solid @primary-color; +} +.ant-tree-checkbox-inner { + border: 1px solid #d9d9d9; + border-radius: 2px; + background-color: #fff; +} +.ant-tree-checkbox-inner:after { + border: 2px solid #fff; + border-top: 0; + border-left: 0; +} +.ant-tree-checkbox-indeterminate .ant-tree-checkbox-inner:after { + border: 0; + background-color: @primary-color; +} +.ant-tree-checkbox-indeterminate.ant-tree-checkbox-disabled .ant-tree-checkbox-inner:after { + border-color: rgba(0, 0, 0, 0.25); +} +.ant-tree-checkbox-checked .ant-tree-checkbox-inner:after { + border: 2px solid #fff; + border-top: 0; + border-left: 0; +} +.ant-tree-checkbox-checked .ant-tree-checkbox-inner { + background-color: @primary-color; + border-color: @primary-color; +} +.ant-tree-checkbox-disabled.ant-tree-checkbox-checked .ant-tree-checkbox-inner:after { + border-color: rgba(0, 0, 0, 0.25); +} +.ant-tree-checkbox-disabled .ant-tree-checkbox-inner { + border-color: #d9d9d9 !important; + background-color: #f5f5f5; +} +.ant-tree-checkbox-disabled .ant-tree-checkbox-inner:after { + border-color: #f5f5f5; +} +.ant-tree-checkbox-disabled + span { + color: rgba(0, 0, 0, 0.25); +} +.ant-tree-checkbox-wrapper { + color: rgba(0, 0, 0, 0.65); +} +.ant-tree-checkbox-group { + color: rgba(0, 0, 0, 0.65); +} +.ant-tree { + color: rgba(0, 0, 0, 0.65); +} +.ant-tree li span[draggable], +.ant-tree li span[draggable="true"] { + border-top: 2px transparent solid; + border-bottom: 2px transparent solid; +} +.ant-tree li.drag-over > span[draggable] { + background-color: @primary-color; + color: white; +} +.ant-tree li.drag-over-gap-top > span[draggable] { + border-top-color: @primary-color; +} +.ant-tree li.drag-over-gap-bottom > span[draggable] { + border-bottom-color: @primary-color; +} +.ant-tree li.filter-node > span { + color: #f5222d !important; +} +.ant-tree li.ant-tree-treenode-loading span.ant-tree-switcher.ant-tree-switcher_open .ant-tree-switcher-loading-icon, +.ant-tree li.ant-tree-treenode-loading span.ant-tree-switcher.ant-tree-switcher_close .ant-tree-switcher-loading-icon { + color: @primary-color; +} +.ant-tree li .ant-tree-node-content-wrapper { + border-radius: 2px; + color: rgba(0, 0, 0, 0.65); +} +.ant-tree li .ant-tree-node-content-wrapper:hover { + background-color: color(~`colorPalette("@{primary-color}", 1)`); +} +.ant-tree li .ant-tree-node-content-wrapper.ant-tree-node-selected { + background-color: color(~`colorPalette("@{primary-color}", 2)`); +} +.ant-tree li span.ant-tree-switcher, +.ant-tree li span.ant-tree-iconEle { + border: 0 none; +} +li.ant-tree-treenode-disabled > span:not(.ant-tree-switcher), +li.ant-tree-treenode-disabled > .ant-tree-node-content-wrapper, +li.ant-tree-treenode-disabled > .ant-tree-node-content-wrapper span { + color: rgba(0, 0, 0, 0.25); +} +li.ant-tree-treenode-disabled > .ant-tree-node-content-wrapper:hover { + background: transparent; +} +.ant-tree.ant-tree-show-line li span.ant-tree-switcher { + background: #fff; + color: rgba(0, 0, 0, 0.45); +} +.ant-tree.ant-tree-show-line li:not(:last-child):before { + border-left: 1px solid #d9d9d9; +} +.ant-upload { + color: rgba(0, 0, 0, 0.65); +} +.ant-upload.ant-upload-select-picture-card { + border: 1px dashed #d9d9d9; + border-radius: 4px; + background-color: #fafafa; +} +.ant-upload.ant-upload-select-picture-card:hover { + border-color: @primary-color; +} +.ant-upload.ant-upload-drag { + border: 1px dashed #d9d9d9; + border-radius: 4px; + background: #fafafa; +} +.ant-upload.ant-upload-drag.ant-upload-drag-hover:not(.ant-upload-disabled) { + border: 2px dashed color(~`colorPalette("@{primary-color}", 5)`); +} +.ant-upload.ant-upload-drag:not(.ant-upload-disabled):hover { + border-color: color(~`colorPalette("@{primary-color}", 5)`); +} +.ant-upload.ant-upload-drag p.ant-upload-drag-icon .anticon { + color: color(~`colorPalette("@{primary-color}", 5)`); +} +.ant-upload.ant-upload-drag p.ant-upload-text { + color: rgba(0, 0, 0, 0.85); +} +.ant-upload.ant-upload-drag p.ant-upload-hint { + color: rgba(0, 0, 0, 0.45); +} +.ant-upload.ant-upload-drag .anticon-plus { + color: rgba(0, 0, 0, 0.25); +} +.ant-upload.ant-upload-drag .anticon-plus:hover { + color: rgba(0, 0, 0, 0.45); +} +.ant-upload.ant-upload-drag:hover .anticon-plus { + color: rgba(0, 0, 0, 0.45); +} +.ant-upload-list { + color: rgba(0, 0, 0, 0.65); +} +.ant-upload-list-item-info .anticon-loading, +.ant-upload-list-item-info .anticon-paper-clip { + color: rgba(0, 0, 0, 0.45); +} +.ant-upload-list-item .anticon-close { + color: rgba(0, 0, 0, 0.45); +} +.ant-upload-list-item .anticon-close:hover { + color: rgba(0, 0, 0, 0.65); +} +.ant-upload-list-item:hover .ant-upload-list-item-info { + background-color: color(~`colorPalette("@{primary-color}", 1)`); +} +.ant-upload-list-item-error, +.ant-upload-list-item-error .anticon-paper-clip, +.ant-upload-list-item-error .ant-upload-list-item-name { + color: #f5222d; +} +.ant-upload-list-item-error .anticon-close { + color: #f5222d !important; +} +.ant-upload-list-picture .ant-upload-list-item, +.ant-upload-list-picture-card .ant-upload-list-item { + border-radius: 4px; + border: 1px solid #d9d9d9; +} +.ant-upload-list-picture .ant-upload-list-item:hover, +.ant-upload-list-picture-card .ant-upload-list-item:hover { + background: transparent; +} +.ant-upload-list-picture .ant-upload-list-item-error, +.ant-upload-list-picture-card .ant-upload-list-item-error { + border-color: #f5222d; +} +.ant-upload-list-picture .ant-upload-list-item:hover .ant-upload-list-item-info, +.ant-upload-list-picture-card .ant-upload-list-item:hover .ant-upload-list-item-info { + background: transparent; +} +.ant-upload-list-picture .ant-upload-list-item-uploading, +.ant-upload-list-picture-card .ant-upload-list-item-uploading { + border-style: dashed; +} +.ant-upload-list-picture .ant-upload-list-item-icon, +.ant-upload-list-picture-card .ant-upload-list-item-icon { + color: rgba(0, 0, 0, 0.25); +} +.ant-upload-list-picture .ant-upload-list-item-thumbnail.anticon:before, +.ant-upload-list-picture-card .ant-upload-list-item-thumbnail.anticon:before { + color: rgba(0, 0, 0, 0.45); +} +.ant-upload-list-picture-card .ant-upload-list-item-info:before { + background-color: rgba(0, 0, 0, 0.5); +} +.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-eye-o, +.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-delete { + color: rgba(255, 255, 255, 0.85); +} +.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-eye-o:hover, +.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-delete:hover { + color: #fff; +} +.ant-upload-list-picture-card .ant-upload-list-item-uploading.ant-upload-list-item { + background-color: #fafafa; +} +.ant-upload-list-picture-card .ant-upload-list-item-uploading-text { + color: rgba(0, 0, 0, 0.45); +} +.ant-upload-list .ant-upload-success-icon { + color: #52c41a; +} + +.drawer .drawer-content { + background: #001529; +} + +.ant-list-item-meta .taobao { + color: #ff4000; + border-radius: 4px; +} +.ant-list-item-meta .dingding { + background-color: #2eabff; + color: #fff; + border-radius: 4px; +} +.ant-list-item-meta .alipay { + color: #2eabff; + border-radius: 4px; +} +font.strong { + color: #52c41a; +} +font.medium { + color: #faad14; +} +font.weak { + color: #f5222d; +} + +// 侧边导航栏首页颜色跟随主题变化 +.ant-menu.ant-menu-root > .ant-menu-item:first-child.ant-menu-item-selected { + & > a, + & > a:hover { + color: @primary-color; + } +} + +// begin -------- JAreaLinkage 三级联动样式 -------------- +.cascader-menu-list .cascader-menu-option.hover, +.cascader-menu-list .cascader-menu-option:hover { + background-color: color(~`colorPalette("@{primary-color}", 1)`); +} + +.area-selectable-list .area-select-option.hover { + background-color: color(~`colorPalette("@{primary-color}", 1)`); +} + +.area-select:hover { + border-color: @primary-color; +} + +.area-select:active { + box-shadow: 0 0 0 2px color(~`colorPalette("@{primary-color}", 1)`); +} +// end -------- JAreaLinkage 三级联动样式 -------------- + +// TESTA-521 +.ant-menu-submenu-selected { + color: @primary-color; +} + +// TESTA-521 +.tab-layout-tabs.ant-tabs.ant-tabs-card > .ant-tabs-bar .ant-tabs-tab-active { + border-color: @primary-color !important; +} + +// begin -------- JAreaLinkage 三级联动样式 -------------- +.cascader-menu-list .cascader-menu-option.hover, +.cascader-menu-list .cascader-menu-option:hover { + background-color: color(~`colorPalette("@{primary-color}", 1)`); +} + +.area-selectable-list .area-select-option.hover { + background-color: color(~`colorPalette("@{primary-color}", 1)`); +} + +.area-select:hover { + border-color: @primary-color; +} + +.area-select:active { + box-shadow: 0 0 0 2px color(~`colorPalette("@{primary-color}", 1)`); +} +// end -------- JAreaLinkage 三级联动样式 -------------- diff --git a/public/development_address_config.js b/public/development_address_config.js new file mode 100644 index 0000000..84dbe31 --- /dev/null +++ b/public/development_address_config.js @@ -0,0 +1,32 @@ +/** + * 防止打包部署时路径被写死-开发环境的配置项 + */ +window._CONFIG = {}; +window._CONFIG["domianURL"] = "/jero-boot"; // 路由转发 devServer +window._CONFIG["domianWebSocketURL"] = "http://10.0.1.9:21824/jero-boot"; +// 单点登录地址 +window._CONFIG["staticDomainURL"] = window._CONFIG["domianURL"] + "/sys/common/download"; +window._CONFIG["pdfDomainURL"] = window._CONFIG["domianURL"] + "/sys/common/pdf/pdfPreviewIframe"; +window._CONFIG["casPrefixUrl"] = "http://cas.example.org:8443/cas"; + +// 预览文件地址 +window._CONFIG["onlinePreviewDomainURL"] = "http://10.0.1.9:9012/onlinePreview"; + +// 会议管理报名二维码地址 小程序生成二维码用的 +window._CONFIG["singUpQRCodeURL"] = "http://10.0.1.9:21824/signupentrance" +// 会议管理签到二维码地址 微信扫描二维码 跳转的 地址 要么全大写 要么全小写 +window._CONFIG["singInQRCodeURL"] = "http://10.10.10.46:8055/signinurl" + +// todo 需要改为企业端的报名地址 --- 本地 +// 页面显示用的会议报名二维码连接 // 报名页面迁移到企业端 地址需要修改为企业端的地址 +window._CONFIG["singInQRCodHref"]= 'http://localhost:3001/signupentrance' + +// 票据打印--寄件人单位名称 +window._CONFIG["sendCompanyName"] = "中国汽车标准化研究院" +// 票据打印--寄件人地址 +window._CONFIG["sendAddress"] = "天津市东丽区先锋东路68号" +// 票据打印--寄件人邮编 +window._CONFIG["sendPostCode"] = "300300" + +// 查看物流信息-- 在企业端 +window._CONFIG["lookExpressDomainURL"] = "http://localhost:21826/lookExpressInfo"; \ No newline at end of file diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000..125ec9f Binary files /dev/null and b/public/favicon.ico differ diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..d4124e3 --- /dev/null +++ b/public/index.html @@ -0,0 +1,272 @@ + + + + + + + + <%= htmlWebpackPlugin.options.title %> + + + + <% if (process.env.NODE_ENV === 'development' ) { %> + + <% } %> + <% if (process.env.NODE_ENV === 'production' && process.env.VUE_APP_CURRENT_INFO !== 'local_prod') { %> + + <% } %> + + <% if (process.env.VUE_APP_CURRENT_INFO === 'local_prod' ) { %> + + <% } %> + + + + +
+
+
+
+
+
正在加载,请耐心等待 + +
+
+
+ + + diff --git a/public/local_production_address_config.js b/public/local_production_address_config.js new file mode 100644 index 0000000..57eddf6 --- /dev/null +++ b/public/local_production_address_config.js @@ -0,0 +1,34 @@ +/** + * 防止打包部署时路径被写死-生产环境的配置项 + */ +window._CONFIG = {}; +window._CONFIG["domianURL"] = "/jero-boot"; // 路由转发 devServer +window._CONFIG["domianWebSocketURL"] = "http://139.9.235.66:1015/jero-boot"; +// 单点登录地址 +window._CONFIG["staticDomainURL"] = window._CONFIG["domianURL"] + "/sys/common/download"; +window._CONFIG["pdfDomainURL"] = window._CONFIG["domianURL"] + "/sys/common/pdf/pdfPreviewIframe"; +window._CONFIG["casPrefixUrl"] = "http://cas.example.org:8443/cas"; +// 预览文件地址 +window._CONFIG["onlinePreviewDomainURL"] = "http://139.9.235.66:8012/onlinePreview"; + +// todo 需要改为企业端的报名地址 --- 139 +// 会议管理报名二维码地址 +// window._CONFIG["singUpQRCodeURL"] = "http://bxxt.hzwlsoft.com/signupentrance" +window._CONFIG["singUpQRCodeURL"] = "http://10.10.10.46:8066/signupentrance" +// 会议管理签到二维码地址 微信扫描二维码 跳转的 地址 要么全大写 要么全小写 +// window._CONFIG["singInQRCodeURL"] = "http://bxxt.hzwlsoft.com/signinurl" +window._CONFIG["singInQRCodeURL"] = "http://10.10.10.46:8066/signinurl" +// 页面显示用的会议报名二维码连接 +// window._CONFIG["singInQRCodHref"]= 'http://139.9.235.66/signupentrance' +window._CONFIG["singInQRCodHref"]= 'http://10.10.10.46:8066/signupentrance' + +// 票据打印--寄件人单位名称 +window._CONFIG["sendCompanyName"] = "中国汽车标准化研究院" +// 票据打印--寄件人地址 +window._CONFIG["sendAddress"] = "天津市东丽区先锋东路68号" +// 票据打印--寄件人邮编 +window._CONFIG["sendPostCode"] = "300300" + +// 查看物流信息 +// window._CONFIG["lookExpressDomainURL"] = "http://bxxt.hzwlsoft.com/lookExpressInfo"; +window._CONFIG["lookExpressDomainURL"] = "http://10.10.10.46:8066/lookExpressInfo"; \ No newline at end of file diff --git a/public/map/areaPca.js b/public/map/areaPca.js new file mode 100644 index 0000000..7be3147 --- /dev/null +++ b/public/map/areaPca.js @@ -0,0 +1,598 @@ +/* eslint-disable */ +module.exports = { + '86': { + '110000': '北京市', + '120000': '天津市', + '130000': '河北省', + '140000': '山西省', + '150000': '内蒙古自治区', + '210000': '辽宁省', + '220000': '吉林省', + '230000': '黑龙江省', + '310000': '上海市', + '320000': '江苏省', + '330000': '浙江省', + '340000': '安徽省', + '350000': '福建省', + '360000': '江西省', + '370000': '山东省', + '410000': '河南省', + '420000': '湖北省', + '430000': '湖南省', + '440000': '广东省', + '450000': '广西壮族自治区', + '460000': '海南省', + '500000': '重庆市', + '510000': '四川省', + '520000': '贵州省', + '530000': '云南省', + '540000': '西藏自治区', + '610000': '陕西省', + '620000': '甘肃省', + '630000': '青海省', + '640000': '宁夏回族自治区', + '650000': '新疆维吾尔自治区', + '710000': '台湾省', + '810000': '香港特别行政区', + '820000': '澳门特别行政区' + }, + '110000': { + '110101': '东城区', + '110102': '西城区', + '110105': '朝阳区', + '110106': '丰台区', + '110107': '石景山区', + '110108': '海淀区', + '110109': '门头沟区', + '110111': '房山区', + '110112': '通州区', + '110113': '顺义区', + '110114': '昌平区', + '110115': '大兴区', + '110116': '怀柔区', + '110117': '平谷区', + '110118': '密云区', + '110119': '延庆区' + }, + '120000': { + '120101': '和平区', + '120102': '河东区', + '120103': '河西区', + '120104': '南开区', + '120105': '河北区', + '120106': '红桥区', + '120110': '东丽区', + '120111': '西青区', + '120112': '津南区', + '120113': '北辰区', + '120114': '武清区', + '120115': '宝坻区', + '120116': '滨海新区', + '120117': '宁河区', + '120118': '静海区', + '120119': '蓟州区' + }, + '130000': { + '130100': '石家庄市', + '130200': '唐山市', + '130300': '秦皇岛市', + '130400': '邯郸市', + '130500': '邢台市', + '130600': '保定市', + '130700': '张家口市', + '130800': '承德市', + '130900': '沧州市', + '131000': '廊坊市', + '131100': '衡水市', + '139001': '定州市', + '139002': '辛集市' + }, + '140000': { + '140100': '太原市', + '140200': '大同市', + '140300': '阳泉市', + '140400': '长治市', + '140500': '晋城市', + '140600': '朔州市', + '140700': '晋中市', + '140800': '运城市', + '140900': '忻州市', + '141000': '临汾市', + '141100': '吕梁市' + }, + '150000': { + '150100': '呼和浩特市', + '150200': '包头市', + '150300': '乌海市', + '150400': '赤峰市', + '150500': '通辽市', + '150600': '鄂尔多斯市', + '150700': '呼伦贝尔市', + '150800': '巴彦淖尔市', + '150900': '乌兰察布市', + '152200': '兴安盟', + '152500': '锡林郭勒盟', + '152900': '阿拉善盟' + }, + '210000': { + '210100': '沈阳市', + '210200': '大连市', + '210300': '鞍山市', + '210400': '抚顺市', + '210500': '本溪市', + '210600': '丹东市', + '210700': '锦州市', + '210800': '营口市', + '210900': '阜新市', + '211000': '辽阳市', + '211100': '盘锦市', + '211200': '铁岭市', + '211300': '朝阳市', + '211400': '葫芦岛市' + }, + '220000': { + '220100': '长春市', + '220200': '吉林市', + '220300': '四平市', + '220400': '辽源市', + '220500': '通化市', + '220600': '白山市', + '220700': '松原市', + '220800': '白城市', + '222400': '延边朝鲜族自治州' + }, + '230000': { + '230100': '哈尔滨市', + '230200': '齐齐哈尔市', + '230300': '鸡西市', + '230400': '鹤岗市', + '230500': '双鸭山市', + '230600': '大庆市', + '230700': '伊春市', + '230800': '佳木斯市', + '230900': '七台河市', + '231000': '牡丹江市', + '231100': '黑河市', + '231200': '绥化市', + '232700': '大兴安岭地区' + }, + '310000': { + '310101': '黄浦区', + '310104': '徐汇区', + '310105': '长宁区', + '310106': '静安区', + '310107': '普陀区', + '310109': '虹口区', + '310110': '杨浦区', + '310112': '闵行区', + '310113': '宝山区', + '310114': '嘉定区', + '310115': '浦东新区', + '310116': '金山区', + '310117': '松江区', + '310118': '青浦区', + '310120': '奉贤区', + '310151': '崇明区' + }, + '320000': { + '320100': '南京市', + '320200': '无锡市', + '320300': '徐州市', + '320400': '常州市', + '320500': '苏州市', + '320600': '南通市', + '320700': '连云港市', + '320800': '淮安市', + '320900': '盐城市', + '321000': '扬州市', + '321100': '镇江市', + '321200': '泰州市', + '321300': '宿迁市' + }, + '330000': { + '330100': '杭州市', + '330200': '宁波市', + '330300': '温州市', + '330400': '嘉兴市', + '330500': '湖州市', + '330600': '绍兴市', + '330700': '金华市', + '330800': '衢州市', + '330900': '舟山市', + '331000': '台州市', + '331100': '丽水市' + }, + '340000': { + '340100': '合肥市', + '340200': '芜湖市', + '340300': '蚌埠市', + '340400': '淮南市', + '340500': '马鞍山市', + '340600': '淮北市', + '340700': '铜陵市', + '340800': '安庆市', + '341000': '黄山市', + '341100': '滁州市', + '341200': '阜阳市', + '341300': '宿州市', + '341500': '六安市', + '341600': '亳州市', + '341700': '池州市', + '341800': '宣城市' + }, + '350000': { + '350100': '福州市', + '350200': '厦门市', + '350300': '莆田市', + '350400': '三明市', + '350500': '泉州市', + '350600': '漳州市', + '350700': '南平市', + '350800': '龙岩市', + '350900': '宁德市' + }, + '360000': { + '360100': '南昌市', + '360200': '景德镇市', + '360300': '萍乡市', + '360400': '九江市', + '360500': '新余市', + '360600': '鹰潭市', + '360700': '赣州市', + '360800': '吉安市', + '360900': '宜春市', + '361000': '抚州市', + '361100': '上饶市' + }, + '370000': { + '370100': '济南市', + '370200': '青岛市', + '370300': '淄博市', + '370400': '枣庄市', + '370500': '东营市', + '370600': '烟台市', + '370700': '潍坊市', + '370800': '济宁市', + '370900': '泰安市', + '371000': '威海市', + '371100': '日照市', + '371200': '莱芜市', + '371300': '临沂市', + '371400': '德州市', + '371500': '聊城市', + '371600': '滨州市', + '371700': '菏泽市' + }, + '410000': { + '410100': '郑州市', + '410200': '开封市', + '410300': '洛阳市', + '410400': '平顶山市', + '410500': '安阳市', + '410600': '鹤壁市', + '410700': '新乡市', + '410800': '焦作市', + '410900': '濮阳市', + '411000': '许昌市', + '411100': '漯河市', + '411200': '三门峡市', + '411300': '南阳市', + '411400': '商丘市', + '411500': '信阳市', + '411600': '周口市', + '411700': '驻马店市', + '419001': '济源市' + }, + '420000': { + '420100': '武汉市', + '420200': '黄石市', + '420300': '十堰市', + '420500': '宜昌市', + '420600': '襄阳市', + '420700': '鄂州市', + '420800': '荆门市', + '420900': '孝感市', + '421000': '荆州市', + '421100': '黄冈市', + '421200': '咸宁市', + '421300': '随州市', + '422800': '恩施土家族苗族自治州', + '429004': '仙桃市', + '429005': '潜江市', + '429006': '天门市', + '429021': '神农架林区' + }, + '430000': { + '430100': '长沙市', + '430200': '株洲市', + '430300': '湘潭市', + '430400': '衡阳市', + '430500': '邵阳市', + '430600': '岳阳市', + '430700': '常德市', + '430800': '张家界市', + '430900': '益阳市', + '431000': '郴州市', + '431100': '永州市', + '431200': '怀化市', + '431300': '娄底市', + '433100': '湘西土家族苗族自治州' + }, + '440000': { + '440100': '广州市', + '440200': '韶关市', + '440300': '深圳市', + '440400': '珠海市', + '440500': '汕头市', + '440600': '佛山市', + '440700': '江门市', + '440800': '湛江市', + '440900': '茂名市', + '441200': '肇庆市', + '441300': '惠州市', + '441400': '梅州市', + '441500': '汕尾市', + '441600': '河源市', + '441700': '阳江市', + '441800': '清远市', + '441900': '东莞市', + '442000': '中山市', + '445100': '潮州市', + '445200': '揭阳市', + '445300': '云浮市' + }, + '450000': { + '450100': '南宁市', + '450200': '柳州市', + '450300': '桂林市', + '450400': '梧州市', + '450500': '北海市', + '450600': '防城港市', + '450700': '钦州市', + '450800': '贵港市', + '450900': '玉林市', + '451000': '百色市', + '451100': '贺州市', + '451200': '河池市', + '451300': '来宾市', + '451400': '崇左市' + }, + '460000': { + '460100': '海口市', + '460200': '三亚市', + '460300': '三沙市', + '460400': '儋州市', + '469001': '五指山市', + '469002': '琼海市', + '469005': '文昌市', + '469006': '万宁市', + '469007': '东方市', + '469021': '定安县', + '469022': '屯昌县', + '469023': '澄迈县', + '469024': '临高县', + '469025': '白沙黎族自治县', + '469026': '昌江黎族自治县', + '469027': '乐东黎族自治县', + '469028': '陵水黎族自治县', + '469029': '保亭黎族苗族自治县', + '469030': '琼中黎族苗族自治县' + }, + '500000': { + '500101': '万州区', + '500102': '涪陵区', + '500103': '渝中区', + '500104': '大渡口区', + '500105': '江北区', + '500106': '沙坪坝区', + '500107': '九龙坡区', + '500108': '南岸区', + '500109': '北碚区', + '500110': '綦江区', + '500111': '大足区', + '500112': '渝北区', + '500113': '巴南区', + '500114': '黔江区', + '500115': '长寿区', + '500116': '江津区', + '500117': '合川区', + '500118': '永川区', + '500119': '南川区', + '500120': '璧山区', + '500151': '铜梁区', + '500152': '潼南区', + '500153': '荣昌区', + '500154': '开州区', + '500228': '梁平县', + '500229': '城口县', + '500230': '丰都县', + '500231': '垫江县', + '500232': '武隆县', + '500233': '忠县', + '500235': '云阳县', + '500236': '奉节县', + '500237': '巫山县', + '500238': '巫溪县', + '500240': '石柱土家族自治县', + '500241': '秀山土家族苗族自治县', + '500242': '酉阳土家族苗族自治县', + '500243': '彭水苗族土家族自治县' + }, + '510000': { + '510100': '成都市', + '510300': '自贡市', + '510400': '攀枝花市', + '510500': '泸州市', + '510600': '德阳市', + '510700': '绵阳市', + '510800': '广元市', + '510900': '遂宁市', + '511000': '内江市', + '511100': '乐山市', + '511300': '南充市', + '511400': '眉山市', + '511500': '宜宾市', + '511600': '广安市', + '511700': '达州市', + '511800': '雅安市', + '511900': '巴中市', + '512000': '资阳市', + '513200': '阿坝藏族羌族自治州', + '513300': '甘孜藏族自治州', + '513400': '凉山彝族自治州' + }, + '520000': { + '520100': '贵阳市', + '520200': '六盘水市', + '520300': '遵义市', + '520400': '安顺市', + '520500': '毕节市', + '520600': '铜仁市', + '522300': '黔西南布依族苗族自治州', + '522600': '黔东南苗族侗族自治州', + '522700': '黔南布依族苗族自治州' + }, + '530000': { + '530100': '昆明市', + '530300': '曲靖市', + '530400': '玉溪市', + '530500': '保山市', + '530600': '昭通市', + '530700': '丽江市', + '530800': '普洱市', + '530900': '临沧市', + '532300': '楚雄彝族自治州', + '532500': '红河哈尼族彝族自治州', + '532600': '文山壮族苗族自治州', + '532800': '西双版纳傣族自治州', + '532900': '大理白族自治州', + '533100': '德宏傣族景颇族自治州', + '533300': '怒江傈僳族自治州', + '533400': '迪庆藏族自治州' + }, + '540000': { + '540100': '拉萨市', + '540200': '日喀则市', + '540300': '昌都市', + '540400': '林芝市', + '540500': '山南市', + '542400': '那曲地区', + '542500': '阿里地区' + }, + '610000': { + '610100': '西安市', + '610200': '铜川市', + '610300': '宝鸡市', + '610400': '咸阳市', + '610500': '渭南市', + '610600': '延安市', + '610700': '汉中市', + '610800': '榆林市', + '610900': '安康市', + '611000': '商洛市' + }, + '620000': { + '620100': '兰州市', + '620200': '嘉峪关市', + '620300': '金昌市', + '620400': '白银市', + '620500': '天水市', + '620600': '武威市', + '620700': '张掖市', + '620800': '平凉市', + '620900': '酒泉市', + '621000': '庆阳市', + '621100': '定西市', + '621200': '陇南市', + '622900': '临夏回族自治州', + '623000': '甘南藏族自治州' + }, + '630000': { + '630100': '西宁市', + '630200': '海东市', + '632200': '海北藏族自治州', + '632300': '黄南藏族自治州', + '632500': '海南藏族自治州', + '632600': '果洛藏族自治州', + '632700': '玉树藏族自治州', + '632800': '海西蒙古族藏族自治州' + }, + '640000': { '640100': '银川市', '640200': '石嘴山市', '640300': '吴忠市', '640400': '固原市', '640500': '中卫市' }, + '650000': { + '650100': '乌鲁木齐市', + '650200': '克拉玛依市', + '650400': '吐鲁番市', + '650500': '哈密市', + '652300': '昌吉回族自治州', + '652700': '博尔塔拉蒙古自治州', + '652800': '巴音郭楞蒙古自治州', + '652900': '阿克苏地区', + '653000': '克孜勒苏柯尔克孜自治州', + '653100': '喀什地区', + '653200': '和田地区', + '654000': '伊犁哈萨克自治州', + '654200': '塔城地区', + '654300': '阿勒泰地区', + '659001': '石河子市', + '659002': '阿拉尔市', + '659003': '图木舒克市', + '659004': '五家渠市', + '659006': '铁门关市' + }, + '710000': { + '710101': '金门县', + '710102': '连江县', + '710103': '苗栗', + '710104': '南投县', + '710105': '澎湖县', + '710106': '屏东县', + '710107': '台东县', + '710108': '台中市', + '710109': '台南市', + '710110': '台北市', + '710111': '桃园市', + '710112': '云林', + '710113': '新北市', + '710114': '彰化县', + '710115': '嘉义市', + '710116': '新竹市', + '710117': '花莲县', + '710118': '宜兰县', + '710119': '高雄市', + '710120': '基隆市', + '710121': '新竹县', + '710122': '嘉义县' + }, + '810000': { + '810101': '中西区', + '810102': '东区', + '810103': '九龙城区', + '810104': '观塘区', + '810105': '深水埗区', + '810106': '湾仔区', + '810107': '黄大仙区', + '810108': '油尖旺区', + '810109': '离岛区', + '810110': '葵青区', + '810111': '北区', + '810112': '西贡区', + '810113': '沙田区', + '810114': '屯门区', + '810115': '大埔区', + '810116': '荃湾区', + '810117': '元朗区', + '810118': '香港', + '810119': '九龙', + '810120': '新界' + }, + '820000': { + '820101': '花地玛堂区', + '820102': '花王堂区', + '820103': '望德堂区', + '820104': '风顺堂区', + '820105': '大堂区', + '820106': '嘉模堂区', + '820107': '路函填海区', + '820108': '圣方济各堂区' + } +} diff --git a/public/production_address_config.js b/public/production_address_config.js new file mode 100644 index 0000000..8301bf6 --- /dev/null +++ b/public/production_address_config.js @@ -0,0 +1,29 @@ +/** + * 防止打包部署时路径被写死-生产环境的配置项 + */ +window._CONFIG = {}; +window._CONFIG["domianURL"] = "/jero-boot"; // 路由转发 devServer +window._CONFIG["domianWebSocketURL"] = "http://cwp.catarc.org.cn:8077/jero-boot"; +// 单点登录地址 +window._CONFIG["staticDomainURL"] = window._CONFIG["domianURL"] + "/sys/common/download"; +window._CONFIG["pdfDomainURL"] = window._CONFIG["domianURL"] + "/sys/common/pdf/pdfPreviewIframe"; +window._CONFIG["casPrefixUrl"] = "http://cas.example.org:8443/cas"; +// 预览文件地址 +window._CONFIG["onlinePreviewDomainURL"] = "http://cwp.catarc.org.cn:8092/onlinePreview"; + +// 会议管理报名二维码地址 +window._CONFIG["singUpQRCodeURL"] = "https://cwp.catarc.org.cn/signupentrance" +// 会议管理签到二维码地址 微信扫描二维码 跳转的 地址 要么全大写 要么全小写 +window._CONFIG["singInQRCodeURL"] = "https://cwp.catarc.org.cn/signinurl" +// 页面显示用的会议报名二维码连接 +window._CONFIG["singInQRCodHref"]= 'http://cwp.catarc.org.cn/signupentrance' + +// 票据打印--寄件人单位名称 +window._CONFIG["sendCompanyName"] = "中国汽车标准化研究院" +// 票据打印--寄件人地址 +window._CONFIG["sendAddress"] = "天津市东丽区先锋东路68号" +// 票据打印--寄件人邮编 +window._CONFIG["sendPostCode"] = "300300" + +// 查看物流信息 +window._CONFIG["lookExpressDomainURL"] = "http://cwp.catarc.org.cn/lookExpressInfo" \ No newline at end of file diff --git a/public/tinymce/langs/zh_CN.js b/public/tinymce/langs/zh_CN.js new file mode 100644 index 0000000..0f3cf92 --- /dev/null +++ b/public/tinymce/langs/zh_CN.js @@ -0,0 +1,261 @@ +tinymce.addI18n('zh_CN',{ +"Redo": "\u91cd\u590d", +"Undo": "\u64a4\u6d88", +"Cut": "\u526a\u5207", +"Copy": "\u590d\u5236", +"Paste": "\u7c98\u8d34", +"Select all": "\u5168\u9009", +"New document": "\u65b0\u6587\u6863", +"Ok": "\u786e\u5b9a", +"Cancel": "\u53d6\u6d88", +"Visual aids": "\u7f51\u683c\u7ebf", +"Bold": "\u7c97\u4f53", +"Italic": "\u659c\u4f53", +"Underline": "\u4e0b\u5212\u7ebf", +"Strikethrough": "\u5220\u9664\u7ebf", +"Superscript": "\u4e0a\u6807", +"Subscript": "\u4e0b\u6807", +"Clear formatting": "\u6e05\u9664\u683c\u5f0f", +"Align left": "\u5de6\u5bf9\u9f50", +"Align center": "\u5c45\u4e2d", +"Align right": "\u53f3\u5bf9\u9f50", +"Justify": "\u4e24\u7aef\u5bf9\u9f50", +"Bullet list": "\u9879\u76ee\u7b26\u53f7", +"Numbered list": "\u7f16\u53f7\u5217\u8868", +"Decrease indent": "\u51cf\u5c11\u7f29\u8fdb", +"Increase indent": "\u589e\u52a0\u7f29\u8fdb", +"Close": "\u5173\u95ed", +"Formats": "\u683c\u5f0f", +"Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "\u4f60\u7684\u6d4f\u89c8\u5668\u4e0d\u652f\u6301\u5bf9\u526a\u8d34\u677f\u7684\u8bbf\u95ee\uff0c\u8bf7\u4f7f\u7528Ctrl+X\/C\/V\u952e\u8fdb\u884c\u590d\u5236\u7c98\u8d34\u3002", +"Headers": "\u6807\u9898", +"Header 1": "\u6807\u98981", +"Header 2": "\u6807\u98982", +"Header 3": "\u6807\u98983", +"Header 4": "\u6807\u98984", +"Header 5": "\u6807\u98985", +"Header 6": "\u6807\u98986", +"Headings": "\u6807\u9898", +"Heading 1": "\u6807\u98981", +"Heading 2": "\u6807\u98982", +"Heading 3": "\u6807\u98983", +"Heading 4": "\u6807\u98984", +"Heading 5": "\u6807\u98985", +"Heading 6": "\u6807\u98986", +"Preformatted": "\u9884\u683c\u5f0f\u5316", +"Div": "Div\u533a\u5757", +"Pre": "\u9884\u683c\u5f0f\u6587\u672c", +"Code": "\u4ee3\u7801", +"Paragraph": "\u6bb5\u843d", +"Blockquote": "\u5f15\u7528", +"Inline": "\u6587\u672c", +"Blocks": "\u533a\u5757", +"Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "\u5f53\u524d\u4e3a\u7eaf\u6587\u672c\u7c98\u8d34\u6a21\u5f0f\uff0c\u518d\u6b21\u70b9\u51fb\u53ef\u4ee5\u56de\u5230\u666e\u901a\u7c98\u8d34\u6a21\u5f0f\u3002", +"Font Family": "\u5b57\u4f53", +"Font Sizes": "\u5b57\u53f7", +"Class": "Class", +"Browse for an image": "\u6d4f\u89c8\u56fe\u50cf", +"OR": "\u6216", +"Drop an image here": "\u62d6\u653e\u4e00\u5f20\u56fe\u50cf\u81f3\u6b64", +"Upload": "\u4e0a\u4f20", +"Block": "\u5757", +"Align": "\u5bf9\u9f50", +"Default": "\u9ed8\u8ba4", +"Circle": "\u7a7a\u5fc3\u5706", +"Disc": "\u5b9e\u5fc3\u5706", +"Square": "\u65b9\u5757", +"Lower Alpha": "\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd", +"Lower Greek": "\u5c0f\u5199\u5e0c\u814a\u5b57\u6bcd", +"Lower Roman": "\u5c0f\u5199\u7f57\u9a6c\u5b57\u6bcd", +"Upper Alpha": "\u5927\u5199\u82f1\u6587\u5b57\u6bcd", +"Upper Roman": "\u5927\u5199\u7f57\u9a6c\u5b57\u6bcd", +"Anchor": "\u951a\u70b9", +"Name": "\u540d\u79f0", +"Id": "\u6807\u8bc6\u7b26", +"Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.": "\u6807\u8bc6\u7b26\u5e94\u8be5\u4ee5\u5b57\u6bcd\u5f00\u5934\uff0c\u540e\u8ddf\u5b57\u6bcd\u3001\u6570\u5b57\u3001\u7834\u6298\u53f7\u3001\u70b9\u3001\u5192\u53f7\u6216\u4e0b\u5212\u7ebf\u3002", +"You have unsaved changes are you sure you want to navigate away?": "\u4f60\u8fd8\u6709\u6587\u6863\u5c1a\u672a\u4fdd\u5b58\uff0c\u786e\u5b9a\u8981\u79bb\u5f00\uff1f", +"Restore last draft": "\u6062\u590d\u4e0a\u6b21\u7684\u8349\u7a3f", +"Special character": "\u7279\u6b8a\u7b26\u53f7", +"Source code": "\u6e90\u4ee3\u7801", +"Insert\/Edit code sample": "\u63d2\u5165\/\u7f16\u8f91\u4ee3\u7801\u793a\u4f8b", +"Language": "\u8bed\u8a00", +"Code sample": "\u4ee3\u7801\u793a\u4f8b", +"Color": "\u989c\u8272", +"R": "R", +"G": "G", +"B": "B", +"Left to right": "\u4ece\u5de6\u5230\u53f3", +"Right to left": "\u4ece\u53f3\u5230\u5de6", +"Emoticons": "\u8868\u60c5", +"Document properties": "\u6587\u6863\u5c5e\u6027", +"Title": "\u6807\u9898", +"Keywords": "\u5173\u952e\u8bcd", +"Description": "\u63cf\u8ff0", +"Robots": "\u673a\u5668\u4eba", +"Author": "\u4f5c\u8005", +"Encoding": "\u7f16\u7801", +"Fullscreen": "\u5168\u5c4f", +"Action": "\u64cd\u4f5c", +"Shortcut": "\u5feb\u6377\u952e", +"Help": "\u5e2e\u52a9", +"Address": "\u5730\u5740", +"Focus to menubar": "\u79fb\u52a8\u7126\u70b9\u5230\u83dc\u5355\u680f", +"Focus to toolbar": "\u79fb\u52a8\u7126\u70b9\u5230\u5de5\u5177\u680f", +"Focus to element path": "\u79fb\u52a8\u7126\u70b9\u5230\u5143\u7d20\u8def\u5f84", +"Focus to contextual toolbar": "\u79fb\u52a8\u7126\u70b9\u5230\u4e0a\u4e0b\u6587\u83dc\u5355", +"Insert link (if link plugin activated)": "\u63d2\u5165\u94fe\u63a5 (\u5982\u679c\u94fe\u63a5\u63d2\u4ef6\u5df2\u6fc0\u6d3b)", +"Save (if save plugin activated)": "\u4fdd\u5b58(\u5982\u679c\u4fdd\u5b58\u63d2\u4ef6\u5df2\u6fc0\u6d3b)", +"Find (if searchreplace plugin activated)": "\u67e5\u627e(\u5982\u679c\u67e5\u627e\u66ff\u6362\u63d2\u4ef6\u5df2\u6fc0\u6d3b)", +"Plugins installed ({0}):": "\u5df2\u5b89\u88c5\u63d2\u4ef6 ({0}):", +"Premium plugins:": "\u4f18\u79c0\u63d2\u4ef6\uff1a", +"Learn more...": "\u4e86\u89e3\u66f4\u591a...", +"You are using {0}": "\u4f60\u6b63\u5728\u4f7f\u7528 {0}", +"Plugins": "\u63d2\u4ef6", +"Handy Shortcuts": "\u5feb\u6377\u952e", +"Horizontal line": "\u6c34\u5e73\u5206\u5272\u7ebf", +"Insert\/edit image": "\u63d2\u5165\/\u7f16\u8f91\u56fe\u7247", +"Image description": "\u56fe\u7247\u63cf\u8ff0", +"Source": "\u5730\u5740", +"Dimensions": "\u5927\u5c0f", +"Constrain proportions": "\u4fdd\u6301\u7eb5\u6a2a\u6bd4", +"General": "\u666e\u901a", +"Advanced": "\u9ad8\u7ea7", +"Style": "\u6837\u5f0f", +"Vertical space": "\u5782\u76f4\u8fb9\u8ddd", +"Horizontal space": "\u6c34\u5e73\u8fb9\u8ddd", +"Border": "\u8fb9\u6846", +"Insert image": "\u63d2\u5165\u56fe\u7247", +"Image": "\u56fe\u7247", +"Image list": "\u56fe\u7247\u5217\u8868", +"Rotate counterclockwise": "\u9006\u65f6\u9488\u65cb\u8f6c", +"Rotate clockwise": "\u987a\u65f6\u9488\u65cb\u8f6c", +"Flip vertically": "\u5782\u76f4\u7ffb\u8f6c", +"Flip horizontally": "\u6c34\u5e73\u7ffb\u8f6c", +"Edit image": "\u7f16\u8f91\u56fe\u7247", +"Image options": "\u56fe\u7247\u9009\u9879", +"Zoom in": "\u653e\u5927", +"Zoom out": "\u7f29\u5c0f", +"Crop": "\u88c1\u526a", +"Resize": "\u8c03\u6574\u5927\u5c0f", +"Orientation": "\u65b9\u5411", +"Brightness": "\u4eae\u5ea6", +"Sharpen": "\u9510\u5316", +"Contrast": "\u5bf9\u6bd4\u5ea6", +"Color levels": "\u989c\u8272\u5c42\u6b21", +"Gamma": "\u4f3d\u9a6c\u503c", +"Invert": "\u53cd\u8f6c", +"Apply": "\u5e94\u7528", +"Back": "\u540e\u9000", +"Insert date\/time": "\u63d2\u5165\u65e5\u671f\/\u65f6\u95f4", +"Date\/time": "\u65e5\u671f\/\u65f6\u95f4", +"Insert link": "\u63d2\u5165\u94fe\u63a5", +"Insert\/edit link": "\u63d2\u5165\/\u7f16\u8f91\u94fe\u63a5", +"Text to display": "\u663e\u793a\u6587\u5b57", +"Url": "\u5730\u5740", +"Target": "\u6253\u5f00\u65b9\u5f0f", +"None": "\u65e0", +"New window": "\u5728\u65b0\u7a97\u53e3\u6253\u5f00", +"Remove link": "\u5220\u9664\u94fe\u63a5", +"Anchors": "\u951a\u70b9", +"Link": "\u94fe\u63a5", +"Paste or type a link": "\u7c98\u8d34\u6216\u8f93\u5165\u94fe\u63a5", +"The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "\u4f60\u6240\u586b\u5199\u7684URL\u5730\u5740\u4e3a\u90ae\u4ef6\u5730\u5740\uff0c\u9700\u8981\u52a0\u4e0amailto:\u524d\u7f00\u5417\uff1f", +"The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "\u4f60\u6240\u586b\u5199\u7684URL\u5730\u5740\u5c5e\u4e8e\u5916\u90e8\u94fe\u63a5\uff0c\u9700\u8981\u52a0\u4e0ahttp:\/\/:\u524d\u7f00\u5417\uff1f", +"Link list": "\u94fe\u63a5\u5217\u8868", +"Insert video": "\u63d2\u5165\u89c6\u9891", +"Insert\/edit video": "\u63d2\u5165\/\u7f16\u8f91\u89c6\u9891", +"Insert\/edit media": "\u63d2\u5165\/\u7f16\u8f91\u5a92\u4f53", +"Alternative source": "\u955c\u50cf", +"Poster": "\u5c01\u9762", +"Paste your embed code below:": "\u5c06\u5185\u5d4c\u4ee3\u7801\u7c98\u8d34\u5728\u4e0b\u9762:", +"Embed": "\u5185\u5d4c", +"Media": "\u5a92\u4f53", +"Nonbreaking space": "\u4e0d\u95f4\u65ad\u7a7a\u683c", +"Page break": "\u5206\u9875\u7b26", +"Paste as text": "\u7c98\u8d34\u4e3a\u6587\u672c", +"Preview": "\u9884\u89c8", +"Print": "\u6253\u5370", +"Save": "\u4fdd\u5b58", +"Find": "\u67e5\u627e", +"Replace with": "\u66ff\u6362\u4e3a", +"Replace": "\u66ff\u6362", +"Replace all": "\u5168\u90e8\u66ff\u6362", +"Prev": "\u4e0a\u4e00\u4e2a", +"Next": "\u4e0b\u4e00\u4e2a", +"Find and replace": "\u67e5\u627e\u548c\u66ff\u6362", +"Could not find the specified string.": "\u672a\u627e\u5230\u641c\u7d22\u5185\u5bb9.", +"Match case": "\u533a\u5206\u5927\u5c0f\u5199", +"Whole words": "\u5168\u5b57\u5339\u914d", +"Spellcheck": "\u62fc\u5199\u68c0\u67e5", +"Ignore": "\u5ffd\u7565", +"Ignore all": "\u5168\u90e8\u5ffd\u7565", +"Finish": "\u5b8c\u6210", +"Add to Dictionary": "\u6dfb\u52a0\u5230\u5b57\u5178", +"Insert table": "\u63d2\u5165\u8868\u683c", +"Table properties": "\u8868\u683c\u5c5e\u6027", +"Delete table": "\u5220\u9664\u8868\u683c", +"Cell": "\u5355\u5143\u683c", +"Row": "\u884c", +"Column": "\u5217", +"Cell properties": "\u5355\u5143\u683c\u5c5e\u6027", +"Merge cells": "\u5408\u5e76\u5355\u5143\u683c", +"Split cell": "\u62c6\u5206\u5355\u5143\u683c", +"Insert row before": "\u5728\u4e0a\u65b9\u63d2\u5165", +"Insert row after": "\u5728\u4e0b\u65b9\u63d2\u5165", +"Delete row": "\u5220\u9664\u884c", +"Row properties": "\u884c\u5c5e\u6027", +"Cut row": "\u526a\u5207\u884c", +"Copy row": "\u590d\u5236\u884c", +"Paste row before": "\u7c98\u8d34\u5230\u4e0a\u65b9", +"Paste row after": "\u7c98\u8d34\u5230\u4e0b\u65b9", +"Insert column before": "\u5728\u5de6\u4fa7\u63d2\u5165", +"Insert column after": "\u5728\u53f3\u4fa7\u63d2\u5165", +"Delete column": "\u5220\u9664\u5217", +"Cols": "\u5217", +"Rows": "\u884c", +"Width": "\u5bbd", +"Height": "\u9ad8", +"Cell spacing": "\u5355\u5143\u683c\u5916\u95f4\u8ddd", +"Cell padding": "\u5355\u5143\u683c\u5185\u8fb9\u8ddd", +"Caption": "\u6807\u9898", +"Left": "\u5de6\u5bf9\u9f50", +"Center": "\u5c45\u4e2d", +"Right": "\u53f3\u5bf9\u9f50", +"Cell type": "\u5355\u5143\u683c\u7c7b\u578b", +"Scope": "\u8303\u56f4", +"Alignment": "\u5bf9\u9f50\u65b9\u5f0f", +"H Align": "\u6c34\u5e73\u5bf9\u9f50", +"V Align": "\u5782\u76f4\u5bf9\u9f50", +"Top": "\u9876\u90e8\u5bf9\u9f50", +"Middle": "\u5782\u76f4\u5c45\u4e2d", +"Bottom": "\u5e95\u90e8\u5bf9\u9f50", +"Header cell": "\u8868\u5934\u5355\u5143\u683c", +"Row group": "\u884c\u7ec4", +"Column group": "\u5217\u7ec4", +"Row type": "\u884c\u7c7b\u578b", +"Header": "\u8868\u5934", +"Body": "\u8868\u4f53", +"Footer": "\u8868\u5c3e", +"Border color": "\u8fb9\u6846\u989c\u8272", +"Insert template": "\u63d2\u5165\u6a21\u677f", +"Templates": "\u6a21\u677f", +"Template": "\u6a21\u677f", +"Text color": "\u6587\u5b57\u989c\u8272", +"Background color": "\u80cc\u666f\u8272", +"Custom...": "\u81ea\u5b9a\u4e49...", +"Custom color": "\u81ea\u5b9a\u4e49\u989c\u8272", +"No color": "\u65e0", +"Table of Contents": "\u5185\u5bb9\u5217\u8868", +"Show blocks": "\u663e\u793a\u533a\u5757\u8fb9\u6846", +"Show invisible characters": "\u663e\u793a\u4e0d\u53ef\u89c1\u5b57\u7b26", +"Words: {0}": "\u5b57\u6570\uff1a{0}", +"{0} words": "{0} \u5b57", +"File": "\u6587\u4ef6", +"Edit": "\u7f16\u8f91", +"Insert": "\u63d2\u5165", +"View": "\u89c6\u56fe", +"Format": "\u683c\u5f0f", +"Table": "\u8868\u683c", +"Tools": "\u5de5\u5177", +"Powered by {0}": "\u7531{0}\u9a71\u52a8", +"Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "\u5728\u7f16\u8f91\u533a\u6309ALT-F9\u6253\u5f00\u83dc\u5355\uff0c\u6309ALT-F10\u6253\u5f00\u5de5\u5177\u680f\uff0c\u6309ALT-0\u67e5\u770b\u5e2e\u52a9" +}); \ No newline at end of file diff --git a/public/tinymce/skins/lightgray/content.min.css b/public/tinymce/skins/lightgray/content.min.css new file mode 100644 index 0000000..125b622 --- /dev/null +++ b/public/tinymce/skins/lightgray/content.min.css @@ -0,0 +1,554 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +.mce-content-body .mce-item-anchor { + background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") no-repeat center; + cursor: default; + display: inline-block; + height: 12px !important; + padding: 0 2px; + -webkit-user-modify: read-only; + -moz-user-modify: read-only; + -webkit-user-select: all; + -moz-user-select: all; + -ms-user-select: all; + user-select: all; + width: 8px !important; +} +.mce-content-body .mce-item-anchor[data-mce-selected] { + outline-offset: 1px; +} +.tox-comments-visible .tox-comment { + background-color: #fff0b7; +} +.tox-comments-visible .tox-comment--active { + background-color: #ffe168; +} +.tox-checklist > li:not(.tox-checklist--hidden) { + list-style: none; + margin: .25em 0; + position: relative; +} +.tox-checklist > li:not(.tox-checklist--hidden)::before { + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A"); + background-size: 100%; + content: ''; + cursor: pointer; + height: 1em; + left: -1.5em; + position: absolute; + top: .125em; + width: 1em; +} +.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before { + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A"); +} +/* stylelint-disable */ +/* http://prismjs.com/ */ +/** + * prism.js default theme for JavaScript, CSS and HTML + * Based on dabblet (http://dabblet.com) + * @author Lea Verou + */ +code[class*="language-"], +pre[class*="language-"] { + color: black; + text-shadow: 0 1px white; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + font-size: .875rem; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + -moz-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} +pre[class*="language-"]::-moz-selection, +pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, +code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #b3d4fc; +} +pre[class*="language-"]::selection, +pre[class*="language-"] ::selection, +code[class*="language-"]::selection, +code[class*="language-"] ::selection { + text-shadow: none; + background: #b3d4fc; +} +@media print { + code[class*="language-"], + pre[class*="language-"] { + text-shadow: none; + } +} +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} +:not(pre) > code[class*="language-"], +pre[class*="language-"] { + background: transparent !important; + border: 1px solid #ccc; +} +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; +} +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: slategray; +} +.token.punctuation { + color: #999; +} +.namespace { + opacity: .7; +} +.token.property, +.token.tag, +.token.boolean, +.token.number, +.token.constant, +.token.symbol, +.token.deleted { + color: #905; +} +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: #690; +} +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #a67f59; + background: rgba(255, 255, 255, 0.5); +} +.token.atrule, +.token.attr-value, +.token.keyword { + color: #07a; +} +.token.function { + color: #DD4A68; +} +.token.regex, +.token.important, +.token.variable { + color: #e90; +} +.token.important, +.token.bold { + font-weight: bold; +} +.token.italic { + font-style: italic; +} +.token.entity { + cursor: help; +} +/* stylelint-enable */ +.mce-content-body .mce-visual-caret { + background-color: black; + background-color: currentcolor; + position: absolute; +} +.mce-content-body .mce-visual-caret-hidden { + display: none; +} +.mce-content-body *[data-mce-caret] { + left: -1000px; + margin: 0; + padding: 0; + position: absolute; + right: auto; + top: 0; +} +.mce-content-body .mce-offscreen-selection { + left: -9999999999px; + max-width: 1000000px; + position: absolute; +} +.mce-content-body *[contentEditable=false] { + cursor: default; +} +.mce-content-body *[contentEditable=true] { + cursor: text; +} +.tox-cursor-format-painter { + cursor: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"), default; +} +.mce-content-body figure.align-left { + float: left; +} +.mce-content-body figure.align-right { + float: right; +} +.mce-content-body figure.image.align-center { + display: table; + margin-left: auto; + margin-right: auto; +} +.mce-preview-object { + border: 1px solid gray; + display: inline-block; + line-height: 0; + margin: 0 2px 0 2px; + position: relative; +} +.mce-preview-object .mce-shim { + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; +} +.mce-preview-object[data-mce-selected="2"] .mce-shim { + display: none; +} +.mce-object { + background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center; + border: 1px dashed #aaa; +} +.mce-pagebreak { + border: 1px dashed #aaa; + cursor: default; + display: block; + height: 5px; + margin-top: 15px; + page-break-before: always; + width: 100%; +} +@media print { + .mce-pagebreak { + border: 0; + } +} +.tiny-pageembed .mce-shim { + background: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7); + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; +} +.tiny-pageembed[data-mce-selected="2"] .mce-shim { + display: none; +} +.tiny-pageembed { + display: inline-block; + position: relative; +} +.tiny-pageembed--21by9, +.tiny-pageembed--16by9, +.tiny-pageembed--4by3, +.tiny-pageembed--1by1 { + display: block; + overflow: hidden; + padding: 0; + position: relative; + width: 100%; +} +.tiny-pageembed--21by9::before, +.tiny-pageembed--16by9::before, +.tiny-pageembed--4by3::before, +.tiny-pageembed--1by1::before { + content: ""; + display: block; +} +.tiny-pageembed--21by9::before { + padding-top: 42.857143%; +} +.tiny-pageembed--16by9::before { + padding-top: 56.25%; +} +.tiny-pageembed--4by3::before { + padding-top: 75%; +} +.tiny-pageembed--1by1::before { + padding-top: 100%; +} +.tiny-pageembed--21by9 iframe, +.tiny-pageembed--16by9 iframe, +.tiny-pageembed--4by3 iframe, +.tiny-pageembed--1by1 iframe { + border: 0; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; +} +.mce-content-body div.mce-resizehandle { + background-color: #4099ff; + border-color: #4099ff; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + height: 10px; + position: absolute; + width: 10px; + z-index: 10000; +} +.mce-content-body div.mce-resizehandle:hover { + background-color: #4099ff; +} +.mce-content-body div.mce-resizehandle:nth-of-type(1) { + cursor: nwse-resize; +} +.mce-content-body div.mce-resizehandle:nth-of-type(2) { + cursor: nesw-resize; +} +.mce-content-body div.mce-resizehandle:nth-of-type(3) { + cursor: nwse-resize; +} +.mce-content-body div.mce-resizehandle:nth-of-type(4) { + cursor: nesw-resize; +} +.mce-content-body .mce-clonedresizable { + opacity: .5; + outline: 1px dashed black; + position: absolute; + z-index: 10000; +} +.mce-content-body .mce-resize-helper { + background: #555; + background: rgba(0, 0, 0, 0.75); + border: 1px; + border-radius: 3px; + color: white; + display: none; + font-family: sans-serif; + font-size: 12px; + line-height: 14px; + margin: 5px 10px; + padding: 5px; + position: absolute; + white-space: nowrap; + z-index: 10001; +} +.mce-match-marker { + background: #aaa; + color: #fff; +} +.mce-match-marker-selected { + background: #39f; + color: #fff; +} +.mce-content-body img[data-mce-selected], +.mce-content-body table[data-mce-selected] { + outline: 3px solid #b4d7ff; +} +.mce-content-body hr[data-mce-selected] { + outline: 3px solid #b4d7ff; + outline-offset: 1px; +} +.mce-content-body *[contentEditable=false] *[contentEditable=true]:focus { + outline: 3px solid #b4d7ff; +} +.mce-content-body *[contentEditable=false] *[contentEditable=true]:hover { + outline: 3px solid #b4d7ff; +} +.mce-content-body *[contentEditable=false][data-mce-selected] { + cursor: not-allowed; + outline: 3px solid #b4d7ff; +} +.mce-content-body.mce-content-readonly *[contentEditable=true]:focus, +.mce-content-body.mce-content-readonly *[contentEditable=true]:hover { + outline: none; +} +.mce-content-body *[data-mce-selected="inline-boundary"] { + background-color: #b4d7ff; +} +.mce-content-body .mce-edit-focus { + outline: 3px solid #b4d7ff; +} +.mce-content-body td[data-mce-selected], +.mce-content-body th[data-mce-selected] { + background-color: #b4d7ff !important; +} +.mce-content-body td[data-mce-selected]::-moz-selection, +.mce-content-body th[data-mce-selected]::-moz-selection { + background: none; +} +.mce-content-body td[data-mce-selected]::selection, +.mce-content-body th[data-mce-selected]::selection { + background: none; +} +.mce-content-body td[data-mce-selected] *, +.mce-content-body th[data-mce-selected] * { + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.mce-content-body img::-moz-selection { + background: none; +} +.mce-content-body img::selection { + background: none; +} +.ephox-snooker-resizer-bar { + background-color: #b4d7ff; + opacity: 0; +} +.ephox-snooker-resizer-cols { + cursor: col-resize; +} +.ephox-snooker-resizer-rows { + cursor: row-resize; +} +.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging { + opacity: 1; +} +.mce-spellchecker-word { + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.5'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; + height: 2rem; +} +.mce-spellchecker-grammar { + background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23008800'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A"); + background-position: 0 calc(100% + 1px); + background-repeat: repeat-x; + background-size: auto 6px; + cursor: default; +} +.mce-toc { + border: 1px solid gray; +} +.mce-toc h2 { + margin: 4px; +} +.mce-toc li { + list-style-type: none; +} +.mce-item-table, +.mce-item-table td, +.mce-item-table th, +.mce-item-table caption { + border: 1px dashed #bbb; +} +.mce-visualblocks p, +.mce-visualblocks h1, +.mce-visualblocks h2, +.mce-visualblocks h3, +.mce-visualblocks h4, +.mce-visualblocks h5, +.mce-visualblocks h6, +.mce-visualblocks div:not([data-mce-bogus]), +.mce-visualblocks section, +.mce-visualblocks article, +.mce-visualblocks blockquote, +.mce-visualblocks address, +.mce-visualblocks pre, +.mce-visualblocks figure, +.mce-visualblocks figcaption, +.mce-visualblocks hgroup, +.mce-visualblocks aside, +.mce-visualblocks ul, +.mce-visualblocks ol, +.mce-visualblocks dl { + background-repeat: no-repeat; + border: 1px dashed #bbb; + margin-left: 3px; + padding-top: 10px; +} +.mce-visualblocks p { + background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); +} +.mce-visualblocks h1 { + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); +} +.mce-visualblocks h2 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); +} +.mce-visualblocks h3 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); +} +.mce-visualblocks h4 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); +} +.mce-visualblocks h5 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); +} +.mce-visualblocks h6 { + background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); +} +.mce-visualblocks div:not([data-mce-bogus]) { + background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); +} +.mce-visualblocks section { + background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); +} +.mce-visualblocks article { + background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7); +} +.mce-visualblocks blockquote { + background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7); +} +.mce-visualblocks address { + background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=); +} +.mce-visualblocks pre { + background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); +} +.mce-visualblocks figure { + background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); +} +.mce-visualblocks figcaption { + border: 1px dashed #bbb; +} +.mce-visualblocks hgroup { + background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); +} +.mce-visualblocks aside { + background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); +} +.mce-visualblocks ul { + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==); +} +.mce-visualblocks ol { + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); +} +.mce-visualblocks dl { + background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); +} +.mce-nbsp, +.mce-shy { + background: #aaa; +} +.mce-shy::after { + content: '-'; +} +body { + font-family: sans-serif; +} +table { + border-collapse: collapse; +} diff --git a/public/tinymce/skins/lightgray/skin.min.css b/public/tinymce/skins/lightgray/skin.min.css new file mode 100644 index 0000000..3ea9b44 --- /dev/null +++ b/public/tinymce/skins/lightgray/skin.min.css @@ -0,0 +1,2159 @@ +/** + * Copyright (c) Tiny Technologies, Inc. All rights reserved. + * Licensed under the LGPL or a commercial license. + * For LGPL see License.txt in the project root for license information. + * For commercial licenses see https://www.tiny.cloud/ + */ +.tox, +.tox *:not(svg) { + background: transparent; + border: 0; + box-sizing: content-box; + color: #222f3e; + cursor: auto; + direction: ltr; + float: none; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-size: 16px; + font-style: normal; + font-weight: normal; + height: auto; + line-height: normal; + margin: 0; + max-width: none; + outline: 0; + padding: 0; + position: static; + -webkit-tap-highlight-color: transparent; + text-align: left; + text-decoration: none; + text-shadow: none; + text-transform: none; + vertical-align: initial; + white-space: normal; + width: auto; +} +.tox *:not(svg) { + color: inherit; + cursor: inherit; + font-size: inherit; +} +.tox-tinymce { + border: 1px solid #cccccc; + border-radius: 0; + box-shadow: none; + box-sizing: border-box; + display: flex; + flex-direction: column; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + overflow: hidden; + visibility: inherit !important; +} +.tox-editor-container { + display: flex; + flex: 1 1 auto; + flex-direction: column; + overflow: hidden; +} +.tox-editor-container > *:first-child { + border-top: none !important; +} +.tox-tinymce-aux { + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; +} +.tox-tinymce *:focus, +.tox-tinymce-aux *:focus { + outline: none; +} +button::-moz-focus-inner { + border: 0; +} +.tox-silver-sink { + z-index: 1300; +} +.tox[dir='rtl'] { + direction: rtl; +} +.tox[dir='rtl'] .tox-statusbar__resize-handle { + justify-content: flex-start; + margin-left: -8px; + margin-right: 0; + padding-left: 0; + padding-right: 1ch; +} +.tox[dir='rtl'] .tox-statusbar .tox-statusbar__path { + text-align: right; +} +.tox .tox-anchorbar { + display: flex; + flex: 0 0 auto; +} +.tox .tox-bar { + display: flex; + flex: 0 0 auto; +} +.tox .tox-button { + background-color: #3498db; + background-image: none; + background-position: none; + background-repeat: none; + border-color: #3498db; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + color: #fff; + cursor: pointer; + display: inline-block; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-size: 14px; + font-weight: bold; + letter-spacing: 1; + line-height: 24px; + margin: 0; + outline: none; + padding: 4px 16px; + text-align: center; + text-decoration: none; + text-transform: capitalize; + white-space: nowrap; +} +.tox .tox-button[disabled] { + background-color: #3498db; + background-image: none; + border-color: #3498db; + box-shadow: none; + color: rgba(255, 255, 255, 0.5); + cursor: not-allowed; +} +.tox .tox-button:focus:not(:disabled) { + background-color: #258cd1; + background-image: none; + border-color: #258cd1; + box-shadow: none; + color: #fff; +} +.tox .tox-button:hover:not(:disabled) { + background-color: #258cd1; + background-image: none; + border-color: #258cd1; + box-shadow: none; + color: #fff; +} +.tox .tox-button:active:not(:disabled) { + background-color: #217dbb; + background-image: none; + border-color: #217dbb; + box-shadow: none; + color: #fff; +} +.tox .tox-button--secondary { + background-color: #f0f0f0; + background-image: none; + background-position: none; + background-repeat: none; + border-color: #f0f0f0; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + color: #222f3e; + outline: none; + padding: 4px 16px; + text-decoration: none; + text-transform: capitalize; +} +.tox .tox-button--secondary[disabled] { + background-color: #f0f0f0; + background-image: none; + border-color: #f0f0f0; + box-shadow: none; + color: rgba(34, 47, 62, 0.5); +} +.tox .tox-button--secondary:focus:not(:disabled) { + background-color: #e3e3e3; + background-image: none; + border-color: #e3e3e3; + box-shadow: none; + color: #222f3e; +} +.tox .tox-button--secondary:hover:not(:disabled) { + background-color: #e3e3e3; + background-image: none; + border-color: #e3e3e3; + box-shadow: none; + color: #222f3e; +} +.tox .tox-button--secondary:active:not(:disabled) { + background-color: #d6d6d6; + background-image: none; + border-color: #d6d6d6; + box-shadow: none; + color: #222f3e; +} +.tox .tox-button--icon, +.tox .tox-button.tox-button--icon, +.tox .tox-button.tox-button--secondary.tox-button--icon { + padding: 4px; +} +.tox .tox-button--icon .tox-icon svg, +.tox .tox-button.tox-button--icon .tox-icon svg, +.tox .tox-button.tox-button--secondary.tox-button--icon .tox-icon svg { + display: block; + fill: currentColor; +} +.tox .tox-button-link { + background: 0; + border: none; + box-sizing: border-box; + cursor: pointer; + display: inline-block; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-size: 16px; + font-weight: normal; + line-height: 1.3; + margin: 0; + padding: 0; + white-space: nowrap; +} +.tox .tox-button-link--sm { + font-size: 14px; +} +.tox .tox-button--naked { + background-color: transparent; + border-color: transparent; + box-shadow: unset; + color: #222f3e; +} +.tox .tox-button--naked:hover:not(:disabled) { + background-color: #e3e3e3; + border-color: #e3e3e3; + box-shadow: none; + color: #222f3e; +} +.tox .tox-button--naked:focus:not(:disabled) { + background-color: #e3e3e3; + border-color: #e3e3e3; + box-shadow: none; + color: #222f3e; +} +.tox .tox-button--naked:active:not(:disabled) { + background-color: #d6d6d6; + border-color: #d6d6d6; + box-shadow: none; + color: #222f3e; +} +.tox .tox-button--naked .tox-icon svg { + fill: currentColor; +} +.tox .tox-button--naked.tox-button--icon { + color: currentColor; +} +.tox .tox-button--naked.tox-button--icon:hover:not(:disabled) { + color: #222f3e; +} +.tox .tox-checkbox { + align-items: center; + border-radius: 3px; + cursor: pointer; + display: flex; + height: 36px; + min-width: 36px; +} +.tox .tox-checkbox__input { + /* Hide from view but visible to screen readers */ + height: 1px; + left: -10000px; + overflow: hidden; + position: absolute; + top: auto; + width: 1px; +} +.tox .tox-checkbox__icons { + border-radius: 3px; + box-shadow: 0 0 0 2px transparent; + height: 24px; + padding: calc(3px); + width: 24px; +} +.tox .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { + display: block; + fill: rgba(34, 47, 62, 0.3); +} +.tox .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { + display: none; + fill: #3498db; +} +.tox .tox-checkbox__icons .tox-checkbox-icon__checked svg { + display: none; + fill: #3498db; +} +.tox .tox-checkbox__label { + margin-left: 4px; +} +.tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { + display: none; +} +.tox input.tox-checkbox__input:checked + .tox-checkbox__icons .tox-checkbox-icon__checked svg { + display: block; +} +.tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__unchecked svg { + display: none; +} +.tox input.tox-checkbox__input:indeterminate + .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg { + display: block; +} +.tox input.tox-checkbox__input:focus + .tox-checkbox__icons { + border-radius: 3px; + box-shadow: inset 0 0 0 1px #3498db; + padding: calc(3px); +} +.tox .tox-bar .tox-checkbox { + margin-left: 4px; +} +.tox .tox-collection--toolbar .tox-collection__group { + display: flex; + padding: 0; +} +.tox .tox-collection--grid .tox-collection__group { + display: flex; + flex-wrap: wrap; + max-height: 208px; + overflow-x: hidden; + overflow-y: auto; + padding: 0; +} +.tox .tox-collection--list .tox-collection__group { + border-bottom-width: 0; + border-color: #cccccc; + border-left-width: 0; + border-right-width: 0; + border-style: solid; + border-top-width: 1px; + padding: 4px 0; +} +.tox .tox-collection--list .tox-collection__group:first-child { + border-top-width: 0; +} +.tox .tox-collection__group-heading { + background-color: #e6e6e6; + color: rgba(34, 47, 62, 0.6); + cursor: default; + font-size: 12px; + font-style: normal; + font-weight: normal; + margin-bottom: 4px; + margin-top: -4px; + padding: 4px 8px; + text-transform: none; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.tox .tox-collection__item { + align-items: center; + color: #222f3e; + cursor: pointer; + display: flex; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.tox .tox-collection__item--state-disabled { + background-color: unset; + color: rgba(34, 47, 62, 0.5); + cursor: default; +} +.tox .tox-collection--list .tox-collection__item { + padding: 4px 8px; +} +.tox .tox-collection--toolbar .tox-collection__item { + border-radius: 3px; + padding: 4px; +} +.tox .tox-collection--grid .tox-collection__item { + border-radius: 3px; + padding: 4px; +} +.tox .tox-collection--list .tox-collection__item--enabled { + background-color: inherit; + color: contrast(inherit, #222f3e, #fff); +} +.tox .tox-collection--list .tox-collection__item--active { + background-color: #dee0e2; + color: #222f3e; +} +.tox .tox-collection--toolbar .tox-collection__item--enabled { + background-color: #c8cbcf; + color: #222f3e; +} +.tox .tox-collection--toolbar .tox-collection__item--active { + background-color: #dee0e2; + color: #222f3e; +} +.tox .tox-collection--grid .tox-collection__item--enabled { + background-color: #c8cbcf; + color: #222f3e; +} +.tox .tox-collection--grid .tox-collection__item--active { + background-color: #dee0e2; + color: #222f3e; +} +.tox .tox-collection__item-icon { + align-items: center; + display: flex; + height: 24px; + justify-content: center; + width: 24px; +} +.tox .tox-collection__item-icon svg { + fill: currentColor; +} +.tox .tox-collection--toolbar-lg .tox-collection__item-icon { + height: 48px; + width: 48px; +} +.tox .tox-collection--list .tox-collection__item > *:not(:first-child) { + margin-left: 8px; +} +.tox .tox-collection__item[role="menuitemcheckbox"]:not(.tox-collection__item--enabled) .tox-collection__item-checkmark svg { + display: none; +} +.tox .tox-collection__item-label { + color: currentColor; + display: inline-block; + flex: 1; + -ms-flex-preferred-size: auto; + font-size: 14px; + font-style: normal; + font-weight: normal; + line-height: 24px; + text-transform: none; + word-break: break-all; +} +.tox .tox-collection--list .tox-collection__item-label:first-child { + margin-left: 4px; +} +.tox .tox-collection__item-accessory { + color: rgba(34, 47, 62, 0.6); + display: inline-block; + font-size: 14px; + height: 24px; + line-height: 24px; + margin-left: 16px; + text-align: right; + text-transform: normal; +} +.tox .tox-collection__item-caret { + align-items: center; + display: flex; + margin-left: 16px; + min-height: 24px; +} +.tox .tox-color-picker-container { + display: flex; + flex-direction: row; + height: 225px; + margin: 0; +} +.tox .tox-sv-palette { + border: 1px solid black; + box-sizing: border-box; + display: flex; + height: 100%; + margin-right: 15px; +} +.tox .tox-sv-palette-spectrum { + height: 100%; +} +.tox .tox-sv-palette, +.tox .tox-sv-palette-spectrum { + width: 225px; +} +.tox .tox-sv-palette-thumb { + background: none; + border: 1px solid black; + border-radius: 50%; + height: 12px; + position: absolute; + width: 12px; +} +.tox .tox-sv-palette-inner-thumb { + border: 1px solid white; + border-radius: 50%; + height: 10px; + position: absolute; + width: 10px; +} +.tox .tox-hue-slider { + border: 1px solid black; + box-sizing: border-box; + height: 100%; + margin-right: 15px; + width: 25px; +} +.tox .tox-hue-slider-spectrum { + background: linear-gradient(to bottom, #f00, #ff0080, #f0f, #8000ff, #00f, #0080ff, #0ff, #00ff80, #0f0, #80ff00, #ff0, #ff8000, #f00); + height: 100%; + width: 100%; +} +.tox .tox-hue-slider, +.tox .tox-hue-slider-spectrum { + width: 20px; +} +.tox .tox-hue-slider-thumb { + background: white; + border: 1px solid black; + height: 4px; + margin-left: -1px; + width: 100%; +} +.tox .tox-rgb-form { + display: flex; + flex-direction: column; + justify-content: space-between; +} +.tox .tox-rgb-form div { + align-items: center; + display: flex; + justify-content: space-between; + margin-bottom: 5px; + width: inherit; +} +.tox .tox-rgb-form input { + width: 6em; +} +.tox .tox-rgb-form input.tox-invalid { + /* Need !important to override Chrome's focus styling unfortunately */ + border: 1px solid red !important; +} +.tox .tox-rgb-form label { + margin-right: .5em; +} +.tox .tox-rgb-form .tox-rgba-preview { + border: 1px solid black; + flex-grow: 2; + margin-bottom: 0; +} +.tox .tox-toolbar .tox-swatches, +.tox .tox-toolbar__primary .tox-swatches, +.tox .tox-toolbar__overflow .tox-swatches { + margin: 2px 0 3px 4px; +} +.tox .tox-swatches__row { + display: flex; +} +.tox .tox-swatch { + height: 30px; + transition: transform 0.15s, box-shadow 0.15s; + width: 30px; +} +.tox .tox-swatch:hover, +.tox .tox-swatch:focus { + box-shadow: 0 0 0 1px rgba(127, 127, 127, 0.3) inset; + transform: scale(0.8); +} +.tox .tox-swatch--remove { + align-items: center; + display: flex; + justify-content: center; +} +.tox .tox-swatch--remove svg path { + stroke: #e74c3c; +} +.tox .tox-swatches__picker-btn { + align-items: center; + background-color: transparent; + border: 0; + cursor: pointer; + display: flex; + height: 30px; + justify-content: center; + margin-left: auto; + outline: none; + padding: 0; + width: 30px; +} +.tox .tox-swatches__picker-btn svg { + height: 24px; + width: 24px; +} +.tox .tox-swatches__picker-btn:hover { + background: #dee0e2; +} +.tox .tox-comment-thread { + background: #fff; + position: relative; +} +.tox .tox-comment-thread > *:not(:first-child) { + margin-top: 8px; +} +.tox .tox-comment { + background: #fff; + border: 1px solid #cccccc; + border-radius: 3px; + box-shadow: 0 4px 8px 0 rgba(34, 47, 62, 0.1); + padding: 8px 8px 16px 8px; + position: relative; +} +.tox .tox-comment__header { + align-items: center; + color: #222f3e; + display: flex; + justify-content: space-between; +} +.tox .tox-comment__date { + color: rgba(34, 47, 62, 0.6); + font-size: 12px; +} +.tox .tox-comment__body { + color: #222f3e; + font-size: 14px; + font-style: normal; + font-weight: normal; + line-height: 1.3; + margin-top: 8px; + position: relative; + text-transform: initial; +} +.tox .tox-comment__body textarea { + resize: none; + white-space: normal; + width: 100%; +} +.tox .tox-comment__expander { + padding-top: 8px; +} +.tox .tox-comment__expander p { + color: rgba(34, 47, 62, 0.6); + font-size: 14px; + font-style: normal; +} +.tox .tox-comment__body p { + margin: 0; +} +.tox .tox-comment__buttonspacing { + padding-top: 16px; + text-align: center; +} +.tox .tox-comment__buttonspacing > *:last-child { + margin-left: 8px; +} +.tox .tox-comment-thread__overlay::after { + background: #fff; + bottom: 0; + content: ""; + display: flex; + left: 0; + opacity: .9; + position: absolute; + right: 0; + top: 0; + z-index: 5; +} +.tox .tox-comment__reply { + display: flex; + flex-shrink: 0; + flex-wrap: wrap; + justify-content: flex-end; + margin-top: 8px; +} +.tox .tox-comment__reply > *:first-child { + margin-bottom: 8px; + width: 100%; +} +.tox .tox-comment__reply > *:last-child { + margin-left: 8px; +} +.tox .tox-comment__edit { + display: flex; + flex-wrap: wrap; + justify-content: flex-end; + margin-left: 8px; + margin-top: 16px; +} +.tox .tox-comment__edit > *:last-child { + margin-left: 8px; +} +.tox .tox-comment__gradient::after { + background: linear-gradient(rgba(255, 255, 255, 0), #fff); + bottom: 0; + content: ""; + display: block; + height: 5em; + margin-top: -40px; + position: absolute; + width: 100%; +} +.tox .tox-comment__overlay { + background: #fff; + bottom: 0; + display: flex; + flex-direction: column; + flex-grow: 1; + left: 0; + opacity: .9; + position: absolute; + right: 0; + text-align: center; + top: 0; + z-index: 5; +} +.tox .tox-comment__loading-text { + align-items: center; + color: #222f3e; + display: flex; + flex-direction: column; + position: relative; +} +.tox .tox-comment__loading-text > div { + padding-bottom: 16px; +} +.tox .tox-comment__overlaytext { + bottom: 0; + flex-direction: column; + font-size: 14px; + left: 0; + padding: 1em; + position: absolute; + right: 0; + top: 0; + z-index: 10; +} +.tox .tox-comment__overlaytext p { + background-color: #fff; + box-shadow: 0 0 8px 8px #fff; + color: #222f3e; + text-align: center; +} +.tox .tox-comment__overlaytext div:nth-of-type(2) { + font-size: .8em; +} +.tox .tox-comment__busy-spinner { + align-items: center; + background-color: #fff; + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 1103; +} +.tox .tox-comment__scroll { + display: flex; + flex-direction: column; + flex-shrink: 1; + overflow: auto; +} +.tox .tox-conversations { + margin: 8px; +} +.tox .tox-user { + align-items: center; + display: flex; +} +.tox .tox-user__avatar svg { + fill: rgba(34, 47, 62, 0.6); + margin-right: 8px; +} +.tox .tox-user__name { + color: rgba(34, 47, 62, 0.6); + font-size: 12px; + font-style: normal; + font-weight: bold; + text-transform: uppercase; +} +.tox .tox-user__avatar + .tox-user__name { + margin-left: 8px; +} +.tox .tox-dialog-wrap { + align-items: center; + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: fixed; + right: 0; + top: 0; + z-index: 1100; +} +.tox .tox-dialog-wrap__backdrop { + background-color: rgba(255, 255, 255, 0.75); + bottom: 0; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 1101; +} +.tox .tox-dialog { + background-color: #fff; + border-color: #cccccc; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: 0 16px 16px -10px rgba(34, 47, 62, 0.15), 0 0 40px 1px rgba(34, 47, 62, 0.15); + display: flex; + flex-direction: column; + max-height: 100%; + max-width: 480px; + overflow: hidden; + position: relative; + width: 95vw; + z-index: 1102; +} +.tox .tox-dialog__header { + align-items: center; + background-color: #fff; + border-bottom: none; + color: #222f3e; + display: flex; + font-size: 16px; + justify-content: space-between; + margin-bottom: 16px; + padding: 8px 16px 0 16px; + position: relative; +} +.tox .tox-dialog__header .tox-button { + z-index: 1; +} +.tox .tox-dialog__draghandle { + cursor: grab; + height: 100%; + left: 0; + position: absolute; + top: 0; + width: 100%; +} +.tox .tox-dialog__draghandle:active { + cursor: grabbing; +} +.tox .tox-dialog__dismiss { + margin-left: auto; +} +.tox .tox-dialog__title { + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-size: 20px; + font-style: normal; + font-weight: normal; + line-height: 1.3; + margin: 0; + text-transform: normal; +} +.tox .tox-dialog__body { + color: #222f3e; + display: flex; + flex: 1; + -ms-flex-preferred-size: auto; + font-size: 16px; + font-style: normal; + font-weight: normal; + line-height: 1.3; + padding: 0 16px; + text-align: left; + text-transform: normal; +} +.tox .tox-dialog__body-nav { + align-items: flex-start; + display: flex; + flex-direction: column; + margin-right: 32px; +} +.tox .tox-dialog__body-nav-item { + border-bottom: 2px solid transparent; + color: rgba(34, 47, 62, 0.6); + display: inline-block; + font-size: 14px; + line-height: 1.3; + margin-bottom: 8px; + text-decoration: none; +} +.tox .tox-dialog__body-nav-item--active { + border-bottom: 2px solid #3498db; + color: #3498db; +} +.tox .tox-dialog__body-content { + display: flex; + flex: 1; + flex-direction: column; + -ms-flex-preferred-size: auto; + max-height: 650px; + overflow: auto; +} +.tox .tox-dialog__body-content > * { + margin-bottom: 0; + margin-top: 16px; +} +.tox .tox-dialog__body-content > *:first-child { + margin-top: 0; +} +.tox .tox-dialog__body-content > *:last-child { + margin-bottom: 0; +} +.tox .tox-dialog__body-content > *:only-child { + margin-bottom: 0; + margin-top: 0; +} +.tox .tox-dialog--width-lg { + height: 650px; + max-width: 1200px; +} +.tox .tox-dialog--width-md { + max-width: 800px; +} +.tox .tox-dialog--width-md .tox-dialog__body-content { + overflow: auto; +} +.tox .tox-dialog__body-content--centered { + text-align: center; +} +.tox .tox-dialog__body-content--spacious { + margin-bottom: 16px; +} +.tox .tox-dialog__footer { + align-items: center; + background-color: #fff; + border-top: 1px solid #cccccc; + display: flex; + justify-content: space-between; + margin-top: 16px; + padding: 8px 16px; +} +.tox .tox-dialog__footer .tox-dialog__footer-start > *, +.tox .tox-dialog__footer .tox-dialog__footer-end > * { + margin-left: 8px; +} +.tox .tox-dialog__busy-spinner { + align-items: center; + background-color: rgba(255, 255, 255, 0.75); + bottom: 0; + display: flex; + justify-content: center; + left: 0; + position: absolute; + right: 0; + top: 0; + z-index: 1103; +} +.tox .tox-dialog__table { + border-collapse: collapse; + width: 100%; +} +.tox .tox-dialog__table thead th { + font-weight: bold; + padding-bottom: 8px; +} +.tox .tox-dialog__table tbody tr { + border-bottom: 1px solid #cccccc; +} +.tox .tox-dialog__table tbody tr:last-child { + border-bottom: none; +} +.tox .tox-dialog__table td { + padding-bottom: 8px; + padding-top: 8px; +} +.tox .tox-dialog__popups { + position: absolute; + width: 100%; + z-index: 1100; +} +body.tox-dialog__disable-scroll { + overflow: hidden; +} +.tox .tox-dropzone-container { + display: flex; + flex: 1; + -ms-flex-preferred-size: auto; +} +.tox .tox-dropzone { + align-items: center; + background: #fff; + border: 2px dashed #cccccc; + box-sizing: border-box; + display: flex; + flex-direction: column; + flex-grow: 1; + justify-content: center; + min-height: 100px; + padding: 10px; +} +.tox .tox-dropzone p { + color: rgba(34, 47, 62, 0.6); + margin: 0 0 16px 0; +} +.tox .tox-edit-area { + border-top: 1px solid #cccccc; + display: flex; + flex: 1; + -ms-flex-preferred-size: auto; + overflow: hidden; + position: relative; +} +.tox .tox-edit-area__iframe { + background-color: #fff; + border: 0; + box-sizing: border-box; + flex: 1; + -ms-flex-preferred-size: auto; + height: 100%; + position: absolute; + width: 100%; +} +.tox.tox-inline-edit-area { + border: 1px dotted #cccccc; +} +.tox .tox-control-wrap { + flex: 1; + position: relative; +} +.tox .tox-control-wrap:not(.tox-control-wrap--status-invalid) .tox-control-wrap__status-icon-invalid, +.tox .tox-control-wrap:not(.tox-control-wrap--status-unknown) .tox-control-wrap__status-icon-unknown, +.tox .tox-control-wrap:not(.tox-control-wrap--status-valid) .tox-control-wrap__status-icon-valid { + display: none; +} +.tox .tox-control-wrap svg { + display: block; +} +.tox .tox-control-wrap .tox-textfield { + padding-right: 32px; +} +.tox .tox-control-wrap__status-icon-wrap { + position: absolute; + right: 4px; + top: 50%; + transform: translateY(-50%); +} +.tox .tox-control-wrap__status-icon-invalid svg { + fill: #c00; +} +.tox .tox-control-wrap__status-icon-unknown svg { + fill: orange; +} +.tox .tox-control-wrap__status-icon-valid svg { + fill: transparent; +} +.tox .tox-autocompleter { + max-width: 25em; +} +.tox .tox-autocompleter .tox-menu { + max-width: 25em; +} +.tox .tox-color-input { + display: flex; +} +.tox .tox-color-input .tox-textfield { + border-radius: 3px 0 0 3px; + display: flex; +} +.tox .tox-color-input span { + border-color: rgba(34, 47, 62, 0.2); + border-radius: 0 3px 3px 0; + border-style: solid; + border-width: 1px 1px 1px 0; + box-shadow: none; + box-sizing: border-box; + cursor: pointer; + display: flex; + width: 35px; +} +.tox .tox-color-input span:focus { + border-color: #3498db; +} +.tox .tox-label, +.tox .tox-toolbar-label { + color: rgba(34, 47, 62, 0.6); + display: block; + font-size: 14px; + font-style: normal; + font-weight: normal; + line-height: 1.3; + padding: 0 8px 0 0; + text-transform: normal; + white-space: nowrap; +} +.tox .tox-toolbar-label { + padding: 0 8px; +} +.tox .tox-form { + display: flex; + flex: 1; + flex-direction: column; + -ms-flex-preferred-size: auto; +} +.tox .tox-form__group { + box-sizing: border-box; + margin-bottom: 4px; +} +.tox .tox-form__group--error { + color: #c00; +} +.tox .tox-form__group--collection { + display: flex; +} +.tox .tox-form__grid { + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: space-between; +} +.tox .tox-form__grid--2col > .tox-form__group { + width: calc(50% - (8px / 2)); +} +.tox .tox-form__grid--3col > .tox-form__group { + width: calc(100% / 3 - (8px / 2)); +} +.tox .tox-form__grid--4col > .tox-form__group { + width: calc(25% - (8px / 2)); +} +.tox .tox-form__controls-h-stack { + align-items: center; + display: flex; +} +.tox .tox-form__controls-h-stack > *:not(:first-child) { + margin-left: 4px; +} +.tox .tox-form__group--inline { + align-items: center; + display: flex; +} +.tox .tox-form__group--stretched { + display: flex; + flex: 1; + flex-direction: column; + -ms-flex-preferred-size: auto; +} +.tox .tox-form__group--stretched .tox-textarea { + flex: 1; + -ms-flex-preferred-size: auto; +} +.tox .tox-form__group--stretched .tox-navobj { + display: flex; + flex: 1; + -ms-flex-preferred-size: auto; +} +.tox .tox-form__group--stretched .tox-navobj :nth-child(2) { + flex: 1; + -ms-flex-preferred-size: auto; + height: 100%; +} +.tox .tox-lock.tox-locked .tox-lock-icon__unlock, +.tox .tox-lock:not(.tox-locked) .tox-lock-icon__lock { + display: none; +} +.tox .tox-selectfield { + cursor: pointer; + position: relative; +} +.tox .tox-selectfield select { + padding-right: 24px; +} +.tox .tox-selectfield select::-ms-expand { + display: none; +} +.tox .tox-selectfield svg { + pointer-events: none; + position: absolute; + right: 8px; + top: 50%; + transform: translateY(-50%); +} +.tox .tox-textarea { + white-space: pre-wrap; +} +.tox .tox-textfield, +.tox .tox-selectfield select, +.tox .tox-textarea, +.tox .tox-toolbar-textfield { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #fff; + border-color: #cccccc; + border-radius: 3px; + border-style: solid; + border-width: 1px; + box-shadow: none; + box-sizing: border-box; + color: #222f3e; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + font-size: 16px; + line-height: 24px; + margin: 0; + outline: none; + padding: 5px 4.75px; + resize: none; + width: 100%; +} +.tox .tox-textfield:focus, +.tox .tox-selectfield select:focus, +.tox .tox-textarea:focus { + border-color: #3498db; + box-shadow: none; + outline: none; +} +.tox .tox-toolbar-textfield { + border-width: 0; + margin-bottom: 3px; + margin-top: 2px; + max-width: 250px; +} +.tox .tox-toolbar-textfield + * { + margin-left: 4px; +} +.tox .tox-naked-btn { + background-color: transparent; + border: 0; + border-color: transparent; + box-shadow: unset; + color: #3498db; + cursor: pointer; + display: block; + margin: 0; + padding: 0; +} +.tox .tox-naked-btn svg { + display: block; + fill: #222f3e; +} +.tox-fullscreen { + border: 0; + height: 100%; + left: 0; + margin: 0; + overflow: hidden; + padding: 0; + position: fixed; + top: 0; + width: 100%; +} +.tox-fullscreen .tox .tox-statusbar__resize-handle { + display: none; +} +.tox-fullscreen .tox.tox-tinymce { + z-index: 1200; +} +.tox-fullscreen .tox.tox-tinymce-aux { + z-index: 1201; +} +.tox .tox-image-tools { + width: 100%; +} +.tox .tox-image-tools__toolbar { + align-items: center; + display: flex; + justify-content: center; +} +.tox .tox-image-tools__image { + background-color: #666; + height: 380px; + overflow: auto; + position: relative; + width: 100%; +} +.tox .tox-image-tools__image, +.tox .tox-image-tools__image + .tox-image-tools__toolbar { + margin-top: 8px; +} +.tox .tox-image-tools__image-bg { + background: url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==); +} +.tox .tox-image-tools__toolbar > .tox-slider:not(:first-of-type) { + margin-left: 8px; +} +.tox .tox-image-tools__toolbar > .tox-button + .tox-slider { + margin-left: 32px; +} +.tox .tox-image-tools__toolbar > .tox-slider + .tox-button { + margin-left: 32px; +} +.tox .tox-image-tools__toolbar > .tox-spacer { + flex: 1; + -ms-flex-preferred-size: auto; +} +.tox .tox-croprect-block { + background: black; + filter: alpha(opacity=50); + opacity: .5; + position: absolute; + zoom: 1; +} +.tox .tox-croprect-handle { + border: 2px solid white; + height: 20px; + left: 0; + position: absolute; + top: 0; + width: 20px; +} +.tox .tox-croprect-handle-move { + border: 0; + cursor: move; + position: absolute; +} +.tox .tox-croprect-handle-nw { + border-width: 2px 0 0 2px; + cursor: nw-resize; + left: 100px; + margin: -2px 0 0 -2px; + top: 100px; +} +.tox .tox-croprect-handle-ne { + border-width: 2px 2px 0 0; + cursor: ne-resize; + left: 200px; + margin: -2px 0 0 -20px; + top: 100px; +} +.tox .tox-croprect-handle-sw { + border-width: 0 0 2px 2px; + cursor: sw-resize; + left: 100px; + margin: -20px 2px 0 -2px; + top: 200px; +} +.tox .tox-croprect-handle-se { + border-width: 0 2px 2px 0; + cursor: se-resize; + left: 200px; + margin: -20px 0 0 -20px; + top: 200px; +} +.tox .tox-insert-table-picker { + display: flex; + flex-wrap: wrap; + width: 169px; +} +.tox .tox-insert-table-picker > div { + border-color: #cccccc; + border-style: solid; + border-width: 0 1px 1px 0; + box-sizing: content-box; + height: 16px; + width: 16px; +} +.tox .tox-insert-table-picker > div:nth-child(10n) { + border-right: 0; +} +.tox .tox-collection--list .tox-collection__group .tox-insert-table-picker { + margin: -4px 0; +} +.tox .tox-insert-table-picker .tox-insert-table-picker__selected { + background-color: rgba(52, 152, 219, 0.5); + border-color: rgba(52, 152, 219, 0.5); +} +.tox .tox-insert-table-picker__label { + color: rgba(34, 47, 62, 0.6); + display: block; + font-size: 14px; + padding: 4px; + text-align: center; + width: 100%; +} +.tox { + /* stylelint-disable */ + /* stylelint-enable */ +} +.tox .tox-menu { + background-color: #fff; + border: 1px solid #cccccc; + border-radius: 3px; + box-shadow: 0 4px 8px 0 rgba(34, 47, 62, 0.1); + display: inline-block; + overflow: hidden; + vertical-align: top; + z-index: 1; +} +.tox .tox-menu.tox-collection.tox-collection--list { + padding: 0; +} +.tox .tox-menu.tox-collection.tox-collection--toolbar { + padding: 4px; +} +.tox .tox-menu.tox-collection.tox-collection--grid { + padding: 4px; +} +.tox .tox-menu__label h1, +.tox .tox-menu__label h2, +.tox .tox-menu__label h3, +.tox .tox-menu__label h4, +.tox .tox-menu__label h5, +.tox .tox-menu__label h6, +.tox .tox-menu__label p, +.tox .tox-menu__label blockquote, +.tox .tox-menu__label code { + margin: 0; +} +.tox .tox-menubar { + background: url("data:image/svg+xml;charset=utf8,%3Csvg height='43px' viewBox='0 0 40 43px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='42px' width='100' height='1' fill='%23cccccc'/%3E%3C/svg%3E") left 0 top 0 #fff; + background-color: #fff; + display: flex; + flex: 0 0 auto; + flex-shrink: 0; + flex-wrap: wrap; + margin-bottom: -1px; + padding: 0 4px; +} +.tox .tox-mbtn { + align-items: center; + background: none; + border: 0; + border-radius: 3px; + box-shadow: none; + color: #222f3e; + display: flex; + flex: 0 0 auto; + font-size: 14px; + font-style: normal; + font-weight: normal; + height: 34px; + justify-content: center; + margin: 2px 0 3px 0; + outline: none; + overflow: hidden; + padding: 0 4px; + text-transform: normal; + width: auto; +} +.tox .tox-mbtn[disabled] { + background-color: none; + border-color: none; + box-shadow: none; + color: rgba(34, 47, 62, 0.5); + cursor: not-allowed; +} +.tox .tox-mbtn:hover:not(:disabled) { + background: #dee0e2; + box-shadow: none; + color: #222f3e; +} +.tox .tox-mbtn:focus:not(:disabled) { + background: #dee0e2; + box-shadow: none; + color: #222f3e; +} +.tox .tox-mbtn--active { + background: #c8cbcf; + box-shadow: none; + color: #222f3e; +} +.tox .tox-mbtn__select-label { + cursor: default; + font-weight: normal; + margin: 0 4px; +} +.tox .tox-mbtn[disabled] .tox-mbtn__select-label { + cursor: not-allowed; +} +.tox .tox-mbtn__select-chevron { + align-items: center; + display: flex; + justify-content: center; + width: 16px; + display: none; +} +.tox .tox-notification { + background-color: #fff; + border-color: #c5c5c5; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + display: -ms-grid; + display: grid; + -ms-grid-columns: minmax(40px, 1fr) auto minmax(40px, 1fr); + grid-template-columns: minmax(40px, 1fr) auto minmax(40px, 1fr); + margin-top: 5px; + opacity: 0; + padding: 5px; + transition: transform 100ms ease-in, opacity 150ms ease-in; +} +.tox .tox-notification--in { + opacity: 1; +} +.tox .tox-notification--success { + background-color: #dff0d8; + border-color: #d6e9c6; +} +.tox .tox-notification--error { + background-color: #f2dede; + border-color: #ebccd1; +} +.tox .tox-notification--warn { + background-color: #fcf8e3; + border-color: #faebcc; +} +.tox .tox-notification--info { + background-color: #d9edf7; + border-color: #779ecb; +} +.tox .tox-notification__body { + -ms-grid-row-align: center; + align-self: center; + color: #31708f; + font-size: 14px; + grid-column-end: 3; + -ms-grid-column-span: 1; + -ms-grid-column: 2; + grid-column-start: 2; + grid-row-end: 2; + -ms-grid-row: 1; + grid-row-start: 1; + text-align: center; + white-space: normal; + word-break: break-all; + word-break: break-word; +} +.tox .tox-notification__body > * { + margin: 0; +} +.tox .tox-notification__body > * + * { + margin-top: 1rem; +} +.tox .tox-notification__icon { + -ms-grid-row-align: center; + align-self: center; + -ms-grid-column-align: end; + grid-column-end: 2; + -ms-grid-column-span: 1; + -ms-grid-column: 1; + grid-column-start: 1; + grid-row-end: 2; + -ms-grid-row: 1; + grid-row-start: 1; + justify-self: end; +} +.tox .tox-notification__icon svg { + display: block; +} +.tox .tox-notification__dismiss { + -ms-grid-row-align: start; + align-self: start; + -ms-grid-column-align: end; + grid-column-end: 4; + -ms-grid-column-span: 1; + -ms-grid-column: 3; + grid-column-start: 3; + grid-row-end: 2; + -ms-grid-row: 1; + grid-row-start: 1; + justify-self: end; +} +.tox .tox-notification .tox-progress-bar { + -ms-grid-column-align: center; + grid-column-end: 4; + -ms-grid-column-span: 3; + -ms-grid-column: 1; + grid-column-start: 1; + grid-row-end: 3; + -ms-grid-row-span: 1; + -ms-grid-row: 2; + grid-row-start: 2; + justify-self: center; +} +.tox .tox-pop { + display: inline-block; + position: relative; +} +.tox .tox-pop--resizing { + transition: width .1s ease; +} +.tox .tox-pop--resizing .tox-toolbar { + flex-wrap: nowrap; +} +.tox .tox-pop__dialog { + background-color: #fff; + border: 1px solid #cccccc; + border-radius: 3px; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15); + min-width: 0; + overflow: hidden; +} +.tox .tox-pop__dialog > *:not(.tox-toolbar) { + margin: 4px 4px 4px 8px; +} +.tox .tox-pop__dialog .tox-toolbar { + background-color: transparent; +} +.tox .tox-pop::before, +.tox .tox-pop::after { + border-style: solid; + content: ''; + display: block; + height: 0; + position: absolute; + width: 0; +} +.tox .tox-pop.tox-pop--bottom::before, +.tox .tox-pop.tox-pop--bottom::after { + left: 50%; + top: 100%; +} +.tox .tox-pop.tox-pop--bottom::after { + border-color: #fff transparent transparent transparent; + border-width: 8px; + margin-left: -8px; + margin-top: -1px; +} +.tox .tox-pop.tox-pop--bottom::before { + border-color: #cccccc transparent transparent transparent; + border-width: 9px; + margin-left: -9px; +} +.tox .tox-pop.tox-pop--top::before, +.tox .tox-pop.tox-pop--top::after { + left: 50%; + top: 0; + transform: translateY(-100%); +} +.tox .tox-pop.tox-pop--top::after { + border-color: transparent transparent #fff transparent; + border-width: 8px; + margin-left: -8px; + margin-top: 1px; +} +.tox .tox-pop.tox-pop--top::before { + border-color: transparent transparent #cccccc transparent; + border-width: 9px; + margin-left: -9px; +} +.tox .tox-pop.tox-pop--left::before, +.tox .tox-pop.tox-pop--left::after { + left: 0; + top: calc(50% - 1px); + transform: translateY(-50%); +} +.tox .tox-pop.tox-pop--left::after { + border-color: transparent #fff transparent transparent; + border-width: 8px; + margin-left: -15px; +} +.tox .tox-pop.tox-pop--left::before { + border-color: transparent #cccccc transparent transparent; + border-width: 10px; + margin-left: -19px; +} +.tox .tox-pop.tox-pop--right::before, +.tox .tox-pop.tox-pop--right::after { + left: 100%; + top: calc(50% + 1px); + transform: translateY(-50%); +} +.tox .tox-pop.tox-pop--right::after { + border-color: transparent transparent transparent #fff; + border-width: 8px; + margin-left: -1px; +} +.tox .tox-pop.tox-pop--right::before { + border-color: transparent transparent transparent #cccccc; + border-width: 10px; + margin-left: -1px; +} +.tox .tox-pop.tox-pop--align-left::before, +.tox .tox-pop.tox-pop--align-left::after { + left: 20px; +} +.tox .tox-pop.tox-pop--align-right::before, +.tox .tox-pop.tox-pop--align-right::after { + left: calc(100% - 20px); +} +.tox .tox-sidebar-wrap { + display: flex; + flex-direction: row; + flex-grow: 1; + min-height: 0; +} +.tox .tox-sidebar { + display: flex; + flex-direction: row; + justify-content: flex-end; +} +.tox .tox-sidebar__slider { + display: flex; + overflow: hidden; +} +.tox .tox-sidebar__pane-container { + display: flex; +} +.tox .tox-sidebar__pane { + display: flex; +} +.tox .tox-sidebar--sliding-closed { + opacity: 0; +} +.tox .tox-sidebar--sliding-open { + opacity: 1; +} +.tox .tox-sidebar--sliding-growing, +.tox .tox-sidebar--sliding-shrinking { + transition: width .5s ease, opacity .5s ease; +} +.tox .tox-slider { + align-items: center; + display: flex; + flex: 1; + -ms-flex-preferred-size: auto; + height: 24px; + justify-content: center; + position: relative; +} +.tox .tox-slider__rail { + background-color: transparent; + border: 1px solid #cccccc; + border-radius: 6px; + height: 6px; + min-width: 120px; + width: 100%; +} +.tox .tox-slider__handle { + background-color: #3498db; + border-radius: 1.5px; + box-shadow: none; + height: 24px; + left: 50%; + position: absolute; + top: 50%; + transform: translateX(-50%) translateY(-50%); + width: 3px; +} +.tox .tox-source-code { + overflow: auto; +} +.tox .tox-spinner { + display: flex; +} +.tox .tox-spinner > div { + animation: tam-bouncing-dots 1.5s ease-in-out 0s infinite both; + background-color: rgba(34, 47, 62, 0.6); + border-radius: 100%; + height: 8px; + width: 8px; +} +.tox .tox-spinner > div:nth-child(1) { + animation-delay: -0.32s; +} +.tox .tox-spinner > div:nth-child(2) { + animation-delay: -0.16s; +} +.tox .tox-spinner > div:not(:first-child) { + margin-left: 4px; +} +@keyframes tam-bouncing-dots { + 0%, + 80%, + 100% { + transform: scale(0); + } + 40% { + transform: scale(1); + } +} +.tox .tox-statusbar { + align-items: center; + background-color: #fff; + border-top: 1px solid #cccccc; + color: rgba(34, 47, 62, 0.6); + display: flex; + flex: 0 0 auto; + font-size: 12px; + height: 18px; + overflow: hidden; + padding: 0 8px; + position: relative; + text-transform: uppercase; +} +.tox .tox-statusbar a { + color: rgba(34, 47, 62, 0.6); + text-decoration: none; +} +.tox .tox-statusbar a:hover { + text-decoration: underline; +} +.tox .tox-statusbar__text-container { + display: flex; + flex: 1 1 auto; + justify-content: flex-end; + overflow: hidden; +} +.tox .tox-statusbar__path { + display: flex; + flex: 1 1 auto; + margin-right: auto; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.tox .tox-statusbar__path > * { + display: inline; + margin-right: 4px; + white-space: nowrap; +} +.tox .tox-statusbar__wordcount, +.tox .tox-statusbar__branding { + flex: 0 0 auto; + margin-left: 1ch; +} +.tox .tox-statusbar__resize-handle { + align-items: flex-end; + align-self: stretch; + cursor: nwse-resize; + display: flex; + flex: 0 0 auto; + justify-content: flex-end; + margin-left: auto; + margin-right: -8px; + padding-left: 1ch; +} +.tox .tox-statusbar__resize-handle svg { + display: block; + fill: rgba(34, 47, 62, 0.6); +} +.tox .tox-tbtn { + align-items: center; + background: none; + border: 0; + border-radius: 3px; + box-shadow: none; + color: #222f3e; + display: flex; + flex: 0 0 auto; + font-size: 14px; + font-style: normal; + font-weight: normal; + height: 34px; + justify-content: center; + margin: 2px 0 3px 0; + outline: none; + overflow: hidden; + padding: 0; + text-transform: normal; + width: 34px; +} +.tox .tox-tbtn svg { + display: block; + fill: #222f3e; +} +.tox .tox-tbtn.tox-tbtn-more { + padding-left: 5px; + padding-right: 5px; + width: inherit; +} +.tox .tox-tbtn + .tox-tbtn { + margin-left: 0; +} +.tox .tox-tbtn--enabled { + background: #c8cbcf; + box-shadow: none; + color: #222f3e; +} +.tox .tox-tbtn--enabled > * { + transform: none; +} +.tox .tox-tbtn--enabled svg { + fill: #222f3e; +} +.tox .tox-tbtn:hover { + background: #dee0e2; + box-shadow: none; + color: #222f3e; +} +.tox .tox-tbtn:hover svg { + fill: #222f3e; +} +.tox .tox-tbtn:focus { + background: #dee0e2; + box-shadow: none; + color: #222f3e; +} +.tox .tox-tbtn:focus svg { + fill: #222f3e; +} +.tox .tox-tbtn:active { + background: #c8cbcf; + box-shadow: none; + color: #222f3e; +} +.tox .tox-tbtn:active svg { + fill: #222f3e; +} +.tox .tox-tbtn--disabled, +.tox .tox-tbtn--disabled:hover, +.tox .tox-tbtn:disabled, +.tox .tox-tbtn:disabled:hover { + background: none; + box-shadow: none; + color: rgba(34, 47, 62, 0.5); + cursor: not-allowed; +} +.tox .tox-tbtn--disabled svg, +.tox .tox-tbtn--disabled:hover svg, +.tox .tox-tbtn:disabled svg, +.tox .tox-tbtn:disabled:hover svg { + /* stylelint-disable-line no-descending-specificity */ + fill: rgba(34, 47, 62, 0.5); +} +.tox .tox-tbtn:active > * { + transform: none; +} +.tox .tox-tbtn--md { + height: 51px; + width: 51px; +} +.tox .tox-tbtn--lg { + flex-direction: column; + height: 68px; + width: 68px; +} +.tox .tox-tbtn--return { + -ms-grid-row-align: stretch; + align-self: stretch; + height: unset; + width: 16px; +} +.tox .tox-tbtn--labeled { + padding: 0 4px; + width: unset; +} +.tox .tox-tbtn__vlabel { + display: block; + font-size: 10px; + font-weight: normal; + letter-spacing: -0.025em; + margin-bottom: 4px; + white-space: nowrap; +} +.tox .tox-tbtn--select { + margin: 2px 0 3px 0; + padding: 0 4px; + width: auto; +} +.tox .tox-tbtn__select-label { + cursor: default; + font-weight: normal; + margin: 0 4px; +} +.tox .tox-tbtn__select-chevron { + align-items: center; + display: flex; + justify-content: center; + width: 16px; +} +.tox .tox-tbtn__select-chevron svg { + fill: rgba(34, 47, 62, 0.6); +} +.tox .tox-tbtn--bespoke .tox-tbtn__select-label { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + width: 7em; +} +.tox .tox-split-button { + border: 0; + border-radius: 3px; + box-sizing: border-box; + display: flex; + margin: 2px 0 3px 0; + overflow: hidden; +} +.tox .tox-split-button:hover { + box-shadow: 0 0 0 1px #dee0e2 inset; +} +.tox .tox-split-button:focus { + background: #dee0e2; + box-shadow: none; + color: #222f3e; +} +.tox .tox-split-button > * { + border-radius: 0; +} +.tox .tox-split-button__chevron { + width: 16px; +} +.tox .tox-split-button__chevron svg { + fill: rgba(34, 47, 62, 0.6); +} +.tox .tox-pop .tox-split-button__chevron svg { + transform: rotate(-90deg); +} +.tox .tox-split-button .tox-tbtn { + margin: 0; +} +.tox .tox-split-button.tox-tbtn--disabled:hover, +.tox .tox-split-button.tox-tbtn--disabled:focus, +.tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:hover, +.tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:focus { + background: none; + box-shadow: none; + color: rgba(34, 47, 62, 0.5); +} +.tox .tox-toolbar, +.tox .tox-toolbar__primary, +.tox .tox-toolbar__overflow { + background: url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23cccccc'/%3E%3C/svg%3E") left 0 top 0 #fff; + background-color: #fff; + border-top: 1px solid #cccccc; + display: flex; + flex: 0 0 auto; + flex-shrink: 0; + flex-wrap: wrap; + margin-bottom: -1px; + padding: 0 0; +} +.tox .tox-toolbar__overflow.tox-toolbar__overflow--closed { + display: none; +} +.tox .tox-pop .tox-toolbar { + border-width: 0; +} +.tox .tox-toolbar--no-divider { + background-image: none; +} +.tox.tox-tinymce-aux .tox-toolbar__overflow { + border-left: 1px solid #cccccc; + border-radius: 6px; + border-right: 1px solid #cccccc; +} +.tox .tox-toolbar__group { + align-items: center; + display: flex; + flex-wrap: wrap; + margin: 0 0; + padding: 0 4px; +} +.tox .tox-toolbar__group:not(:last-of-type) { + border-right: 1px solid #cccccc; +} +.tox .tox-toolbar__group--pull-right { + margin-left: auto; +} +.tox .tox-tooltip { + display: inline-block; + padding: 8px; + position: relative; +} +.tox .tox-tooltip__body { + background-color: #222f3e; + border-radius: 3px; + box-shadow: 0 2px 4px rgba(34, 47, 62, 0.3); + color: rgba(255, 255, 255, 0.75); + font-size: 14px; + font-style: normal; + font-weight: normal; + padding: 4px 8px; + text-transform: normal; +} +.tox .tox-tooltip__arrow { + position: absolute; +} +.tox .tox-tooltip--down .tox-tooltip__arrow { + border-left: 8px solid transparent; + border-right: 8px solid transparent; + border-top: 8px solid #222f3e; + bottom: 0; + left: 50%; + position: absolute; + transform: translateX(-50%); +} +.tox .tox-tooltip--up .tox-tooltip__arrow { + border-bottom: 8px solid #222f3e; + border-left: 8px solid transparent; + border-right: 8px solid transparent; + left: 50%; + position: absolute; + top: 0; + transform: translateX(-50%); +} +.tox .tox-tooltip--right .tox-tooltip__arrow { + border-bottom: 8px solid transparent; + border-left: 8px solid #222f3e; + border-top: 8px solid transparent; + position: absolute; + right: 0; + top: 50%; + transform: translateY(-50%); +} +.tox .tox-tooltip--left .tox-tooltip__arrow { + border-bottom: 8px solid transparent; + border-right: 8px solid #222f3e; + border-top: 8px solid transparent; + left: 0; + position: absolute; + top: 50%; + transform: translateY(-50%); +} +.tox .tox-well { + border: 1px solid #cccccc; + border-radius: 3px; + padding: 8px; + width: 100%; +} +.tox .tox-well > *:first-child { + margin-top: 0; +} +.tox .tox-well > *:last-child { + margin-bottom: 0; +} +.tox .tox-well > *:only-child { + margin: 0; +} +.tox .tox-custom-editor { + border: 1px solid #cccccc; + border-radius: 3px; + display: flex; + height: 525px; +} +/* stylelint-disable */ +.tox { + /* stylelint-enable */ +} +.tox .tox-dialog-loading::before { + background-color: rgba(0, 0, 0, 0.5); + content: ""; + height: 100%; + position: absolute; + width: 100%; + z-index: 1000; +} +.tox .tox-tab { + cursor: pointer; +} +.tox .tox-dialog__content-js { + display: flex; + flex: 1; + -ms-flex-preferred-size: auto; +} +.tox .tox-dialog__body-content .tox-collection { + display: flex; + flex: 1; + -ms-flex-preferred-size: auto; +} +.tox ul { + display: block; + list-style-type: disc; + -webkit-margin-before: 1em; + margin-block-start: 1em; + -webkit-margin-after: 1em; + margin-block-end: 1em; + -webkit-margin-start: 0px; + margin-inline-start: 0px; + -webkit-margin-end: 0px; + margin-inline-end: 0px; + -webkit-padding-start: 40px; + padding-inline-start: 40px; +} +.tox a { + cursor: pointer; + color: #2276d2; +} +.tox .tox-image-tools-edit-panel { + height: 60px; +} +.tox .tox-image-tools__sidebar { + height: 60px; +} diff --git a/src/App.vue b/src/App.vue new file mode 100644 index 0000000..7e34e80 --- /dev/null +++ b/src/App.vue @@ -0,0 +1,72 @@ + + + diff --git a/src/api/api.js b/src/api/api.js new file mode 100644 index 0000000..fb3868d --- /dev/null +++ b/src/api/api.js @@ -0,0 +1,204 @@ +import { getAction, deleteAction,putAction, postAction, httpAction } from '@/api/manage' +import Vue from 'vue' +import {UI_CACHE_DB_DICT_DATA } from '@/store/mutation-types' + +// idm 系统单点登录 获取用户信息 +const loginIdmPlatform = (params) => postAction(`/sys/singleSignOn?code=${params.code}`) +//角色管理 +const addRole = (params)=>postAction('/sys/role/add',params) +const editRole = (params)=>postAction('/sys/role/edit',params) +const checkRoleCode = (params)=>getAction('/sys/role/checkRoleCode',params) +const queryallRoles = (params)=> getAction('sys/role/treeList',params) +const queryall = (params)=>getAction('/sys/role/queryall',params) + +//用户管理 +const addUser = (params)=>postAction('/sys/user/add',params) +const editUser = (params)=>postAction('/sys/user/edit',params) +const queryUserRole = (params)=>getAction('/sys/user/queryUserRole',params) +const getUserList = (params)=>getAction('/sys/user/page',params) +// 获取全部用户列表 +const getAllUserList = (params) => getAction('/sys/user/list', params) +const frozenBatch = (params)=>postAction('/sys/user/frozenBatch',params) +//验证用户是否存在 +const checkOnlyUser = (params)=>getAction('/sys/user/checkOnlyUser',params) +//改变密码 +const changePassword = (params)=>postAction('/sys/user/changePassword',params) +// 重置密码 +const resetUserPassword = (params) => postAction('/sys/user/resetPassword',params) + +//权限管理 +const addPermission= (params)=>postAction('/sys/permission/add',params) +const editPermission= (params)=>postAction('/sys/permission/edit',params) +const getPermissionList = (params)=>getAction('/sys/permission/page',params) +const getSystemMenuList = (params)=>getAction('/sys/permission/getSystemMenuList',params) +const getSystemSubmenu = (params)=>getAction('/sys/permission/getSystemSubmenu',params) +const getSystemSubmenuBatch = (params) => getAction('/sys/permission/getSystemSubmenuBatch', params) +const queryTreeList = (params)=>getAction('/sys/permission/queryTreeList',params) +const queryTreeListForRole = (params)=>getAction('/sys/role/queryTreeList',params) +const queryListAsync = (params)=>getAction('/sys/permission/queryListAsync',params) +const queryRolePermission = (params)=>getAction('/sys/permission/queryRolePermission',params) +const saveRolePermission = (params)=>postAction('/sys/permission/saveRolePermission',params) +const queryPermissionsByUser = ()=>getAction('/sys/permission/getUserPermissionByToken') +const loadAllRoleIds = (params)=>getAction('/sys/permission/loadAllRoleIds',params) +const getPermissionRuleList = (params)=>getAction('/sys/permission/getPermRuleListByPermId',params) +const queryPermissionRule = (params)=>getAction('/sys/permission/queryPermissionRule',params) + +// 部门管理 +const queryDepartTreeList = (params)=>getAction('/sys/sysDepart/queryTreeList',params) +const queryIdTree = (params)=>getAction('/sys/sysDepart/queryIdTree',params) +const queryParentName = (params)=>getAction('/sys/sysDepart/queryParentName',params) +const searchByKeywords = (params)=>getAction('/sys/sysDepart/searchBy',params) +const deleteByDepartId = (params)=>getAction('/sys/sysDepart/delete',params) + +//二级部门管理 +const queryDepartPermission = (params)=>getAction('/sys/permission/queryDepartPermission',params) +const saveDepartPermission = (params)=>postAction('/sys/permission/saveDepartPermission',params) +const queryTreeListForDeptRole = (params)=>getAction('/sys/sysDepartPermission/queryTreeListForDeptRole',params) +const queryDeptRolePermission = (params)=>getAction('/sys/sysDepartPermission/queryDeptRolePermission',params) +const saveDeptRolePermission = (params)=>postAction('/sys/sysDepartPermission/saveDeptRolePermission',params) +const queryMyDepartTreeList = (params)=>getAction('/sys/sysDepart/queryMyDeptTreeList',params) + +//日志管理 +//const getLogList = (params)=>getAction("/sys/log/page",params); +const deleteLog = (params)=>deleteAction('/sys/log/delete',params) +const deleteLogList = (params)=>deleteAction('/sys/log/deleteBatch',params) + +//数据字典 +const addDict = (params)=>postAction('/sys/dict/add',params) +const editDict = (params)=>postAction('/sys/dict/edit',params) +const treeList = (params)=>getAction('/sys/dict/treeList',params) +const addDictItem = (params)=>postAction('/sys/dictItem/add',params) +const editDictItem = (params)=>postAction('/sys/dictItem/edit',params) + +//字典标签专用(通过code获取字典数组) +export const ajaxGetDictItems = (code, params)=>getAction(`/sys/dict/getDictItems/${code}`,params) +//从缓存中获取字典配置 +function getDictItemsFromCache(dictCode) { + if (Vue.ls.get(UI_CACHE_DB_DICT_DATA) && Vue.ls.get(UI_CACHE_DB_DICT_DATA)[dictCode]) { + let dictItems = Vue.ls.get(UI_CACHE_DB_DICT_DATA)[dictCode] + return dictItems + } +} + +//系统通告 +const doReleaseData = (params)=>getAction('/sys/annountCement/doReleaseData',params) +const doReovkeData = (params)=>getAction('/sys/annountCement/doReovkeData',params) +//获取系统访问量 +const getLoginfo = (params)=>getAction('/sys/loginfo',params) +const getVisitInfo = (params)=>getAction('/sys/visitInfo',params) + +// 根据部门主键查询用户信息 +const queryUserByDepId = (params)=>getAction('/sys/user/queryUserByDepId',params) + +// 重复校验 +const duplicateCheck = (params)=>getAction('/sys/duplicate/check',params) +// 加载分类字典 +const loadCategoryData = (params)=>getAction('/sys/category/loadAllData',params) +const checkRuleByCode = (params) => getAction('/sys/checkRule/checkByCode', params) +//加载我的通告信息 +const getUserNoticeInfo= (params)=>getAction('/sys/sysAnnouncementSend/getMyAnnouncementSend',params) +const getTransitURL = url => `/sys/common/transitRESTful?url=${encodeURIComponent(url)}` + +// 通过文件的id获取文件的相应信息 +const getFileInfo = (params) => getAction('/sys/oss/file/queryById', params) +// 通过多个文件的ids 获取文件的相应信息 +const getFileInfoByIds = (params) => getAction('/sys/oss/file/queryByIds', params) + +// 中转HTTP请求 +export const transitRESTful = { + get: (url, parameter) => getAction(getTransitURL(url), parameter), + post: (url, parameter) => postAction(getTransitURL(url), parameter), + put: (url, parameter) => putAction(getTransitURL(url), parameter), + http: (url, parameter) => httpAction(getTransitURL(url), parameter), +} + +// 通过企业名称获取该企业下的联系人 +const getContactsByCompany = (params) => getAction('/company/payContactsManagement/queryByCompany', params) +// 通过企业名称获取该企业下的联系人无权限接口 +const getContactsByCompanyNoLimit = (params) => getAction('/company/payContactsManagement/queryByCompanyMeeting', params) +// 通过联系人id获取联系人信息 +const getContactsById = (param) => getAction('/company/payContactsManagement/queryByIdMeeting', param) +// 企业管理员重置密码 +const companyAdminResetPassword = (param) => postAction('/payManagerManagement/resetPassword', param) + +// 企业管理员启用禁用 +const companyAdminEnable= (param) => postAction('/payManagerManagement/frozenBatch', param) + +// 通过企业id查询企业的相关发票信息 +const queryCompanyInfoById= (param) => getAction('/company/payCompanyManagement/queryById', param) + +// 加密获取key 与 iv +const getKeyIv = (param) => getAction('/sys/getEncryptedString',param) + +export { + addRole, + editRole, + checkRoleCode, + addUser, + editUser, + queryUserRole, + getUserList, + getAllUserList, + queryall, + frozenBatch, + checkOnlyUser, + changePassword, + getPermissionList, + addPermission, + editPermission, + queryTreeList, + queryListAsync, + queryRolePermission, + saveRolePermission, + queryPermissionsByUser, + loadAllRoleIds, + getPermissionRuleList, + queryPermissionRule, + queryDepartTreeList, + queryIdTree, + queryParentName, + searchByKeywords, + deleteByDepartId, + deleteLog, + deleteLogList, + addDict, + editDict, + treeList, + addDictItem, + editDictItem, + doReleaseData, + doReovkeData, + getLoginfo, + getVisitInfo, + queryUserByDepId, + duplicateCheck, + queryTreeListForRole, + getSystemMenuList, + getSystemSubmenu, + getSystemSubmenuBatch, + loadCategoryData, + checkRuleByCode, + queryDepartPermission, + saveDepartPermission, + queryTreeListForDeptRole, + queryDeptRolePermission, + saveDeptRolePermission, + queryMyDepartTreeList, + getUserNoticeInfo, + getDictItemsFromCache, + resetUserPassword, + getContactsByCompany, + queryallRoles, + getContactsById, + getFileInfo, + getFileInfoByIds, + getKeyIv, + getContactsByCompanyNoLimit, + loginIdmPlatform, + companyAdminResetPassword, + companyAdminEnable, + queryCompanyInfoById +} + + + diff --git a/src/api/contractOpenApi.js b/src/api/contractOpenApi.js new file mode 100644 index 0000000..d45e27e --- /dev/null +++ b/src/api/contractOpenApi.js @@ -0,0 +1,26 @@ +/* 合同管理 对接其他IOP系统的api */ +import {getAction, postAction} from './manage' +// let apiBaseUrl = '/openApi' +// 获得 access_token +const getAccessToken = (params) => postAction(`payResearchProject/payResearchProject/getToken`,params) +// const getAccessToken = (params) => postAction(`https://openapi.catarc.ac.cn/login`,params) +// 刷新 access_token +const refreshToken = (params) => postAction('/payResearchProject/payResearchProject/refreshToken',params) + +//合同台账分页查询接口 +const getContractPage = (params) => postAction('/payResearchProject/payResearchProject/pageForThreeContractPage',params) +//合同台账列表查询接口 +const getContractList = (params) => postAction('/payResearchProject/payResearchProject/listForThreeContract',params) +//合同台账详情接口 +const getContractById = (params) => getAction(`/payResearchProject/payResearchProject/oneForThreeContract`,params) +// 通过 公司名称获取公司的相关信息 +const getCompanyByName = (params) => getAction(`/company/payCompanyManagement/getCompanyByName`,params) + +export { + getAccessToken, + refreshToken, + getContractPage, + getContractList, + getContractById, + getCompanyByName +} diff --git a/src/api/incomeMeetingApi.js b/src/api/incomeMeetingApi.js new file mode 100644 index 0000000..fe46d65 --- /dev/null +++ b/src/api/incomeMeetingApi.js @@ -0,0 +1,46 @@ +import {getAction, postAction} from '@api/manage' + +// 通过用户id获取用户信息 +const getUserInfo = (params) => getAction('/sys/user/queryById',params) +// 通过会议id获取会议的详细信息 +const getMeetInfoById = (params) => getAction('/meeting/payMeeting/queryById',params) +// 获取所有工作组项目 +const getAllWorkProjects = () => getAction('/project/payWorkingGroup/listAll') +// 通过id获取参会人详细信息 +const getSingUpUserInfo = (params) => getAction('/meeting/payMeetingSituation/queryById',params) + +// 生成会议二维码 +const createQcCode = (params) => getAction('/meeting/payMeeting/createBase64',params) +// 收入合同的新增会员项目的查询 +const queryContractMemberProject = (params) => getAction('/jero/memberProject/queryListByNotCompany',params) + +// 通过单位名称校验是否标协会员 +const validateStandard = (params) => getAction('/meeting/internalMeetingSituation/checkMember',params) + +// 国际研讨会--已经生成的随机码列表页的查询 +const getGeneratedCodeList = (params) => getAction('/meeting/randomCode/link/page', params) +// 国际研讨会--生成随机码方法 +const generateCode = (params) => postAction('/meeting/randomCode/generate', params) +// 国际研讨会--列表页新增一条随机码数据 +const addGenerateCodeList = (params) => postAction('/meeting/randomCode/add', params) +// 国际研讨会--列表页编辑一条随机码数据 +const editGenerateCodeList = (params) => postAction('/meeting/randomCode/edit', params) + +// 标协会议-问题征集详情-查询标准号下拉框数据 +const getStandardNumberList = (params) => getAction('/meeting/standardsMeeting/getStandardNumberList', params) + + +export { + getUserInfo, + getMeetInfoById, + getAllWorkProjects, + getSingUpUserInfo, + createQcCode, + queryContractMemberProject, + validateStandard, + getGeneratedCodeList, + generateCode, + addGenerateCodeList, + editGenerateCodeList, + getStandardNumberList +} diff --git a/src/api/incomePaymentsApi.js b/src/api/incomePaymentsApi.js new file mode 100644 index 0000000..d851875 --- /dev/null +++ b/src/api/incomePaymentsApi.js @@ -0,0 +1,201 @@ +import { getAction, postAction } from '@api/manage' + +// 通过id获取工作组详情 +const getWorkingGroupById = (params) => getAction('/project/payWorkingGroup/queryById', params) +// 判断工作组成员是否设置来款通知 +const getChargeNotice = (param) => getAction('/project/payWorkingGroupSubitem/getCharge', param) +// 工作组会议的发布提醒 +const publishRemind = (param) => postAction('/meeting/workGroupMeeting/publishReminder', param) +// 分标委会议的发布提醒 +const commitePublishRemind = (param) => postAction('/meeting/committeeMeeting/publishReminder',param) +// 理事会的发布提醒 +const councilPublishRemind = (param) => postAction('/meeting/councilMeeting/publishReminder',param) +// 通过id获取收入合同信息 +const getRevenueContractById = (param) => getAction('/contract/payIncomeContract/queryById', param) +// 收入合同审核 +const aduitRevenueContract = (param) => postAction('/contract/payIncomeContract/audit', param) +// 收入合同关联项目 +const associatedProject = (param) => postAction('/contract/payIncomeContract/associated', param) +// 收入合同获取关联项目列表 +const getAssociatedProject = (param) => getAction('/contract/payIncomeContract/getAssociated', param) +// 取消关联 +const cancelAssociatedProject = (param) => postAction('/contract/payIncomeContract/cancelAssociated', param) +// 收入合同提交审核 +const submitAudit = (param) => postAction('/contract/payIncomeContract/submitAudit', param) +// 获取不存在成员单位的工作组信息 +const getWorkingGroupListByNotCompany = (param) => getAction('/project/payWorkingGroup/queryListByNotCompany', param) +// 收入合同存档 +const archiveRevenueContract = (param) => postAction('/contract/payIncomeContract/archive', param) +// 根据部门id获取用户信息 +const queryUserByDepartId = (param) => getAction('/sys/user/listRoleAndDepart', param) +// 企业联系人新建重名校验 +const queryContactByName = (param) => getAction('/company/payContactsManagement/queryByName', param) +// 通过id获取支出合同信息 +const getExpenditureContractById = (param) => getAction('/contract/paySpendingContract/queryById', param) +// 添加来款阶段 +const addPaymentPhase = (param) => postAction('/paymentRecord/payPaymentRecord/addAmountReceived', param) +// 编辑来款阶段 +const editAmountPhase = (param) => postAction('/paymentRecord/payPaymentRecord/editAmountReceived', param) +// 来款列表 +const amountReceivedList = (param) => postAction(`/paymentRecord/payPaymentRecord/amountReceivedList?id=${ param }`) +// 开票列表 +const payBillList = (param) => postAction(`/paymentRecord/payPaymentRecord/payBillList?id=${ param }`) +// 新增开票阶段 +const addPayBill = (param) => postAction(`/paymentRecord/payPaymentRecord/addPayBill`, param) +// 编辑开票阶段 +const editPayBill = (param) => postAction('/paymentRecord/payPaymentRecord/editPayBill', param) +// 普通项目管理-通过项目id查询其他的信息 +const queryCommonProjectById = (param) => getAction('/project/payCommonProject/queryById', param) +// 通过id查询打包企业信息 +const getPackCompanyById = (param) => getAction('/pack/payPackCompany/queryById', param) +// 添加打包项目 +const addPackProject = (param) => postAction('/pack/payPackCompanyProject/add', param) +// 取消打包 +const removePackProject = (param) => postAction('/pack/payPackCompanyProject/remove', param) +// 批量取消打包 +const batchRemovePackProject = (param) => postAction('/pack/payPackCompanyProject/removeBatch', param) +// 企业管理审核 +const aduitCompany = (param) => getAction('/company/payCompanyManagement/audit', param) +// 企业管理删除确认是否有联系人 +const checkContactByCompany = (param) => getAction('/company/payCompanyManagement/queryCompanyByIdFindContacts', param) +// 资料分发 +const distribute = (param) => postAction('/project/payWorkingGroupDistributionRecord/add', param) +// 资料批量分发 +const batchDistribute = (param) => postAction('/project/payWorkingGroupDistributionRecord/addBatch', param) +// 资料分发成员列表 +const distributeMemberList = (param) => getAction('/project/payWorkingGroupDistributionRecord/list', param) +// 催款提醒 +const dunningReminder = (param) => postAction('/project/payWorkingGroupSubitem/reminders', param) +// 复制工作组 +const copyWorkingGroup = (param) => postAction('/project/payWorkingGroup/copy', param) +// 校验登陆人是否可以操作工作组 +const checkoutWorkingGroupPrincipal = (param) => getAction('/project/payWorkingGroup/checkoutOperation', param) +// 首页统计图接口 +const homePageStatistics = (param) => getAction('/statistics/principalPeople/firstPage', param) +// 首页数据统计 +const homePageDataStatistics = (param) => getAction('/home/dataStatistics', param) +// 系统催款 +const sysReminders = (param) => postAction('/reminders/edit', param) +// 检测企业审核是否通过 +const checkCompanyAduit = (param) => getAction('/payMailContract/payMailContract/check', param) +// 获取全部部门 +const getAllDepartTreeList = (param) => getAction('/sys/sysDepart/queryTreeAllList', param) +// 验证项目是否关联合同 +const getIsAssociatedProject = (param) => getAction('/contract/payIncomeContract/getAssociatedProject', param) +// 支出合同审核 +const aduitExpenditureContract = (param) => postAction('/contract/paySpendingContract/audit', param) +// 支出合同存档 +const archiveExpenditureContract = (param) => postAction('/contract/paySpendingContract/archive', param) +// 获取全部收入合同(通过企业id查询列表) +const getAllRevenueContract = (param) => getAction('/contract/payIncomeContract/queryByCompanyId', param) +// 打印获取邮寄联系人信息接口,传票据邮寄列表id +const getPrintPostContactByMailId = (param) => getAction('/mail/payMailBill/print', param) + +// 全所统计--通过部门code查所有人员 +const getUserByDepartCode = (param) => getAction('/statistics/allProjectStatistics/listForUserByOrgCode', param) +// 收入合同--作废 +const cancellationContract = (param) => postAction('/contract/payIncomeContract/cancellation', param) +// 支出合同--作废 +const cancellationExpenditureContract = (param) => postAction('/contract/paySpendingContract/cancellation', param) +// 到账开票审核缴费凭证时获取最新一条缴费信息(普通项目、工作组项目、资料网员) +const getLastProofInfo = (param) => getAction('/paymentCheck/payPaymentCheck/getLastRecord', param) +// 到账开票审核缴费凭证时获取最新一条缴费信息(标协会员) +const getStanderMemberLastProofInfo = (param) => getAction('/paymentCheck/payPaymentCheck/getTbMemberProject', param) +// 到账开票审核缴费凭证时获取最新一条缴费信息(标协证书) +const getCertificateLastProofInfo = (param) => getAction('/paymentCheck/payPaymentCheck/getTbCertificatePayment', param) +// 通过合同邮寄表id获取邮寄详情 +const queryMailDetailById = (param) => getAction('/payMailContract/payMailContract/queryById', param) + +// 修改企业是否是内部企业的接口 +const updateInternalEnterprise = (param) => postAction('/company/payCompanyManagement/updateInternalEnterprise', param) +// 判断当前企业是否是内部企业 +const judgeInternalEnterprise = (param) => getAction('/company/payCompanyManagement/getInternalEnterprise', param) + +// 更新会员系统 会员缴费的发票信息 +const incomingUpdatePayment = (param) => postAction('/member/tbMemberProjectSubitem/incomingUpdatePayment', param) +// 更新会员系统 证书缴费的发票信息 +const incomingUpdateCertificate = (param) => postAction('/member/tbCertificatePayment/incomingUpdateCertificate', param) + +// 撤销来款 +const revokeIncome = (params) => postAction(`/paymentRecord/payPaymentRecord/revoke?id=${params}`) +// 确认来款- 查询当前项目是否有来款信息 +const getPayConfirmList = (param) => getAction('/payConfirmPaymentRecord/list', param) +// 新增一个确认来款信息 +const addPayConfirm = (param) => postAction('/payConfirmPaymentRecord/add', param) +// 编辑一个确认来款信息 +const editPayConfirm = (param) => postAction('/payConfirmPaymentRecord/edit', param) + + +//2023-07-13 工作组相关功能的接口 +// 判断当前节点 是否可以发邮件 +const judgeEmailStatus = (param) => getAction('/sys/message/sysMessageTemplate/queryByCode', param) + +export { + getWorkingGroupById, + getChargeNotice, + publishRemind, + commitePublishRemind, + getRevenueContractById, + aduitRevenueContract, + associatedProject, + getAssociatedProject, + cancelAssociatedProject, + submitAudit, + getWorkingGroupListByNotCompany, + archiveRevenueContract, + queryUserByDepartId, + queryContactByName, + getExpenditureContractById, + addPaymentPhase, + editAmountPhase, + amountReceivedList, + payBillList, + addPayBill, + editPayBill, + queryCommonProjectById, + getPackCompanyById, + addPackProject, + removePackProject, + revokeIncome, + batchRemovePackProject, + aduitCompany, + checkContactByCompany, + distribute, + batchDistribute, + distributeMemberList, + dunningReminder, + copyWorkingGroup, + checkoutWorkingGroupPrincipal, + homePageStatistics, + homePageDataStatistics, + sysReminders, + checkCompanyAduit, + getAllDepartTreeList, + getIsAssociatedProject, + aduitExpenditureContract, + archiveExpenditureContract, + getAllRevenueContract, + getPrintPostContactByMailId, + getUserByDepartCode, + cancellationContract, + councilPublishRemind, + cancellationExpenditureContract, + getLastProofInfo, + getStanderMemberLastProofInfo, + getCertificateLastProofInfo, + queryMailDetailById, + + updateInternalEnterprise, + judgeInternalEnterprise, + + incomingUpdatePayment, + incomingUpdateCertificate, + + + getPayConfirmList, + addPayConfirm, + editPayConfirm, + + + judgeEmailStatus +} diff --git a/src/api/index.js b/src/api/index.js new file mode 100644 index 0000000..35367e2 --- /dev/null +++ b/src/api/index.js @@ -0,0 +1,10 @@ +const api = { + Login: '/sys/login', + Logout: '/sys/logout', + ForgePassword: '/auth/forge-password', + Register: '/auth/register', + SendSms: '/account/sms', + // get my info + UserInfo: '/user/info' +} +export default api \ No newline at end of file diff --git a/src/api/login.js b/src/api/login.js new file mode 100644 index 0000000..1d565f5 --- /dev/null +++ b/src/api/login.js @@ -0,0 +1,89 @@ +import api from './index' +import { axios } from '@/utils/request' + +/** + * login func + * parameter: { + * username: '', + * password: '', + * remember_me: true, + * captcha: '12345' + * } + * @param parameter + * @returns {*} + */ +export function login(parameter) { + return axios({ + url: '/sys/login', + method: 'post', + data: parameter + }) +} + +export function phoneLogin(parameter) { + return axios({ + url: '/sys/phoneLogin', + method: 'post', + data: parameter + }) +} + +export function getSmsCaptcha(parameter) { + return axios({ + url: api.SendSms, + method: 'post', + data: parameter + }) +} + +// export function getInfo() { +// return axios({ +// url: '/api/user/info', +// method: 'get', +// headers: { +// 'Content-Type': 'application/json;charset=UTF-8' +// } +// }) +// } + +export function logout(logoutToken) { + return axios({ + url: '/sys/logout', + method: 'post', + headers: { + 'Content-Type': 'application/json;charset=UTF-8', + 'X-Access-Token': logoutToken + } + }) +} + +/** + * 第三方登录 + * @param token + * @param thirdType + * @returns {*} + */ +export function thirdLogin(token,thirdType) { + return axios({ + url: `/sys/thirdLogin/getLoginUser/${token}/${thirdType}`, + method: 'get', + headers: { + 'Content-Type': 'application/json;charset=UTF-8' + } + }) +} + +/** + * 获取RSA公钥 + * @returns {*} + */ +export function getRSAPublicKey() { + return axios({ + url: `/sys/getRSAPublicKey`, + method: 'get', + timeout: 5000, + headers: { + 'Content-Type': 'application/json;charset=UTF-8' + } + }) +} \ No newline at end of file diff --git a/src/api/manage.js b/src/api/manage.js new file mode 100644 index 0000000..da6c20d --- /dev/null +++ b/src/api/manage.js @@ -0,0 +1,223 @@ +import Vue from 'vue' +import { axios } from '@/utils/request' + +const api = { + user: '/mock/api/user', + role: '/mock/api/role', + service: '/mock/api/service', + permission: '/mock/api/permission', + permissionNoPager: '/mock/api/permission/no-pager' +} + +export default api + +//post +export function postAction(url,parameter) { + return axios({ + url: url, + method:'post' , + data: parameter + }) +} + +//post method= {post | put} +export function httpAction(url,parameter,method) { + return axios({ + url: url, + method:method , + data: parameter + }) +} + +//put +export function putAction(url,parameter) { + return axios({ + url: url, + method:'post', + data: parameter + }) +} + +//get +export function getAction(url,parameter) { + return axios({ + url: url, + method: 'get', + params: parameter + }) +} + +//deleteAction +export function deleteAction(url,parameter) { + return axios({ + url: url, + method: 'delete', + params: parameter + }) +} + +export function getUserList(parameter) { + return axios({ + url: api.user, + method: 'get', + params: parameter + }) +} + +export function getRoleList(parameter) { + return axios({ + url: api.role, + method: 'get', + params: parameter + }) +} + +export function getServiceList(parameter) { + return axios({ + url: api.service, + method: 'get', + params: parameter + }) +} + +export function getPermissions(parameter) { + return axios({ + url: api.permissionNoPager, + method: 'get', + params: parameter + }) +} + +// id == 0 add post +// id != 0 update put +export function saveService(parameter) { + return axios({ + url: api.service, + method: parameter.id == 0 ? 'post' : 'put', + data: parameter + }) +} + +/** + * 下载文件 用于excel导出 + * @param url + * @param parameter + * @returns {*} + */ +export function downFile(url,parameter){ + return axios({ + url: url, + params: parameter, + method:'get' , + responseType: 'blob' + }) +} +/** + * 通过A标签下载文件的通用方法 + * @param data--接口返回的数据 + * @param fileName --下载文件的名称 + */ +export function downloadFileByA(data, fileName) { + // 当没有返回数据或者返回错误信息的时候,对数据进行解析后提示 + if (!data || data.type === 'application/json') { + const reader = new FileReader() + reader.readAsText(data) + // 处理load事件。该事件在读取操作完成时触发 + reader.onload = e => { + // 解析返回的值 + const res = JSON.parse(e.target.result) + // 异常信息抛出 + if (!res.success) { + Vue.prototype['$message'].warning(res.message || '文件下载失败') + } + } + return + } + // if (!data || data.size === 0) { + // Vue.prototype['$message'].warning('文件下载失败') + // return + // } + if (typeof window.navigator.msSaveBlob !== 'undefined') { + window.navigator.msSaveBlob(new Blob([data]), fileName) + } else { + let url = window.URL.createObjectURL(new Blob([data])) + let link = document.createElement('a') + link.style.display = 'none' + link.href = url + link.setAttribute('download', fileName) + document.body.appendChild(link) + link.click() + document.body.removeChild(link) //下载完成移除元素 + window.URL.revokeObjectURL(url) //释放掉blob对象 + } +} + +/** + * get请求下载文件 + * @param url 文件路径 + * @param fileName 文件名 + * @param parameter + * @returns {*} + */ +export function downloadFile(url, fileName, parameter) { + return downFile(url, parameter).then((data) => { + // 调用a标签下载文件的方法 + downloadFileByA(data, fileName) + }) +} +/** + * post下载文件 + * @param url 文件路径 + * @param fileName 文件名 + * @param parameter + * @returns {*} + */ +export function downloadPostFile(url, fileName, parameter) { + return axios({ + url: url, + data: parameter, + method: 'post', + responseType: 'blob' + }).then((data) => { + // 调用a标签下载文件的方法 + downloadFileByA(data, fileName) + }) +} + +/** + * 文件上传 用于富文本上传图片 + * @param url + * @param parameter + * @returns {*} + */ +export function uploadAction(url,parameter){ + return axios({ + url: url, + data: parameter, + method:'post' , + headers: { + 'Content-Type': 'multipart/form-data', // 文件上传 + }, + }) +} + +/** + * 获取文件服务访问路径 + * @param avatar + * @param subStr + * @returns {*} + */ +export function getFileAccessHttpUrl(avatar,subStr) { + if(!subStr) subStr = 'http' + try { + if(avatar && avatar.startsWith(subStr)){ + return avatar + }else{ + if(avatar && avatar.length>0 && avatar.indexOf('[')==-1){ + return window._CONFIG['staticDomainURL'] + '/' + avatar + } + } + }catch(err){ + return + } +} diff --git a/src/assets/checkcode.png b/src/assets/checkcode.png new file mode 100644 index 0000000..e69de29 diff --git a/src/assets/home.png b/src/assets/home.png new file mode 100644 index 0000000..3630ea6 Binary files /dev/null and b/src/assets/home.png differ diff --git a/src/assets/imgs/error.png b/src/assets/imgs/error.png new file mode 100644 index 0000000..b3fc7cf Binary files /dev/null and b/src/assets/imgs/error.png differ diff --git a/src/assets/imgs/finished.png b/src/assets/imgs/finished.png new file mode 100644 index 0000000..55e5a33 Binary files /dev/null and b/src/assets/imgs/finished.png differ diff --git a/src/assets/imgs/generial_project.png b/src/assets/imgs/generial_project.png new file mode 100644 index 0000000..55472c5 Binary files /dev/null and b/src/assets/imgs/generial_project.png differ diff --git a/src/assets/imgs/generial_project_selected.png b/src/assets/imgs/generial_project_selected.png new file mode 100644 index 0000000..c4c9fef Binary files /dev/null and b/src/assets/imgs/generial_project_selected.png differ diff --git a/src/assets/imgs/half.png b/src/assets/imgs/half.png new file mode 100644 index 0000000..63ead38 Binary files /dev/null and b/src/assets/imgs/half.png differ diff --git a/src/assets/imgs/homePage/bg-account.png b/src/assets/imgs/homePage/bg-account.png new file mode 100644 index 0000000..a4b6cc2 Binary files /dev/null and b/src/assets/imgs/homePage/bg-account.png differ diff --git a/src/assets/imgs/homePage/bg-mail.png b/src/assets/imgs/homePage/bg-mail.png new file mode 100644 index 0000000..0e49e99 Binary files /dev/null and b/src/assets/imgs/homePage/bg-mail.png differ diff --git a/src/assets/imgs/homePage/bg-payment.png b/src/assets/imgs/homePage/bg-payment.png new file mode 100644 index 0000000..8e63828 Binary files /dev/null and b/src/assets/imgs/homePage/bg-payment.png differ diff --git a/src/assets/imgs/homePage/committee-maintenance.png b/src/assets/imgs/homePage/committee-maintenance.png new file mode 100644 index 0000000..137df11 Binary files /dev/null and b/src/assets/imgs/homePage/committee-maintenance.png differ diff --git a/src/assets/imgs/homePage/company-management.png b/src/assets/imgs/homePage/company-management.png new file mode 100644 index 0000000..3d71f1b Binary files /dev/null and b/src/assets/imgs/homePage/company-management.png differ diff --git a/src/assets/imgs/homePage/general-project.png b/src/assets/imgs/homePage/general-project.png new file mode 100644 index 0000000..fc65781 Binary files /dev/null and b/src/assets/imgs/homePage/general-project.png differ diff --git a/src/assets/imgs/homePage/income-contract.png b/src/assets/imgs/homePage/income-contract.png new file mode 100644 index 0000000..7e67d47 Binary files /dev/null and b/src/assets/imgs/homePage/income-contract.png differ diff --git a/src/assets/imgs/homePage/international-symposium.png b/src/assets/imgs/homePage/international-symposium.png new file mode 100644 index 0000000..fc6055b Binary files /dev/null and b/src/assets/imgs/homePage/international-symposium.png differ diff --git a/src/assets/imgs/homePage/other-meeting.png b/src/assets/imgs/homePage/other-meeting.png new file mode 100644 index 0000000..dd0934b Binary files /dev/null and b/src/assets/imgs/homePage/other-meeting.png differ diff --git a/src/assets/imgs/homePage/working-group-project.png b/src/assets/imgs/homePage/working-group-project.png new file mode 100644 index 0000000..6c21c45 Binary files /dev/null and b/src/assets/imgs/homePage/working-group-project.png differ diff --git a/src/assets/imgs/icon/icon_back.png b/src/assets/imgs/icon/icon_back.png new file mode 100644 index 0000000..7346afc Binary files /dev/null and b/src/assets/imgs/icon/icon_back.png differ diff --git a/src/assets/imgs/icon/icon_committee.png b/src/assets/imgs/icon/icon_committee.png new file mode 100644 index 0000000..db18915 Binary files /dev/null and b/src/assets/imgs/icon/icon_committee.png differ diff --git a/src/assets/imgs/icon/icon_company_management.png b/src/assets/imgs/icon/icon_company_management.png new file mode 100644 index 0000000..4504bdf Binary files /dev/null and b/src/assets/imgs/icon/icon_company_management.png differ diff --git a/src/assets/imgs/icon/icon_data_members.png b/src/assets/imgs/icon/icon_data_members.png new file mode 100644 index 0000000..e6a0a11 Binary files /dev/null and b/src/assets/imgs/icon/icon_data_members.png differ diff --git a/src/assets/imgs/icon/icon_data_statistics.png b/src/assets/imgs/icon/icon_data_statistics.png new file mode 100644 index 0000000..ad904b1 Binary files /dev/null and b/src/assets/imgs/icon/icon_data_statistics.png differ diff --git a/src/assets/imgs/icon/icon_edit.png b/src/assets/imgs/icon/icon_edit.png new file mode 100644 index 0000000..838c16c Binary files /dev/null and b/src/assets/imgs/icon/icon_edit.png differ diff --git a/src/assets/imgs/icon/icon_financial.png b/src/assets/imgs/icon/icon_financial.png new file mode 100644 index 0000000..a377915 Binary files /dev/null and b/src/assets/imgs/icon/icon_financial.png differ diff --git a/src/assets/imgs/icon/icon_home_report.png b/src/assets/imgs/icon/icon_home_report.png new file mode 100644 index 0000000..dff2348 Binary files /dev/null and b/src/assets/imgs/icon/icon_home_report.png differ diff --git a/src/assets/imgs/icon/icon_international_meeting.png b/src/assets/imgs/icon/icon_international_meeting.png new file mode 100644 index 0000000..b33551e Binary files /dev/null and b/src/assets/imgs/icon/icon_international_meeting.png differ diff --git a/src/assets/imgs/icon/icon_message.png b/src/assets/imgs/icon/icon_message.png new file mode 100644 index 0000000..9eac239 Binary files /dev/null and b/src/assets/imgs/icon/icon_message.png differ diff --git a/src/assets/imgs/icon/icon_notice.png b/src/assets/imgs/icon/icon_notice.png new file mode 100644 index 0000000..b9358a9 Binary files /dev/null and b/src/assets/imgs/icon/icon_notice.png differ diff --git a/src/assets/imgs/icon/icon_other_meeting.png b/src/assets/imgs/icon/icon_other_meeting.png new file mode 100644 index 0000000..c3ea48d Binary files /dev/null and b/src/assets/imgs/icon/icon_other_meeting.png differ diff --git a/src/assets/imgs/icon/icon_pack_list.png b/src/assets/imgs/icon/icon_pack_list.png new file mode 100644 index 0000000..3bdc3b3 Binary files /dev/null and b/src/assets/imgs/icon/icon_pack_list.png differ diff --git a/src/assets/imgs/icon/icon_pack_project_maintenance.png b/src/assets/imgs/icon/icon_pack_project_maintenance.png new file mode 100644 index 0000000..b63b836 Binary files /dev/null and b/src/assets/imgs/icon/icon_pack_project_maintenance.png differ diff --git a/src/assets/imgs/icon/icon_project_management.png b/src/assets/imgs/icon/icon_project_management.png new file mode 100644 index 0000000..29eb2e3 Binary files /dev/null and b/src/assets/imgs/icon/icon_project_management.png differ diff --git a/src/assets/imgs/icon/icon_revenue_contract.png b/src/assets/imgs/icon/icon_revenue_contract.png new file mode 100644 index 0000000..a85edc3 Binary files /dev/null and b/src/assets/imgs/icon/icon_revenue_contract.png differ diff --git a/src/assets/imgs/icon/icon_stander_member.png b/src/assets/imgs/icon/icon_stander_member.png new file mode 100644 index 0000000..e6a0a11 Binary files /dev/null and b/src/assets/imgs/icon/icon_stander_member.png differ diff --git a/src/assets/imgs/icon/icon_statistical_report.png b/src/assets/imgs/icon/icon_statistical_report.png new file mode 100644 index 0000000..3fb658d Binary files /dev/null and b/src/assets/imgs/icon/icon_statistical_report.png differ diff --git a/src/assets/imgs/icon/icon_system.png b/src/assets/imgs/icon/icon_system.png new file mode 100644 index 0000000..117e040 Binary files /dev/null and b/src/assets/imgs/icon/icon_system.png differ diff --git a/src/assets/imgs/icon/icon_template.png b/src/assets/imgs/icon/icon_template.png new file mode 100644 index 0000000..784e765 Binary files /dev/null and b/src/assets/imgs/icon/icon_template.png differ diff --git a/src/assets/imgs/icon/icon_working_group.png b/src/assets/imgs/icon/icon_working_group.png new file mode 100644 index 0000000..1eb1c91 Binary files /dev/null and b/src/assets/imgs/icon/icon_working_group.png differ diff --git a/src/assets/imgs/icon/icon_workspace.png b/src/assets/imgs/icon/icon_workspace.png new file mode 100644 index 0000000..7a78839 Binary files /dev/null and b/src/assets/imgs/icon/icon_workspace.png differ diff --git a/src/assets/imgs/icon/xin.png b/src/assets/imgs/icon/xin.png new file mode 100644 index 0000000..95a8925 Binary files /dev/null and b/src/assets/imgs/icon/xin.png differ diff --git a/src/assets/imgs/meeting_project.png b/src/assets/imgs/meeting_project.png new file mode 100644 index 0000000..13addb2 Binary files /dev/null and b/src/assets/imgs/meeting_project.png differ diff --git a/src/assets/imgs/meeting_project_selected.png b/src/assets/imgs/meeting_project_selected.png new file mode 100644 index 0000000..dc3060f Binary files /dev/null and b/src/assets/imgs/meeting_project_selected.png differ diff --git a/src/assets/imgs/member_project.png b/src/assets/imgs/member_project.png new file mode 100644 index 0000000..d7d0ad1 Binary files /dev/null and b/src/assets/imgs/member_project.png differ diff --git a/src/assets/imgs/member_project_selected.png b/src/assets/imgs/member_project_selected.png new file mode 100644 index 0000000..b3fea0d Binary files /dev/null and b/src/assets/imgs/member_project_selected.png differ diff --git a/src/assets/imgs/wenhao.png b/src/assets/imgs/wenhao.png new file mode 100644 index 0000000..f94fc7c Binary files /dev/null and b/src/assets/imgs/wenhao.png differ diff --git a/src/assets/imgs/working_group_project.png b/src/assets/imgs/working_group_project.png new file mode 100644 index 0000000..6ddf2f8 Binary files /dev/null and b/src/assets/imgs/working_group_project.png differ diff --git a/src/assets/imgs/working_group_project_selected.png b/src/assets/imgs/working_group_project_selected.png new file mode 100644 index 0000000..90417b9 Binary files /dev/null and b/src/assets/imgs/working_group_project_selected.png differ diff --git a/src/assets/imgs/zero.png b/src/assets/imgs/zero.png new file mode 100644 index 0000000..adb371a Binary files /dev/null and b/src/assets/imgs/zero.png differ diff --git a/src/assets/less/JAreaLinkage.less b/src/assets/less/JAreaLinkage.less new file mode 100644 index 0000000..6bd440c --- /dev/null +++ b/src/assets/less/JAreaLinkage.less @@ -0,0 +1,275 @@ +.area-zoom-in-top-enter-active, +.area-zoom-in-top-leave-active { + opacity: 1; + transform: scaleY(1); +} + +.area-zoom-in-top-enter, +.area-zoom-in-top-leave-active { + opacity: 0; + transform: scaleY(0); +} + +.area-select { + box-sizing: border-box; + margin: 0; + padding: 0; + color: rgba(0, 0, 0, 0.65); + font-size: 14px; + font-variant: tabular-nums; + line-height: 1.5; + list-style: none; + font-feature-settings: 'tnum'; + position: relative; + outline: 0; + display: block; + background-color: #fff; + border: 1px solid #d9d9d9; + border-top-width: 1.02px; + border-radius: 4px; + outline: none; + transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); + -webkit-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.area-select-wrap .area-select { + display: inline-block; +} + +.area-select * { + box-sizing: border-box; +} + +.area-select:hover { + border-color: #40a9ff; + border-right-width: 1px !important; + outline: 0; +} + + +.area-select:active { + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); +} + +.area-select.small { + width: 126px; +} + +.area-select.medium { + width: 160px; +} + +.area-select.large { + width: 194px; +} + +.area-select.is-disabled { + background: #eceff5; + cursor: not-allowed; +} + +.area-select.is-disabled:hover { + border-color: #e1e2e6; +} + +.area-select.is-disabled .area-selected-trigger { + cursor: not-allowed; +} + + + +.area-select .area-selected-trigger { + position: relative; + display: block; + font-size: 14px; + cursor: pointer; + margin: 0; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + height: 100%; + padding: 8px 20px 7px 12px; +} + +.area-select .area-select-icon { + position: absolute; + top: 50%; + margin-top: -2px; + right: 6px; + content: ""; + width: 0; + height: 0; + border: 6px solid transparent; + border-top-color: rgba(0, 0, 0, 0.25); + transition: all .3s linear; + transform-origin: center; +} + +.area-select .area-select-icon.active { + margin-top: -8px; + transform: rotate(180deg); +} + +.area-selectable-list-wrap { + position: absolute; + width: 100%; + max-height: 275px; + z-index: 15000; + background-color: #fff; + box-sizing: border-box; + overflow-x: auto; + margin: 2px 0; + border-radius: 4px; + outline: none; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); + + transition: opacity 0.15s, transform 0.3s !important; + transform-origin: center top !important; +} + +.area-selectable-list { + position: relative; + margin: 0; + padding: 6px 0; + width: 100%; + font-size: 14px; + color: #565656; + list-style: none; +} + +.area-selectable-list .area-select-option { + position: relative; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + cursor: pointer; + padding: 0 15px 0 10px; + height: 32px; + line-height: 32px; +} + +.area-selectable-list .area-select-option.hover { + background-color: #e6f7ff; +} + +// 请选择省市placeholder 为灰色 +.placeholderGray .area-selected-trigger { + color: rgb(191,191,191); +} + +.area-selectable-list .area-select-option.selected { + color: rgba(0, 0, 0, 0.65); + font-weight: 600; + background-color: #efefef; +} + +.cascader-menu-list-wrap { + position: absolute; + white-space: nowrap; + z-index: 15000; + background-color: #fff; + box-sizing: border-box; + overflow: hidden; + font-size: 0; + margin: 2px 0; + border-radius: 4px; + outline: none; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); + + transition: opacity 0.15s, transform 0.3s !important; + transform-origin: center top !important; +} + +.cascader-menu-list { + position: relative; + margin: 0; + font-size: 14px; + color: #565656; + padding: 6px 0; + list-style: none; + display: inline-block; + height: 204px; + overflow-x: hidden; + overflow-y: auto; + min-width: 160px; + vertical-align: top; + background-color: #fff; + border-right: 1px solid #e4e7ed; +} + +.cascader-menu-list:last-child { + border-right: none; +} + +.cascader-menu-list .cascader-menu-option { + position: relative; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + cursor: pointer; + padding: 0 15px 0 10px; + height: 32px; + line-height: 32px; +} + +.cascader-menu-list .cascader-menu-option.hover, +.cascader-menu-list .cascader-menu-option:hover { + background-color: #e6f7ff; +} + +.cascader-menu-list .cascader-menu-option.selected { + color: rgba(0, 0, 0, 0.65); + font-weight: 600; + background-color: #efefef; +} + +.cascader-menu-list .cascader-menu-option.cascader-menu-extensible:after { + position: absolute; + top: 50%; + margin-top: -4px; + right: 5px; + content: ""; + width: 0; + height: 0; + border: 4px solid transparent; + border-left-color: #a1a4ad; +} + +.cascader-menu-list::-webkit-scrollbar, +.area-selectable-list-wrap::-webkit-scrollbar { + width: 8px; + background: transparent; +} + +.area-selectable-list-wrap::-webkit-scrollbar-button:vertical:decremen, +.area-selectable-list-wrap::-webkit-scrollbar-button:vertical:end:decrement, +.area-selectable-list-wrap::-webkit-scrollbar-button:vertical:increment, +.area-selectable-list-wrap::-webkit-scrollbar-button:vertical:start:increment, +.cascader-menu-list::-webkit-scrollbar-button:vertical:decremen, +.cascader-menu-list::-webkit-scrollbar-button:vertical:end:decrement, +.cascader-menu-list::-webkit-scrollbar-button:vertical:increment, +.cascader-menu-list::-webkit-scrollbar-button:vertical:start:increment { + display: none; +} + +.cascader-menu-list::-webkit-scrollbar-thumb:vertical, +.area-selectable-list-wrap::-webkit-scrollbar-thumb:vertical { + background-color: #b8b8b8; + border-radius: 4px; +} + +.cascader-menu-list::-webkit-scrollbar-thumb:vertical:hover, +.area-selectable-list-wrap::-webkit-scrollbar-thumb:vertical:hover { + background-color: #777; +} + +.ant-pagination-disabled i{ + cursor: not-allowed!important; +} + +.urge-num{ + color:red; + margin-left: 4px; +} diff --git a/src/assets/less/TableExpand.less b/src/assets/less/TableExpand.less new file mode 100644 index 0000000..5616c98 --- /dev/null +++ b/src/assets/less/TableExpand.less @@ -0,0 +1,15 @@ +/** [表格主题样式一] 表格强制列不换行 */ +.j-table-force-nowrap { + td, th { + white-space: nowrap; + } + + .ant-table-selection-column { + padding: 12px 22px !important; + } + + /** 列自适应,弊端会导致列宽失效 */ + &.ant-table-wrapper .ant-table-content { + overflow-x: auto; + } +} diff --git a/src/assets/less/common.less b/src/assets/less/common.less new file mode 100644 index 0000000..8f7cae3 --- /dev/null +++ b/src/assets/less/common.less @@ -0,0 +1,119 @@ + +/*列表上方操作按钮区域*/ +.ant-card-body .table-operator { + margin-bottom: 8px; +} +/** Button按钮间距 */ +.table-operator .ant-btn { + margin: 0 8px 8px 0; +} +.table-operator .ant-btn-group .ant-btn { + margin: 0; +} + +.table-operator .ant-btn-group .ant-btn:last-child { + margin: 0 8px 8px 0; +} +/*列表td的padding设置 可以控制列表大小*/ +.ant-table-tbody .ant-table-row td { + padding-top: 15px; + padding-bottom: 15px; +} + +/*列表页面弹出modal*/ +.ant-modal-cust-warp { + height: 100% +} + +/*弹出modal Y轴滚动条*/ +.ant-modal-cust-warp .ant-modal-body { + height: calc(100% - 110px) !important; + overflow-y: auto +} + +/*弹出modal 先有content后有body 故滚动条控制在body上*/ +.ant-modal-cust-warp .ant-modal-content { + height: 90% !important; + overflow-y: hidden +} +/*列表中有图片的加这个样式 参考用户管理*/ +.anty-img-wrap { + height: 25px; + position: relative; +} +.anty-img-wrap > img { + max-height: 100%; +} +/*列表中范围查询样式*/ +.query-group-cust{width: calc(50% - 10px)} +.query-group-split-cust:before{content:"~";width: 20px;display: inline-block;text-align: center} + + +/*erp风格子表外框padding设置*/ +.ant-card-wider-padding.cust-erp-sub-tab>.ant-card-body{padding:5px 12px} + +/* 内嵌子表背景颜色 */ +.j-inner-table-wrapper /deep/ .ant-table-expanded-row .ant-table-wrapper .ant-table-tbody .ant-table-row { + background-color: #FFFFFF; +} + +/**隐藏样式-modal确定按钮 */ +.jee-hidden{display: none} +/*列表td的padding设置 可以控制列表大小*/ +.ant-table-tbody .ant-table-row td .action-span-cell a + a{ + padding-left: 20px; +} + + +.primary-color{ + color: #069f99; + cursor: pointer; +} + +// 标题及标题前的圆点 +.part-title { + padding: 10px 0; + font-size: 16px; + font-family: PingFang SC, PingFang SC-Bold; + font-weight: 700; + text-align: left; + color: #333333; + display: flex; + align-items: center; + position: relative; + + &-text { + padding-left: 20px; + } + + &-text::before { + position: absolute; + content: ""; + left: 0; + top: 50%; + transform: translateY(-50%); + width: 10px; + height: 10px; + background: #069f99; + border-radius: 5px; + } +} + +/*重置按钮*/ +.reset-button { + color: #08B6AF; + background: rgba(8,182,175,0.10); + border: 1px solid #08b6af; +} + +/*表格滚动条*/ +.ant-table-body { + overflow-x: auto!important; +} + +/*列表自适应超出隐藏*/ +.table-text { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} \ No newline at end of file diff --git a/src/assets/logo-icon.png b/src/assets/logo-icon.png new file mode 100644 index 0000000..facd1ab Binary files /dev/null and b/src/assets/logo-icon.png differ diff --git a/src/assets/logo.png b/src/assets/logo.png new file mode 100644 index 0000000..a95999f Binary files /dev/null and b/src/assets/logo.png differ diff --git a/src/assets/mobileBg.png b/src/assets/mobileBg.png new file mode 100644 index 0000000..e69de29 diff --git a/src/assets/mobileHome.png b/src/assets/mobileHome.png new file mode 100644 index 0000000..e69de29 diff --git a/src/assets/signUpImg/bg.png b/src/assets/signUpImg/bg.png new file mode 100644 index 0000000..ddcccae Binary files /dev/null and b/src/assets/signUpImg/bg.png differ diff --git a/src/assets/signUpImg/meetingInfo.png b/src/assets/signUpImg/meetingInfo.png new file mode 100644 index 0000000..ad317c2 Binary files /dev/null and b/src/assets/signUpImg/meetingInfo.png differ diff --git a/src/assets/signUpImg/signUpInfo.png b/src/assets/signUpImg/signUpInfo.png new file mode 100644 index 0000000..99950b1 Binary files /dev/null and b/src/assets/signUpImg/signUpInfo.png differ diff --git a/src/assets/userLogin.png b/src/assets/userLogin.png new file mode 100644 index 0000000..263d9ed Binary files /dev/null and b/src/assets/userLogin.png differ diff --git a/src/assets/wenhao.png b/src/assets/wenhao.png new file mode 100644 index 0000000..34bd8fc Binary files /dev/null and b/src/assets/wenhao.png differ diff --git a/src/components/HelloWorld.vue b/src/components/HelloWorld.vue new file mode 100644 index 0000000..c13cc22 --- /dev/null +++ b/src/components/HelloWorld.vue @@ -0,0 +1,130 @@ + + + + + + diff --git a/src/components/PreviewImgModal.vue b/src/components/PreviewImgModal.vue new file mode 100644 index 0000000..de6f348 --- /dev/null +++ b/src/components/PreviewImgModal.vue @@ -0,0 +1,49 @@ + + + + + \ No newline at end of file diff --git a/src/components/ProgressBar.vue b/src/components/ProgressBar.vue new file mode 100644 index 0000000..973a550 --- /dev/null +++ b/src/components/ProgressBar.vue @@ -0,0 +1,99 @@ + + + + + + \ No newline at end of file diff --git a/src/components/ProjectDetailModal.vue b/src/components/ProjectDetailModal.vue new file mode 100644 index 0000000..993006d --- /dev/null +++ b/src/components/ProjectDetailModal.vue @@ -0,0 +1,631 @@ + + + + + diff --git a/src/components/_util/Area.js b/src/components/_util/Area.js new file mode 100644 index 0000000..a6bfbdb --- /dev/null +++ b/src/components/_util/Area.js @@ -0,0 +1,78 @@ +import { pcaa } from 'area-data' + +/** + * 省市区 + */ +export default class Area { + /** + * 构造器 + * @param express + */ + constructor() { + const arr = [] + const province = pcaa['86'] + Object.keys(province).map(key => { + arr.push({ id: key, text: province[key], pid: '86' }) + const city = pcaa[key] + Object.keys(city).map(key2 => { + arr.push({ id: key2, text: city[key2], pid: key }) + const qu = pcaa[key2] + Object.keys(qu).map(key3 => { + arr.push({ id: key3, text: qu[key3], pid: key2 }) + }) + }) + }) + this.all = arr + } + + get pca() { + return this.all + } + + getCode(text) { + if (!text || text.length === 0) { + return '' + } + for (const item of this.all) { + if (item.text === text) { + return item.id + } + } + } + + getText(code) { + if (!code || code.length === 0) { + return '' + } + const arr = [] + this.getAreaBycode(code, arr) + return arr.join('/') + } + + getRealCode(code) { + const arr = [] + this.getPcode(code, arr) + return arr + } + + getPcode(id, arr) { + for (const item of this.all) { + if (item.id === id) { + arr.unshift(id) + if (item.pid !== '86') { + this.getPcode(item.pid, arr) + } + } + } + } + + getAreaBycode(code, arr) { + // console.log("this.all.length",this.all) + for (const item of this.all) { + if (item.id === code) { + arr.unshift(item.text) + this.getAreaBycode(item.pid, arr) + } + } + } +} diff --git a/src/components/_util/AreaPca.js b/src/components/_util/AreaPca.js new file mode 100644 index 0000000..dbe4ebc --- /dev/null +++ b/src/components/_util/AreaPca.js @@ -0,0 +1,74 @@ +import pca from '../../../public/map/areaPca' + +/** + * 省市区 + */ +export default class Area { + /** + * 构造器 + * @param express + */ + constructor() { + const arr = [] + const province = pca['86'] + Object.keys(province).map(key => { + arr.push({ id: key, text: province[key], pid: '86' }) + const city = pca[key] + Object.keys(city).map(key2 => { + arr.push({ id: key2, text: city[key2], pid: key }) + }) + }) + this.all = arr + } + + get pca() { + return this.all + } + + getCode(text) { + if (!text || text.length === 0) { + return '' + } + for (const item of this.all) { + if (item.text === text) { + return item.id + } + } + } + + getText(code) { + if (!code || code.length === 0) { + return '' + } + const arr = [] + this.getAreaBycode(code, arr) + return arr.join('/') + } + + getRealCode(code) { + const arr = [] + this.getPcode(code, arr) + return arr + } + + getPcode(id, arr) { + for (const item of this.all) { + if (item.id === id) { + arr.unshift(id) + if (item.pid !== '86') { + this.getPcode(item.pid, arr) + } + } + } + } + + getAreaBycode(code, arr) { + // console.log("this.all.length",this.all) + for (const item of this.all) { + if (item.id === code) { + arr.unshift(item.text) + this.getAreaBycode(item.pid, arr) + } + } + } +} diff --git a/src/components/_util/StringUtil.js b/src/components/_util/StringUtil.js new file mode 100644 index 0000000..3463c18 --- /dev/null +++ b/src/components/_util/StringUtil.js @@ -0,0 +1,35 @@ +/** + * 获取字符串的长度ascii长度为1 中文长度为2 + * @param str + * @returns {number} + */ +export const getStrFullLength = (str = '') => + str.split('').reduce((pre, cur) => { + const charCode = cur.charCodeAt(0) + if (charCode >= 0 && charCode <= 128) { + return pre + 1 + } + return pre + 2 + }, 0) + +/** + * 给定一个字符串和一个长度,将此字符串按指定长度截取 + * @param str + * @param maxLength + * @returns {string} + */ +export const cutStrByFullLength = (str = '', maxLength) => { + let showLength = 0 + return str.split('').reduce((pre, cur) => { + const charCode = cur.charCodeAt(0) + if (charCode >= 0 && charCode <= 128) { + showLength += 1 + } else { + showLength += 2 + } + if (showLength <= maxLength) { + return pre + cur + } + return pre + }, '') +} diff --git a/src/components/_util/util.js b/src/components/_util/util.js new file mode 100644 index 0000000..24865f5 --- /dev/null +++ b/src/components/_util/util.js @@ -0,0 +1,12 @@ +/** + * components util + */ + +/** + * 清理空值,对象 + * @param children + * @returns {*[]} + */ +export function filterEmpty(children = []) { + return children.filter(c => c.tag || (c.text && c.text.trim() !== '')) +} diff --git a/src/components/company/AddMeetingCompany.vue b/src/components/company/AddMeetingCompany.vue new file mode 100644 index 0000000..2664c74 --- /dev/null +++ b/src/components/company/AddMeetingCompany.vue @@ -0,0 +1,95 @@ + + + + + \ No newline at end of file diff --git a/src/components/company/BusinessSelect.vue b/src/components/company/BusinessSelect.vue new file mode 100644 index 0000000..1154699 --- /dev/null +++ b/src/components/company/BusinessSelect.vue @@ -0,0 +1,212 @@ + + + + + \ No newline at end of file diff --git a/src/components/company/CompanySelect.vue b/src/components/company/CompanySelect.vue new file mode 100644 index 0000000..2f89a91 --- /dev/null +++ b/src/components/company/CompanySelect.vue @@ -0,0 +1,152 @@ + + + + + diff --git a/src/components/company/MeetingListModal.vue b/src/components/company/MeetingListModal.vue new file mode 100644 index 0000000..db8af77 --- /dev/null +++ b/src/components/company/MeetingListModal.vue @@ -0,0 +1,192 @@ + + + + + \ No newline at end of file diff --git a/src/components/company/MeetingSelect.vue b/src/components/company/MeetingSelect.vue new file mode 100644 index 0000000..67148cc --- /dev/null +++ b/src/components/company/MeetingSelect.vue @@ -0,0 +1,60 @@ + + + + + \ No newline at end of file diff --git a/src/components/company/SelectContacts.vue b/src/components/company/SelectContacts.vue new file mode 100644 index 0000000..911f959 --- /dev/null +++ b/src/components/company/SelectContacts.vue @@ -0,0 +1,215 @@ + + + + + diff --git a/src/components/company/SelectPrincipal.vue b/src/components/company/SelectPrincipal.vue new file mode 100644 index 0000000..e88f789 --- /dev/null +++ b/src/components/company/SelectPrincipal.vue @@ -0,0 +1,77 @@ + + + + + diff --git a/src/components/dict/JDictSelectTag.vue b/src/components/dict/JDictSelectTag.vue new file mode 100644 index 0000000..379f1b2 --- /dev/null +++ b/src/components/dict/JDictSelectTag.vue @@ -0,0 +1,110 @@ + + + + + diff --git a/src/components/dict/JDictSelectUtil.js b/src/components/dict/JDictSelectUtil.js new file mode 100644 index 0000000..83b43c0 --- /dev/null +++ b/src/components/dict/JDictSelectUtil.js @@ -0,0 +1,145 @@ +/** + * 字典 util + * author: scott + * date: 20190109 + */ + +import {ajaxGetDictItems,getDictItemsFromCache} from '@/api/api' + +/** + * 获取字典数组 + * @param dictCode 字典Code + * @return List + */ +export async function initDictOptions(dictCode) { + if (!dictCode) { + return '字典Code不能为空!' + } + //优先从缓存中读取字典配置 + if(getDictItemsFromCache(dictCode)){ + let res = {} + res.result = getDictItemsFromCache(dictCode) + res.success = true + return res + } + //获取字典数组 + let res = await ajaxGetDictItems(dictCode) + return res +} + +/** + * 字典值替换文本通用方法 + * @param dictOptions 字典数组 + * @param text 字典值 + * @return String + */ +export function filterDictText(dictOptions, text) { + // --update-begin----author:sunjianlei---date:20200323------for: 字典翻译 text 允许逗号分隔 --- + if (text != null && Array.isArray(dictOptions)) { + let result = [] + // 允许多个逗号分隔,允许传数组对象 + let splitText + if (Array.isArray(text)) { + splitText = text + } else { + splitText = text.toString().trim().split(',') + } + for (let txt of splitText) { + let dictText = txt + for (let dictItem of dictOptions) { + if (txt.toString() === dictItem.value.toString()) { + dictText = (dictItem.text || dictItem.title || dictItem.label) + break + } + } + result.push(dictText) + } + return result.join(',') + } + return text + // --update-end----author:sunjianlei---date:20200323------for: 字典翻译 text 允许逗号分隔 --- +} + +/** + * 字典值替换文本通用方法(多选) + * @param dictOptions 字典数组 + * @param text 字典值 + * @return String + */ +export function filterMultiDictText(dictOptions, text) { + //js “!text” 认为0为空,所以做提前处理 + if(text === 0 || text === '0'){ + if(dictOptions){ + for (let dictItem of dictOptions) { + if (text == dictItem.value) { + return dictItem.text + } + } + } + } + + if(!text || text=='null' || !dictOptions || dictOptions.length==0){ + return '' + } + let re = '' + text = text.toString() + let arr = text.split(',') + dictOptions.forEach(function (option) { + if(option){ + for(let i=0;i t['value'] == key) + if(item && item.length>0){ + return item[0]['text'] + } + } +} + +/** 通过code获取字典数组 */ +export async function getDictItems(dictCode, params) { + //优先从缓存中读取字典配置 + if(getDictItemsFromCache(dictCode)){ + let desformDictItems = getDictItemsFromCache(dictCode).map(item => ({...item, label: item.text})) + return desformDictItems + } + + //缓存中没有,就请求后台 + return await ajaxGetDictItems(dictCode, params).then(({success, result}) => { + if (success) { + let res = result.map(item => ({...item, label: item.text})) + console.log('------- 从DB中获取到了字典-------dictCode : ', dictCode, res) + return Promise.resolve(res) + } else { + return Promise.resolve([]) + } + }).catch((res) => { + console.error('getDictItems error: ', res) + return Promise.resolve([]) + }) +} \ No newline at end of file diff --git a/src/components/dict/JMultiSelectTag.vue b/src/components/dict/JMultiSelectTag.vue new file mode 100644 index 0000000..86c04c5 --- /dev/null +++ b/src/components/dict/JMultiSelectTag.vue @@ -0,0 +1,132 @@ + + + diff --git a/src/components/dict/JSearchSelectTag.vue b/src/components/dict/JSearchSelectTag.vue new file mode 100644 index 0000000..82979c7 --- /dev/null +++ b/src/components/dict/JSearchSelectTag.vue @@ -0,0 +1,246 @@ + + + + + \ No newline at end of file diff --git a/src/components/dict/README.md b/src/components/dict/README.md new file mode 100644 index 0000000..4106df0 --- /dev/null +++ b/src/components/dict/README.md @@ -0,0 +1,181 @@ +# JDictSelectTag 组件用法 +---- +- 从字典表获取数据,dictCode格式说明: 字典code +```html + +``` + +v-decorator用法: +```html + +``` + +- 从数据库表获取字典数据,dictCode格式说明: 表名,文本字段,取值字段 +```html + +``` + + + +# JDictSelectUtil.js 列表字典函数用法 +---- + +- 第一步: 引入依赖方法 +```html + import {initDictOptions, filterDictText} from '@/components/dict/JDictSelectUtil' +``` + +- 第二步: 在created()初始化方法执行字典配置方法 +```html + //初始化字典配置 + this.initDictConfig(); +``` + +- 第三步: 实现initDictConfig方法,加载列表所需要的字典(列表上有多个字典项,就执行多次initDictOptions方法) + +```html + initDictConfig() { + //初始化字典 - 性别 + initDictOptions('sex').then((res) => { + if (res.success) { + this.sexDictOptions = res.result; + } + }); + }, +``` + +- 第四步: 实现字段的customRender方法 +```html + customRender: (text, record, index) => { + //字典值替换通用方法 + return filterDictText(this.sexDictOptions, text); + } +``` + + +# JMultiSelectTag 多选组件 +下拉/checkbox + +## 参数配置 +| 参数 | 类型 | 必填 |说明| +|--------------|---------|----|---------| +| placeholder |string | | placeholder | +| disabled |Boolean | | 是否禁用 | +| type |string | | 多选类型 select/checkbox 默认是select | +| dictCode |string | | 数据字典编码或者表名,显示字段名,存储字段名拼接而成的字符串,如果提供了options参数 则此参数可不填| +| options |Array | | 多选项,如果dictCode参数未提供,可以设置此参数加载多选项 | + +使用示例 +---- +```vue + + + +``` + +# JSearchSelectTag 字典表的搜索组件 +下拉搜索组件,支持异步加载,异步加载用于大数据量的字典表 + +## 参数配置 +| 参数 | 类型 | 必填 |说明| +|--------------|---------|----|---------| +| placeholder |string | | placeholder | +| disabled |Boolean | | 是否禁用 | +| dict |string | | 表名,显示字段名,存储字段名拼接而成的字符串,如果提供了dictOptions参数 则此参数可不填| +| dictOptions |Array | | 多选项,如果dict参数未提供,可以设置此参数加载多选项 | +| async |Boolean | | 是否支持异步加载,设置成true,则通过输入的内容加载远程数据,否则在本地过滤数据,默认false| + +使用示例 +---- +```vue + + + +``` + diff --git a/src/components/dict/index.js b/src/components/dict/index.js new file mode 100644 index 0000000..dc08984 --- /dev/null +++ b/src/components/dict/index.js @@ -0,0 +1,16 @@ +import JDictSelectTag from './JDictSelectTag.vue' +import JMultiSelectTag from './JMultiSelectTag.vue' +import JSearchSelectTag from './JSearchSelectTag.vue' +import { filterMultiDictText,filterDictText,initDictOptions,filterDictTextByCache } from './JDictSelectUtil' + +export default { + install: function (Vue) { + Vue.component('JDictSelectTag',JDictSelectTag) + Vue.component('JMultiSelectTag',JMultiSelectTag) + Vue.component('JSearchSelectTag',JSearchSelectTag) + Vue.prototype.$initDictOptions = (dictCode) => initDictOptions(dictCode) + Vue.prototype.$filterMultiDictText = (dictOptions, text) => filterMultiDictText(dictOptions, text) + Vue.prototype.$filterDictText = (dictOptions, text) => filterDictText(dictOptions, text) + Vue.prototype.$filterDictTextByCache = (...param) => filterDictTextByCache(...param) + } +} \ No newline at end of file diff --git a/src/components/form/InstallmentForm.vue b/src/components/form/InstallmentForm.vue new file mode 100644 index 0000000..bd24dd7 --- /dev/null +++ b/src/components/form/InstallmentForm.vue @@ -0,0 +1,204 @@ + + + + + \ No newline at end of file diff --git a/src/components/iconfont/common.less b/src/components/iconfont/common.less new file mode 100644 index 0000000..b74d329 --- /dev/null +++ b/src/components/iconfont/common.less @@ -0,0 +1,12 @@ +/* 引入 icon class 文件 */ +@import "./iconfont.css"; + +/* 设置使用字体的优先级 anticon 高 */ +:global(.anticon) { /* :global() 是为了覆盖全局class .anticon 的样式 */ + &:before { + font-family: "anticon", "anticon-jeecg" !important; + /* 默认样式是这样 + font-family: "anticon" !important; + */ + } +} \ No newline at end of file diff --git a/src/components/iconfont/iconfont.css b/src/components/iconfont/iconfont.css new file mode 100644 index 0000000..614eeaa --- /dev/null +++ b/src/components/iconfont/iconfont.css @@ -0,0 +1,67 @@ +@font-face { + font-family: "anticon-jeecg"; /* Project id 2798517 */ + src: url('iconfont.woff2?t=1639559463058') format('woff2'), + url('iconfont.woff?t=1639559463058') format('woff'), + url('iconfont.ttf?t=1639559463058') format('truetype'); +} + +.anticon-jeecg { + font-family: "anticon-jeecg" !important; + font-size: 16px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.anticonothermeeting:before { + content: "\e621"; +} + +.anticonworking:before { + content: "\e61f"; +} + +.anticoninternational:before { + content: "\e61e"; +} + +.anticondatamembers:before { + content: "\e61d"; +} + +.anticoncommittee:before { + content: "\e613"; +} + +.anticonmeeting1:before { + content: "\e60f"; +} + +.anticonproject:before { + content: "\e609"; +} + +.anticonpack:before { + content: "\e60a"; +} + +.anticonmember:before { + content: "\e60b"; +} + +.anticondata-network-disk:before { + content: "\e60c"; +} + +.anticonfinancial:before { + content: "\e60e"; +} + +.anticoncontract:before { + content: "\e608"; +} + +.anticoncompany:before { + content: "\e607"; +} + diff --git a/src/components/iconfont/iconfont.js b/src/components/iconfont/iconfont.js new file mode 100644 index 0000000..ff46c92 --- /dev/null +++ b/src/components/iconfont/iconfont.js @@ -0,0 +1 @@ +!function(c){var t,a,e,o,l,n='',m=(m=document.getElementsByTagName("script"))[m.length-1].getAttribute("data-injectcss"),i=function(c,t){t.parentNode.insertBefore(c,t)};if(m&&!c.__iconfont__svg__cssinject__){c.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(c){console&&console.log(c)}}function h(){l||(l=!0,e())}function d(){try{o.documentElement.doScroll("left")}catch(c){return void setTimeout(d,50)}h()}t=function(){var c,t;(t=document.createElement("div")).innerHTML=n,n=null,(c=t.getElementsByTagName("svg")[0])&&(c.setAttribute("aria-hidden","true"),c.style.position="absolute",c.style.width=0,c.style.height=0,c.style.overflow="hidden",t=c,(c=document.body).firstChild?i(t,c.firstChild):c.appendChild(t))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(t,0):(a=function(){document.removeEventListener("DOMContentLoaded",a,!1),t()},document.addEventListener("DOMContentLoaded",a,!1)):document.attachEvent&&(e=t,o=c.document,l=!1,d(),o.onreadystatechange=function(){"complete"==o.readyState&&(o.onreadystatechange=null,h())})}(window); \ No newline at end of file diff --git a/src/components/iconfont/iconfont.json b/src/components/iconfont/iconfont.json new file mode 100644 index 0000000..530c808 --- /dev/null +++ b/src/components/iconfont/iconfont.json @@ -0,0 +1,100 @@ +{ + "id": "2798517", + "name": "zx-project", + "font_family": "anticon-jeecg", + "css_prefix_text": "anticon", + "description": "", + "glyphs": [ + { + "icon_id": "26512409", + "name": "cus_othermeeting", + "font_class": "othermeeting", + "unicode": "e621", + "unicode_decimal": 58913 + }, + { + "icon_id": "26512248", + "name": "cus_working", + "font_class": "working", + "unicode": "e61f", + "unicode_decimal": 58911 + }, + { + "icon_id": "26512241", + "name": "cus_international", + "font_class": "international", + "unicode": "e61e", + "unicode_decimal": 58910 + }, + { + "icon_id": "26512231", + "name": "cus_datamembers", + "font_class": "datamembers", + "unicode": "e61d", + "unicode_decimal": 58909 + }, + { + "icon_id": "26511116", + "name": "cus_committee", + "font_class": "committee", + "unicode": "e613", + "unicode_decimal": 58899 + }, + { + "icon_id": "24340808", + "name": "cus_meeting", + "font_class": "meeting1", + "unicode": "e60f", + "unicode_decimal": 58895 + }, + { + "icon_id": "24340604", + "name": "cus_project", + "font_class": "project", + "unicode": "e609", + "unicode_decimal": 58889 + }, + { + "icon_id": "24340605", + "name": "cus_pack", + "font_class": "pack", + "unicode": "e60a", + "unicode_decimal": 58890 + }, + { + "icon_id": "24340606", + "name": "cus_member", + "font_class": "member", + "unicode": "e60b", + "unicode_decimal": 58891 + }, + { + "icon_id": "24340607", + "name": "cus_data-network-disk", + "font_class": "data-network-disk", + "unicode": "e60c", + "unicode_decimal": 58892 + }, + { + "icon_id": "24340609", + "name": "cus_financial", + "font_class": "financial", + "unicode": "e60e", + "unicode_decimal": 58894 + }, + { + "icon_id": "24337509", + "name": "cus_contract", + "font_class": "contract", + "unicode": "e608", + "unicode_decimal": 58888 + }, + { + "icon_id": "24337464", + "name": "cus_company", + "font_class": "company", + "unicode": "e607", + "unicode_decimal": 58887 + } + ] +} diff --git a/src/components/iconfont/iconfont.ttf b/src/components/iconfont/iconfont.ttf new file mode 100644 index 0000000..ff11092 Binary files /dev/null and b/src/components/iconfont/iconfont.ttf differ diff --git a/src/components/iconfont/iconfont.woff b/src/components/iconfont/iconfont.woff new file mode 100644 index 0000000..7a84d10 Binary files /dev/null and b/src/components/iconfont/iconfont.woff differ diff --git a/src/components/iconfont/iconfont.woff2 b/src/components/iconfont/iconfont.woff2 new file mode 100644 index 0000000..1aa78c0 Binary files /dev/null and b/src/components/iconfont/iconfont.woff2 differ diff --git a/src/components/jero/JAreaLinkagePca.vue b/src/components/jero/JAreaLinkagePca.vue new file mode 100644 index 0000000..3cdaebd --- /dev/null +++ b/src/components/jero/JAreaLinkagePca.vue @@ -0,0 +1,184 @@ + + + + + diff --git a/src/components/jero/JCron.vue b/src/components/jero/JCron.vue new file mode 100644 index 0000000..3902b25 --- /dev/null +++ b/src/components/jero/JCron.vue @@ -0,0 +1,65 @@ + + + diff --git a/src/components/jero/JDate.vue b/src/components/jero/JDate.vue new file mode 100644 index 0000000..04ea891 --- /dev/null +++ b/src/components/jero/JDate.vue @@ -0,0 +1,167 @@ + + diff --git a/src/components/jero/JEditableTable.vue b/src/components/jero/JEditableTable.vue new file mode 100644 index 0000000..3a90986 --- /dev/null +++ b/src/components/jero/JEditableTable.vue @@ -0,0 +1,3222 @@ + + + + + + + + diff --git a/src/components/jero/JEditor.vue b/src/components/jero/JEditor.vue new file mode 100644 index 0000000..7434cf6 --- /dev/null +++ b/src/components/jero/JEditor.vue @@ -0,0 +1,158 @@ + + + + \ No newline at end of file diff --git a/src/components/jero/JEllipsis.vue b/src/components/jero/JEllipsis.vue new file mode 100644 index 0000000..0e5fa2f --- /dev/null +++ b/src/components/jero/JEllipsis.vue @@ -0,0 +1,32 @@ + + + + + diff --git a/src/components/jero/JFormContainer.vue b/src/components/jero/JFormContainer.vue new file mode 100644 index 0000000..5a3ed80 --- /dev/null +++ b/src/components/jero/JFormContainer.vue @@ -0,0 +1,69 @@ + + + + diff --git a/src/components/jero/JImageUpload.vue b/src/components/jero/JImageUpload.vue new file mode 100644 index 0000000..58f5a84 --- /dev/null +++ b/src/components/jero/JImageUpload.vue @@ -0,0 +1,304 @@ + + + + + diff --git a/src/components/jero/JInput.vue b/src/components/jero/JInput.vue new file mode 100644 index 0000000..709bf30 --- /dev/null +++ b/src/components/jero/JInput.vue @@ -0,0 +1,130 @@ + + + + + \ No newline at end of file diff --git a/src/components/jero/JModal/index.vue b/src/components/jero/JModal/index.vue new file mode 100644 index 0000000..6a3a70d --- /dev/null +++ b/src/components/jero/JModal/index.vue @@ -0,0 +1,228 @@ + + + + + diff --git a/src/components/jero/JTreeSelect.vue b/src/components/jero/JTreeSelect.vue new file mode 100644 index 0000000..245ae17 --- /dev/null +++ b/src/components/jero/JTreeSelect.vue @@ -0,0 +1,338 @@ + + diff --git a/src/components/jero/JUpload.vue b/src/components/jero/JUpload.vue new file mode 100644 index 0000000..38dd62f --- /dev/null +++ b/src/components/jero/JUpload.vue @@ -0,0 +1,544 @@ + + + + + diff --git a/src/components/jero/JYearDate.vue b/src/components/jero/JYearDate.vue new file mode 100644 index 0000000..0ffa6da --- /dev/null +++ b/src/components/jero/JYearDate.vue @@ -0,0 +1,110 @@ + + diff --git a/src/components/jero/PreviewFile.vue b/src/components/jero/PreviewFile.vue new file mode 100644 index 0000000..bb9a27f --- /dev/null +++ b/src/components/jero/PreviewFile.vue @@ -0,0 +1,108 @@ + + + + + \ No newline at end of file diff --git a/src/components/jero/index.js b/src/components/jero/index.js new file mode 100644 index 0000000..457d919 --- /dev/null +++ b/src/components/jero/index.js @@ -0,0 +1,11 @@ +import JModal from './JModal' +import JInput from './JInput.vue' +import JEllipsis from './JEllipsis.vue' + +export default { + install(Vue) { + Vue.component(JModal.name, JModal) + Vue.component('JInput', JInput) + Vue.component('JEllipsis', JEllipsis) + } +} diff --git a/src/components/jero/minipop/JFilePop.vue b/src/components/jero/minipop/JFilePop.vue new file mode 100644 index 0000000..5eba511 --- /dev/null +++ b/src/components/jero/minipop/JFilePop.vue @@ -0,0 +1,117 @@ + + + + + \ No newline at end of file diff --git a/src/components/jero/minipop/JInputPop.vue b/src/components/jero/minipop/JInputPop.vue new file mode 100644 index 0000000..b3e96cc --- /dev/null +++ b/src/components/jero/minipop/JInputPop.vue @@ -0,0 +1,105 @@ + + + + + \ No newline at end of file diff --git a/src/components/jero/modal/JCronModal.vue b/src/components/jero/modal/JCronModal.vue new file mode 100644 index 0000000..b4adff9 --- /dev/null +++ b/src/components/jero/modal/JCronModal.vue @@ -0,0 +1,928 @@ + + + + + diff --git a/src/components/layouts/BasicLayout.vue b/src/components/layouts/BasicLayout.vue new file mode 100644 index 0000000..008690e --- /dev/null +++ b/src/components/layouts/BasicLayout.vue @@ -0,0 +1,60 @@ + + + + + \ No newline at end of file diff --git a/src/components/layouts/IframePageView.vue b/src/components/layouts/IframePageView.vue new file mode 100644 index 0000000..8e888c1 --- /dev/null +++ b/src/components/layouts/IframePageView.vue @@ -0,0 +1,60 @@ + + + + + diff --git a/src/components/layouts/PageHeaderTitle.vue b/src/components/layouts/PageHeaderTitle.vue new file mode 100644 index 0000000..17e5660 --- /dev/null +++ b/src/components/layouts/PageHeaderTitle.vue @@ -0,0 +1,80 @@ + + + + + diff --git a/src/components/layouts/PageView.vue b/src/components/layouts/PageView.vue new file mode 100644 index 0000000..59e07c8 --- /dev/null +++ b/src/components/layouts/PageView.vue @@ -0,0 +1,85 @@ + + + + + \ No newline at end of file diff --git a/src/components/layouts/RouteView.vue b/src/components/layouts/RouteView.vue new file mode 100644 index 0000000..8dc3bbd --- /dev/null +++ b/src/components/layouts/RouteView.vue @@ -0,0 +1,44 @@ + + + + \ No newline at end of file diff --git a/src/components/layouts/TabLayout.vue b/src/components/layouts/TabLayout.vue new file mode 100644 index 0000000..c05d172 --- /dev/null +++ b/src/components/layouts/TabLayout.vue @@ -0,0 +1,445 @@ + + + + + diff --git a/src/components/layouts/UserLayout.vue b/src/components/layouts/UserLayout.vue new file mode 100644 index 0000000..5b0d061 --- /dev/null +++ b/src/components/layouts/UserLayout.vue @@ -0,0 +1,81 @@ + + + + \ No newline at end of file diff --git a/src/components/layouts/index.js b/src/components/layouts/index.js new file mode 100644 index 0000000..f81c5a4 --- /dev/null +++ b/src/components/layouts/index.js @@ -0,0 +1,7 @@ +import UserLayout from '@/components/layouts/UserLayout' +import BasicLayout from '@/components/layouts/BasicLayout' +import RouteView from '@/components/layouts/RouteView' +import PageView from '@/components/layouts/PageView' +import TabLayout from '@/components/layouts/TabLayout' + +export { UserLayout, BasicLayout, RouteView, PageView, TabLayout } diff --git a/src/components/menu/Contextmenu.vue b/src/components/menu/Contextmenu.vue new file mode 100644 index 0000000..f88f7b4 --- /dev/null +++ b/src/components/menu/Contextmenu.vue @@ -0,0 +1,71 @@ + + + + + diff --git a/src/components/menu/SideMenu.vue b/src/components/menu/SideMenu.vue new file mode 100644 index 0000000..eb32cb5 --- /dev/null +++ b/src/components/menu/SideMenu.vue @@ -0,0 +1,176 @@ + + + + + + + + diff --git a/src/components/menu/index.js b/src/components/menu/index.js new file mode 100644 index 0000000..4ef5846 --- /dev/null +++ b/src/components/menu/index.js @@ -0,0 +1,192 @@ +import Menu from 'ant-design-vue/es/menu' +import Icon from 'ant-design-vue/es/icon' + +const { Item, SubMenu } = Menu + +export default { + name: 'SMenu', + props: { + menu: { + type: Array, + required: true + }, + theme: { + type: String, + required: false, + default: 'dark' + }, + mode: { + type: String, + required: false, + default: 'inline' + }, + collapsed: { + type: Boolean, + required: false, + default: false + } + }, + data () { + return { + openKeys: [], + selectedKeys: [], + cachedOpenKeys: [] + } + }, + computed: { + rootSubmenuKeys: vm => { + const keys = [] + vm.menu.forEach(item => keys.push(item.path)) + return keys + } + }, + mounted () { + this.updateMenu() + }, + watch: { + collapsed (val) { + if (val) { + this.cachedOpenKeys = this.openKeys.concat() + this.openKeys = [] + } else { + this.openKeys = this.cachedOpenKeys + } + }, + $route: function () { + this.updateMenu() + } + }, + methods: { + // select menu item + onOpenChange (openKeys) { + + // 在水平模式下时执行,并且不再执行后续 + if (this.mode === 'horizontal') { + this.openKeys = openKeys + return + } + // 非水平模式时 + const latestOpenKey = openKeys.find(key => !this.openKeys.includes(key)) + if (!this.rootSubmenuKeys.includes(latestOpenKey)) { + this.openKeys = openKeys + } else { + this.openKeys = latestOpenKey ? [latestOpenKey] : [] + } + }, + updateMenu () { + const routes = this.$route.matched.concat() + const { hidden } = this.$route.meta + if (routes.length >= 3 && hidden) { + routes.pop() + this.selectedKeys = [routes[routes.length - 1].path] + } else { + this.selectedKeys = [routes.pop().path] + } + const openKeys = [] + if (this.mode === 'inline') { + routes.forEach(item => { + openKeys.push(item.path) + }) + } + //update-begin-author:taoyan date:20190510 for:online表单菜单点击展开的一级目录不对 + if(!this.selectedKeys || this.selectedKeys[0].indexOf(':')<0){ + this.collapsed ? (this.cachedOpenKeys = openKeys) : (this.openKeys = openKeys) + } + //update-end-author:taoyan date:20190510 for:online表单菜单点击展开的一级目录不对 + }, + + // render + renderItem (menu) { + if (!menu.hidden) { + return menu.children && !menu.alwaysShow ? this.renderSubMenu(menu) : this.renderMenuItem(menu) + } + return null + }, + renderMenuItem (menu) { + const target = menu.meta.target || null + const tag = target && 'a' || 'router-link' + let props = { to: { name: menu.name } } + if(menu.route && menu.route === '0'){ + props = { to: { path: menu.path } } + } + + const attrs = { href: menu.path, target: menu.meta.target } + + if (menu.children && menu.alwaysShow) { + // 把有子菜单的 并且 父菜单是要隐藏子菜单的 + // 都给子菜单增加一个 hidden 属性 + // 用来给刷新页面时, selectedKeys 做控制用 + menu.children.forEach(item => { + item.meta = Object.assign(item.meta, { hidden: true }) + }) + } + + return ( + + + {this.renderIcon(menu.meta.icon)} + {menu.meta.title} + + + ) + }, + renderSubMenu (menu) { + const itemArr = [] + if (!menu.alwaysShow) { + menu.children.forEach(item => itemArr.push(this.renderItem(item))) + } + return ( + + + {this.renderIcon(menu.meta.icon)} + {menu.meta.title} + + {itemArr} + + ) + }, + renderIcon (icon) { + if (icon !== 'none' && icon !== undefined && icon.indexOf('cus_') !== -1) { + let className = `anticon-jeecg anticon${icon.substr(4)}` + return + } + if (icon === 'none' || icon === undefined) { + return null + } + const props = {} + typeof (icon) === 'object' ? props.component = icon : props.type = icon + return ( + + ) + } + }, + + render () { + const { mode, theme, menu } = this + const props = { + mode: mode, + theme: theme, + openKeys: this.openKeys + } + const on = { + select: obj => { + this.selectedKeys = obj.selectedKeys + this.$emit('select', obj) + }, + openChange: this.onOpenChange + } + + const menuTree = menu.map(item => { + if (item.hidden) { + return null + } + return this.renderItem(item) + }) + // {...{ props, on: on }} + return ( + + {menuTree} + + ) + } +} diff --git a/src/components/page/GlobalFooter.vue b/src/components/page/GlobalFooter.vue new file mode 100644 index 0000000..b4724c8 --- /dev/null +++ b/src/components/page/GlobalFooter.vue @@ -0,0 +1,48 @@ + + + + + \ No newline at end of file diff --git a/src/components/page/GlobalHeader.vue b/src/components/page/GlobalHeader.vue new file mode 100644 index 0000000..c2d2bc1 --- /dev/null +++ b/src/components/page/GlobalHeader.vue @@ -0,0 +1,219 @@ + + + + + diff --git a/src/components/page/GlobalLayout.vue b/src/components/page/GlobalLayout.vue new file mode 100644 index 0000000..dfec8f8 --- /dev/null +++ b/src/components/page/GlobalLayout.vue @@ -0,0 +1,719 @@ + + + + + diff --git a/src/components/page/PageHeader.vue b/src/components/page/PageHeader.vue new file mode 100644 index 0000000..6b5444a --- /dev/null +++ b/src/components/page/PageHeader.vue @@ -0,0 +1,238 @@ + + + + + \ No newline at end of file diff --git a/src/components/page/PageLayout.vue b/src/components/page/PageLayout.vue new file mode 100644 index 0000000..58cb813 --- /dev/null +++ b/src/components/page/PageLayout.vue @@ -0,0 +1,127 @@ + + + + + \ No newline at end of file diff --git a/src/components/page/SHeaderNotice.vue b/src/components/page/SHeaderNotice.vue new file mode 100644 index 0000000..9f47445 --- /dev/null +++ b/src/components/page/SHeaderNotice.vue @@ -0,0 +1,58 @@ + + + + + \ No newline at end of file diff --git a/src/components/setting/SettingDrawer.vue b/src/components/setting/SettingDrawer.vue new file mode 100644 index 0000000..bef5ad4 --- /dev/null +++ b/src/components/setting/SettingDrawer.vue @@ -0,0 +1,330 @@ + + + + + diff --git a/src/components/setting/SettingItem.vue b/src/components/setting/SettingItem.vue new file mode 100644 index 0000000..d7148f2 --- /dev/null +++ b/src/components/setting/SettingItem.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/src/components/tools/Breadcrumb.vue b/src/components/tools/Breadcrumb.vue new file mode 100644 index 0000000..3bd067f --- /dev/null +++ b/src/components/tools/Breadcrumb.vue @@ -0,0 +1,48 @@ + + + + + \ No newline at end of file diff --git a/src/components/tools/Bus.js b/src/components/tools/Bus.js new file mode 100644 index 0000000..c4f4e31 --- /dev/null +++ b/src/components/tools/Bus.js @@ -0,0 +1,3 @@ +import Vue from 'vue' + +export const Bus = new Vue() diff --git a/src/components/tools/DepartSelect.vue b/src/components/tools/DepartSelect.vue new file mode 100644 index 0000000..66c3d11 --- /dev/null +++ b/src/components/tools/DepartSelect.vue @@ -0,0 +1,162 @@ + + + + \ No newline at end of file diff --git a/src/components/tools/DetailList.vue b/src/components/tools/DetailList.vue new file mode 100644 index 0000000..d366e69 --- /dev/null +++ b/src/components/tools/DetailList.vue @@ -0,0 +1,147 @@ + + + + + \ No newline at end of file diff --git a/src/components/tools/DynamicNotice.vue b/src/components/tools/DynamicNotice.vue new file mode 100644 index 0000000..61af919 --- /dev/null +++ b/src/components/tools/DynamicNotice.vue @@ -0,0 +1,50 @@ + + \ No newline at end of file diff --git a/src/components/tools/HeaderNotice.vue b/src/components/tools/HeaderNotice.vue new file mode 100644 index 0000000..7be09a6 --- /dev/null +++ b/src/components/tools/HeaderNotice.vue @@ -0,0 +1,326 @@ + + + + + + diff --git a/src/components/tools/JDate.vue b/src/components/tools/JDate.vue new file mode 100644 index 0000000..2de8619 --- /dev/null +++ b/src/components/tools/JDate.vue @@ -0,0 +1,101 @@ + + + diff --git a/src/components/tools/Logo.vue b/src/components/tools/Logo.vue new file mode 100644 index 0000000..d1be558 --- /dev/null +++ b/src/components/tools/Logo.vue @@ -0,0 +1,72 @@ + + + + \ No newline at end of file diff --git a/src/components/tools/SelectRevenueContract.vue b/src/components/tools/SelectRevenueContract.vue new file mode 100644 index 0000000..a8e97e4 --- /dev/null +++ b/src/components/tools/SelectRevenueContract.vue @@ -0,0 +1,95 @@ + + + + + \ No newline at end of file diff --git a/src/components/tools/ShowAnnouncement.vue b/src/components/tools/ShowAnnouncement.vue new file mode 100644 index 0000000..bcfd3f6 --- /dev/null +++ b/src/components/tools/ShowAnnouncement.vue @@ -0,0 +1,139 @@ + + + + + + diff --git a/src/components/tools/StatusSlot.vue b/src/components/tools/StatusSlot.vue new file mode 100644 index 0000000..8d613de --- /dev/null +++ b/src/components/tools/StatusSlot.vue @@ -0,0 +1,202 @@ + + + + + + diff --git a/src/components/tools/UserAuthorizationCode.vue b/src/components/tools/UserAuthorizationCode.vue new file mode 100644 index 0000000..d935acd --- /dev/null +++ b/src/components/tools/UserAuthorizationCode.vue @@ -0,0 +1,138 @@ + + + + + \ No newline at end of file diff --git a/src/components/tools/UserMenu.vue b/src/components/tools/UserMenu.vue new file mode 100644 index 0000000..e2d134e --- /dev/null +++ b/src/components/tools/UserMenu.vue @@ -0,0 +1,277 @@ + + + + + + + diff --git a/src/components/tools/UserPassword.vue b/src/components/tools/UserPassword.vue new file mode 100644 index 0000000..b80d0fa --- /dev/null +++ b/src/components/tools/UserPassword.vue @@ -0,0 +1,216 @@ + + + + + + diff --git a/src/components/tools/setting.js b/src/components/tools/setting.js new file mode 100644 index 0000000..1c2482b --- /dev/null +++ b/src/components/tools/setting.js @@ -0,0 +1,95 @@ +import { message } from 'ant-design-vue/es' +// import defaultSettings from '../defaultSettings'; + +let lessNodesAppended + +const colorList = [ + { + key: '薄暮', color: '#F5222D', + }, + { + key: '火山', color: '#FA541C', + }, + { + key: '日暮', color: '#FAAD14', + }, + { + key: '明青', color: '#13C2C2', + }, + { + key: '极光绿', color: '#52C41A', + }, + { + key: '拂晓蓝(默认)', color: '#1890FF', + }, + { + key: '极客蓝', color: '#2F54EB', + }, + { + key: '酱紫', color: '#722ED1', + }, +] + +const updateTheme = primaryColor => { + // Don't compile less in production! + /* if (process.env.NODE_ENV === 'production') { + return; + } */ + // Determine if the component is remounted + if (!primaryColor) { + return + } + const hideMessage = message.loading('正在编译主题!', 0) + console.info(`正在编译主题!`) + function buildIt() { + // 正确的判定less是否已经加载less.modifyVars可用 + if (!window.less || !window.less.modifyVars) { + return + } + // less.modifyVars可用 + window.less.modifyVars({ + '@primary-color': primaryColor, + }) + .then(() => { + hideMessage() + }) + .catch(() => { + message.error('Failed to update theme') + hideMessage() + }) + } + if (!lessNodesAppended) { + // insert less.js and color.less + const lessStyleNode = document.createElement('link') + const lessConfigNode = document.createElement('script') + const lessScriptNode = document.createElement('script') + lessStyleNode.setAttribute('rel', 'stylesheet/less') + lessStyleNode.setAttribute('href', __webpack_public_path__ + 'color.less') + lessConfigNode.innerHTML = ` + window.less = { + async: true, + env: 'production', + javascriptEnabled: true + }; + ` + lessScriptNode.src = 'https://gw.alipayobjects.com/os/lib/less.js/3.8.1/less.min.js' + lessScriptNode.async = true + lessScriptNode.onload = () => { + buildIt() + lessScriptNode.onload = null + } + document.body.appendChild(lessStyleNode) + document.body.appendChild(lessConfigNode) + document.body.appendChild(lessScriptNode) + lessNodesAppended = true + } else { + buildIt() + } +} + +const updateColorWeak = colorWeak => { + // document.body.className = colorWeak ? 'colorWeak' : ''; + colorWeak ? document.body.classList.add('colorWeak') : document.body.classList.remove('colorWeak') +} + +export { updateTheme, colorList, updateColorWeak } \ No newline at end of file diff --git a/src/config/index.js b/src/config/index.js new file mode 100644 index 0000000..e69de29 diff --git a/src/config/router.config.js b/src/config/router.config.js new file mode 100644 index 0000000..a061f32 --- /dev/null +++ b/src/config/router.config.js @@ -0,0 +1,73 @@ +import { UserLayout, TabLayout } from "@/components/layouts"; +import SignUpEntrance from "@views/signUp/SignUpEntrance"; +import SignUpPage from "@views/signUp/SignUpPage"; + +/** + * 走菜单,走权限控制 + * @type {[null,null]} + */ +export const asyncRouterMap = [ + + { + path: "/", + name: "dashboard", + component: TabLayout, + meta: { title: "首页" }, + redirect: "/dashboard/analysis", + children: [] + }, + { + path: "*", redirect: "/404", hidden: true + } +]; + +/** + * 基础路由 + * @type { *[] } + */ +export const constantRouterMap = [ + { + path: "/user", + component: UserLayout, + redirect: "/user/login", + hidden: true, + children: [ + { + path: "login", + name: "login", + component: () => import(/* webpackChunkName: "user" */ "@/views/user/Login") + }, + { + path: "register", + name: "register", + component: () => import(/* webpackChunkName: "user" */ "@/views/user/register/Register") + }, + { + path: "register-result", + name: "registerResult", + component: () => import(/* webpackChunkName: "user" */ "@/views/user/register/RegisterResult") + }, + { + path: "alteration", + name: "alteration", + component: () => import(/* webpackChunkName: "user" */ "@/views/user/alteration/Alteration") + } + ] + }, + { + path: "/signUpEntrance", + component: SignUpEntrance, + hidden: true, + }, + { + path: "/signUpPage", + component: SignUpPage, + hidden: true, + }, + // { + // path: "/screen", + // name: 'HomePage', + // component: () => import(/* webpackChunkName: "user" */ "@/views/screen/HomePage"), + // hidden: true, + // }, +]; diff --git a/src/defaultSettings.js b/src/defaultSettings.js new file mode 100644 index 0000000..832264f --- /dev/null +++ b/src/defaultSettings.js @@ -0,0 +1,32 @@ +/** + * 项目默认配置项 + * primaryColor - 默认主题色 + * navTheme - sidebar theme ['dark', 'light'] 两种主题 + * colorWeak - 色盲模式 + * layout - 整体布局方式 ['sidemenu', 'topmenu'] 两种布局 + * fixedHeader - 固定 Header : boolean + * fixSiderbar - 固定左侧菜单栏 : boolean + * autoHideHeader - 向下滚动时,隐藏 Header : boolean + * contentWidth - 内容区布局: 流式 | 固定 + * + * storageOptions: {} - Vue-ls 插件配置项 (localStorage/sessionStorage) + * + */ + +export default { + primaryColor: '#1890FF', // primary color of ant design + navTheme: 'light', // theme for nav menu + layout: 'sidemenu', // nav menu position: sidemenu or topmenu + contentWidth: 'Fixed', // layout of content: Fluid or Fixed, only works when layout is topmenu + fixedHeader: false, // sticky header + fixSiderbar: false, // sticky siderbar + autoHideHeader: false, // auto hide header + colorWeak: false, + multipage: true, //默认多页签模式 + // vue-ls options + storageOptions: { + namespace: 'pro__', // key prefix + name: 'ls', // name variable Vue.[ls] or this.[$ls], + storage: 'local', // storage name session, local, memory + } +} \ No newline at end of file diff --git a/src/enums/commonEnums.js b/src/enums/commonEnums.js new file mode 100644 index 0000000..d20ef86 --- /dev/null +++ b/src/enums/commonEnums.js @@ -0,0 +1,24 @@ + +// 项目类型 数据字典 的定义 和数据库的保持一致 +export const ProjectTypeEnums = { + GENERAL_PRO: {name: '普通项目', value: 1}, + GROUP_PRO: {name: '工作组项目', value: 2}, + MEETING_PRO: {name: '会议项目', value: 3}, + MEMBER_PRO: {name: '资料网员', value: 4}, + STANDARD_MEMBER_PRO: {name: '标协会员项目', value: 5}, + STANDARD_CERTIFICATE_PRO: {name: '标协证书项目', value: 6}, +} + +// 参会人员身份类型 +export const MeetIdentifyTypeEnums = { + guest: { name: '嘉宾', index: 1 }, + attendee: { name: '参会人', index: 2 }, + internal: { name: '内部企业', index: 3 } +} + +// 需要发票的类型 +export const InvoiceTypeEnums = { + noNeed: { name: '不需要', index: 0 }, + plain: { name: '增值税普通发票', index: 1 }, + special: { name: '增值税专用发票', index: 2 } +} diff --git a/src/main.js b/src/main.js new file mode 100644 index 0000000..21c3af3 --- /dev/null +++ b/src/main.js @@ -0,0 +1,65 @@ +import Vue from 'vue' +import App from './App.vue' +import router from './router' +import store from './store' +import './config' +import Storage from 'vue-ls' +import Antd from 'ant-design-vue' +import 'ant-design-vue/dist/antd.less' // or 'ant-design-vue/dist/antd.less' +import '@/permission' // permission control +import hasPermission from '@/utils/hasPermission' +import { + ACCESS_TOKEN, + DEFAULT_COLOR, + DEFAULT_THEME, + DEFAULT_LAYOUT_MODE, + DEFAULT_COLOR_WEAK, + SIDEBAR_TYPE, + DEFAULT_FIXED_HEADER, + DEFAULT_FIXED_HEADER_HIDDEN, + DEFAULT_FIXED_SIDEMENU, + DEFAULT_CONTENT_WIDTH_TYPE, + DEFAULT_MULTI_PAGE +} from '@/store/mutation-types' +import config from '@/defaultSettings' +import JeroComponents from '@/components/jero/index' +import JDictSelectTag from './components/dict/index.js' +import '@/utils/filter' // base filtermybatis-plus +import vTrim from '@/utils/vTrim' +import preventClick from '@/utils/preventClick' +import '@/assets/less/JAreaLinkage.less' +import VueAreaLinkage from 'vue-area-linkage' +// Fontclass模式 +import '@/components/iconfont/common.less' +// 使用 symbol模式 支持多色 +import '@/components/iconfont/iconfont.js' + +Vue.config.productionTip = false +Vue.use(Storage, config.storageOptions) +Vue.use(Antd) +Vue.use(hasPermission) +Vue.use(router) +Vue.use(JeroComponents) +Vue.use(JDictSelectTag) +Vue.use(vTrim) +Vue.use(preventClick) +Vue.use(VueAreaLinkage) + +new Vue({ + router, + store, + mounted() { + store.commit('SET_SIDEBAR_TYPE', Vue.ls.get(SIDEBAR_TYPE, true)) + store.commit('TOGGLE_THEME', Vue.ls.get(DEFAULT_THEME, config.navTheme)) + store.commit('TOGGLE_LAYOUT_MODE', Vue.ls.get(DEFAULT_LAYOUT_MODE, config.layout)) + store.commit('TOGGLE_FIXED_HEADER', Vue.ls.get(DEFAULT_FIXED_HEADER, config.fixedHeader)) + store.commit('TOGGLE_FIXED_SIDERBAR', Vue.ls.get(DEFAULT_FIXED_SIDEMENU, config.fixSiderbar)) + store.commit('TOGGLE_CONTENT_WIDTH', Vue.ls.get(DEFAULT_CONTENT_WIDTH_TYPE, config.contentWidth)) + store.commit('TOGGLE_FIXED_HEADER_HIDDEN', Vue.ls.get(DEFAULT_FIXED_HEADER_HIDDEN, config.autoHideHeader)) + store.commit('TOGGLE_WEAK', Vue.ls.get(DEFAULT_COLOR_WEAK, config.colorWeak)) + store.commit('TOGGLE_COLOR', Vue.ls.get(DEFAULT_COLOR, config.primaryColor)) + store.commit('SET_TOKEN', Vue.ls.get(ACCESS_TOKEN)) + store.commit('SET_MULTI_PAGE', Vue.ls.get(DEFAULT_MULTI_PAGE, config.multipage)) + }, + render: (h) => h(App) +}).$mount('#app') diff --git a/src/mixins/CalcAmountMixin.js b/src/mixins/CalcAmountMixin.js new file mode 100644 index 0000000..8df93bb --- /dev/null +++ b/src/mixins/CalcAmountMixin.js @@ -0,0 +1,50 @@ +/** + * @description 通过税率 计算未税金额 税额的混入 + * @author fac + * */ + +export const CalcAmountMixin = { + data() { + return { + ysjeKey:'receivableAmount',// 待确收金额的表单key值 + } + }, + methods:{ + /** + * 改变待确收金额 计算税额 未税金额 + * */ + changeReceivableAmount(e){ + e.target.value = (e.target.value.replace(/[^0-9.]/g,'')).trim() + this.$nextTick(() => { + this.calcAmount() + }) + }, + /** + * 改变税率计算税额 待确收金额 + * */ + changeRate(){ + this.$nextTick(() => { + this.calcAmount() + }) + }, + /** + * 根据待确收金额、税率计算税额 、未税金额 + * */ + calcAmount(){ + // 获取待确收金额 + let ysje = Number(this.form.getFieldValue(this.ysjeKey)) + // 获取税率 + let rate = this.form.getFieldValue('taxRate') * 1 + // 计算未税金额 未税金额 = 待确收金额 * (税率 + 1) + let wsje = (ysje / (rate + 1)).toFixed(2) + // 计算税额 税额 = 待确收金额 - 未税金额 保留两位小数 + let se = (ysje - Number(wsje)).toFixed(2) + // 表单赋值 + this.form.setFieldsValue({ + 'tax':se, + 'noTaxAmount':wsje + }) + }, + } + +} \ No newline at end of file diff --git a/src/mixins/JeroListMixin.js b/src/mixins/JeroListMixin.js new file mode 100644 index 0000000..e002911 --- /dev/null +++ b/src/mixins/JeroListMixin.js @@ -0,0 +1,466 @@ +/** + * 新增修改完成调用 modalFormOk方法 编辑弹框组件ref定义为modalForm + * 高级查询按钮调用 superQuery方法 高级查询组件ref定义为superQueryModal + * data中url定义 list为查询列表 delete为删除单条记录 deleteBatch为批量删除 + */ +import {filterObj} from '@/utils/util' +import {getAction, downloadFile, getFileAccessHttpUrl, postAction} from '@/api/manage' +import Vue from 'vue' +import {ACCESS_TOKEN, TENANT_ID} from '@/store/mutation-types' +import store from '@/store' +import {Modal} from 'ant-design-vue' + +const defaultSorter = { + column: 'createTime', + order: 'desc' +} + +export const JeroListMixin = { + data() { + return { + /* 查询条件-请不要在queryParam中声明非字符串值的属性 */ + queryParam: {}, + // 记录上一次查询的条件,防止查询处输入框的数据发生变化,未点击查询按钮,再点击分页的时候数据发生变化 + lastQueryParam: {}, + /* 数据源 */ + dataSource: [], + /* 分页参数 */ + ipagination: { + current: 1, + pageSize: 10, + pageSizeOptions: ['10', '20', '30', '50', '100'], + showTotal: (total, range) => { + return range[0] + '-' + range[1] + ' 共' + total + '条' + }, + showQuickJumper: true, + showSizeChanger: true, + total: 0 + }, + /* 排序参数 */ + isorter: { + column: 'createTime', + order: 'desc', + }, + /* 筛选参数 */ + filters: {}, + /* table加载状态 */ + loading: false, + /* table选中keys*/ + selectedRowKeys: [], + /* table选中records*/ + selectionRows: [], + /* 查询折叠 */ + toggleSearchStatus: false, + /* 高级查询条件生效状态 */ + superQueryFlag: false, + /* 高级查询条件 */ + superQueryParams: '', + /** 高级查询拼接方式 */ + superQueryMatchType: 'and', + } + }, + created() { + if (!this.disableMixinCreated) { + this.loadData() + //初始化字典配置 在自己页面定义 + this.initDictConfig() + } + }, + computed: { + //token header + tokenHeader() { + let head = {'X-Access-Token': Vue.ls.get(ACCESS_TOKEN)} + let tenantid = Vue.ls.get(TENANT_ID) + if (tenantid) { + head['tenant_id'] = tenantid + } + return head + } + }, + methods: { + loadData(arg) { + if (!this.url.list) { + this.$message.error('请设置url.list属性!') + return + } + //加载数据 若传入参数1则加载第一页的内容 + if (arg === 1) { + this.ipagination.current = 1 + } + var params = this.getQueryParams()//查询条件 + this.loading = true + getAction(this.url.list, params).then((res) => { + if (res.success) { + //update-begin---author:zhangyafei Date:20201118 for:适配不分页的数据列表------------ + this.dataSource = res.result.records || res.result + if (res.result.total) { + this.ipagination.total = res.result.total + //清空列表选中 + this.onClearSelected() + } else { + this.ipagination.total = 0 + } + //update-end---author:zhangyafei Date:20201118 for:适配不分页的数据列表------------ + } + if (res.code === 510) { + this.$message.warning(res.message) + } + this.loading = false + }).finally(() => { + this.loading = false + }) + }, + initDictConfig() { + + }, + handleSuperQuery(params, matchType) { + //高级查询方法 + if (!params) { + this.superQueryParams = '' + this.superQueryFlag = false + } else { + this.superQueryFlag = true + this.superQueryParams = JSON.stringify(params) + this.superQueryMatchType = matchType + } + this.loadData(1) + }, + getQueryParams() { + //获取查询条件 + let sqp = {} + if (this.superQueryParams) { + sqp['superQueryParams'] = encodeURI(this.superQueryParams) + sqp['superQueryMatchType'] = this.superQueryMatchType + } + // var param = Object.assign(sqp, this.queryParam, this.isorter ,this.filters); + var param = Object.assign(sqp, this.lastQueryParam, this.isorter, this.filters) + param.field = this.getQueryField() + param.pageNo = this.ipagination.current + param.pageSize = this.ipagination.pageSize + return filterObj(param) + }, + getQueryField() { + //TODO 字段权限控制 + var str = 'id,' + if (this.columns && this.columns.length) { + this.columns.forEach(function (value) { + str += ',' + value.dataIndex + }) + } + return str + }, + + onSelectChange(selectedRowKeys, selectionRows) { + this.selectedRowKeys = selectedRowKeys + this.selectionRows = selectionRows + }, + onClearSelected() { + this.selectedRowKeys = [] + this.selectionRows = [] + }, + searchQuery() { + this.lastQueryParam = {...this.queryParam} + this.loadData(1) + }, + superQuery() { + this.$refs.superQueryModal.show() + }, + searchReset() { + this.lastQueryParam = {} + this.queryParam = {} + this.loadData(1) + }, + batchDel: function () { + if (!this.url.deleteBatch) { + this.$message.error('请设置url.deleteBatch属性!') + return + } + if (this.selectedRowKeys.length <= 0) { + this.$message.warning('请选择一条记录!') + return + } else { + var ids = '' + for (var a = 0; a < this.selectedRowKeys.length; a++) { + ids += this.selectedRowKeys[a] + ',' + } + var that = this + this.$confirm({ + title: '确认删除', + content: '是否删除选中数据?', + onOk: function () { + that.loading = true + getAction(that.url.deleteBatch, {ids: ids}).then((res) => { + if (res.success) { + that.$message.success(res.message) + // 判断当前删除的数据是否是最后一页的全部数据,如果是的话页码减一 + if (that.ipagination.current > 1 && (that.ipagination.current === Math.ceil(that.ipagination.total / that.ipagination.pageSize)) && + that.selectedRowKeys.length === that.dataSource.length + ) { + that.ipagination.current -= 1 + } + that.loadData() + that.onClearSelected() + } else { + if (res.message.indexOf('
') > -1) { + that.messageLineFeed('删除失败', res.message) + } else { + that.$message.warning(res.message) + } + } + }).finally(() => { + that.loading = false + }) + } + }) + } + }, + handleDelete: function (id) { + if (!this.url.delete) { + this.$message.error('请设置url.delete属性!') + return + } + var that = this + this.$confirm({ + title: '确认删除', + content: '确定要删除此条数据吗?', + onOk: function () { + getAction(that.url.delete, {id: id}).then((res) => { + if (res.success) { + that.$message.success(res.message) + // 判断当前删除的数据是否是最后一页的最后一条数据,如果是的话页码减一 + if (that.ipagination.current > 1 && ((that.ipagination.current - 1) * that.ipagination.pageSize) + 1 === that.ipagination.total) { + that.ipagination.current -= 1 + } + that.loadData() + } else { + if (res.message.indexOf('
') > -1) { + that.messageLineFeed('删除失败', res.message) + } else { + that.$message.warning(res.message) + } + } + }) + } + }) + }, + handleEdit: function (record) { + this.$refs.modalForm.edit(record) + this.$refs.modalForm.title = '编辑' + this.$refs.modalForm.disableSubmit = false + }, + handleAdd: function () { + this.$refs.modalForm.add() + this.$refs.modalForm.title = '新增' + this.$refs.modalForm.disableSubmit = false + }, + handleTableChange(pagination, filters, sorter) { + //分页、排序、筛选变化时触发 + //TODO 筛选 + if (Object.keys(sorter).length > 0) { + this.isorter.column = sorter.field + if (sorter.order) { + // 如果当前有列选中筛选条件 + this.isorter.order = 'ascend' == sorter.order ? 'asc' : 'desc' + } else { + // 没有筛选值则 isorter 重置为初始值 + this.isorter.column = defaultSorter.column + this.isorter.order = defaultSorter.order + } + + } else { + this.isorter.column = defaultSorter.column + this.isorter.order = defaultSorter.order + } + this.ipagination = pagination + this.loadData() + }, + handleToggleSearch() { + this.toggleSearchStatus = !this.toggleSearchStatus + }, + // 给popup查询使用(查询区域不支持回填多个字段,限制只返回一个字段) + getPopupField(fields) { + return fields.split(',')[0] + }, + modalFormOk() { + // 新增/修改 成功时,重载列表 + this.loadData() + //清空列表选中 + this.onClearSelected() + }, + handleDetail: function (record) { + this.$refs.modalForm.edit(record) + this.$refs.modalForm.title = '详情' + this.$refs.modalForm.disableSubmit = true + }, + /* 导出 */ + handleExportXls2() { + let paramsStr = encodeURI(JSON.stringify(this.getQueryParams())) + let url = `${window._CONFIG['domianURL']}/${this.url.exportXlsUrl}?paramsStr=${paramsStr}` + window.location.href = url + }, + handleExportXls(fileName) { + if (!fileName || typeof fileName != 'string') { + fileName = '导出文件' + } + let param = this.getQueryParams() + if (this.selectedRowKeys && this.selectedRowKeys.length > 0) { + param['selections'] = this.selectedRowKeys.join(',') + } + console.log('导出参数', param) + downloadFile(this.url.exportXlsUrl, fileName + '.xlsx', param) + }, + /* + * 下载模板 + * */ + downTemplate(fileName) { + if (!fileName || typeof fileName != 'string') { + fileName = '模板文件' + } + downloadFile(this.url.downTemplateUrl, fileName + '.xlsx') + }, + /* 导入 */ + handleImportExcel(info) { + if (info.file.status !== 'uploading') { + console.log(info.file, info.fileList) + } + if (info.file.status === 'done') { + if (info.file.response.success) { + // this.$message.success(`${info.file.name} 文件上传成功`); + if (info.file.response.code === 201) { + let {message, result: {msg, fileUrl, fileName}} = info.file.response + let href = window._CONFIG['domianURL'] + fileUrl + this.$warning({ + title: message, + content: (
+ {msg} +
+ 具体详情请 +
点击下载 + +
+ ) + }) + } else { + this.$message.success(info.file.response.message || `${info.file.name} 文件上传成功`) + } + this.loadData() + } else { + this.messageLineFeed('文件导入错误', info.file.response.message) + // this.$message.error(`${info.file.name} ${info.file.response.message}.`); + } + } else if (info.file.status === 'error') { + if (info.file.response.status === 500) { + let data = info.file.response + const token = Vue.ls.get(ACCESS_TOKEN) + if (token && data.message.includes('Token失效')) { + Modal.error({ + title: '登录已过期', + content: '很抱歉,登录已过期,请重新登录', + okText: '重新登录', + mask: false, + onOk: () => { + store.dispatch('Logout').then(() => { + Vue.ls.remove(ACCESS_TOKEN) + window.location.reload() + }) + } + }) + } + } else { + this.$message.error(`文件上传失败: ${info.file.msg} `) + } + } + }, + /** + * @description: 会议的发布 会议需要发布对应的企业人员才能在企业端看见该会议 + * @param:record 表格行数据 + * @Date 2021-12-29 + * @author fac + * */ + releaseMeeing() { + if (this.selectedRowKeys.length === 0) { + this.$message.warn('请至少选中一个会议') + return + } + // 判断选中的会议是否已经发布 + let flag = this.selectionRows.some(item => { + return item.isRelease === 1 + }) + if (flag) { + this.$message.warn('请选择未发布的会议') + return + } + const that = this + if (this.url.releaseMeeingUrl) { + const param = { + meetingIds: this.selectedRowKeys + } + this.$confirm({ + title: '确认发布', + content: '确定要发布选中的会议吗?', + onOk: function () { + postAction(that.url.releaseMeeingUrl, param).then(res => { + if (res.success) { + that.$message.success('发布成功') + that.loadData() + } else { + that.$message.warn(res.message) + } + }) + } + }) + + + } else { + this.$message.warn('请设置url.releaseMeeingUrl') + } + }, + /* + * 打开项目详情模态框 + * */ + openDetailModal(record) { + this.$refs.projectDetail.open(record) + }, + /* 图片预览 */ + getImgView(text) { + if (text && text.indexOf(',') > 0) { + text = text.substring(0, text.indexOf(',')) + } + return getFileAccessHttpUrl(text) + }, + /* 文件下载 */ + // update--autor:lvdandan-----date:20200630------for:修改下载文件方法名uploadFile改为downloadFile------ + downloadFile(text) { + if (!text) { + this.$message.warning('未知的文件') + return + } + if (text.indexOf(',') > 0) { + text = text.substring(0, text.indexOf(',')) + } + let url = getFileAccessHttpUrl(text) + window.open(url) + }, + /** + * 对包含
的后端错误信息进行处理 + * @param title + * @param content + */ + messageLineFeed(title, content) { + const messageArr = content.split('
') + let htmlDom = [] + messageArr.map(tt => { + if (tt) { + htmlDom.push((
{tt}
)) + } + }) + this.$warning({ + title: title, + content: (h) =>
+ {htmlDom} +
+ }) + } + } + +} diff --git a/src/mixins/RangeDateMixin.js b/src/mixins/RangeDateMixin.js new file mode 100644 index 0000000..8c52307 --- /dev/null +++ b/src/mixins/RangeDateMixin.js @@ -0,0 +1,37 @@ +/* 查询条件有时间范围的 混入方法 */ +import moment from 'moment' +export const RangeDateMixin = { + data() { + return { + dateKeyObj: { + beginKey: 'beginRegisterTime', + endKey: 'endRegisterTime' + }, + rangeDateFormat: { + begin: 'YYYY-MM-DD HH:mm:ss', + end: 'YYYY-MM-DD HH:mm:ss' + } + } + }, + + methods: { + disabledStartDate(startValue) { + const endValue = this.queryParam[this.dateKeyObj.endKey] && moment(this.queryParam[this.dateKeyObj.endKey], this.rangeDateFormat.end) + if (!startValue || !endValue) { + return false + } + return startValue.valueOf() > endValue.valueOf() + }, + + disabledEndDate(endValue) { + const startValue = this.queryParam[this.dateKeyObj.beginKey] && moment(this.queryParam[this.dateKeyObj.beginKey], this.rangeDateFormat.begin) + if (!endValue || !startValue) { + return false + } + return startValue.valueOf() > endValue.valueOf() + }, + disabledDateBeforeToday(current) { + return current < moment().subtract(1, 'day') // 当天之前的不可选,不包括当天 + } + } +} diff --git a/src/permission.js b/src/permission.js new file mode 100644 index 0000000..a8f1633 --- /dev/null +++ b/src/permission.js @@ -0,0 +1,119 @@ +import Vue from 'vue' +import router from './router' +import store from './store' +import NProgress from 'nprogress' // progress bar +import 'nprogress/nprogress.css' // progress bar style +// import notification from 'ant-design-vue/es/notification' +import { ACCESS_TOKEN, INDEX_MAIN_PAGE_PATH,USER_INFO } from '@/store/mutation-types' +import { generateIndexRouter } from '@/utils/util' +import { menuPermission } from './utils/hasPermission' +import {loginIdmPlatform} from '@api/api' +import {notification} from 'ant-design-vue' +import { filterTreeData, isExternalTerminal } from './utils/util' + +NProgress.configure({ showSpinner: false }) // NProgress Configuration +// ,'/signupentrance','/signUpPage' + +const whiteList = ['/user/login', '/user/register', '/user/register-result', '/user/alteration'] // no redirect whitelist, '/screen' + +router.beforeEach(async (to, from, next) => { + // 会员系统的单点登录 + if (to.query.token) { + Vue.ls.set(ACCESS_TOKEN, to.query.token, 7 * 24 * 60 * 60 * 1000) + store.commit('SET_TOKEN', to.query.token) + // 判断是否是会员系统iframe嵌入的,如果是 不先做左侧菜单和 头部标签 + if(to.query.system === 'member') { + store.commit('SET_SYSTEM', to.query.system) + } + } + // idm系统单点登录 + if(to.path === '/user/login' && to.query.code){ + let result = await loginIdmPlatform({code:to.query.code}) + if(result.success){ + Vue.ls.set(USER_INFO, result.result.userInfo, 7 * 24 * 60 * 60 * 1000) + Vue.ls.set(ACCESS_TOKEN, result.result.token, 7 * 24 * 60 * 60 * 1000) + }else { + notification['error']({ + message: '登录失败', + description: result.message, + duration: 4, + }) + Vue.ls.remove(ACCESS_TOKEN) + Vue.ls.remove(USER_INFO) + next({ path: '/user/login' }) + return + } + } + + NProgress.start() // start progress bar + + if (Vue.ls.get(ACCESS_TOKEN)) { + /* has token */ + if (to.path === '/user/login') { + next({ path: INDEX_MAIN_PAGE_PATH }) + NProgress.done() + } else { + if (store.getters.permissionList.length === 0) { + store.dispatch('GetPermissionList').then(res => { + let menuData = res.result.menu + if (menuData === null || menuData === '' || menuData === undefined) { + return + } + let constRoutes = [] + if(isExternalTerminal) { + // 为外部系统的时候,过滤掉所有的 isExternalTerminal = false 的数据 + menuData = filterTreeData(menuData) + } + constRoutes = generateIndexRouter(menuData) + // 添加主界面路由 + store.dispatch('UpdateAppRouter', { constRoutes }).then(() => { + // 根据roles权限生成可访问的路由表 + // 动态添加可访问路由表 + router.addRoutes(store.getters.addRouters) + + let redirect = decodeURIComponent(from.query.redirect || to.path) + let opeMenuData = JSON.parse(JSON.stringify(menuData)) + if(!menuPermission(opeMenuData, redirect)) { + const firstRouter = constRoutes[0].redirect + redirect = firstRouter + } + console.log('redirect--------', redirect) + console.log('to.path--------', to.path) + // const redirect = decodeURIComponent(from.query.redirect || to.path) + // 大屏的路由跳转 to.path === redirect || to.path === '/screen' + if (to.path === redirect) { + // hack方法 确保addRoutes已完成 ,set the replace: true so the navigation will not leave a history record + next({ ...to, replace: true }) + } else { + // 跳转到目的路由 + next({ path: redirect }) + } + }) + }) + .catch(() => { + /* notification.error({ + message: '系统提示', + description: '请求用户信息失败,请重试!' + })*/ + store.dispatch('Logout').then(() => { + next({ path: '/user/login', query: { redirect: to.fullPath } }) + }) + }) + } else { + next() + } + } + } else { + if (whiteList.indexOf(to.path) !== -1) { + // 在免登录白名单,直接进入 + next() + } else { + next({ path: '/user/login', query: { redirect: to.fullPath } }) + NProgress.done() // if current page is login will not trigger afterEach hook, so manually handle it + } + } +}) + +router.afterEach(() => { + NProgress.done() // finish progress bar +}) diff --git a/src/router/index.js b/src/router/index.js new file mode 100644 index 0000000..c4fcc57 --- /dev/null +++ b/src/router/index.js @@ -0,0 +1,18 @@ +import Vue from 'vue' +import Router from 'vue-router' +import { constantRouterMap } from '@/config/router.config' + +Vue.use(Router) + +const originalPush = Router.prototype.push +Router.prototype.push = function push(location, onResolve, onReject) { + if (onResolve || onReject) return originalPush.call(this, location, onResolve, onReject) + return originalPush.call(this, location).catch(err => err) +} + +export default new Router({ + mode: 'history', + base: process.env.BASE_URL, + scrollBehavior: () => ({ y: 0 }), + routes: constantRouterMap +}) diff --git a/src/screenApi/api.js b/src/screenApi/api.js new file mode 100644 index 0000000..782e991 --- /dev/null +++ b/src/screenApi/api.js @@ -0,0 +1,116 @@ + +import { getActionZxd, getActionWP, getActionISO } from '@/screenApi/manage' + +/******制修订大屏接口--------开始 **********/ +// 获取所有sc信息 +const GetSCData = (params) => getActionZxd( '/serviceInterface/getDpData_scInfoList', params) + +// 汽车标准项目总体情况;包括发布的国行标、在研的国行标、立项上报的国行标、外文版项目数量 +const StanderProjectGeneralSituation = (params) => getActionZxd( '/serviceInterface/getDpData1', params) + +// 汽车标准制修订情况(总体)--含立项上报、起草、征求意见、审查、报批、批准发布等各环节数量 +const GetPreparationRevisionSituation = (params) => getActionZxd( '/serviceInterface/getDpData2_1', params) +// 汽车标准制修订情况(各SC) +const GetPreparationRevisionSC = (params) => getActionZxd( '/serviceInterface/getDpData2_2', params) + +// 标准归口情况(各SC)- 各SC归口在研项目和标准数量 +const GetCentralizedData = (params) => getActionZxd( '/serviceInterface/getDpData3', params) + +/*历年计划下达情况-------开始*/ +// 历年计划下达情况--(总体)逐年下达计划数量 +const GetReleasePlanData = (params) => getActionZxd( '/serviceInterface/getDpData4_1', params) +// 历年计划下达情况--(各SC)逐年下达计划数量 --获取所有的SC值 +const GetReleasePlanSCData = (params) => getActionZxd( '/serviceInterface/getDpData4_2_1', params) +// 历年计划下达情况--(各SC)逐年下达计划数量 -- 通过SC查询 +const GetReleasePlanDataBySC = (params) => getActionZxd( '/serviceInterface/getDpData4_2_2', params) +/*历年计划下达情况-------结束*/ + +/*历年标准发布情况-------开始*/ +const GetReleaseStandardData = (params) => getActionZxd( '/serviceInterface/getDpData5_1', params) +// 历年计划下达情况--(各SC)逐年下达计划数量 --获取所有的SC值 +const GetReleaseStandardSCData = (params) => getActionZxd( '/serviceInterface/getDpData5_2_1', params) +// 历年计划下达情况--(各SC)逐年下达计划数量 -- 通过SC查询 +const GetReleaseStandardDataBySC = (params) => getActionZxd( '/serviceInterface/getDpData5_2_2', params) +/*历年标准发布情况-------结束*/ + +// 各SC超期情况统计 +const GetOverdueData = (params) => getActionZxd( '/serviceInterface/getDpData7_ext', params) + +// 各SC每年计划完成率 --各年应完成项目情况 +const GetShouldBeCompletedProjectData = (params) => getActionZxd( '/serviceInterface/getDpData6_1_1', params) + +// 各SC历年应完成项目情况 +const GetCompletionProjectData = (params) => getActionZxd( '/serviceInterface/getDpData6_1_2', params) + +// 第一起草单位贡献度排名 +const GetEnterpriseContributionData = (params) => getActionZxd( '/serviceInterface/getDpData8', params) +/******制修订大屏接口--------结束 **********/ + +/******WP29--------结束 **********/ +// 法规数量统计 +const GetRegulationQuantityData = (params) => getActionWP('/laws/bzsLawRegulationInfo/getScreenLawsInfo', params) +// 专家数量统计 +const GetExpertQuantityData = (params) => getActionWP('/expertinfo/bzsExpertInfo/getScreenExpertStatistics', params) +// 会议信息日历 +const GetMeetingCalendarData = (params) => getActionWP('/meetinginfo/bzsMeetingInfo/getScreenMeetingInfoCalendar', params) +// 会议信息统计-技术领域 +const GetMeetingInformationData = (params) => getActionWP('/meetinginfo/bzsMeetingInfo/queryScreenMeetingInfo', params) +// 会议信息统计-部门 +const GetMeetingInformationDataByDepart = (params) => getActionWP('/meetinginfo/bzsMeetingInfo/queryScreenMeetingInfoDepart', params) +/******WP29--------结束 **********/ + + + +/******ISO--------结束 **********/ +// 中国牵头标准信息统计 +const GetLeadingStandardData = (params) => getActionISO('/standard/bzsProjectStandard/screenStandardstats', params) +// 国际会议统计 +const GetISOMeetingCalendarData = (params) => getActionISO('/mainpage/bzsmainpage/getScreenMeetingInfoCalendar', params) +// 获取技术领域的下拉框数据 +const GetTechnicalFieldData = (params) => getActionISO('/expertinfo/bzsExpertInfo/getQuerySelect', params) +// ISO-会议信息统计-技术领域 +const GetISOMeetingInformationData = (params) => getActionISO('/mainpage/bzsmainpage/queryMeetingInfoFieldScreen', params) +// ISO-会议信息统计-部门 +const GetISOMeetingInformationDataByDepart = (params) => getActionISO('/mainpage/bzsmainpage/queryMeetingInfoDepartScreen', params) + +// 国际专家统计 +const GetExpertChartData = (params) => getActionISO('/expertinfo/bzsExpertInfo/queryScreenExpertInfo', params) +// 国际专家统计-右上角的数据 +const GetExpertStatisticData = (params) => getActionISO('/expertinfo/bzsExpertInfo/getRightInfo', params) + +/******ISO--------结束 **********/ + + +export { + GetSCData, + StanderProjectGeneralSituation, + GetPreparationRevisionSituation, + GetPreparationRevisionSC, + GetCentralizedData, + GetReleasePlanData, + GetReleasePlanSCData, + GetReleasePlanDataBySC, + GetReleaseStandardData, + GetReleaseStandardSCData, + GetReleaseStandardDataBySC, + GetOverdueData, + GetShouldBeCompletedProjectData, + GetCompletionProjectData, + GetEnterpriseContributionData, + + + GetRegulationQuantityData, + GetExpertQuantityData, + GetMeetingCalendarData, + GetMeetingInformationData, + GetMeetingInformationDataByDepart, + + GetLeadingStandardData, + GetISOMeetingCalendarData, + GetTechnicalFieldData, + GetISOMeetingInformationData, + GetISOMeetingInformationDataByDepart, + GetExpertChartData, + GetExpertStatisticData + +} \ No newline at end of file diff --git a/src/screenApi/manage.js b/src/screenApi/manage.js new file mode 100644 index 0000000..36eaff9 --- /dev/null +++ b/src/screenApi/manage.js @@ -0,0 +1,28 @@ +/** + * 大屏部分的请求封装,需要从外部传入baseUrl + */ +import { axios } from '@/screenRequest/request' + +const baseUrl = '/zxd' + +export function getActionZxd(url, parameter) { + return axios({ + url: baseUrl + url, + method: 'get', + params: parameter + }) +} +export function getActionWP(url, parameter) { + return axios({ + url: '/WPApi' + url, + method: 'get', + params: parameter + }) +} +export function getActionISO(url, parameter) { + return axios({ + url: '/ISO' + url, + method: 'get', + params: parameter + }) +} \ No newline at end of file diff --git a/src/screenRequest/request.js b/src/screenRequest/request.js new file mode 100644 index 0000000..7046d69 --- /dev/null +++ b/src/screenRequest/request.js @@ -0,0 +1,167 @@ +import Vue from 'vue' +import axios from 'axios' +import store from '@/store' +import { Modal, notification } from 'ant-design-vue' +import { ACCESS_TOKEN, TENANT_ID } from '@/store/mutation-types' + +/** + * 【指定 axios的 baseURL】 + * 如果手工指定 baseURL: '/jero-boot' + * 则映射后端域名,通过 vue.config.js + * @type {*|string} + */ +// 创建 axios 实例 +const service = axios.create({}) + +const err = (error) => { + if (error.response) { + let data = error.response.data + const token = Vue.ls.get(ACCESS_TOKEN) + // console.log('------异常响应------', token) + // console.log('------异常响应------', error.response.status) + switch (error.response.status) { + case 403: + notification.error({ message: '系统提示', description: '拒绝访问', duration: 4 }) + break + case 500: + // console.log('------error.response------', error.response) + // update-begin- --- author:liusq ------ date:20200910 ---- for:处理Blob情况---- + let type = error.response.request.responseType + if (type === 'blob') { + blobToJson(data) + break + } + // update-end- --- author:liusq ------ date:20200910 ---- for:处理Blob情况---- + //notification.error({ message: '系统提示', description:'Token失效,请重新登录!',duration: 4}) + if (token && data.message.includes('Token失效')) { + // update-begin- --- author:scott ------ date:20190225 ---- for:Token失效采用弹框模式,不直接跳转---- + Modal.error({ + title: '登录已过期', + content: '很抱歉,登录已过期,请重新登录', + okText: '重新登录', + mask: false, + onOk: () => { + store.dispatch('Logout').then(() => { + Vue.ls.remove(ACCESS_TOKEN) + try { + let path = window.document.location.pathname + console.log('location pathname -> ' + path) + if (path != '/' && path.indexOf('/user/login') == -1) { + window.location.reload() + } + } catch (e) { + window.location.reload() + } + }) + } + }) + // update-end- --- author:scott ------ date:20190225 ---- for:Token失效采用弹框模式,不直接跳转---- + } + break + case 404: + notification.error({ message: '系统提示', description: '很抱歉,资源未找到!', duration: 4 }) + break + case 504: + notification.error({ message: '系统提示', description: '网络超时' }) + break + case 401: + notification.error({ message: '系统提示', description: '未授权,请重新登录', duration: 4 }) + if (token) { + store.dispatch('Logout').then(() => { + setTimeout(() => { + window.location.reload() + }, 1500) + }) + } + break + default: + notification.error({ + message: '系统提示', + description: data.message, + duration: 4 + }) + break + } + } + return Promise.reject(error) +} + +// request interceptor +service.interceptors.request.use(config => { + if (config.url.indexOf('/zxd') === 0) { + config.headers['verifyToken'] = '1SRifTFQz86Wnqz' + } else if(config.url.indexOf('/WPApi') === 0) { + config.headers['X-Access-Token'] = 'GUG2weX1Pg5lOzKxhcrQKSjqsT6YBaZV' + } else if(config.url.indexOf('/ISO') === 0) { + config.headers['X-Access-Token'] = 'GUG2weX1Pg5lOzKxhcrQKSjqsT6YBaZV' + } else { + // 来款的请求 + const token = Vue.ls.get(ACCESS_TOKEN) + if (token) { + config.headers['X-Access-Token'] = token // 让每个请求携带自定义 token 请根据实际情况自行修改 + } + } + //update-begin-author:taoyan date:2020707 for:多租户 + let tenantid = Vue.ls.get(TENANT_ID) + if (!tenantid) { + tenantid = 0 + } + config.headers['tenant_id'] = tenantid + //update-end-author:taoyan date:2020707 for:多租户 + if (config.method == 'get') { + if (config.url.indexOf('sys/dict/getDictItems') < 0) { + config.params = { + _t: Date.parse(new Date()) / 1000, + ...config.params + } + } + } + return config +}, (error) => { + return Promise.reject(error) +}) + +// response interceptor +service.interceptors.response.use((response) => { + return response.data +}, err) + +/** + * Blob解析 + * @param data + */ +function blobToJson(data) { + let fileReader = new FileReader() + let token = Vue.ls.get(ACCESS_TOKEN) + fileReader.onload = function () { + try { + let jsonData = JSON.parse(this.result) // 说明是普通对象数据,后台转换失败 + console.log('jsonData', jsonData) + if (jsonData.status === 500) { + console.log('token----------》', token) + if (token && jsonData.message.includes('Token失效')) { + Modal.error({ + title: '登录已过期', + content: '很抱歉,登录已过期,请重新登录', + okText: '重新登录', + mask: false, + onOk: () => { + store.dispatch('Logout').then(() => { + Vue.ls.remove(ACCESS_TOKEN) + window.location.reload() + }) + } + }) + } + } + } catch (err) { + // 解析成对象失败,说明是正常的文件流 + console.log('blob解析fileReader返回err', err) + } + } + fileReader.readAsText(data) +} + +export { + service as axios +} diff --git a/src/store/getters.js b/src/store/getters.js new file mode 100644 index 0000000..c33296e --- /dev/null +++ b/src/store/getters.js @@ -0,0 +1,24 @@ +import Vue from 'vue' +import { USER_INFO, ENHANCE_PRE } from '@/store/mutation-types' +const getters = { + device: state => state.app.device, + theme: state => state.app.theme, + color: state => state.app.color, + token: state => state.user.token, + avatar: state => {state.user.avatar = Vue.ls.get(USER_INFO).avatar; return state.user.avatar}, + username: state => state.user.username, + nickname: state => {state.user.realname = Vue.ls.get(USER_INFO).realname; return state.user.realname}, + welcome: state => state.user.welcome, + permissionList: state => state.user.permissionList, + userInfo: state => {state.user.info = Vue.ls.get(USER_INFO); return state.user.info}, + addRouters: state => state.permission.addRouters, + onlAuthFields: state => {return state.online.authFields }, + enhanceJs:(state) => (code) => { + state.enhance.enhanceJs[code] = Vue.ls.get(ENHANCE_PRE+code) + return state.enhance.enhanceJs[code] + }, + currentYear: () => new Date().getFullYear()+'' + +} + +export default getters diff --git a/src/store/index.js b/src/store/index.js new file mode 100644 index 0000000..ab1b3ba --- /dev/null +++ b/src/store/index.js @@ -0,0 +1,32 @@ +import Vue from 'vue' +import Vuex from 'vuex' + +import app from './modules/app' +import user from './modules/user' +import permission from './modules/permission' +import enhance from './modules/enhance' +import online from './modules/online' +import getters from './getters' + +Vue.use(Vuex) + +export default new Vuex.Store({ + modules: { + app, + user, + permission, + enhance, + online + }, + state: { + // 当前的会员项目 + currentProjetcInfo:{} + }, + mutations: { + 'SET_CURRENTPROJECT':(state,info) =>{ + state.currentProjetcInfo = Object.assign({},info) + } + }, + actions: {}, + getters +}) diff --git a/src/store/modules/app.js b/src/store/modules/app.js new file mode 100644 index 0000000..eb5ccf4 --- /dev/null +++ b/src/store/modules/app.js @@ -0,0 +1,126 @@ +import Vue from 'vue' +import { + SIDEBAR_TYPE, + DEFAULT_THEME, + DEFAULT_LAYOUT_MODE, + DEFAULT_COLOR, + DEFAULT_COLOR_WEAK, + DEFAULT_FIXED_HEADER, + DEFAULT_FIXED_SIDEMENU, + DEFAULT_FIXED_HEADER_HIDDEN, + DEFAULT_CONTENT_WIDTH_TYPE, + DEFAULT_MULTI_PAGE +} from '@/store/mutation-types' + +const app = { + state: { + sidebar: { + opened: true, + withoutAnimation: false + }, + device: 'desktop', + theme: '', + layout: '', + contentWidth: '', + fixedHeader: false, + fixSiderbar: false, + autoHideHeader: false, + color: null, + weak: false, + multipage: true //默认多页签模式 + }, + mutations: { + SET_SIDEBAR_TYPE: (state, type) => { + state.sidebar.opened = type + Vue.ls.set(SIDEBAR_TYPE, type) + }, + CLOSE_SIDEBAR: (state, withoutAnimation) => { + Vue.ls.set(SIDEBAR_TYPE, true) + state.sidebar.opened = false + state.sidebar.withoutAnimation = withoutAnimation + }, + TOGGLE_DEVICE: (state, device) => { + state.device = device + }, + TOGGLE_THEME: (state, theme) => { + // setStore('_DEFAULT_THEME', theme) + Vue.ls.set(DEFAULT_THEME, theme) + state.theme = theme + }, + TOGGLE_LAYOUT_MODE: (state, layout) => { + Vue.ls.set(DEFAULT_LAYOUT_MODE, layout) + state.layout = layout + }, + TOGGLE_FIXED_HEADER: (state, fixed) => { + Vue.ls.set(DEFAULT_FIXED_HEADER, fixed) + state.fixedHeader = fixed + }, + TOGGLE_FIXED_SIDERBAR: (state, fixed) => { + Vue.ls.set(DEFAULT_FIXED_SIDEMENU, fixed) + state.fixSiderbar = fixed + }, + TOGGLE_FIXED_HEADER_HIDDEN: (state, show) => { + Vue.ls.set(DEFAULT_FIXED_HEADER_HIDDEN, show) + state.autoHideHeader = show + }, + TOGGLE_CONTENT_WIDTH: (state, type) => { + Vue.ls.set(DEFAULT_CONTENT_WIDTH_TYPE, type) + state.contentWidth = type + }, + TOGGLE_COLOR: (state, color) => { + Vue.ls.set(DEFAULT_COLOR, color) + state.color = color + }, + TOGGLE_WEAK: (state, flag) => { + Vue.ls.set(DEFAULT_COLOR_WEAK, flag) + state.weak = flag + }, + SET_MULTI_PAGE(state, multipageFlag) { + Vue.ls.set(DEFAULT_MULTI_PAGE, multipageFlag) + state.multipage = multipageFlag + } + }, + actions: { + setSidebar: ({ commit }, type) => { + commit('SET_SIDEBAR_TYPE', type) + }, + CloseSidebar({ commit }, { withoutAnimation }) { + commit('CLOSE_SIDEBAR', withoutAnimation) + }, + ToggleDevice({ commit }, device) { + commit('TOGGLE_DEVICE', device) + }, + ToggleTheme({ commit }, theme) { + commit('TOGGLE_THEME', theme) + }, + ToggleLayoutMode({ commit }, mode) { + commit('TOGGLE_LAYOUT_MODE', mode) + }, + ToggleFixedHeader({ commit }, fixedHeader) { + if (!fixedHeader) { + commit('TOGGLE_FIXED_HEADER_HIDDEN', false) + } + commit('TOGGLE_FIXED_HEADER', fixedHeader) + }, + ToggleFixSiderbar({ commit }, fixSiderbar) { + commit('TOGGLE_FIXED_SIDERBAR', fixSiderbar) + }, + ToggleFixedHeaderHidden({ commit }, show) { + commit('TOGGLE_FIXED_HEADER_HIDDEN', show) + }, + ToggleContentWidth({ commit }, type) { + commit('TOGGLE_CONTENT_WIDTH', type) + }, + ToggleColor({ commit }, color) { + commit('TOGGLE_COLOR', color) + }, + ToggleWeak({ commit }, weakFlag) { + commit('TOGGLE_WEAK', weakFlag) + }, + ToggleMultipage({ commit }, multipageFlag) { + commit('SET_MULTI_PAGE', multipageFlag) + } + } +} + +export default app diff --git a/src/store/modules/enhance.js b/src/store/modules/enhance.js new file mode 100644 index 0000000..e7c254d --- /dev/null +++ b/src/store/modules/enhance.js @@ -0,0 +1,37 @@ +import Vue from 'vue' +const enhance = { + state: { + enhanceJs:{ + + } + }, + mutations: { + ADD_TABLE_ENHANCE: (state, record) => { + if(!state.enhanceJs){ + let obj = {} + let arr = [] + arr.push({...record}) + obj[record.code] = arr + state.enhanceJs = obj + }else{ + if(!state.enhanceJs[record.code]){ + let arr = [] + arr.push({...record}) + state.enhanceJs[record.code] = arr + } + state.enhanceJs[record.code].push({...record}) + } + let arr = state.enhanceJs[record.code] + while(arr.length>16){ + arr.shift() + } + Vue.ls.set('enhance_'+record['code'], arr) + } + }, + actions: { + addEhanceRecord({ commit }, record) { + commit('ADD_TABLE_ENHANCE', record) + } + } +} +export default enhance \ No newline at end of file diff --git a/src/store/modules/online.js b/src/store/modules/online.js new file mode 100644 index 0000000..dec1f06 --- /dev/null +++ b/src/store/modules/online.js @@ -0,0 +1,23 @@ +import Vue from 'vue' + +const online = { + state: { + //存储对象属性 value,text + authFields: [] + }, + mutations: { + SET_AUTHFIELDS: (state, fields) => { + console.log('fields', fields) + Vue.set(state, 'authFields', fields) + } + }, + actions: { + // TODO 如果没找到可以尝试请求一下 + // eslint-disable-next-line no-unused-vars + xxxxxx({ commit }, userInfo) { + } + + } +} + +export default online diff --git a/src/store/modules/permission.js b/src/store/modules/permission.js new file mode 100644 index 0000000..182e83c --- /dev/null +++ b/src/store/modules/permission.js @@ -0,0 +1,87 @@ +import { asyncRouterMap, constantRouterMap } from '@/config/router.config' + +/** + * 过滤账户是否拥有某一个权限,并将菜单从加载列表移除 + * + * @param permission + * @param route + * @returns {boolean} + */ +function hasPermission(permission, route) { + if (route.meta && route.meta.permission) { + let flag = -1 + for (let i = 0, len = permission.length; i < len; i++) { + flag = route.meta.permission.indexOf(permission[i]) + if (flag >= 0) { + return true + } + } + return false + } + return true +} + +/** + * 单账户多角色时,使用该方法可过滤角色不存在的菜单 + * + * @param roles + * @param route + * @returns {*} + */ +// eslint-disable-next-line +function hasRole(roles, route) { + if (route.meta && route.meta.roles) { + return route.meta.roles.indexOf(roles.id) + } else { + return true + } +} + +function filterAsyncRouter(routerMap, roles) { + const accessedRouters = routerMap.filter(route => { + if (hasPermission(roles.permissionList, route)) { + if (route.children && route.children.length) { + route.children = filterAsyncRouter(route.children, roles) + } + return true + } + return false + }) + return accessedRouters +} + + +const permission = { + state: { + routers: constantRouterMap, + addRouters: [] + }, + mutations: { + SET_ROUTERS: (state, data) => { + state.addRouters = data + state.routers = constantRouterMap.concat(data) + } + }, + actions: { + GenerateRoutes({ commit }, data) { + return new Promise(resolve => { + const { roles } = data + let accessedRouters + accessedRouters = filterAsyncRouter(asyncRouterMap, roles) + commit('SET_ROUTERS', accessedRouters) + resolve() + }) + }, + // 动态添加主界面路由,需要缓存 + UpdateAppRouter({ commit }, routes) { + return new Promise(resolve => { + //const [ roles ] = routes.constRoutes + let routelist = routes.constRoutes + commit('SET_ROUTERS', routelist) + resolve() + }) + } + } +} + +export default permission \ No newline at end of file diff --git a/src/store/modules/user.js b/src/store/modules/user.js new file mode 100644 index 0000000..eab4377 --- /dev/null +++ b/src/store/modules/user.js @@ -0,0 +1,220 @@ +import Vue from 'vue' +import { login, logout, phoneLogin, thirdLogin } from '@/api/login' +import { ACCESS_TOKEN, USER_NAME,USER_INFO,USER_AUTH,SYS_BUTTON_AUTH,UI_CACHE_DB_DICT_DATA,TENANT_ID,CACHE_INCLUDED_ROUTES } from '@/store/mutation-types' +import { welcome } from '@/utils/util' +import { queryPermissionsByUser } from '@/api/api' +import { getAction } from '@/api/manage' +import { menuList } from '../../utils/menuList' +import { filterTreeData, isExternalTerminal } from '../../utils/util' + +const user = { + state: { + // 使用系统的名称,只有在会员系统嵌入来款系统的时候使用 传值为 member + system: '', + token: '', + username: '', + realname: '', + tenantid:'', + welcome: '', + avatar: '', + permissionList: [], + info: {} + }, + + mutations: { + SET_SYSTEM: (state, system) => { + state.system = system + }, + SET_TOKEN: (state, token) => { + state.token = token + }, + SET_NAME: (state, { username, realname, welcome }) => { + state.username = username + state.realname = realname + state.welcome = welcome + }, + SET_AVATAR: (state, avatar) => { + state.avatar = avatar + }, + SET_PERMISSIONLIST: (state, permissionList) => { + state.permissionList = permissionList + }, + SET_INFO: (state, info) => { + state.info = info + }, + SET_TENANT: (state, id) => { + state.tenantid = id + }, + }, + + actions: { + // CAS验证登录 + ValidateLogin({ commit }, userInfo) { + return new Promise((resolve, reject) => { + getAction('/sys/cas/client/validateLogin',userInfo).then(response => { + console.log('----cas 登录--------',response) + if(response.success){ + const result = response.result + const userInfo = result.userInfo + Vue.ls.set(ACCESS_TOKEN, result.token, 7 * 24 * 60 * 60 * 1000) + Vue.ls.set(USER_NAME, userInfo.username, 7 * 24 * 60 * 60 * 1000) + Vue.ls.set(USER_INFO, userInfo, 7 * 24 * 60 * 60 * 1000) + commit('SET_TOKEN', result.token) + commit('SET_INFO', userInfo) + commit('SET_NAME', { username: userInfo.username,realname: userInfo.realname, welcome: welcome() }) + commit('SET_AVATAR', userInfo.avatar) + resolve(response) + }else{ + resolve(response) + } + }).catch(error => { + reject(error) + }) + }) + }, + // 登录 + Login({ commit }, userInfo) { + return new Promise((resolve, reject) => { + login(userInfo).then(response => { + console.log(response, '================') + if(response.code =='200'){ + const result = response.result + const userInfo = result.userInfo + Vue.ls.set(ACCESS_TOKEN, result.token, 7 * 24 * 60 * 60 * 1000) + Vue.ls.set(USER_NAME, userInfo.username, 7 * 24 * 60 * 60 * 1000) + Vue.ls.set(USER_INFO, userInfo, 7 * 24 * 60 * 60 * 1000) + Vue.ls.set(UI_CACHE_DB_DICT_DATA, result.sysAllDictItems, 7 * 24 * 60 * 60 * 1000) + commit('SET_TOKEN', result.token) + commit('SET_INFO', userInfo) + commit('SET_NAME', { username: userInfo.username,realname: userInfo.realname, welcome: welcome() }) + commit('SET_AVATAR', userInfo.avatar) + resolve(response) + }else{ + reject(response) + } + }).catch(error => { + reject(error) + }) + }) + }, + //手机号登录 + PhoneLogin({ commit }, userInfo) { + return new Promise((resolve, reject) => { + phoneLogin(userInfo).then(response => { + if(response.code =='200'){ + const result = response.result + const userInfo = result.userInfo + Vue.ls.set(ACCESS_TOKEN, result.token, 7 * 24 * 60 * 60 * 1000) + Vue.ls.set(USER_NAME, userInfo.username, 7 * 24 * 60 * 60 * 1000) + Vue.ls.set(USER_INFO, userInfo, 7 * 24 * 60 * 60 * 1000) + Vue.ls.set(UI_CACHE_DB_DICT_DATA, result.sysAllDictItems, 7 * 24 * 60 * 60 * 1000) + commit('SET_TOKEN', result.token) + commit('SET_INFO', userInfo) + commit('SET_NAME', { username: userInfo.username,realname: userInfo.realname, welcome: welcome() }) + commit('SET_AVATAR', userInfo.avatar) + resolve(response) + }else{ + reject(response) + } + }).catch(error => { + reject(error) + }) + }) + }, + // 获取用户信息 + GetPermissionList({ commit }) { + return new Promise((resolve, reject) => { + queryPermissionsByUser().then(response => { + response = menuList + let menuData = response.result.menu + const authData = response.result.auth + const allAuthData = response.result.allAuth + //Vue.ls.set(USER_AUTH,authData); + sessionStorage.setItem(USER_AUTH,JSON.stringify(authData)) + sessionStorage.setItem(SYS_BUTTON_AUTH,JSON.stringify(allAuthData)) + if (menuData && menuData.length > 0) { + if(isExternalTerminal) { + // 为外部系统的时候,过滤掉所有的 isExternalTerminal = false 的数据 + menuData = filterTreeData(menuData) + } + //update--begin--autor:qinfeng-----date:20200109------for:JEECG-63 一级菜单的子菜单全部是隐藏路由,则一级菜单不显示------ + menuData.forEach((item) => { + if (item['children']) { + let hasChildrenMenu = item['children'].filter((i) => { + return !i.hidden || i.hidden == false + }) + if (hasChildrenMenu == null || hasChildrenMenu.length == 0) { + item['hidden'] = true + } + } + }) + //console.log(" menu show json ", menuData) + //update--end--autor:qinfeng-----date:20200109------for:JEECG-63 一级菜单的子菜单全部是隐藏路由,则一级菜单不显示------ + commit('SET_PERMISSIONLIST', menuData) + } else { + reject('getPermissionList: permissions must be a non-null array !') + } + resolve(response) + }).catch(error => { + reject(error) + }) + }) + }, + + // 登出 + Logout({ commit, state }) { + return new Promise((resolve) => { + let logoutToken = state.token + commit('SET_TOKEN', '') + commit('SET_PERMISSIONLIST', []) + Vue.ls.remove(ACCESS_TOKEN) + Vue.ls.remove(USER_INFO) + Vue.ls.remove(USER_NAME) + Vue.ls.remove(UI_CACHE_DB_DICT_DATA) + Vue.ls.remove(CACHE_INCLUDED_ROUTES) + //console.log('logoutToken: '+ logoutToken) + logout(logoutToken).then(() => { + if (process.env.VUE_APP_SSO == 'true') { + let sevice = 'http://' + window.location.host + '/' + let serviceUrl = encodeURIComponent(sevice) + window.location.href = process.env.VUE_APP_CAS_BASE_URL + '/logout?service=' + serviceUrl + } + resolve() + }).catch(() => { + resolve() + }) + }) + }, + // 第三方登录 + ThirdLogin({ commit }, param) { + return new Promise((resolve, reject) => { + thirdLogin(param.token,param.thirdType).then(response => { + if(response.code =='200'){ + const result = response.result + const userInfo = result.userInfo + Vue.ls.set(ACCESS_TOKEN, result.token, 7 * 24 * 60 * 60 * 1000) + Vue.ls.set(USER_NAME, userInfo.username, 7 * 24 * 60 * 60 * 1000) + Vue.ls.set(USER_INFO, userInfo, 7 * 24 * 60 * 60 * 1000) + commit('SET_TOKEN', result.token) + commit('SET_INFO', userInfo) + commit('SET_NAME', { username: userInfo.username,realname: userInfo.realname, welcome: welcome() }) + commit('SET_AVATAR', userInfo.avatar) + resolve(response) + }else{ + reject(response) + } + }).catch(error => { + reject(error) + }) + }) + }, + saveTenant({ commit }, id){ + Vue.ls.set(TENANT_ID, id, 7 * 24 * 60 * 60 * 1000) + commit('SET_TENANT', id) + } + + + } +} + +export default user diff --git a/src/store/mutation-types.js b/src/store/mutation-types.js new file mode 100644 index 0000000..7b1972f --- /dev/null +++ b/src/store/mutation-types.js @@ -0,0 +1,27 @@ +export const ACCESS_TOKEN = 'Income-Management-Access-Token' +export const SIDEBAR_TYPE = 'INCOME_MANAGEMENT_SIDEBAR_TYPE' +export const DEFAULT_THEME = 'INCOME_MANAGEMENT_DEFAULT_THEME' +export const DEFAULT_LAYOUT_MODE = 'INCOME_MANAGEMENT_DEFAULT_LAYOUT_MODE' +export const DEFAULT_COLOR = 'INCOME_MANAGEMENT_DEFAULT_COLOR' +export const DEFAULT_COLOR_WEAK = 'INCOME_MANAGEMENT_DEFAULT_COLOR_WEAK' +export const DEFAULT_FIXED_HEADER = 'INCOME_MANAGEMENT_DEFAULT_FIXED_HEADER' +export const DEFAULT_FIXED_SIDEMENU= 'INCOME_MANAGEMENT_DEFAULT_FIXED_SIDEMENU' +export const DEFAULT_FIXED_HEADER_HIDDEN = 'INCOME_MANAGEMENT_DEFAULT_FIXED_HEADER_HIDDEN' +export const DEFAULT_CONTENT_WIDTH_TYPE = 'INCOME_MANAGEMENT_DEFAULT_CONTENT_WIDTH_TYPE' +export const DEFAULT_MULTI_PAGE = 'INCOME_MANAGEMENT_DEFAULT_MULTI_PAGE' +export const USER_NAME = 'Income_Management_Login_Username' +export const USER_INFO = 'Income_Management_Login_Userinfo' +export const USER_AUTH = 'INCOME_MANAGEMENT_LOGIN_USER_BUTTON_AUTH' +export const SYS_BUTTON_AUTH = 'INCOME_MANAGEMENT_SYS_BUTTON_AUTH' +export const ENCRYPTED_STRING = 'INCOME_MANAGEMENT_ENCRYPTED_STRING' +export const ENHANCE_PRE = 'Income_Management_enhance_' +export const UI_CACHE_DB_DICT_DATA = 'INCOME_MANAGEMENT_UI_CACHE_DB_DICT_DATA' +export const INDEX_MAIN_PAGE_PATH = '/dashboard/analysis' +export const TENANT_ID = 'INCOME_MANAGEMENT_TENANT_ID' +export const ONL_AUTH_FIELDS = 'INCOME_MANAGEMENT_ONL_AUTH_FIELDS' +//路由缓存问题,关闭了tab页时再打开就不刷新 #842 +export const CACHE_INCLUDED_ROUTES = 'INCOME_MANAGEMENT_CACHE_INCLUDED_ROUTES' +export const CONTENT_WIDTH_TYPE = { + Fluid: 'Fluid', + Fixed: 'Fixed' +} \ No newline at end of file diff --git a/src/utils/JEditableTableUtil.js b/src/utils/JEditableTableUtil.js new file mode 100644 index 0000000..1eba7eb --- /dev/null +++ b/src/utils/JEditableTableUtil.js @@ -0,0 +1,122 @@ +import { getVmParentByName } from '@/utils/util' + +const FormTypes = { + normal: 'normal', + input: 'input', + inputNumber: 'inputNumber', + checkbox: 'checkbox', + select: 'select', + date: 'date', + datetime: 'datetime', + upload: 'upload', + file: 'file', + image: 'image', + popup:'popup', + list_multi:'list_multi', + sel_search:'sel_search', + radio:'radio', + checkbox_meta:'checkbox_meta', + input_pop:'input_pop', + sel_depart: 'sel_depart', + sel_user: 'sel_user', + slot: 'slot', + hidden: 'hidden' +} +const VALIDATE_NO_PASSED = Symbol() +export { FormTypes, VALIDATE_NO_PASSED } + +/** + * 获取指定的 $refs 对象 + * 有时候可能会遇到组件未挂载到页面中的情况,导致无法获取 $refs 中的某个对象 + * 这个方法可以等待挂载完成之后再返回 $refs 的对象,避免报错 + * @author sunjianlei + **/ +export function getRefPromise(vm, name) { + return new Promise((resolve) => { + (function next() { + let ref = vm.$refs[name] + if (ref) { + resolve(ref) + } else { + setTimeout(() => { + next() + }, 10) + } + })() + }) +} + +/** + * 一次性验证主表单和所有的次表单 + * @param form 主表单 form 对象 + * @param cases 接收一个数组,每项都是一个JEditableTable实例 + * @returns {Promise} + * @author sunjianlei + */ +export function validateFormAndTables(form, cases) { + + if (!(form && typeof form.validateFields === 'function')) { + throw `form 参数需要的是一个form对象,而传入的却是${typeof form}` + } + + let options = {} + return new Promise((resolve, reject) => { + // 验证主表表单 + form.validateFields((err, values) => { + err ? reject({ error: VALIDATE_NO_PASSED }) : resolve(values) + }) + }).then(values => { + Object.assign(options, { formValue: values }) + // 验证所有子表的表单 + return validateTables(cases) + }).then(all => { + Object.assign(options, { tablesValue: all }) + return Promise.resolve(options) + }).catch(error => { + return Promise.reject(error) + }) + +} + +/** + * 验证并获取一个或多个表格的所有值 + * @param cases 接收一个数组,每项都是一个JEditableTable实例 + * @param deleteTempId 是否删除临时ID,如果设为true,行编辑就不返回新增行的ID,ID需要后台生成 + * @author sunjianlei + */ +export function validateTables(cases, deleteTempId) { + if (!(cases instanceof Array)) { + throw `'validateTables'函数的'cases'参数需要的是一个数组,而传入的却是${typeof cases}` + } + return new Promise((resolve, reject) => { + let tables = [] + let index = 0 + if(!cases || cases.length === 0){ + resolve() + } + (function next() { + let vm = cases[index] + vm.getAll(true, deleteTempId).then(all => { + tables[index] = all + // 判断校验是否全部完成,完成返回成功,否则继续进行下一步校验 + if (++index === cases.length) { + resolve(tables) + } else ( + next() + ) + }, error => { + // 出现未验证通过的表单,不再进行下一步校验,直接返回失败并跳转到该表格 + if (error === VALIDATE_NO_PASSED) { + // 尝试获取tabKey,如果在ATab组件内即可获取 + let paneKey + let tabPane = getVmParentByName(vm, 'ATabPane') + if (tabPane) { + paneKey = tabPane.$vnode.key + } + reject({error: VALIDATE_NO_PASSED, index, paneKey}) + } + reject(error) + }) + })() + }) +} \ No newline at end of file diff --git a/src/utils/authFilter.js b/src/utils/authFilter.js new file mode 100644 index 0000000..0c732a7 --- /dev/null +++ b/src/utils/authFilter.js @@ -0,0 +1,277 @@ +import { USER_AUTH,SYS_BUTTON_AUTH } from '@/store/mutation-types' + +export function disabledAuthFilter(code,formData) { + if(nodeDisabledAuth(code,formData)){ + return true + }else{ + return globalDisabledAuth(code) + } +} + +function nodeDisabledAuth(code,formData){ + // console.log("页面权限禁用--NODE--开始"); + let permissionList = [] + try { + // console.log("页面权限禁用--NODE--开始",formData); + if (formData) { + let bpmList = formData.permissionList + permissionList = bpmList.filter(item=>item.type=='2') + // for (let bpm of bpmList) { + // if(bpm.type == '2') { + // permissionList.push(bpm); + // } + // } + }else{ + return false + } + } catch (e) { + //console.log("页面权限异常----", e); + } + if (permissionList.length == 0) { + return false + } + // + // console.log("流程节点页面权限禁用--NODE--开始"); + let permissions = [] + for (let item of permissionList) { + if(item.type == '2') { + permissions.push(item.action) + } + } + //console.log("页面权限----"+code); + if (!permissions.includes(code)) { + return false + }else{ + for (let item2 of permissionList) { + if(code === item2.action){ + // console.log("流程节点页面权限禁用--NODE--生效"); + return true + } + } + } + return false +} + +function globalDisabledAuth(code){ + // console.log("全局页面禁用权限--Global--开始"); + + let permissionList = [] + let allPermissionList = [] + + //let authList = Vue.ls.get(USER_AUTH); + let authList = JSON.parse(sessionStorage.getItem(USER_AUTH) || '[]') + for (let auth of authList) { + if(auth.type == '2') { + permissionList.push(auth) + } + } + //console.log("页面禁用权限--Global--",sessionStorage.getItem(SYS_BUTTON_AUTH)); + let allAuthList = JSON.parse(sessionStorage.getItem(SYS_BUTTON_AUTH) || '[]') + for (let gauth of allAuthList) { + if(gauth.type == '2') { + allPermissionList.push(gauth) + } + } + //设置全局配置是否有命中 + let gFlag = false//禁用命中 + let invalidFlag = false//无效命中 + if(allPermissionList != null && allPermissionList != '' && allPermissionList != undefined && allPermissionList.length > 0){ + for (let itemG of allPermissionList) { + if(code === itemG.action){ + if(itemG.status == '0'){ + invalidFlag = true + break + }else{ + gFlag = true + break + } + } + } + } + if(invalidFlag){ + return false + } + if (permissionList === null || permissionList === '' || permissionList === undefined||permissionList.length<=0) { + return gFlag + } + let permissions = [] + for (let item of permissionList) { + if(item.type == '2') { + permissions.push(item.action) + } + } + //console.log("页面禁用权限----"+code); + if (!permissions.includes(code)) { + return gFlag + }else{ + for (let item2 of permissionList) { + if(code === item2.action){ + // console.log("全局页面权限解除禁用--Global--生效"); + gFlag = false + } + } + return gFlag + } +} + + + +export function colAuthFilter(columns,pre) { + let authList = getNoAuthCols(pre) + const cols = columns.filter(item => { + if (hasColoum(item,authList)) { + return true + } + return false + }) + return cols +} + +/** + * 【子表行编辑】实现两个功能: + * 1、隐藏JEditableTable无权限的字段 + * 2、禁用JEditableTable无权限的字段 + * @param columns + * @param pre + * @returns {*} + */ +export function colAuthFilterJEditableTable(columns,pre) { + let authList = getAllShowAndDisabledAuthCols(pre) + const cols = columns.filter(item => { + let oneAuth = authList.find(auth => { + return auth.action === pre + item.key + }) + if(!oneAuth){ + return true + } + + //代码严谨处理,防止一个授权标识,配置多次 + if(oneAuth instanceof Array){ + oneAuth = oneAuth[0] + } + + //禁用逻辑 + if (oneAuth.type == '2' && !oneAuth.isAuth) { + item['disabled'] = true + return true + } + //隐藏逻辑逻辑 + if (oneAuth.type == '1' && !oneAuth.isAuth) { + return false + } + return true + }) + return cols +} + + +function hasColoum(item,authList){ + if (authList.includes(item.dataIndex)) { + return false + } + return true +} + +//权限无效时不做控制,有效时控制,只能控制 显示不显示 +//根据授权码前缀获取未授权的列信息 +export function getNoAuthCols(pre){ + if(!pre || pre.length==0){ + return [] + } + let permissionList = [] + let allPermissionList = [] + + //let authList = Vue.ls.get(USER_AUTH); + let authList = JSON.parse(sessionStorage.getItem(USER_AUTH) || '[]') + for (let auth of authList) { + //显示策略,有效状态 + if(auth.type == '1'&&startWith(auth.action,pre)) { + permissionList.push(substrPre(auth.action,pre)) + } + } + //console.log("页面禁用权限--Global--",sessionStorage.getItem(SYS_BUTTON_AUTH)); + let allAuthList = JSON.parse(sessionStorage.getItem(SYS_BUTTON_AUTH) || '[]') + for (let gauth of allAuthList) { + //显示策略,有效状态 + if(gauth.type == '1'&&gauth.status == '1'&&startWith(gauth.action,pre)) { + allPermissionList.push(substrPre(gauth.action,pre)) + } + } + const cols = allPermissionList.filter(item => { + if (permissionList.includes(item)) { + return false + } + return true + }) + return cols +} + +/** + * 将Online的行编辑按钮权限,添加至本地存储 + */ +export function addOnlineBtAuth2Storage(pre, authList){ + let allAuthList = JSON.parse(sessionStorage.getItem(SYS_BUTTON_AUTH) || '[]') + let newAuthList = allAuthList.filter(item=>{ + if(!item.action){ + return true + } + return item.action.indexOf(pre)<0 + }) + if(authList && authList.length>0){ + for(let item of authList){ + newAuthList.push({ + action: pre+item, + type:1, + status:1 + }) + } + let temp = JSON.parse(sessionStorage.getItem(USER_AUTH) || '[]') + let newArr = temp.filter(item=>{ + if(!item.action){ + return true + } + return item.action.indexOf(pre)<0 || authList.indexOf(item.action.replace(pre, ''))<0 + }) + sessionStorage.setItem(USER_AUTH, JSON.stringify(newArr)) + } + sessionStorage.setItem(SYS_BUTTON_AUTH, JSON.stringify(newAuthList)) +} + + + +/** + * 额外增加方法【用于行编辑组件】 + * date: 2020-04-05 + * author: scott + * @param pre + * @returns {*[]} + */ +function getAllShowAndDisabledAuthCols(pre){ + //用户拥有的权限 + let userAuthList = JSON.parse(sessionStorage.getItem(USER_AUTH) || '[]') + //全部权限配置 + let allAuthList = JSON.parse(sessionStorage.getItem(SYS_BUTTON_AUTH) || '[]') + + let newAllAuthList = allAuthList.map(function (item, index) { + let hasAuthArray = userAuthList.filter(u => u.action===item.action ) + if (hasAuthArray && hasAuthArray.length>0) { + item['isAuth'] = true + } + return item + }) + + return newAllAuthList +} + +function startWith(str,pre) { + if (pre == null || pre == '' || str==null|| str==''|| str.length == 0 || pre.length > str.length) + return false + if (str.substr(0, pre.length) == pre) + return true + else + return false +} + +function substrPre(str,pre) { + return str.substr(pre.length) +} diff --git a/src/utils/browser.js b/src/utils/browser.js new file mode 100644 index 0000000..97f232e --- /dev/null +++ b/src/utils/browser.js @@ -0,0 +1,38 @@ +//判断是否IE<11浏览器 +export function isIE() { + return navigator.userAgent.indexOf('compatible') > -1 && navigator.userAgent.indexOf('MSIE') > -1 + +} + +export function isIE11() { + return navigator.userAgent.indexOf('Trident') > -1 && navigator.userAgent.indexOf('rv:11.0') > -1 +} + +//判断是否IE的Edge浏览器 +export function isEdge() { + return navigator.userAgent.indexOf('Edge') > -1 && !isIE() +} + +export function getIEVersion() { + let userAgent = navigator.userAgent //取得浏览器的userAgent字符串 + let isIE = isIE() + let isIE11 = isIE11() + let isEdge = isEdge() + + if (isIE) { + let reIE = new RegExp('MSIE (\\d+\\.\\d+);') + reIE.test(userAgent) + let fIEVersion = parseFloat(RegExp['$1']) + if (fIEVersion === 7 || fIEVersion === 8 || fIEVersion === 9 || fIEVersion === 10) { + return fIEVersion + } else { + return 6//IE版本<7 + } + } else if (isEdge) { + return 'edge' + } else if (isIE11) { + return 11 + } else { + return -1 + } +} \ No newline at end of file diff --git a/src/utils/device.js b/src/utils/device.js new file mode 100644 index 0000000..6bf15fc --- /dev/null +++ b/src/utils/device.js @@ -0,0 +1,23 @@ +import enquireJs from 'enquire.js' + +const enquireScreen = function (call) { + // tablet + const handler = { + match: function () { + call && call(0) + }, + unmatch: function () { + call && call(-1) + } + } + // mobile + const handler2 = { + match: () => { + call && call(1) + } + } + enquireJs.register('screen and (max-width: 1087.99px)', handler) + enquireJs.register('screen and (max-width: 767.99px)', handler2) +} + +export default enquireScreen \ No newline at end of file diff --git a/src/utils/encryption/aesEncrypt.js b/src/utils/encryption/aesEncrypt.js new file mode 100644 index 0000000..789d06c --- /dev/null +++ b/src/utils/encryption/aesEncrypt.js @@ -0,0 +1,6003 @@ +import { getAction } from '@/api/manage' +import { ENCRYPTED_STRING } from '@/store/mutation-types' +import Vue from 'vue' + +/** + * 获取加密字符串,并对结果进行缓存 + */ +export function getEncryptedString() { + return getAction('/sys/getEncryptedString',{}).then((res)=>{ + let encryptedString = {} + encryptedString.key = res.result.key + encryptedString.iv = res.result.iv + Vue.ls.set(ENCRYPTED_STRING, encryptedString, 7 * 24 * 60 * 60 * 1000) + return encryptedString + }) +} + +/** + * AES加密 :字符串 key iv 返回base64 + */ +export function encryption(word, keyStr, ivStr) { + + let key = CryptoJS.enc.Utf8.parse(keyStr) + let iv = CryptoJS.enc.Utf8.parse(ivStr) + + let srcs = CryptoJS.enc.Utf8.parse(word) + var encrypted = CryptoJS.AES.encrypt(srcs, key, { + iv: iv, + mode: CryptoJS.mode.CBC, + padding: CryptoJS.pad.ZeroPadding + }) + // console.log("-=-=-=-", encrypted.ciphertext) + return CryptoJS.enc.Base64.stringify(encrypted.ciphertext) + +} + + +var CryptoJS = CryptoJS || (function (Math, undefined) { + /* + * Local polyfil of Object.create + */ + var create = Object.create || (function () { + 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 (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 () { + 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 () { + }, + + /** + * Copies properties into this object. + * + * @param {Object} properties The properties to mix in. + * + * @example + * + * MyType.mixIn({ + * field: 'value' + * }); + */ + mixIn: function (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 () { + 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 (words, sigBytes) { + words = this.words = words || [] + + if (sigBytes != undefined) { + 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 (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 (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 i = 0; i < thatSigBytes; i += 4) { + thisWords[(thisSigBytes + i) >>> 2] = thatWords[i >>> 2] + } + } + this.sigBytes += thatSigBytes + + // Chainable + return this + }, + + /** + * Removes insignificant bits. + * + * @example + * + * wordArray.clamp(); + */ + clamp: function () { + // Shortcuts + var words = this.words + var sigBytes = this.sigBytes + + // Clamp + words[sigBytes >>> 2] &= 0xffffffff << (32 - (sigBytes % 4) * 8) + words.length = Math.ceil(sigBytes / 4) + }, + + /** + * Creates a copy of this word array. + * + * @return {WordArray} The clone. + * + * @example + * + * var clone = wordArray.clone(); + */ + clone: function () { + 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 (nBytes) { + var words = [] + + var r = (function (m_w) { + var m_w = m_w + var m_z = 0x3ade68b1 + var mask = 0xffffffff + + return function () { + m_z = (0x9069 * (m_z & 0xFFFF) + (m_z >> 0x10)) & mask + m_w = (0x4650 * (m_w & 0xFFFF) + (m_w >> 0x10)) & mask + var result = ((m_z << 0x10) + m_w) & mask + result /= 0x100000000 + result += 0.5 + return result * (Math.random() > .5 ? 1 : -1) + } + }) + + for (var i = 0, rcache; i < nBytes; i += 4) { + var _r = r((rcache || Math.random()) * 0x100000000) + + rcache = _r() * 0x3ade67b7 + words.push((_r() * 0x100000000) | 0) + } + + 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 (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 (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 (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 (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 (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 (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 () { + // 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 (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 (doFlush) { + // 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 = Math.ceil(nBlocksReady) + } else { + // Round down to include only full blocks, + // less the number of blocks that must remain in the buffer + nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0) + } + + // Count words ready + var nWordsReady = nBlocksReady * blockSize + + // Count bytes ready + var nBytesReady = Math.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 + var 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 () { + 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) + */ + var Hasher = 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 (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 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 (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 (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 (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 (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)); + + +(function () { + // Shortcuts + var C = CryptoJS + var C_lib = C.lib + var WordArray = C_lib.WordArray + var C_enc = C.enc + + /** + * Base64 encoding strategy. + */ + var Base64 = 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 (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 (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+/=' + } + + 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) + words[nBytes >>> 2] |= (bits1 | bits2) << (24 - (nBytes % 4) * 8) + nBytes++ + } + } + return WordArray.create(words, nBytes) + } +}()); + + +(function (Math) { + // 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] = (Math.abs(Math.sin(i + 1)) * 0x100000000) | 0 + } + }()) + + /** + * MD5 hash algorithm. + */ + var MD5 = C_algo.MD5 = Hasher.extend({ + _doReset: function () { + this._hash = new WordArray.init([ + 0x67452301, 0xefcdab89, + 0x98badcfe, 0x10325476 + ]) + }, + + _doProcessBlock: function (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 () { + // 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 = Math.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 () { + var clone = Hasher.clone.call(this) + clone._hash = this._hash.clone() + + return clone + } + }) + + 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 + } + + 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 + } + + function HH(a, b, c, d, x, s, t) { + var n = a + (b ^ c ^ d) + x + t + return ((n << s) | (n >>> (32 - s))) + b + } + + function II(a, b, c, d, x, s, t) { + var n = a + (c ^ (b | ~d)) + x + t + return ((n << s) | (n >>> (32 - s))) + b + } + + /** + * 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)); + + +(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 () { + this._hash = new WordArray.init([ + 0x67452301, 0xefcdab89, + 0x98badcfe, 0x10325476, + 0xc3d2e1f0 + ]) + }, + + _doProcessBlock: function (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 + } else /* if (i < 80) */ { + 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 () { + // 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 () { + 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) +}()); + + +(function (Math) { + // 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 () { + function isPrime(n) { + var sqrtN = Math.sqrt(n) + for (var factor = 2; factor <= sqrtN; factor++) { + if (!(n % factor)) { + return false + } + } + + return true + } + + 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(Math.pow(n, 1 / 2)) + } + K[nPrime] = getFractionalBits(Math.pow(n, 1 / 3)) + + nPrime++ + } + + n++ + } + }()) + + // Reusable object + var W = [] + + /** + * SHA-256 hash algorithm. + */ + var SHA256 = C_algo.SHA256 = Hasher.extend({ + _doReset: function () { + this._hash = new WordArray.init(H.slice(0)) + }, + + _doProcessBlock: function (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 () { + // 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 () { + 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)); + + +(function () { + // Shortcuts + var C = CryptoJS + var C_lib = C.lib + var WordArray = C_lib.WordArray + var C_enc = C.enc + + /** + * UTF-16 BE encoding strategy. + */ + var Utf16BE = 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 (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 (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 (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 (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) + } + } + + function swapEndian(word) { + return ((word << 8) & 0xff00ff00) | ((word >>> 8) & 0x00ff00ff) + } +}()); + + +(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 (typedArray) { + // Convert buffers to uint8 + if (typedArray instanceof ArrayBuffer) { + typedArray = new Uint8Array(typedArray) + } + + // Convert other array views to uint8 + if ( + typedArray instanceof Int8Array || + (typeof Uint8ClampedArray !== 'undefined' && typedArray instanceof Uint8ClampedArray) || + typedArray instanceof Int16Array || + typedArray instanceof Uint16Array || + typedArray instanceof Int32Array || + typedArray instanceof Uint32Array || + typedArray instanceof Float32Array || + typedArray instanceof Float64Array + ) { + typedArray = new Uint8Array(typedArray.buffer, typedArray.byteOffset, typedArray.byteLength) + } + + // Handle Uint8Array + if (typedArray instanceof 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 +}()); + + +/** @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 (Math) { + // 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 () { + this._hash = WordArray.create([0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476, 0xC3D2E1F0]) + }, + + _doProcessBlock: function (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 {// if (i<80) { + 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 {// if (i<80) { + 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 () { + // 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 () { + var clone = Hasher.clone.call(this) + clone._hash = this._hash.clone() + + return clone + } + }) + + + function f1(x, y, z) { + return ((x) ^ (y) ^ (z)) + + } + + function f2(x, y, z) { + return (((x)&(y)) | ((~x)&(z))) + } + + function f3(x, y, z) { + return (((x) | (~(y))) ^ (z)) + } + + function f4(x, y, z) { + return (((x) & (z)) | ((y)&(~(z)))) + } + + function f5(x, y, z) { + return ((x) ^ ((y) |(~(z)))) + + } + + function rotl(x,n) { + return (x<>>(32-n)) + } + + + /** + * 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) +}(Math)); + + +(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. + */ + var HMAC = 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 (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 () { + // 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 (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 (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 + } + }) +}()); + + +(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 (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 (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) + } +}()); + + +(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 (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 (password, salt) { + // 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) + } + var 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) + } +}()); + + +(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 () { + this._hash = new WordArray.init([ + 0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939, + 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4 + ]) + }, + + _doFinalize: function () { + 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) +}()); + + +(function (undefined) { + // 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. + */ + var X64Word = 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 (high, low) { + this.high = high + this.low = low + } + + /** + * Bitwise NOTs this word. + * + * @return {X64Word} A new x64-Word object after negating. + * + * @example + * + * var negated = x64Word.not(); + */ + // not: function () { + // var high = ~this.high; + // var low = ~this.low; + + // return X64Word.create(high, low); + // }, + + /** + * Bitwise ANDs this word with the passed word. + * + * @param {X64Word} word The x64-Word to AND with this word. + * + * @return {X64Word} A new x64-Word object after ANDing. + * + * @example + * + * var anded = x64Word.and(anotherX64Word); + */ + // and: function (word) { + // var high = this.high & word.high; + // var low = this.low & word.low; + + // return X64Word.create(high, low); + // }, + + /** + * Bitwise ORs this word with the passed word. + * + * @param {X64Word} word The x64-Word to OR with this word. + * + * @return {X64Word} A new x64-Word object after ORing. + * + * @example + * + * var ored = x64Word.or(anotherX64Word); + */ + // or: function (word) { + // var high = this.high | word.high; + // var low = this.low | word.low; + + // return X64Word.create(high, low); + // }, + + /** + * Bitwise XORs this word with the passed word. + * + * @param {X64Word} word The x64-Word to XOR with this word. + * + * @return {X64Word} A new x64-Word object after XORing. + * + * @example + * + * var xored = x64Word.xor(anotherX64Word); + */ + // xor: function (word) { + // var high = this.high ^ word.high; + // var low = this.low ^ word.low; + + // return X64Word.create(high, low); + // }, + + /** + * Shifts this word n bits to the left. + * + * @param {number} n The number of bits to shift. + * + * @return {X64Word} A new x64-Word object after shifting. + * + * @example + * + * var shifted = x64Word.shiftL(25); + */ + // shiftL: function (n) { + // if (n < 32) { + // var high = (this.high << n) | (this.low >>> (32 - n)); + // var low = this.low << n; + // } else { + // var high = this.low << (n - 32); + // var low = 0; + // } + + // return X64Word.create(high, low); + // }, + + /** + * Shifts this word n bits to the right. + * + * @param {number} n The number of bits to shift. + * + * @return {X64Word} A new x64-Word object after shifting. + * + * @example + * + * var shifted = x64Word.shiftR(7); + */ + // shiftR: function (n) { + // if (n < 32) { + // var low = (this.low >>> n) | (this.high << (32 - n)); + // var high = this.high >>> n; + // } else { + // var low = this.high >>> (n - 32); + // var high = 0; + // } + + // return X64Word.create(high, low); + // }, + + /** + * Rotates this word n bits to the left. + * + * @param {number} n The number of bits to rotate. + * + * @return {X64Word} A new x64-Word object after rotating. + * + * @example + * + * var rotated = x64Word.rotL(25); + */ + // rotL: function (n) { + // return this.shiftL(n).or(this.shiftR(64 - n)); + // }, + + /** + * Rotates this word n bits to the right. + * + * @param {number} n The number of bits to rotate. + * + * @return {X64Word} A new x64-Word object after rotating. + * + * @example + * + * var rotated = x64Word.rotR(7); + */ + // rotR: function (n) { + // return this.shiftR(n).or(this.shiftL(64 - n)); + // }, + + /** + * Adds this word with the passed word. + * + * @param {X64Word} word The x64-Word to add with this word. + * + * @return {X64Word} A new x64-Word object after adding. + * + * @example + * + * var added = x64Word.add(anotherX64Word); + */ + // add: function (word) { + // var low = (this.low + word.low) | 0; + // var carry = (low >>> 0) < (this.low >>> 0) ? 1 : 0; + // var high = (this.high + word.high + carry) | 0; + + // return X64Word.create(high, 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. + */ + var X64WordArray = 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 (words, sigBytes) { + words = this.words = words || [] + + if (sigBytes != undefined) { + 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 () { + // 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 () { + 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 + } + }) +}()); + + +(function (Math) { + // 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 + } else /* if (bitPosition >= 32) */ { + 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 () { + 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 (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++) { + // Shortcuts + var lane = state[laneIndex] + var laneMsw = lane.high + var laneLsw = lane.low + var rhoOffset = RHO_OFFSETS[laneIndex] + + // Rotate lanes + if (rhoOffset < 32) { + var tMsw = (laneMsw << rhoOffset) | (laneLsw >>> (32 - rhoOffset)) + var tLsw = (laneLsw << rhoOffset) | (laneMsw >>> (32 - rhoOffset)) + } else /* if (rhoOffset >= 32) */ { + var tMsw = (laneLsw << (rhoOffset - 32)) | (laneMsw >>> (64 - rhoOffset)) + var 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 () { + // Shortcuts + var data = this._data + var dataWords = data.words + var nBitsTotal = this._nDataBytes * 8 + var nBitsLeft = data.sigBytes * 8 + var blockSizeBits = this.blockSize * 32 + + // Add padding + dataWords[nBitsLeft >>> 5] |= 0x1 << (24 - nBitsLeft % 32) + dataWords[((Math.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 () { + 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)); + + +(function () { + // 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 + + function X64Word_create() { + return X64Word.create.apply(X64Word, arguments) + } + + // 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 () { + 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 (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++) { + // Shortcut + var Wi = W[i] + + // Extend message + if (i < 16) { + var Wih = Wi.high = M[offset + i * 2] | 0 + var 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 + + var Wil = gamma0l + Wi7l + var Wih = gamma0h + Wi7h + ((Wil >>> 0) < (gamma0l >>> 0) ? 1 : 0) + var Wil = Wil + gamma1l + var Wih = Wih + gamma1h + ((Wil >>> 0) < (gamma1l >>> 0) ? 1 : 0) + var Wil = Wil + Wi16l + var 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 () { + // 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 () { + 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) +}()); + + +(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 () { + 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 () { + 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) +}()) + + +/** + * Cipher core components. + */ +CryptoJS.lib.Cipher || (function (undefined) { + // 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 + var Utf8 = 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 (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 (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 (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 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 (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 (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 () { + function selectCipherStrategy(key) { + if (typeof key == 'string') { + return PasswordBasedCipher + } else { + return SerializableCipher + } + } + + return function (cipher) { + return { + encrypt: function (message, key, cfg) { + return selectCipherStrategy(key).encrypt(cipher, message, key, cfg) + }, + + decrypt: function (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) + */ + var StreamCipher = C_lib.StreamCipher = Cipher.extend({ + _doFinalize: function () { + // 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 (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 (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 (cipher, iv) { + this._cipher = cipher + this._iv = iv + } + }) + + /** + * Cipher Block Chaining mode. + */ + var CBC = C_mode.CBC = (function () { + /** + * 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 (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 (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 + } + }) + + function xorBlock(words, offset, blockSize) { + // Shortcut + var iv = this._iv + + // Choose mixing block + if (iv) { + var block = iv + + // Remove IV for subsequent blocks + this._iv = undefined + } else { + var block = this._prevBlock + } + + // XOR blocks + for (var i = 0; i < blockSize; i++) { + words[offset + i] ^= block[i] + } + } + + 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 (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 (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) + */ + var BlockCipher = 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 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) { + var modeCreator = mode.createEncryptor + } else /* if (this._xformMode == this._DEC_XFORM_MODE) */ { + var 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 (words, offset) { + this._mode.processBlock(words, offset) + }, + + _doFinalize: function () { + // 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 + var finalProcessedBlocks = this._process(!!'flush') + } else /* if (this._xformMode == this._DEC_XFORM_MODE) */ { + // Process final blocks + var 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 (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 (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 (cipherParams) { + // Shortcuts + var ciphertext = cipherParams.ciphertext + var salt = cipherParams.salt + + // Format + if (salt) { + var wordArray = WordArray.create([0x53616c74, 0x65645f5f]).concat(salt).concat(ciphertext) + } else { + var 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 (openSSLStr) { + // Parse base64 + var ciphertext = Base64.parse(openSSLStr) + + // Shortcut + var ciphertextWords = ciphertext.words + + // Test for salt + if (ciphertextWords[0] == 0x53616c74 && ciphertextWords[1] == 0x65645f5f) { + // Extract salt + var 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 (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 (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 (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 (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 (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 (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 + } + }) +}()) + + +/** + * Cipher Feedback block mode. + */ +CryptoJS.mode.CFB = (function () { + var CFB = CryptoJS.lib.BlockCipherMode.extend() + + CFB.Encryptor = CFB.extend({ + processBlock: function (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 (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 + } + }) + + function generateKeystreamAndEncrypt(words, offset, blockSize, cipher) { + // Shortcut + var iv = this._iv + + // Generate keystream + if (iv) { + var keystream = iv.slice(0) + + // Remove IV for subsequent blocks + this._iv = undefined + } else { + var keystream = this._prevBlock + } + cipher.encryptBlock(keystream, 0) + + // Encrypt + for (var i = 0; i < blockSize; i++) { + words[offset + i] ^= keystream[i] + } + } + + return CFB +}()) + + +/** + * Electronic Codebook block mode. + */ +CryptoJS.mode.ECB = (function () { + var ECB = CryptoJS.lib.BlockCipherMode.extend() + + ECB.Encryptor = ECB.extend({ + processBlock: function (words, offset) { + this._cipher.encryptBlock(words, offset) + } + }) + + ECB.Decryptor = ECB.extend({ + processBlock: function (words, offset) { + this._cipher.decryptBlock(words, offset) + } + }) + + return ECB +}()) + + +/** + * ANSI X.923 padding strategy. + */ +CryptoJS.pad.AnsiX923 = { + pad: function (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 (data) { + // Get number of padding bytes from last byte + var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff + + // Remove padding + data.sigBytes -= nPaddingBytes + } +} + + +/** + * ISO 10126 padding strategy. + */ +CryptoJS.pad.Iso10126 = { + pad: function (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 (data) { + // Get number of padding bytes from last byte + var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff + + // Remove padding + data.sigBytes -= nPaddingBytes + } +} + + +/** + * ISO/IEC 9797-1 Padding Method 2. + */ +CryptoJS.pad.Iso97971 = { + pad: function (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 (data) { + // Remove zero padding + CryptoJS.pad.ZeroPadding.unpad(data) + + // Remove one more byte -- the 0x80 byte + data.sigBytes-- + } +} + + +/** + * Output Feedback block mode. + */ +CryptoJS.mode.OFB = (function () { + var OFB = CryptoJS.lib.BlockCipherMode.extend() + + var Encryptor = OFB.Encryptor = OFB.extend({ + processBlock: function (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 +}()) + + +/** + * A noop padding strategy. + */ +CryptoJS.pad.NoPadding = { + pad: function () { + }, + + unpad: function () { + } +}; + + +(function (undefined) { + // 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 + + var HexFormatter = 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 (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 (input) { + var ciphertext = Hex.parse(input) + return CipherParams.create({ ciphertext: ciphertext }) + } + } +}()); + + +(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 () { + // 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 { + var 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 (M, offset) { + this._doCryptBlock(M, offset, this._keySchedule, SUB_MIX_0, SUB_MIX_1, SUB_MIX_2, SUB_MIX_3, SBOX) + }, + + decryptBlock: function (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 (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) +}()); + + +(function () { + // 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 () { + // 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 (M, offset) { + this._doCryptBlock(M, offset, this._subKeys) + }, + + decryptBlock: function (M, offset) { + this._doCryptBlock(M, offset, this._invSubKeys) + }, + + _doCryptBlock: function (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 + }) + + // 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 + } + + function exchangeRL(offset, mask) { + var t = ((this._rBlock >>> offset) ^ this._lBlock) & mask + this._lBlock ^= t + this._rBlock ^= t << offset + } + + /** + * 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 () { + // Shortcuts + var key = this._key + var keyWords = key.words + + // Create DES instances + this._des1 = DES.createEncryptor(WordArray.create(keyWords.slice(0, 2))) + this._des2 = DES.createEncryptor(WordArray.create(keyWords.slice(2, 4))) + this._des3 = DES.createEncryptor(WordArray.create(keyWords.slice(4, 6))) + }, + + encryptBlock: function (M, offset) { + this._des1.encryptBlock(M, offset) + this._des2.decryptBlock(M, offset) + this._des3.encryptBlock(M, offset) + }, + + decryptBlock: function (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) +}()); + + +(function () { + // 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 () { + // 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 (M, offset) { + M[offset] ^= generateKeystreamWord.call(this) + }, + + keySize: 256/32, + + ivSize: 0 + }) + + 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 + } + + /** + * 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 () { + 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) +}()) + + +/** @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 CTRGladman = CryptoJS.lib.BlockCipherMode.extend() + + function incWord(word) + { + if (((word >> 24) & 0xff) === 0xff) { //overflow + var b1 = (word >> 16)&0xff + var b2 = (word >> 8)&0xff + var b3 = word & 0xff + + if (b1 === 0xff) // overflow b1 + { + 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 + } + + 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 Encryptor = CTRGladman.Encryptor = CTRGladman.extend({ + processBlock: function (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 +}()); + + + + +(function () { + // 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 () { + // 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 (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 + }) + + 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 + } + + /** + * 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) +}()) + + +/** + * Counter block mode. + */ +CryptoJS.mode.CTR = (function () { + var CTR = CryptoJS.lib.BlockCipherMode.extend() + + var Encryptor = CTR.Encryptor = CTR.extend({ + processBlock: function (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 +}()); + + +(function () { + // 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 () { + // 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 (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 + }) + + 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 + } + + /** + * 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) +}()) + + +/** + * Zero padding strategy. + */ +CryptoJS.pad.ZeroPadding = { + pad: function (data, blockSize) { + // Shortcut + var blockSizeBytes = blockSize * 4 + + // Pad + data.clamp() + data.sigBytes += blockSizeBytes - ((data.sigBytes % blockSizeBytes) || blockSizeBytes) + }, + + unpad: function (data) { + // Shortcut + var dataWords = data.words + + // Unpad + var i = data.sigBytes - 1 + while (!((dataWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff)) { + i-- + } + data.sigBytes = i + 1 + } +} + diff --git a/src/utils/filter.js b/src/utils/filter.js new file mode 100644 index 0000000..50571ff --- /dev/null +++ b/src/utils/filter.js @@ -0,0 +1,29 @@ +import Vue from 'vue' +import * as dayjs from 'dayjs' + +Vue.filter('NumberFormat', function (value) { + if (!value) { + return '0' + } + let intPartFormat = value.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,') //将整数部分逢三一断 + return intPartFormat +}) + +Vue.filter('dayjs', function(dataStr, pattern = 'YYYY-MM-DD HH:mm:ss') { + return dayjs(dataStr).format(pattern) +}) + +Vue.filter('moment', function(dataStr, pattern = 'YYYY-MM-DD HH:mm:ss') { + return dayjs(dataStr).format(pattern) +}) + +/** 字符串超长截取省略号显示 */ +Vue.filter('ellipsis', function (value, vlength = 25) { + if(!value){ + return '' + } + if (value.length > vlength) { + return value.slice(0, vlength) + '...' + } + return value +}) \ No newline at end of file diff --git a/src/utils/formatMoney.js b/src/utils/formatMoney.js new file mode 100644 index 0000000..f4d396d --- /dev/null +++ b/src/utils/formatMoney.js @@ -0,0 +1,67 @@ +export function formatMoney(money) { + if(money === 0) return '0.00' + if(money === '') return '' + var num = (money || 0).toString(), + re = /\d{3}$/, + result = '' + var point = '' + // 存在小数点 分开整数和小数点 + if (num.indexOf('.') !== -1) { + point = num.substring(num.indexOf('.')) + num = parseInt(num) + }else { + // point = '.00' + } + + // 循环添加逗号 + while (re.test(num)) { + result = RegExp.lastMatch + result + if (num !== RegExp.lastMatch) { + result = ',' + result + num = RegExp.leftContext + } else { + num = '' + break + } + } + + if (num) { + result = num + result + } + + // 去掉负数符号后面的逗号 + function _(result) { + return result.replace('-,', '-') + } + + // 如果第一位是逗号 去掉逗号 + function __(result) { + if (result[0] === ',') { + result = result.substring(1) + } + return result + } + + // 第一位是 小数点开头的 前面加上 0 + function ___(result) { + if (result[0] === '.') { + result = '0' + result + } + return result + } + return ___(__(_(result) + point)) +} + + +/* 将数字 转换成 3个数字一组,并且中间用,分隔得方式 */ +export function handleCostNumber(value) { + if(!value){ + return 0.00 + } + //toFixed()方法可以把Number四舍五入为指定位数的数字 + let str=parseFloat(value).toFixed(2) + //"?="表示查询的要满足的条件, + return str&&str.toString().replace(/(\d)(?=(\d{3})+\.)/g,function ($0,$1) { + return $1+',' + }) +} diff --git a/src/utils/hasPermission.js b/src/utils/hasPermission.js new file mode 100644 index 0000000..dbfa20f --- /dev/null +++ b/src/utils/hasPermission.js @@ -0,0 +1,217 @@ +import { USER_AUTH,SYS_BUTTON_AUTH } from '@/store/mutation-types' + +const hasPermission = { + install (Vue, options) { + Vue.directive('has', { + inserted: (el, binding, vnode)=>{ + // console.log('binding=====',binding) + if(binding.arg){ + binding.value = binding.arg + // console.log( binding.value ,' binding.value =================') + } + // console.log("页面权限控制----"); + //console.time() + //节点权限处理,如果命中则不进行全局权限处理 + if(!filterNodePermission(el, binding, vnode)){ + filterGlobalPermission(el, binding, vnode) + } + } + }) + } +} + +/** + * 流程节点权限控制 + */ +export function filterNodePermission(el, binding, vnode) { + let permissionList = [] + try { + let obj = vnode.context.$props.formData + if (obj) { + let bpmList = obj.permissionList + for (let bpm of bpmList) { + if(bpm.type != '2') { + permissionList.push(bpm) + } + } + }else{ + return false + } + } catch (e) { + //console.log("页面权限异常----", e); + } + if (permissionList === null || permissionList === '' || permissionList === undefined||permissionList.length<=0) { + //el.parentNode.removeChild(el) + return false + } + + console.log('流程节点页面权限--NODE--') + let permissions = [] + for (let item of permissionList) { + if(item.type != '2') { + permissions.push(item.action) + } + } + //console.log("页面权限----"+permissions); + //console.log("页面权限----"+binding.value); + if (!permissions.includes(binding.value)) { + //el.parentNode.removeChild(el) + return false + }else{ + for (let item2 of permissionList) { + if(binding.value === item2.action){ + return true + } + } + } + return false +} + +/** + * 全局权限控制 + */ +export function filterGlobalPermission(el, binding, vnode) { + console.log('全局页面权限--Global--') + let permissionList = [] + let allPermissionList = [] + + //let authList = Vue.ls.get(USER_AUTH); + let authList = JSON.parse(sessionStorage.getItem(USER_AUTH) || '[]') + for (let auth of authList) { + if(auth.type != '2') { + permissionList.push(auth) + } + } + //console.log("页面权限--Global--",sessionStorage.getItem(SYS_BUTTON_AUTH)); + let allAuthList = JSON.parse(sessionStorage.getItem(SYS_BUTTON_AUTH) || '[]') + for (let gauth of allAuthList) { + if(gauth.type != '2') { + allPermissionList.push(gauth) + } + } + //设置全局配置是否有命中 + let invalidFlag = false//无效命中 + if(allPermissionList != null && allPermissionList != '' && allPermissionList != undefined && allPermissionList.length > 0){ + for (let itemG of allPermissionList) { + if(binding.value === itemG.action){ + if(itemG.status == '0'){ + invalidFlag = true + break + } + } + } + } + if(invalidFlag){ + return + } + if (permissionList === null || permissionList === '' || permissionList === undefined||permissionList.length<=0) { + el.parentNode.removeChild(el) + return + } + let permissions = [] + for (let item of permissionList) { + //权限策略1显示2禁用 + if(item.type != '2'){ + //update--begin--autor:wangshuai-----date:20200729------for:按钮权限,授权标识的提示信息是多个用逗号分隔逻辑处理 gitee#I1OUGU------- + if(item.action){ + if(item.action.includes(',')){ + let split = item.action.split(',') + for (let i = 0; i 0){ + for (let itemG of allPermissionList) { + if(bindingValue === itemG.action){ + if(itemG.status == '0'){ + invalidFlag = true + break + } + } + } + } + if(invalidFlag){ + return true + } + if (permissionList === null || permissionList === '' || permissionList === undefined||permissionList.length<=0) { + return false + } + let permissions = [] + for (let item of permissionList) { + //权限策略1显示2禁用 + if(item.type != '2'){ + //update--begin--autor:wangshuai-----date:20200729------for:按钮权限,授权标识的提示信息是多个用逗号分隔逻辑处理 gitee#I1OUGU------- + if(item.action){ + if(item.action.includes(',')){ + let split = item.action.split(',') + for (let i = 0; i { + if (route.path !== routePath) { + if (route.children && route.children.length) { + return menuPermission(route.children, routePath) + } + return false + } + return true + }) + return accessedRouters +} + +export default hasPermission + diff --git a/src/utils/menuList.js b/src/utils/menuList.js new file mode 100644 index 0000000..4eae423 --- /dev/null +++ b/src/utils/menuList.js @@ -0,0 +1,4975 @@ + +export const menuList = { +// const menuList = { + 'success': true, + 'message': '查询成功', + 'code': 200, + 'result': { + 'allAuth': [ + { + 'action': 'user:add', + 'describe': '添加按钮', + 'type': '1', + 'status': '1' + }, + { + 'action': 'user:edit', + 'describe': '用户编辑', + 'type': '1', + 'status': '1' + }, + { + 'action': 'user:sex', + 'describe': '表单性别可见', + 'type': '1', + 'status': '1' + }, + { + 'action': 'user:form:birthday', + 'describe': '禁用生日字段', + 'type': '2', + 'status': '1' + }, + { + 'action': 'sys:role:add', + 'describe': '角色添加', + 'type': '1', + 'status': '1' + }, + { + 'action': 'sys:role:edit', + 'describe': '角色编辑', + 'type': '1', + 'status': '1' + }, + { + 'action': 'sys:role:del', + 'describe': '角色删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'sys:depart:add', + 'describe': '组织机构添加', + 'type': '1', + 'status': '1' + }, + { + 'action': 'sys:depart:edit', + 'describe': '组织机构编辑', + 'type': '1', + 'status': '1' + }, + { + 'action': 'sys:depart:del', + 'describe': '组织机构删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'sys:dict:add', + 'describe': '数据字典添加', + 'type': '1', + 'status': '1' + }, + { + 'action': 'sys:dict:edit', + 'describe': '数据字典编辑', + 'type': '1', + 'status': '1' + }, + { + 'action': 'sys:dict:del', + 'describe': '数据字典删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'sys:user:del', + 'describe': '用户删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'sys:user:import', + 'describe': '用户导入', + 'type': '1', + 'status': '1' + }, + { + 'action': 'sys:user:export', + 'describe': '用户导出', + 'type': '1', + 'status': '1' + }, + { + 'action': 'sys:role:import', + 'describe': '角色导入', + 'type': '1', + 'status': '1' + }, + { + 'action': 'sys:role:export', + 'describe': '角色导出', + 'type': '1', + 'status': '1' + }, + { + 'action': 'sys:depart:export', + 'describe': '组织机构导出', + 'type': '1', + 'status': '1' + }, + { + 'action': 'sys:dict:import', + 'describe': '数据字典导入', + 'type': '1', + 'status': '1' + }, + { + 'action': 'sys:dict:export', + 'describe': '数据字典导出', + 'type': '1', + 'status': '1' + }, + { + 'action': 'sys:user:resetPassword', + 'describe': '重置密码', + 'type': '1', + 'status': null + }, + { + 'action': 'company:add', + 'describe': '新增', + 'type': '1', + 'status': '1' + }, + { + 'action': 'company:edit', + 'describe': '编辑', + 'type': '1', + 'status': '1' + }, + { + 'action': 'company:confirm', + 'describe': '确认', + 'type': '1', + 'status': '1' + }, + { + 'action': 'company:delete', + 'describe': '删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'company:import', + 'describe': '导入', + 'type': '1', + 'status': '1' + }, + { + 'action': 'company:export', + 'describe': '导出', + 'type': '1', + 'status': '1' + }, + { + 'action': 'company:downTemplate', + 'describe': '下载模板', + 'type': '1', + 'status': '1' + }, + { + 'action': 'company:batchDel', + 'describe': '批量删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'company:search', + 'describe': '查询', + 'type': '1', + 'status': '1' + }, + { + 'action': 'contact:search', + 'describe': '查询', + 'type': '1', + 'status': '1' + }, + { + 'action': 'contact:add', + 'describe': '新增', + 'type': '1', + 'status': '1' + }, + { + 'action': 'contact:import', + 'describe': '导入', + 'type': '1', + 'status': '1' + }, + { + 'action': 'contact:export', + 'describe': '导出', + 'type': '1', + 'status': '1' + }, + { + 'action': 'contact:downTemplate', + 'describe': '下载模板', + 'type': '1', + 'status': '1' + }, + { + 'action': 'contact:batchDel', + 'describe': '批量删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'contact:edit', + 'describe': '编辑', + 'type': '1', + 'status': '1' + }, + { + 'action': 'contact:delete', + 'describe': '删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'generalProject:search', + 'describe': '查询', + 'type': '1', + 'status': '1' + }, + { + 'action': 'generalProject:add', + 'describe': '新增', + 'type': '1', + 'status': '1' + }, + { + 'action': 'generalProject:batchDel', + 'describe': '批量删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'generalProject:edit', + 'describe': '编辑', + 'type': '1', + 'status': '1' + }, + { + 'action': 'workingGroupProject:search', + 'describe': '查询', + 'type': '1', + 'status': '1' + }, + { + 'action': 'workingGroupProject:add', + 'describe': '新增', + 'type': '1', + 'status': '1' + }, + { + 'action': 'workingGroupProject:batchDel', + 'describe': '批量删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'workingGroupProject:fileMaintenance', + 'describe': '其他分发资料', + 'type': '1', + 'status': '1' + }, + { + 'action': 'workingGroupProject:meetingMaintenance', + 'describe': '工作组会议', + 'type': '1', + 'status': '1' + }, + { + 'action': 'workingGroupProject:copy', + 'describe': '复制', + 'type': '1', + 'status': '1' + }, + { + 'action': 'workingGroupProject:edit', + 'describe': '基本信息维护', + 'type': '1', + 'status': '1' + }, + { + 'action': 'workingGroupProject:delete', + 'describe': '删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'fileMaintenance:search', + 'describe': '查询', + 'type': '1', + 'status': '1' + }, + { + 'action': 'fileMaintenance:add', + 'describe': '上传', + 'type': '1', + 'status': '1' + }, + { + 'action': 'fileMaintenance:batchDel', + 'describe': '批量删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'fileMaintenance:batchDistribute', + 'describe': '批量分发', + 'type': '1', + 'status': '1' + }, + { + 'action': 'fileMaintenance:export', + 'describe': '导出', + 'type': '1', + 'status': '1' + }, + { + 'action': 'fileMaintenance:distribute', + 'describe': '分发', + 'type': '1', + 'status': '1' + }, + { + 'action': 'fileMaintenance:delete', + 'describe': '删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'workGroupMeeting:search', + 'describe': '查询', + 'type': '1', + 'status': '1' + }, + { + 'action': 'workGroupMeeting:add', + 'describe': '新增', + 'type': '1', + 'status': '1' + }, + { + 'action': 'workGroupMeeting:export', + 'describe': '导出', + 'type': '1', + 'status': '1' + }, + { + 'action': 'workGroupMeeting:batchDel', + 'describe': '批量删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'workGroupMeeting:publish', + 'describe': '发布', + 'type': '1', + 'status': '1' + }, + { + 'action': 'workGroupMeeting:upload', + 'describe': '上传文件', + 'type': '1', + 'status': '1' + }, + { + 'action': 'workGroupMeeting:edit', + 'describe': '编辑', + 'type': '1', + 'status': '1' + }, + { + 'action': 'workGroupMeeting:delete', + 'describe': '删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'internalMeeting:search', + 'describe': '查询', + 'type': '1', + 'status': '1' + }, + { + 'action': 'internalMeeting:add', + 'describe': '新增', + 'type': '1', + 'status': '1' + }, + { + 'action': 'internalMeeting:export', + 'describe': '导出', + 'type': '1', + 'status': '1' + }, + { + 'action': 'internalMeeting:batchDel', + 'describe': '批量删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'internalMeeting:upload', + 'describe': '上传文件', + 'type': '1', + 'status': '1' + }, + { + 'action': 'internalMeeting:edit', + 'describe': '编辑', + 'type': '1', + 'status': '1' + }, + { + 'action': 'internalMeeting:delete', + 'describe': '删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'internalMeetingSituation:search', + 'describe': '查询', + 'type': '1', + 'status': '1' + }, + { + 'action': 'internalMeetingSituation:add', + 'describe': '添加参会人', + 'type': '1', + 'status': '1' + }, + { + 'action': 'internalMeetingSituation:export', + 'describe': '导出', + 'type': '1', + 'status': '1' + }, + { + 'action': 'internalMeetingSituation:batchDel', + 'describe': '批量删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'internalMeetingSituation:batchSetDocker', + 'describe': '设置对接人', + 'type': '1', + 'status': '1' + }, + { + 'action': 'internalMeetingSituation:edit', + 'describe': '编辑', + 'type': '1', + 'status': '1' + }, + { + 'action': 'internalMeetingSituation:delete', + 'describe': '删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'internalMeetingSituation:auditCredentials', + 'describe': '审核凭证', + 'type': '1', + 'status': '1' + }, + { + 'action': 'internalMeetingSituation:auditSignUp', + 'describe': '审核报名信息', + 'type': '1', + 'status': '1' + }, + { + 'action': 'otherMeeting:search', + 'describe': '查询', + 'type': '1', + 'status': '1' + }, + { + 'action': 'otherMeeting:add', + 'describe': '新增', + 'type': '1', + 'status': '1' + }, + { + 'action': 'otherMeeting:export', + 'describe': '导出', + 'type': '1', + 'status': '1' + }, + { + 'action': 'otherMeeting:batchDel', + 'describe': '批量删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'otherMeeting:upload', + 'describe': '上传文件', + 'type': '1', + 'status': '1' + }, + { + 'action': 'otherMeeting:edit', + 'describe': '编辑', + 'type': '1', + 'status': '1' + }, + { + 'action': 'otherMeeting:delete', + 'describe': '删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'workingGroupMember:search', + 'describe': '查询', + 'type': '1', + 'status': '1' + }, + { + 'action': 'workingGroupMember:add', + 'describe': '新增', + 'type': '1', + 'status': '1' + }, + { + 'action': 'workingGroupMember:import', + 'describe': '导入', + 'type': '1', + 'status': '1' + }, + { + 'action': 'workingGroupMember:export', + 'describe': '导出', + 'type': '1', + 'status': '1' + }, + { + 'action': 'workingGroupMember:downTemplate', + 'describe': '下载模板', + 'type': '1', + 'status': '1' + }, + { + 'action': 'workingGroupMember:batchDel', + 'describe': '批量删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'workingGroupMember:setChargeNotic', + 'describe': '设置收费通知', + 'type': '1', + 'status': '1' + }, + { + 'action': 'workingGroupMember:setDunningReminder', + 'describe': '催款提醒', + 'type': '1', + 'status': '1' + }, + { + 'action': 'workingGroupMember:edit', + 'describe': '编辑', + 'type': '1', + 'status': '1' + }, + { + 'action': 'workingGroupMember:delete', + 'describe': '删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'committee:search', + 'describe': '查询', + 'type': '1', + 'status': '1' + }, + { + 'action': 'committee:add', + 'describe': '新增分标委', + 'type': '1', + 'status': '1' + }, + { + 'action': 'committee:export', + 'describe': '导出', + 'type': '1', + 'status': '1' + }, + { + 'action': 'committee:batchDel', + 'describe': '批量删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'committee:fileMaintenance', + 'describe': '其他分发资料', + 'type': '1', + 'status': '1' + }, + { + 'action': 'committee:meetingMaintenance', + 'describe': '分标委会议', + 'type': '1', + 'status': '1' + }, + { + 'action': 'committee:addMember', + 'describe': '新增委员', + 'type': '1', + 'status': '1' + }, + { + 'action': 'committee:edit', + 'describe': '基本信息维护', + 'type': '1', + 'status': '1' + }, + { + 'action': 'committee:delete', + 'describe': '删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'committee:member:delete', + 'describe': '委员删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'committeeMeeting:search', + 'describe': '查询', + 'type': '1', + 'status': '1' + }, + { + 'action': 'committeeMeeting:add', + 'describe': '新增', + 'type': '1', + 'status': '1' + }, + { + 'action': 'committeeMeeting:export', + 'describe': '导出', + 'type': '1', + 'status': '1' + }, + { + 'action': 'committeeMeeting:batchDel', + 'describe': '批量删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'committeeMeeting:publish', + 'describe': '发布', + 'type': '1', + 'status': '1' + }, + { + 'action': 'committeeMeeting:upload', + 'describe': '上传文件', + 'type': '1', + 'status': '1' + }, + { + 'action': 'committeeMeeting:edit', + 'describe': '编辑', + 'type': '1', + 'status': '1' + }, + { + 'action': 'committeeMeeting:delete', + 'describe': '删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'revenueContract:search', + 'describe': '查询', + 'type': '1', + 'status': '1' + }, + { + 'action': 'revenueContract:add', + 'describe': '新增', + 'type': '1', + 'status': '1' + }, + { + 'action': 'revenueContract:export', + 'describe': '导出', + 'type': '1', + 'status': '1' + }, + { + 'action': 'revenueContract:batchDel', + 'describe': '批量删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'revenueContract:edit', + 'describe': '编辑', + 'type': '1', + 'status': '1' + }, + { + 'action': 'revenueContract:archive', + 'describe': '存档', + 'type': '1', + 'status': '1' + }, + { + 'action': 'revenueContract:delete', + 'describe': '删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'revenueContractModule:chooseProject', + 'describe': '选择项目', + 'type': '1', + 'status': '1' + }, + { + 'action': 'revenueContractModule:unlinkProject', + 'describe': '取消关联', + 'type': '1', + 'status': '1' + }, + { + 'action': 'expenditureContract:search', + 'describe': '查询', + 'type': '1', + 'status': '1' + }, + { + 'action': 'expenditureContract:add', + 'describe': '新增', + 'type': '1', + 'status': '1' + }, + { + 'action': 'expenditureContract:import', + 'describe': '导入', + 'type': '1', + 'status': '1' + }, + { + 'action': 'expenditureContract:export', + 'describe': '导出', + 'type': '1', + 'status': '1' + }, + { + 'action': 'expenditureContract:downTemplate', + 'describe': '下载模板', + 'type': '1', + 'status': '1' + }, + { + 'action': 'expenditureContract:batchDel', + 'describe': '批量删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'expenditureContract:edit', + 'describe': '编辑', + 'type': '1', + 'status': '1' + }, + { + 'action': 'expenditureContract:delete', + 'describe': '删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'packProject:search', + 'describe': '查询', + 'type': '1', + 'status': '1' + }, + { + 'action': 'packProject:pack', + 'describe': '打包', + 'type': '1', + 'status': '1' + }, + { + 'action': 'packProject:batchCancelPack', + 'describe': '批量取消打包', + 'type': '1', + 'status': '1' + }, + { + 'action': 'packProject:batchIncomePayment', + 'describe': '批量来款', + 'type': '1', + 'status': '1' + }, + { + 'action': 'packProject:batchInvoicing', + 'describe': '批量开票', + 'type': '1', + 'status': '1' + }, + { + 'action': 'packProject:export', + 'describe': '导出', + 'type': '1', + 'status': '1' + }, + { + 'action': 'packProject:incomePayment', + 'describe': '来款', + 'type': '1', + 'status': '1' + }, + { + 'action': 'packProject:cancelPack', + 'describe': '取消打包', + 'type': '1', + 'status': '1' + }, + { + 'action': 'packProject:invoicing', + 'describe': '开票', + 'type': '1', + 'status': '1' + }, + { + 'action': 'packCompany:search', + 'describe': '查询', + 'type': '1', + 'status': '1' + }, + { + 'action': 'packCompany:add', + 'describe': '新增', + 'type': '1', + 'status': '1' + }, + { + 'action': 'packCompany:export', + 'describe': '导出', + 'type': '1', + 'status': '1' + }, + { + 'action': 'packCompany:batchDel', + 'describe': '批量删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'packCompany:edit', + 'describe': '编辑', + 'type': '1', + 'status': '1' + }, + { + 'action': 'packCompany:delete', + 'describe': '删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'incomePaymentAndInvoiving:search', + 'describe': '查询', + 'type': '1', + 'status': '1' + }, + { + 'action': 'incomePaymentAndInvoiving:export', + 'describe': '导出', + 'type': '1', + 'status': '1' + }, + { + 'action': 'incomePaymentAndInvoiving:batchInvoicing', + 'describe': '合并开票', + 'type': '1', + 'status': '1' + }, + { + 'action': 'incomePaymentAndInvoiving:incomePayment', + 'describe': '来款', + 'type': '1', + 'status': '1' + }, + { + 'action': 'incomePaymentAndInvoiving:invoicing', + 'describe': '开票', + 'type': '1', + 'status': '1' + }, + { + 'action': 'billMail:search', + 'describe': '查询', + 'type': '1', + 'status': '1' + }, + { + 'action': 'billMail:export', + 'describe': '导出', + 'type': '1', + 'status': '1' + }, + { + 'action': 'billMail:mail', + 'describe': '邮寄', + 'type': '1', + 'status': '1' + }, + { + 'action': 'billMail:edit', + 'describe': '修改', + 'type': '1', + 'status': '1' + }, + { + 'action': 'billMail:checkLogistics', + 'describe': '查看物流', + 'type': '1', + 'status': '1' + }, + { + 'action': 'contractMail:search', + 'describe': '查询', + 'type': '1', + 'status': '1' + }, + { + 'action': 'contractMail:export', + 'describe': '导出', + 'type': '1', + 'status': '1' + }, + { + 'action': 'contractMail:mail', + 'describe': '邮寄', + 'type': '1', + 'status': '1' + }, + { + 'action': 'contractMail:edit', + 'describe': '修改', + 'type': '1', + 'status': '1' + }, + { + 'action': 'contractMail:checkLogistics', + 'describe': '查看物流', + 'type': '1', + 'status': '1' + }, + { + 'action': 'wholeInstituteStatistics:search', + 'describe': '查询', + 'type': '1', + 'status': '1' + }, + { + 'action': 'wholeInstituteStatistics:export', + 'describe': '导出', + 'type': '1', + 'status': '1' + }, + { + 'action': 'companyPaymentStatistics:search', + 'describe': '查询', + 'type': '1', + 'status': '1' + }, + { + 'action': 'companyPaymentStatistics:export', + 'describe': '导出', + 'type': '1', + 'status': '1' + }, + { + 'action': 'companyPaymentStatistics:detail', + 'describe': '详情', + 'type': '1', + 'status': '1' + }, + { + 'action': 'workingGroupPaymentStatistics:search', + 'describe': '查询', + 'type': '1', + 'status': '1' + }, + { + 'action': 'workingGroupPaymentStatistics:export', + 'describe': '导出', + 'type': '1', + 'status': '1' + }, + { + 'action': 'workingGroupPaymentStatistics:detail', + 'describe': '详情', + 'type': '1', + 'status': '1' + }, + { + 'action': 'individualPaymentStatistics:search', + 'describe': '查询', + 'type': '1', + 'status': '1' + }, + { + 'action': 'individualPaymentStatistics:export', + 'describe': '导出', + 'type': '1', + 'status': '1' + }, + { + 'action': 'projectPaymentStatistics:search', + 'describe': '查询', + 'type': '1', + 'status': '1' + }, + { + 'action': 'projectPaymentStatistics:export', + 'describe': '导出', + 'type': '1', + 'status': '1' + }, + { + 'action': 'user:search', + 'describe': '查询', + 'type': '1', + 'status': '1' + }, + { + 'action': 'user:downTemplate', + 'describe': '下载模板', + 'type': '1', + 'status': '1' + }, + { + 'action': 'user:batchDel', + 'describe': '批量删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'user:enable', + 'describe': '启用禁用', + 'type': '1', + 'status': '1' + }, + { + 'action': 'user:resetPassword', + 'describe': '重置密码', + 'type': '1', + 'status': '1' + }, + { + 'action': 'sys:role:search', + 'describe': '查询', + 'type': '1', + 'status': '1' + }, + { + 'action': 'sys:role:addLowerLevel', + 'describe': '添加下级', + 'type': '1', + 'status': '1' + }, + { + 'action': 'sys:role:batchDel', + 'describe': '批量删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'sys:role:perssion', + 'describe': '授权', + 'type': '1', + 'status': '1' + }, + { + 'action': 'sys:depart:addLowerLevel', + 'describe': '添加下级', + 'type': '1', + 'status': '1' + }, + { + 'action': 'sys:depart:batchDel', + 'describe': '批量删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'sys:dict:search', + 'describe': '查询', + 'type': '1', + 'status': '1' + }, + { + 'action': 'sys:dict:refleshCache', + 'describe': '刷新缓存', + 'type': '1', + 'status': '1' + }, + { + 'action': 'sys:dict:deleteList', + 'describe': '回收站', + 'type': '1', + 'status': '1' + }, + { + 'action': 'sys:dict:editDictItem', + 'describe': '字典配置', + 'type': '1', + 'status': '1' + }, + { + 'action': 'sys:log:search', + 'describe': '查询', + 'type': '1', + 'status': '1' + }, + { + 'action': 'dic:item:add', + 'describe': '字典元素新增', + 'type': '1', + 'status': '1' + }, + { + 'action': 'dic:item:delete', + 'describe': '字典元素删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'dic:item:edit', + 'describe': '字典元素编辑', + 'type': '1', + 'status': '1' + }, + { + 'action': 'generalProject:delete', + 'describe': '删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'messge:list', + 'describe': '查询', + 'type': '1', + 'status': '1' + }, + { + 'action': 'message:show', + 'describe': '查看', + 'type': '1', + 'status': '1' + }, + { + 'action': 'message:read', + 'describe': '已读', + 'type': '1', + 'status': '1' + }, + { + 'action': 'template:list', + 'describe': '查询', + 'type': '1', + 'status': '1' + }, + { + 'action': 'template:edit', + 'describe': '编辑', + 'type': '1', + 'status': '1' + }, + { + 'action': 'sys:log:batchDelete', + 'describe': '批量删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'memberProject:search', + 'describe': '查询', + 'type': '1', + 'status': '1' + }, + { + 'action': 'memberProject:add', + 'describe': '新增', + 'type': '1', + 'status': '1' + }, + { + 'action': 'memberProject:export', + 'describe': '导出', + 'type': '1', + 'status': '1' + }, + { + 'action': 'memberProject:batchDel', + 'describe': '批量删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'memberProject:edit', + 'describe': '编辑', + 'type': '1', + 'status': '1' + }, + { + 'action': 'memberProject:delete', + 'describe': '删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'stardsMember:search', + 'describe': '查询', + 'type': '1', + 'status': '1' + }, + { + 'action': 'safeguardStardsMember:search', + 'describe': '查询', + 'type': '1', + 'status': '1' + }, + { + 'action': 'safeguardStardsMember:export', + 'describe': '导出', + 'type': '1', + 'status': '1' + }, + { + 'action': 'stardsMember:meetingMaintenance', + 'describe': '会议维护', + 'type': '1', + 'status': '1' + }, + { + 'action': 'safeguardMember:search', + 'describe': '查询', + 'type': '1', + 'status': '1' + }, + { + 'action': 'safeguardMember:add', + 'describe': '新增', + 'type': '1', + 'status': '1' + }, + { + 'action': 'safeguardMember:import', + 'describe': '导入', + 'type': '1', + 'status': '1' + }, + { + 'action': 'safeguardMember:downTemplate', + 'describe': '下载模板', + 'type': '1', + 'status': '1' + }, + { + 'action': 'safeguardMember:export', + 'describe': '导出', + 'type': '1', + 'status': '1' + }, + { + 'action': 'safeguardMember:batchDel', + 'describe': '批量删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'safeguardMember:edit', + 'describe': '编辑', + 'type': '1', + 'status': '1' + }, + { + 'action': 'safeguardMember:delete', + 'describe': '删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'otherMeetingSituation:search', + 'describe': '查询', + 'type': '1', + 'status': '1' + }, + { + 'action': 'otherMeetingSituation:add', + 'describe': '添加参会人', + 'type': '1', + 'status': '1' + }, + { + 'action': 'otherMeetingSituation:export', + 'describe': '导出', + 'type': '1', + 'status': '1' + }, + { + 'action': 'otherMeetingSituation:batchDel', + 'describe': '批量删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'otherMeetingSituation:edit', + 'describe': '编辑', + 'type': '1', + 'status': '1' + }, + { + 'action': 'otherMeetingSituation:delete', + 'describe': '删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'otherMeetingSituation:auditCredentials', + 'describe': '审核凭证', + 'type': '1', + 'status': '1' + }, + { + 'action': 'otherMeetingSituation:auditSignUp', + 'describe': '审核报名信息', + 'type': '1', + 'status': '1' + }, + { + 'action': 'committeeMeetingSituation:search', + 'describe': '查询', + 'type': '1', + 'status': '1' + }, + { + 'action': 'committeeMeetingSituation:add', + 'describe': '添加参会人', + 'type': '1', + 'status': '1' + }, + { + 'action': 'committeeMeetingSituation:export', + 'describe': '导出', + 'type': '1', + 'status': '1' + }, + { + 'action': 'committeeMeetingSituation:batchDel', + 'describe': '批量删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'committeeMeetingSituation:edit', + 'describe': '编辑', + 'type': '1', + 'status': '1' + }, + { + 'action': 'committeeMeetingSituation:delete', + 'describe': '删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'committeeMeetingSituation:auditCredentials', + 'describe': '审核凭证', + 'type': '1', + 'status': '1' + }, + { + 'action': 'committeeMeetingSituation:auditSignUp', + 'describe': '审核报名信息', + 'type': '1', + 'status': '1' + }, + { + 'action': 'workGroupMeetingSituation:search', + 'describe': '查询', + 'type': '1', + 'status': '1' + }, + { + 'action': 'workGroupMeetingSituation:add', + 'describe': '添加参会人', + 'type': '1', + 'status': '1' + }, + { + 'action': 'workGroupMeetingSituation:export', + 'describe': '导出', + 'type': '1', + 'status': '1' + }, + { + 'action': 'workGroupMeetingSituation:batchDel', + 'describe': '批量删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'workGroupMeetingSituation:edit', + 'describe': '编辑', + 'type': '1', + 'status': '1' + }, + { + 'action': 'workGroupMeetingSituation:delete', + 'describe': '删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'workGroupMeetingSituation:auditSignUp', + 'describe': '审核报名信息', + 'type': '1', + 'status': '1' + }, + { + 'action': 'standardsMeeting:search', + 'describe': '查询', + 'type': '1', + 'status': '1' + }, + { + 'action': 'standardsMeeting:add', + 'describe': '新增', + 'type': '1', + 'status': '1' + }, + { + 'action': 'standardsMeeting:export', + 'describe': '导出', + 'type': '1', + 'status': '1' + }, + { + 'action': 'standardsMeeting:batchDel', + 'describe': '批量删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'standardsMeeting:upload', + 'describe': '上传文件', + 'type': '1', + 'status': '1' + }, + { + 'action': 'standardsMeeting:edit', + 'describe': '编辑', + 'type': '1', + 'status': '1' + }, + { + 'action': 'standardsMeeting:delete', + 'describe': '删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'standardsMeetingSituation:search', + 'describe': '查询', + 'type': '1', + 'status': '1' + }, + { + 'action': 'standardsMeetingSituation:add', + 'describe': '添加参会人', + 'type': '1', + 'status': '1' + }, + { + 'action': 'standardsMeetingSituation:export', + 'describe': '导出', + 'type': '1', + 'status': '1' + }, + { + 'action': 'standardsMeetingSituation:batchDel', + 'describe': '批量删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'standardsMeetingSituation:edit', + 'describe': '编辑', + 'type': '1', + 'status': '1' + }, + { + 'action': 'standardsMeetingSituation:delete', + 'describe': '删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'standardsMeetingSituation:auditCredentials', + 'describe': '审核凭证', + 'type': '1', + 'status': '1' + }, + { + 'action': 'standardsMeetingSituation:auditSignUp', + 'describe': '审核报名信息', + 'type': '1', + 'status': '1' + }, + { + 'action': 'workGroupMeetingSituation:auditCredentials', + 'describe': '审核凭证', + 'type': '1', + 'status': '1' + }, + { + 'action': 'template:add', + 'describe': '新增', + 'type': '1', + 'status': '1' + }, + { + 'action': 'template:delete', + 'describe': '删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'system:dept:save', + 'describe': '保存', + 'type': '1', + 'status': '1' + }, + { + 'action': 'expenditureContract:aduit', + 'describe': '审核', + 'type': '1', + 'status': '1' + }, + { + 'action': 'expenditureContract:archive', + 'describe': '存档', + 'type': '1', + 'status': '1' + }, + { + 'action': 'meetingSituation:add', + 'describe': '添加会议参会人', + 'type': '0', + 'status': null + }, + { + 'action': 'council:search', + 'describe': '查询', + 'type': '1', + 'status': '1' + }, + { + 'action': 'council:add', + 'describe': '新增理事会', + 'type': '1', + 'status': '1' + }, + { + 'action': 'council:export', + 'describe': '导出', + 'type': '1', + 'status': '1' + }, + { + 'action': 'council:batchDel', + 'describe': '批量删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'council:fileMaintenance', + 'describe': '其他分发资料', + 'type': '1', + 'status': '1' + }, + { + 'action': 'council:meetingMaintenance', + 'describe': '理事会会议', + 'type': '1', + 'status': '1' + }, + { + 'action': 'council:addMember', + 'describe': '新增成员', + 'type': '1', + 'status': '1' + }, + { + 'action': 'council:edit', + 'describe': '基本信息维护', + 'type': '1', + 'status': '1' + }, + { + 'action': 'council:delete', + 'describe': '删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'council:member:delete', + 'describe': '成员删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'otherMeeting:uploadCouncil', + 'describe': '上传会议纪要', + 'type': '1', + 'status': '1' + }, + { + 'action': 'councilMeeting:publish', + 'describe': '发布提醒', + 'type': '1', + 'status': '1' + }, + { + 'action': 'internalMeeting:uploadCouncil', + 'describe': '上传会议纪要', + 'type': '1', + 'status': '1' + }, + { + 'action': 'workGroupMeeting:uploadCouncil', + 'describe': '上传会议纪要', + 'type': '1', + 'status': '1' + }, + { + 'action': 'committeeMeeting:uploadCouncil', + 'describe': '上传会议纪要', + 'type': '1', + 'status': '1' + }, + { + 'action': 'standardsMeeting:uploadCouncil', + 'describe': '上传会议纪要', + 'type': '1', + 'status': '1' + }, + { + 'action': 'committee:underStudyProject', + 'describe': '在研项目', + 'type': '1', + 'status': '1' + }, + { + 'action': 'workingGroupProject:underStudyProject', + 'describe': '在研项目', + 'type': '1', + 'status': '1' + }, + { + 'action': 'workingGroup:underStudy:search', + 'describe': '查询', + 'type': '1', + 'status': '1' + }, + { + 'action': 'workingGroup:underStudy:add', + 'describe': '新增', + 'type': '1', + 'status': '1' + }, + { + 'action': 'workingGroup:underStudy:batchDel', + 'describe': '批量删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'workingGroup:underStudy:edit', + 'describe': '编辑', + 'type': '1', + 'status': '1' + }, + { + 'action': 'workingGroup:underStudy:delete', + 'describe': '删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'councilMeeting:search', + 'describe': '查询', + 'type': '1', + 'status': '1' + }, + { + 'action': 'councilMeeting:add', + 'describe': '新增', + 'type': '1', + 'status': '1' + }, + { + 'action': 'councilMeeting:export', + 'describe': '导出', + 'type': '1', + 'status': '1' + }, + { + 'action': 'councilMeeting:batchDel', + 'describe': '批量删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'councilMeeting:upload', + 'describe': '上传文件', + 'type': '1', + 'status': '1' + }, + { + 'action': 'councilMeeting:edit', + 'describe': '编辑', + 'type': '1', + 'status': '1' + }, + { + 'action': 'councilMeeting:delete', + 'describe': '删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'councilMeeting:uploadCouncil', + 'describe': '上传会议纪要', + 'type': '1', + 'status': '1' + }, + { + 'action': 'revenueContract:cancellation', + 'describe': '作废', + 'type': '1', + 'status': '1' + }, + { + 'action': 'expenditureContract:cancellation', + 'describe': '作废', + 'type': '1', + 'status': '1' + }, + { + 'action': 'councilMeetingSituation:search', + 'describe': '查询', + 'type': '1', + 'status': '1' + }, + { + 'action': 'councilMeetingSituation:add', + 'describe': '添加参会人', + 'type': '1', + 'status': '1' + }, + { + 'action': 'councilMeetingSituation:export', + 'describe': '导出', + 'type': '1', + 'status': '1' + }, + { + 'action': 'councilMeetingSituation:batchDel', + 'describe': '批量删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'councilMeetingSituation:edit', + 'describe': '编辑', + 'type': '1', + 'status': '1' + }, + { + 'action': 'councilMeetingSituation:delete', + 'describe': '删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'councilMeetingSituation:auditCredentials', + 'describe': '审核凭证', + 'type': '1', + 'status': '1' + }, + { + 'action': 'councilMeetingSituation:auditSignUp', + 'describe': '审核报名信息', + 'type': '1', + 'status': '1' + }, + { + 'action': 'incomePaymentAndInvoiving:audit', + 'describe': '审核', + 'type': '1', + 'status': '1' + }, + { + 'action': 'template:add:systemNotifications', + 'describe': '创建系统通知', + 'type': '1', + 'status': '1' + }, + { + 'action': 'internalMeeting:release', + 'describe': '发布', + 'type': '1', + 'status': '1' + }, + { + 'action': 'otherMeeting:release', + 'describe': '发布', + 'type': '1', + 'status': '1' + }, + { + 'action': 'standardsMeeting:release', + 'describe': '发布', + 'type': '1', + 'status': '1' + }, + { + 'action': 'company:updateInternalEnterprise', + 'describe': '是否内部企业', + 'type': '1', + 'status': '1' + }, + { + 'action': 'revenueContract:mailDetail', + 'describe': '查看邮寄详情', + 'type': '1', + 'status': '1' + }, + { + 'action': 'expenditureContract:mailDetail', + 'describe': '查看邮寄详情', + 'type': '1', + 'status': '1' + }, + { + 'action': 'fileMaintenance:download', + 'describe': '下载', + 'type': '1', + 'status': '1' + }, + { + 'action': 'departmentAllStatistics:search', + 'describe': '查询', + 'type': '1', + 'status': '1' + }, + { + 'action': 'departmentAllStatistics:export', + 'describe': '导出', + 'type': '1', + 'status': '1' + }, + { + 'action': 'internalMeeting:randomCode', + 'describe': '随机码', + 'type': '1', + 'status': '1' + }, + { + 'action': 'internationalSeminarGenerateCode:add', + 'describe': '新增', + 'type': '1', + 'status': '1' + }, + { + 'action': 'internationalSeminarGenerateCode:search', + 'describe': '查询', + 'type': '1', + 'status': '1' + }, + { + 'action': 'internationalSeminarGenerateCode:export', + 'describe': '导出', + 'type': '1', + 'status': '1' + }, + { + 'action': 'internationalSeminarGenerateCode:edit', + 'describe': '编辑', + 'type': '1', + 'status': '1' + }, + { + 'action': 'incomePaymentAndInvoiving:confirmPayment', + 'describe': '确认收入', + 'type': '1', + 'status': '1' + }, + { + 'action': 'standardsMeeting:problemCollection', + 'describe': '问题征集', + 'type': '1', + 'status': '1' + }, + { + 'action': 'packProject:confirmPayment', + 'describe': '确认收入', + 'type': '1', + 'status': '1' + }, + { + 'action': 'wholePaymentsStatistics:search', + 'describe': '查询', + 'type': '1', + 'status': '1' + }, + { + 'action': 'wholePaymentsStatistics:export', + 'describe': '导出', + 'type': '1', + 'status': '1' + }, + { + 'action': 'companyadmin:add', + 'describe': '新增', + 'type': '1', + 'status': '1' + }, + { + 'action': 'companyadmin:edit', + 'describe': '编辑', + 'type': '1', + 'status': '1' + }, + { + 'action': 'companyadmin:delete', + 'describe': '删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'companyadmin:batchDelete', + 'describe': '批量删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'companyadmin:use', + 'describe': '启用禁用', + 'type': '1', + 'status': '1' + }, + { + 'action': 'companyadmin:page', + 'describe': '查询', + 'type': '1', + 'status': '1' + }, + { + 'action': 'companyadmin:resetPassword', + 'describe': '重置密码', + 'type': '1', + 'status': '1' + }, + { + 'action': 'incomePaymentAndInvoiving:revoke', + 'describe': '撤销', + 'type': '1', + 'status': '1' + }, + { + 'action': 'sys:depart:list', + 'describe': '组织机构查询', + 'type': '1', + 'status': '1' + }, + { + 'action': 'allmeeting:list', + 'describe': '查询', + 'type': '1', + 'status': '1' + }, + { + 'action': 'allmeeting:export', + 'describe': '导出', + 'type': '1', + 'status': '1' + }, + { + 'action': 'packProject:changeInvoiceInfo', + 'describe': '开票类型', + 'type': '0', + 'status': '1' + }, + { + 'action': 'revenueContract:editContractNum', + 'describe': '编辑合同编号', + 'type': '0', + 'status': '1' + }, + { + 'action': 'sysNotice:pageList', + 'describe': '查询', + 'type': '1', + 'status': '1' + }, + { + 'action': 'sysNotice:add', + 'describe': '新增', + 'type': '1', + 'status': '1' + }, + { + 'action': 'sysNotice:edit', + 'describe': '编辑', + 'type': '1', + 'status': '1' + }, + { + 'action': 'sysNotice:deleteById', + 'describe': '删除', + 'type': '1', + 'status': '1' + }, + { + 'action': 'workingGroupMember:setLabel', + 'describe': '设置标签', + 'type': '1', + 'status': '1' + }, + { + 'action': 'otherMeetingSituation:guestsUploadFileFlag', + 'describe': '资料状态(嘉宾是否可以在企业端上传)', + 'type': '1', + 'status': '1' + }, + { + 'action': 'committeeMeetingSituation:guestsUploadFileFlag', + 'describe': '资料状态(嘉宾是否可以在企业端上传)', + 'type': '1', + 'status': '1' + }, + { + 'action': 'workGroupMeetingSituation:guestsUploadFileFlag', + 'describe': '资料状态(嘉宾是否可以在企业端上传)', + 'type': '1', + 'status': '1' + }, + { + 'action': 'internalMeetingSituation:guestsUploadFileFlag', + 'describe': '资料状态(嘉宾是否可以在企业端上传)', + 'type': '1', + 'status': '1' + }, + { + 'action': 'councilMeetingSituation:guestsUploadFileFlag', + 'describe': '资料状态(嘉宾是否可以在企业端上传)', + 'type': '1', + 'status': '1' + }, + { + 'action': 'standardsMeetingSituation:guestsUploadFileFlag', + 'describe': '资料状态(嘉宾是否可以在企业端上传)', + 'type': '1', + 'status': '1' + }, + { + 'action': 'user:form:phone', + 'describe': '手机号禁用', + 'type': '2', + 'status': '1' + } + ], + 'auth': [ + { + 'action': 'user:add', + 'describe': '添加按钮', + 'type': '1' + }, + { + 'action': 'user:edit', + 'describe': '用户编辑', + 'type': '1' + }, + { + 'action': 'user:sex', + 'describe': '表单性别可见', + 'type': '1' + }, + { + 'action': 'user:form:birthday', + 'describe': '禁用生日字段', + 'type': '2' + }, + { + 'action': 'sys:role:add', + 'describe': '角色添加', + 'type': '1' + }, + { + 'action': 'sys:role:edit', + 'describe': '角色编辑', + 'type': '1' + }, + { + 'action': 'sys:role:del', + 'describe': '角色删除', + 'type': '1' + }, + { + 'action': 'sys:depart:add', + 'describe': '组织机构添加', + 'type': '1' + }, + { + 'action': 'sys:depart:edit', + 'describe': '组织机构编辑', + 'type': '1' + }, + { + 'action': 'sys:depart:del', + 'describe': '组织机构删除', + 'type': '1' + }, + { + 'action': 'sys:dict:add', + 'describe': '数据字典添加', + 'type': '1' + }, + { + 'action': 'sys:dict:edit', + 'describe': '数据字典编辑', + 'type': '1' + }, + { + 'action': 'sys:dict:del', + 'describe': '数据字典删除', + 'type': '1' + }, + { + 'action': 'sys:user:del', + 'describe': '用户删除', + 'type': '1' + }, + { + 'action': 'sys:user:import', + 'describe': '用户导入', + 'type': '1' + }, + { + 'action': 'sys:user:export', + 'describe': '用户导出', + 'type': '1' + }, + { + 'action': 'sys:role:import', + 'describe': '角色导入', + 'type': '1' + }, + { + 'action': 'sys:role:export', + 'describe': '角色导出', + 'type': '1' + }, + { + 'action': 'sys:depart:export', + 'describe': '组织机构导出', + 'type': '1' + }, + { + 'action': 'sys:dict:import', + 'describe': '数据字典导入', + 'type': '1' + }, + { + 'action': 'sys:dict:export', + 'describe': '数据字典导出', + 'type': '1' + }, + { + 'action': 'company:add', + 'describe': '新增', + 'type': '1' + }, + { + 'action': 'company:edit', + 'describe': '编辑', + 'type': '1' + }, + { + 'action': 'company:confirm', + 'describe': '确认', + 'type': '1' + }, + { + 'action': 'company:delete', + 'describe': '删除', + 'type': '1' + }, + { + 'action': 'company:import', + 'describe': '导入', + 'type': '1' + }, + { + 'action': 'company:export', + 'describe': '导出', + 'type': '1' + }, + { + 'action': 'company:downTemplate', + 'describe': '下载模板', + 'type': '1' + }, + { + 'action': 'company:batchDel', + 'describe': '批量删除', + 'type': '1' + }, + { + 'action': 'company:search', + 'describe': '查询', + 'type': '1' + }, + { + 'action': 'contact:search', + 'describe': '查询', + 'type': '1' + }, + { + 'action': 'contact:add', + 'describe': '新增', + 'type': '1' + }, + { + 'action': 'contact:import', + 'describe': '导入', + 'type': '1' + }, + { + 'action': 'contact:export', + 'describe': '导出', + 'type': '1' + }, + { + 'action': 'contact:downTemplate', + 'describe': '下载模板', + 'type': '1' + }, + { + 'action': 'contact:batchDel', + 'describe': '批量删除', + 'type': '1' + }, + { + 'action': 'contact:edit', + 'describe': '编辑', + 'type': '1' + }, + { + 'action': 'contact:delete', + 'describe': '删除', + 'type': '1' + }, + { + 'action': 'generalProject:search', + 'describe': '查询', + 'type': '1' + }, + { + 'action': 'generalProject:add', + 'describe': '新增', + 'type': '1' + }, + { + 'action': 'generalProject:batchDel', + 'describe': '批量删除', + 'type': '1' + }, + { + 'action': 'generalProject:edit', + 'describe': '编辑', + 'type': '1' + }, + { + 'action': 'workingGroupProject:search', + 'describe': '查询', + 'type': '1' + }, + { + 'action': 'workingGroupProject:add', + 'describe': '新增', + 'type': '1' + }, + { + 'action': 'workingGroupProject:batchDel', + 'describe': '批量删除', + 'type': '1' + }, + { + 'action': 'workingGroupProject:fileMaintenance', + 'describe': '其他分发资料', + 'type': '1' + }, + { + 'action': 'workingGroupProject:meetingMaintenance', + 'describe': '工作组会议', + 'type': '1' + }, + { + 'action': 'workingGroupProject:copy', + 'describe': '复制', + 'type': '1' + }, + { + 'action': 'workingGroupProject:edit', + 'describe': '基本信息维护', + 'type': '1' + }, + { + 'action': 'workingGroupProject:delete', + 'describe': '删除', + 'type': '1' + }, + { + 'action': 'fileMaintenance:search', + 'describe': '查询', + 'type': '1' + }, + { + 'action': 'fileMaintenance:add', + 'describe': '上传', + 'type': '1' + }, + { + 'action': 'fileMaintenance:batchDel', + 'describe': '批量删除', + 'type': '1' + }, + { + 'action': 'fileMaintenance:batchDistribute', + 'describe': '批量分发', + 'type': '1' + }, + { + 'action': 'fileMaintenance:export', + 'describe': '导出', + 'type': '1' + }, + { + 'action': 'fileMaintenance:distribute', + 'describe': '分发', + 'type': '1' + }, + { + 'action': 'fileMaintenance:delete', + 'describe': '删除', + 'type': '1' + }, + { + 'action': 'workGroupMeeting:search', + 'describe': '查询', + 'type': '1' + }, + { + 'action': 'workGroupMeeting:add', + 'describe': '新增', + 'type': '1' + }, + { + 'action': 'workGroupMeeting:export', + 'describe': '导出', + 'type': '1' + }, + { + 'action': 'workGroupMeeting:batchDel', + 'describe': '批量删除', + 'type': '1' + }, + { + 'action': 'workGroupMeeting:publish', + 'describe': '发布', + 'type': '1' + }, + { + 'action': 'workGroupMeeting:upload', + 'describe': '上传文件', + 'type': '1' + }, + { + 'action': 'workGroupMeeting:edit', + 'describe': '编辑', + 'type': '1' + }, + { + 'action': 'workGroupMeeting:delete', + 'describe': '删除', + 'type': '1' + }, + { + 'action': 'internalMeeting:search', + 'describe': '查询', + 'type': '1' + }, + { + 'action': 'internalMeeting:add', + 'describe': '新增', + 'type': '1' + }, + { + 'action': 'internalMeeting:export', + 'describe': '导出', + 'type': '1' + }, + { + 'action': 'internalMeeting:batchDel', + 'describe': '批量删除', + 'type': '1' + }, + { + 'action': 'internalMeeting:upload', + 'describe': '上传文件', + 'type': '1' + }, + { + 'action': 'internalMeeting:edit', + 'describe': '编辑', + 'type': '1' + }, + { + 'action': 'internalMeeting:delete', + 'describe': '删除', + 'type': '1' + }, + { + 'action': 'internalMeetingSituation:search', + 'describe': '查询', + 'type': '1' + }, + { + 'action': 'internalMeetingSituation:add', + 'describe': '添加参会人', + 'type': '1' + }, + { + 'action': 'internalMeetingSituation:export', + 'describe': '导出', + 'type': '1' + }, + { + 'action': 'internalMeetingSituation:batchDel', + 'describe': '批量删除', + 'type': '1' + }, + { + 'action': 'internalMeetingSituation:batchSetDocker', + 'describe': '设置对接人', + 'type': '1' + }, + { + 'action': 'internalMeetingSituation:edit', + 'describe': '编辑', + 'type': '1' + }, + { + 'action': 'internalMeetingSituation:delete', + 'describe': '删除', + 'type': '1' + }, + { + 'action': 'internalMeetingSituation:auditCredentials', + 'describe': '审核凭证', + 'type': '1' + }, + { + 'action': 'internalMeetingSituation:auditSignUp', + 'describe': '审核报名信息', + 'type': '1' + }, + { + 'action': 'otherMeeting:search', + 'describe': '查询', + 'type': '1' + }, + { + 'action': 'otherMeeting:add', + 'describe': '新增', + 'type': '1' + }, + { + 'action': 'otherMeeting:export', + 'describe': '导出', + 'type': '1' + }, + { + 'action': 'otherMeeting:batchDel', + 'describe': '批量删除', + 'type': '1' + }, + { + 'action': 'otherMeeting:upload', + 'describe': '上传文件', + 'type': '1' + }, + { + 'action': 'otherMeeting:edit', + 'describe': '编辑', + 'type': '1' + }, + { + 'action': 'otherMeeting:delete', + 'describe': '删除', + 'type': '1' + }, + { + 'action': 'workingGroupMember:search', + 'describe': '查询', + 'type': '1' + }, + { + 'action': 'workingGroupMember:add', + 'describe': '新增', + 'type': '1' + }, + { + 'action': 'workingGroupMember:import', + 'describe': '导入', + 'type': '1' + }, + { + 'action': 'workingGroupMember:export', + 'describe': '导出', + 'type': '1' + }, + { + 'action': 'workingGroupMember:downTemplate', + 'describe': '下载模板', + 'type': '1' + }, + { + 'action': 'workingGroupMember:batchDel', + 'describe': '批量删除', + 'type': '1' + }, + { + 'action': 'workingGroupMember:setChargeNotic', + 'describe': '设置收费通知', + 'type': '1' + }, + { + 'action': 'workingGroupMember:setDunningReminder', + 'describe': '催款提醒', + 'type': '1' + }, + { + 'action': 'workingGroupMember:edit', + 'describe': '编辑', + 'type': '1' + }, + { + 'action': 'workingGroupMember:delete', + 'describe': '删除', + 'type': '1' + }, + { + 'action': 'committee:search', + 'describe': '查询', + 'type': '1' + }, + { + 'action': 'committee:add', + 'describe': '新增分标委', + 'type': '1' + }, + { + 'action': 'committee:export', + 'describe': '导出', + 'type': '1' + }, + { + 'action': 'committee:batchDel', + 'describe': '批量删除', + 'type': '1' + }, + { + 'action': 'committee:fileMaintenance', + 'describe': '其他分发资料', + 'type': '1' + }, + { + 'action': 'committee:meetingMaintenance', + 'describe': '分标委会议', + 'type': '1' + }, + { + 'action': 'committee:addMember', + 'describe': '新增委员', + 'type': '1' + }, + { + 'action': 'committee:edit', + 'describe': '基本信息维护', + 'type': '1' + }, + { + 'action': 'committee:delete', + 'describe': '删除', + 'type': '1' + }, + { + 'action': 'committee:member:delete', + 'describe': '委员删除', + 'type': '1' + }, + { + 'action': 'committeeMeeting:search', + 'describe': '查询', + 'type': '1' + }, + { + 'action': 'committeeMeeting:add', + 'describe': '新增', + 'type': '1' + }, + { + 'action': 'committeeMeeting:export', + 'describe': '导出', + 'type': '1' + }, + { + 'action': 'committeeMeeting:batchDel', + 'describe': '批量删除', + 'type': '1' + }, + { + 'action': 'committeeMeeting:publish', + 'describe': '发布', + 'type': '1' + }, + { + 'action': 'committeeMeeting:upload', + 'describe': '上传文件', + 'type': '1' + }, + { + 'action': 'committeeMeeting:edit', + 'describe': '编辑', + 'type': '1' + }, + { + 'action': 'committeeMeeting:delete', + 'describe': '删除', + 'type': '1' + }, + { + 'action': 'revenueContract:search', + 'describe': '查询', + 'type': '1' + }, + { + 'action': 'revenueContract:add', + 'describe': '新增', + 'type': '1' + }, + { + 'action': 'revenueContract:export', + 'describe': '导出', + 'type': '1' + }, + { + 'action': 'revenueContract:batchDel', + 'describe': '批量删除', + 'type': '1' + }, + { + 'action': 'revenueContract:edit', + 'describe': '编辑', + 'type': '1' + }, + { + 'action': 'revenueContract:archive', + 'describe': '存档', + 'type': '1' + }, + { + 'action': 'revenueContract:delete', + 'describe': '删除', + 'type': '1' + }, + { + 'action': 'revenueContractModule:chooseProject', + 'describe': '选择项目', + 'type': '1' + }, + { + 'action': 'revenueContractModule:unlinkProject', + 'describe': '取消关联', + 'type': '1' + }, + { + 'action': 'expenditureContract:search', + 'describe': '查询', + 'type': '1' + }, + { + 'action': 'expenditureContract:add', + 'describe': '新增', + 'type': '1' + }, + { + 'action': 'expenditureContract:import', + 'describe': '导入', + 'type': '1' + }, + { + 'action': 'expenditureContract:export', + 'describe': '导出', + 'type': '1' + }, + { + 'action': 'expenditureContract:downTemplate', + 'describe': '下载模板', + 'type': '1' + }, + { + 'action': 'expenditureContract:batchDel', + 'describe': '批量删除', + 'type': '1' + }, + { + 'action': 'expenditureContract:edit', + 'describe': '编辑', + 'type': '1' + }, + { + 'action': 'expenditureContract:delete', + 'describe': '删除', + 'type': '1' + }, + { + 'action': 'packProject:search', + 'describe': '查询', + 'type': '1' + }, + { + 'action': 'packProject:pack', + 'describe': '打包', + 'type': '1' + }, + { + 'action': 'packProject:batchCancelPack', + 'describe': '批量取消打包', + 'type': '1' + }, + { + 'action': 'packProject:batchIncomePayment', + 'describe': '批量来款', + 'type': '1' + }, + { + 'action': 'packProject:batchInvoicing', + 'describe': '批量开票', + 'type': '1' + }, + { + 'action': 'packProject:export', + 'describe': '导出', + 'type': '1' + }, + { + 'action': 'packProject:incomePayment', + 'describe': '来款', + 'type': '1' + }, + { + 'action': 'packProject:cancelPack', + 'describe': '取消打包', + 'type': '1' + }, + { + 'action': 'packProject:invoicing', + 'describe': '开票', + 'type': '1' + }, + { + 'action': 'packCompany:search', + 'describe': '查询', + 'type': '1' + }, + { + 'action': 'packCompany:add', + 'describe': '新增', + 'type': '1' + }, + { + 'action': 'packCompany:export', + 'describe': '导出', + 'type': '1' + }, + { + 'action': 'packCompany:batchDel', + 'describe': '批量删除', + 'type': '1' + }, + { + 'action': 'packCompany:edit', + 'describe': '编辑', + 'type': '1' + }, + { + 'action': 'packCompany:delete', + 'describe': '删除', + 'type': '1' + }, + { + 'action': 'incomePaymentAndInvoiving:search', + 'describe': '查询', + 'type': '1' + }, + { + 'action': 'incomePaymentAndInvoiving:export', + 'describe': '导出', + 'type': '1' + }, + { + 'action': 'incomePaymentAndInvoiving:batchInvoicing', + 'describe': '合并开票', + 'type': '1' + }, + { + 'action': 'incomePaymentAndInvoiving:incomePayment', + 'describe': '来款', + 'type': '1' + }, + { + 'action': 'incomePaymentAndInvoiving:invoicing', + 'describe': '开票', + 'type': '1' + }, + { + 'action': 'billMail:search', + 'describe': '查询', + 'type': '1' + }, + { + 'action': 'billMail:export', + 'describe': '导出', + 'type': '1' + }, + { + 'action': 'billMail:mail', + 'describe': '邮寄', + 'type': '1' + }, + { + 'action': 'billMail:edit', + 'describe': '修改', + 'type': '1' + }, + { + 'action': 'billMail:checkLogistics', + 'describe': '查看物流', + 'type': '1' + }, + { + 'action': 'contractMail:search', + 'describe': '查询', + 'type': '1' + }, + { + 'action': 'contractMail:export', + 'describe': '导出', + 'type': '1' + }, + { + 'action': 'contractMail:mail', + 'describe': '邮寄', + 'type': '1' + }, + { + 'action': 'contractMail:edit', + 'describe': '修改', + 'type': '1' + }, + { + 'action': 'contractMail:checkLogistics', + 'describe': '查看物流', + 'type': '1' + }, + { + 'action': 'wholeInstituteStatistics:search', + 'describe': '查询', + 'type': '1' + }, + { + 'action': 'wholeInstituteStatistics:export', + 'describe': '导出', + 'type': '1' + }, + { + 'action': 'companyPaymentStatistics:search', + 'describe': '查询', + 'type': '1' + }, + { + 'action': 'companyPaymentStatistics:export', + 'describe': '导出', + 'type': '1' + }, + { + 'action': 'companyPaymentStatistics:detail', + 'describe': '详情', + 'type': '1' + }, + { + 'action': 'workingGroupPaymentStatistics:search', + 'describe': '查询', + 'type': '1' + }, + { + 'action': 'workingGroupPaymentStatistics:export', + 'describe': '导出', + 'type': '1' + }, + { + 'action': 'workingGroupPaymentStatistics:detail', + 'describe': '详情', + 'type': '1' + }, + { + 'action': 'individualPaymentStatistics:search', + 'describe': '查询', + 'type': '1' + }, + { + 'action': 'individualPaymentStatistics:export', + 'describe': '导出', + 'type': '1' + }, + { + 'action': 'projectPaymentStatistics:search', + 'describe': '查询', + 'type': '1' + }, + { + 'action': 'projectPaymentStatistics:export', + 'describe': '导出', + 'type': '1' + }, + { + 'action': 'user:search', + 'describe': '查询', + 'type': '1' + }, + { + 'action': 'user:downTemplate', + 'describe': '下载模板', + 'type': '1' + }, + { + 'action': 'user:batchDel', + 'describe': '批量删除', + 'type': '1' + }, + { + 'action': 'user:enable', + 'describe': '启用禁用', + 'type': '1' + }, + { + 'action': 'user:resetPassword', + 'describe': '重置密码', + 'type': '1' + }, + { + 'action': 'sys:role:search', + 'describe': '查询', + 'type': '1' + }, + { + 'action': 'sys:role:addLowerLevel', + 'describe': '添加下级', + 'type': '1' + }, + { + 'action': 'sys:role:batchDel', + 'describe': '批量删除', + 'type': '1' + }, + { + 'action': 'sys:role:perssion', + 'describe': '授权', + 'type': '1' + }, + { + 'action': 'sys:depart:addLowerLevel', + 'describe': '添加下级', + 'type': '1' + }, + { + 'action': 'sys:depart:batchDel', + 'describe': '批量删除', + 'type': '1' + }, + { + 'action': 'sys:dict:search', + 'describe': '查询', + 'type': '1' + }, + { + 'action': 'sys:dict:refleshCache', + 'describe': '刷新缓存', + 'type': '1' + }, + { + 'action': 'sys:dict:deleteList', + 'describe': '回收站', + 'type': '1' + }, + { + 'action': 'sys:dict:editDictItem', + 'describe': '字典配置', + 'type': '1' + }, + { + 'action': 'sys:log:search', + 'describe': '查询', + 'type': '1' + }, + { + 'action': 'dic:item:add', + 'describe': '字典元素新增', + 'type': '1' + }, + { + 'action': 'dic:item:delete', + 'describe': '字典元素删除', + 'type': '1' + }, + { + 'action': 'dic:item:edit', + 'describe': '字典元素编辑', + 'type': '1' + }, + { + 'action': 'generalProject:delete', + 'describe': '删除', + 'type': '1' + }, + { + 'action': 'messge:list', + 'describe': '查询', + 'type': '1' + }, + { + 'action': 'message:show', + 'describe': '查看', + 'type': '1' + }, + { + 'action': 'message:read', + 'describe': '已读', + 'type': '1' + }, + { + 'action': 'template:list', + 'describe': '查询', + 'type': '1' + }, + { + 'action': 'template:edit', + 'describe': '编辑', + 'type': '1' + }, + { + 'action': 'sys:log:batchDelete', + 'describe': '批量删除', + 'type': '1' + }, + { + 'action': 'memberProject:search', + 'describe': '查询', + 'type': '1' + }, + { + 'action': 'memberProject:add', + 'describe': '新增', + 'type': '1' + }, + { + 'action': 'memberProject:export', + 'describe': '导出', + 'type': '1' + }, + { + 'action': 'memberProject:batchDel', + 'describe': '批量删除', + 'type': '1' + }, + { + 'action': 'memberProject:edit', + 'describe': '编辑', + 'type': '1' + }, + { + 'action': 'memberProject:delete', + 'describe': '删除', + 'type': '1' + }, + { + 'action': 'stardsMember:search', + 'describe': '查询', + 'type': '1' + }, + { + 'action': 'safeguardStardsMember:search', + 'describe': '查询', + 'type': '1' + }, + { + 'action': 'safeguardStardsMember:export', + 'describe': '导出', + 'type': '1' + }, + { + 'action': 'stardsMember:meetingMaintenance', + 'describe': '会议维护', + 'type': '1' + }, + { + 'action': 'safeguardMember:search', + 'describe': '查询', + 'type': '1' + }, + { + 'action': 'safeguardMember:add', + 'describe': '新增', + 'type': '1' + }, + { + 'action': 'safeguardMember:import', + 'describe': '导入', + 'type': '1' + }, + { + 'action': 'safeguardMember:downTemplate', + 'describe': '下载模板', + 'type': '1' + }, + { + 'action': 'safeguardMember:export', + 'describe': '导出', + 'type': '1' + }, + { + 'action': 'safeguardMember:batchDel', + 'describe': '批量删除', + 'type': '1' + }, + { + 'action': 'safeguardMember:edit', + 'describe': '编辑', + 'type': '1' + }, + { + 'action': 'safeguardMember:delete', + 'describe': '删除', + 'type': '1' + }, + { + 'action': 'otherMeetingSituation:search', + 'describe': '查询', + 'type': '1' + }, + { + 'action': 'otherMeetingSituation:add', + 'describe': '添加参会人', + 'type': '1' + }, + { + 'action': 'otherMeetingSituation:export', + 'describe': '导出', + 'type': '1' + }, + { + 'action': 'otherMeetingSituation:batchDel', + 'describe': '批量删除', + 'type': '1' + }, + { + 'action': 'otherMeetingSituation:edit', + 'describe': '编辑', + 'type': '1' + }, + { + 'action': 'otherMeetingSituation:delete', + 'describe': '删除', + 'type': '1' + }, + { + 'action': 'otherMeetingSituation:auditCredentials', + 'describe': '审核凭证', + 'type': '1' + }, + { + 'action': 'otherMeetingSituation:auditSignUp', + 'describe': '审核报名信息', + 'type': '1' + }, + { + 'action': 'committeeMeetingSituation:search', + 'describe': '查询', + 'type': '1' + }, + { + 'action': 'committeeMeetingSituation:add', + 'describe': '添加参会人', + 'type': '1' + }, + { + 'action': 'committeeMeetingSituation:export', + 'describe': '导出', + 'type': '1' + }, + { + 'action': 'committeeMeetingSituation:batchDel', + 'describe': '批量删除', + 'type': '1' + }, + { + 'action': 'committeeMeetingSituation:edit', + 'describe': '编辑', + 'type': '1' + }, + { + 'action': 'committeeMeetingSituation:delete', + 'describe': '删除', + 'type': '1' + }, + { + 'action': 'committeeMeetingSituation:auditCredentials', + 'describe': '审核凭证', + 'type': '1' + }, + { + 'action': 'committeeMeetingSituation:auditSignUp', + 'describe': '审核报名信息', + 'type': '1' + }, + { + 'action': 'workGroupMeetingSituation:search', + 'describe': '查询', + 'type': '1' + }, + { + 'action': 'workGroupMeetingSituation:add', + 'describe': '添加参会人', + 'type': '1' + }, + { + 'action': 'workGroupMeetingSituation:export', + 'describe': '导出', + 'type': '1' + }, + { + 'action': 'workGroupMeetingSituation:batchDel', + 'describe': '批量删除', + 'type': '1' + }, + { + 'action': 'workGroupMeetingSituation:edit', + 'describe': '编辑', + 'type': '1' + }, + { + 'action': 'workGroupMeetingSituation:delete', + 'describe': '删除', + 'type': '1' + }, + { + 'action': 'workGroupMeetingSituation:auditSignUp', + 'describe': '审核报名信息', + 'type': '1' + }, + { + 'action': 'standardsMeeting:search', + 'describe': '查询', + 'type': '1' + }, + { + 'action': 'standardsMeeting:add', + 'describe': '新增', + 'type': '1' + }, + { + 'action': 'standardsMeeting:export', + 'describe': '导出', + 'type': '1' + }, + { + 'action': 'standardsMeeting:batchDel', + 'describe': '批量删除', + 'type': '1' + }, + { + 'action': 'standardsMeeting:upload', + 'describe': '上传文件', + 'type': '1' + }, + { + 'action': 'standardsMeeting:edit', + 'describe': '编辑', + 'type': '1' + }, + { + 'action': 'standardsMeeting:delete', + 'describe': '删除', + 'type': '1' + }, + { + 'action': 'standardsMeetingSituation:search', + 'describe': '查询', + 'type': '1' + }, + { + 'action': 'standardsMeetingSituation:add', + 'describe': '添加参会人', + 'type': '1' + }, + { + 'action': 'standardsMeetingSituation:export', + 'describe': '导出', + 'type': '1' + }, + { + 'action': 'standardsMeetingSituation:batchDel', + 'describe': '批量删除', + 'type': '1' + }, + { + 'action': 'standardsMeetingSituation:edit', + 'describe': '编辑', + 'type': '1' + }, + { + 'action': 'standardsMeetingSituation:delete', + 'describe': '删除', + 'type': '1' + }, + { + 'action': 'standardsMeetingSituation:auditCredentials', + 'describe': '审核凭证', + 'type': '1' + }, + { + 'action': 'standardsMeetingSituation:auditSignUp', + 'describe': '审核报名信息', + 'type': '1' + }, + { + 'action': 'workGroupMeetingSituation:auditCredentials', + 'describe': '审核凭证', + 'type': '1' + }, + { + 'action': 'template:add', + 'describe': '新增', + 'type': '1' + }, + { + 'action': 'template:delete', + 'describe': '删除', + 'type': '1' + }, + { + 'action': 'system:dept:save', + 'describe': '保存', + 'type': '1' + }, + { + 'action': 'expenditureContract:aduit', + 'describe': '审核', + 'type': '1' + }, + { + 'action': 'expenditureContract:archive', + 'describe': '存档', + 'type': '1' + }, + { + 'action': 'council:search', + 'describe': '查询', + 'type': '1' + }, + { + 'action': 'council:add', + 'describe': '新增理事会', + 'type': '1' + }, + { + 'action': 'council:export', + 'describe': '导出', + 'type': '1' + }, + { + 'action': 'council:batchDel', + 'describe': '批量删除', + 'type': '1' + }, + { + 'action': 'council:fileMaintenance', + 'describe': '其他分发资料', + 'type': '1' + }, + { + 'action': 'council:meetingMaintenance', + 'describe': '理事会会议', + 'type': '1' + }, + { + 'action': 'council:addMember', + 'describe': '新增成员', + 'type': '1' + }, + { + 'action': 'council:edit', + 'describe': '基本信息维护', + 'type': '1' + }, + { + 'action': 'council:delete', + 'describe': '删除', + 'type': '1' + }, + { + 'action': 'council:member:delete', + 'describe': '成员删除', + 'type': '1' + }, + { + 'action': 'otherMeeting:uploadCouncil', + 'describe': '上传会议纪要', + 'type': '1' + }, + { + 'action': 'councilMeeting:publish', + 'describe': '发布提醒', + 'type': '1' + }, + { + 'action': 'internalMeeting:uploadCouncil', + 'describe': '上传会议纪要', + 'type': '1' + }, + { + 'action': 'workGroupMeeting:uploadCouncil', + 'describe': '上传会议纪要', + 'type': '1' + }, + { + 'action': 'committeeMeeting:uploadCouncil', + 'describe': '上传会议纪要', + 'type': '1' + }, + { + 'action': 'standardsMeeting:uploadCouncil', + 'describe': '上传会议纪要', + 'type': '1' + }, + { + 'action': 'committee:underStudyProject', + 'describe': '在研项目', + 'type': '1' + }, + { + 'action': 'workingGroupProject:underStudyProject', + 'describe': '在研项目', + 'type': '1' + }, + { + 'action': 'workingGroup:underStudy:search', + 'describe': '查询', + 'type': '1' + }, + { + 'action': 'workingGroup:underStudy:add', + 'describe': '新增', + 'type': '1' + }, + { + 'action': 'workingGroup:underStudy:batchDel', + 'describe': '批量删除', + 'type': '1' + }, + { + 'action': 'workingGroup:underStudy:edit', + 'describe': '编辑', + 'type': '1' + }, + { + 'action': 'workingGroup:underStudy:delete', + 'describe': '删除', + 'type': '1' + }, + { + 'action': 'councilMeeting:search', + 'describe': '查询', + 'type': '1' + }, + { + 'action': 'councilMeeting:add', + 'describe': '新增', + 'type': '1' + }, + { + 'action': 'councilMeeting:export', + 'describe': '导出', + 'type': '1' + }, + { + 'action': 'councilMeeting:batchDel', + 'describe': '批量删除', + 'type': '1' + }, + { + 'action': 'councilMeeting:upload', + 'describe': '上传文件', + 'type': '1' + }, + { + 'action': 'councilMeeting:edit', + 'describe': '编辑', + 'type': '1' + }, + { + 'action': 'councilMeeting:delete', + 'describe': '删除', + 'type': '1' + }, + { + 'action': 'councilMeeting:uploadCouncil', + 'describe': '上传会议纪要', + 'type': '1' + }, + { + 'action': 'revenueContract:cancellation', + 'describe': '作废', + 'type': '1' + }, + { + 'action': 'expenditureContract:cancellation', + 'describe': '作废', + 'type': '1' + }, + { + 'action': 'councilMeetingSituation:search', + 'describe': '查询', + 'type': '1' + }, + { + 'action': 'councilMeetingSituation:add', + 'describe': '添加参会人', + 'type': '1' + }, + { + 'action': 'councilMeetingSituation:export', + 'describe': '导出', + 'type': '1' + }, + { + 'action': 'councilMeetingSituation:batchDel', + 'describe': '批量删除', + 'type': '1' + }, + { + 'action': 'councilMeetingSituation:edit', + 'describe': '编辑', + 'type': '1' + }, + { + 'action': 'councilMeetingSituation:delete', + 'describe': '删除', + 'type': '1' + }, + { + 'action': 'councilMeetingSituation:auditCredentials', + 'describe': '审核凭证', + 'type': '1' + }, + { + 'action': 'councilMeetingSituation:auditSignUp', + 'describe': '审核报名信息', + 'type': '1' + }, + { + 'action': 'incomePaymentAndInvoiving:audit', + 'describe': '审核', + 'type': '1' + }, + { + 'action': 'template:add:systemNotifications', + 'describe': '创建系统通知', + 'type': '1' + }, + { + 'action': 'internalMeeting:release', + 'describe': '发布', + 'type': '1' + }, + { + 'action': 'otherMeeting:release', + 'describe': '发布', + 'type': '1' + }, + { + 'action': 'standardsMeeting:release', + 'describe': '发布', + 'type': '1' + }, + { + 'action': 'company:updateInternalEnterprise', + 'describe': '是否内部企业', + 'type': '1' + }, + { + 'action': 'revenueContract:mailDetail', + 'describe': '查看邮寄详情', + 'type': '1' + }, + { + 'action': 'expenditureContract:mailDetail', + 'describe': '查看邮寄详情', + 'type': '1' + }, + { + 'action': 'fileMaintenance:download', + 'describe': '下载', + 'type': '1' + }, + { + 'action': 'departmentAllStatistics:search', + 'describe': '查询', + 'type': '1' + }, + { + 'action': 'departmentAllStatistics:export', + 'describe': '导出', + 'type': '1' + }, + { + 'action': 'internalMeeting:randomCode', + 'describe': '随机码', + 'type': '1' + }, + { + 'action': 'internationalSeminarGenerateCode:add', + 'describe': '新增', + 'type': '1' + }, + { + 'action': 'internationalSeminarGenerateCode:search', + 'describe': '查询', + 'type': '1' + }, + { + 'action': 'internationalSeminarGenerateCode:export', + 'describe': '导出', + 'type': '1' + }, + { + 'action': 'internationalSeminarGenerateCode:edit', + 'describe': '编辑', + 'type': '1' + }, + { + 'action': 'incomePaymentAndInvoiving:confirmPayment', + 'describe': '确认收入', + 'type': '1' + }, + { + 'action': 'standardsMeeting:problemCollection', + 'describe': '问题征集', + 'type': '1' + }, + { + 'action': 'packProject:confirmPayment', + 'describe': '确认收入', + 'type': '1' + }, + { + 'action': 'wholePaymentsStatistics:search', + 'describe': '查询', + 'type': '1' + }, + { + 'action': 'wholePaymentsStatistics:export', + 'describe': '导出', + 'type': '1' + }, + { + 'action': 'companyadmin:add', + 'describe': '新增', + 'type': '1' + }, + { + 'action': 'companyadmin:edit', + 'describe': '编辑', + 'type': '1' + }, + { + 'action': 'companyadmin:delete', + 'describe': '删除', + 'type': '1' + }, + { + 'action': 'companyadmin:batchDelete', + 'describe': '批量删除', + 'type': '1' + }, + { + 'action': 'companyadmin:use', + 'describe': '启用禁用', + 'type': '1' + }, + { + 'action': 'companyadmin:page', + 'describe': '查询', + 'type': '1' + }, + { + 'action': 'companyadmin:resetPassword', + 'describe': '重置密码', + 'type': '1' + }, + { + 'action': 'incomePaymentAndInvoiving:revoke', + 'describe': '撤销', + 'type': '1' + }, + { + 'action': 'sys:depart:list', + 'describe': '组织机构查询', + 'type': '1' + }, + { + 'action': 'allmeeting:list', + 'describe': '查询', + 'type': '1' + }, + { + 'action': 'allmeeting:export', + 'describe': '导出', + 'type': '1' + }, + { + 'action': 'packProject:changeInvoiceInfo', + 'describe': '开票类型', + 'type': '0' + }, + { + 'action': 'revenueContract:editContractNum', + 'describe': '编辑合同编号', + 'type': '0' + }, + { + 'action': 'sysNotice:pageList', + 'describe': '查询', + 'type': '1' + }, + { + 'action': 'sysNotice:add', + 'describe': '新增', + 'type': '1' + }, + { + 'action': 'sysNotice:edit', + 'describe': '编辑', + 'type': '1' + }, + { + 'action': 'sysNotice:deleteById', + 'describe': '删除', + 'type': '1' + }, + { + 'action': 'user:form:phone', + 'describe': '手机号禁用', + 'type': '2' + }, + { + 'action': 'otherMeetingSituation:guestsUploadFileFlag', + 'describe': '资料状态(嘉宾是否可以在企业端上传)', + 'type': '1' + }, + { + 'action': 'committeeMeetingSituation:guestsUploadFileFlag', + 'describe': '资料状态(嘉宾是否可以在企业端上传)', + 'type': '1' + }, + { + 'action': 'workGroupMeetingSituation:guestsUploadFileFlag', + 'describe': '资料状态(嘉宾是否可以在企业端上传)', + 'type': '1' + }, + { + 'action': 'internalMeetingSituation:guestsUploadFileFlag', + 'describe': '资料状态(嘉宾是否可以在企业端上传)', + 'type': '1' + }, + { + 'action': 'councilMeetingSituation:guestsUploadFileFlag', + 'describe': '资料状态(嘉宾是否可以在企业端上传)', + 'type': '1' + }, + { + 'action': 'standardsMeetingSituation:guestsUploadFileFlag', + 'describe': '资料状态(嘉宾是否可以在企业端上传)', + 'type': '1' + }, + { + 'action': 'workingGroupMember:setLabel', + 'describe': '设置标签', + 'type': '1' + } + ], + 'menu': [ + { + 'redirect': null, + 'path': '/dashboard/analysis', + 'component': 'dashboard/Analysis', + 'route': '1', + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'externalTerminalShow': true, + 'icon': 'home', + 'componentName': 'Analysis', + 'title': '首页' + }, + 'name': 'dashboard-analysis', + 'id': '9502685863ab87f0ad1134142788a385' + }, + { + 'redirect': null, + 'path': '/businessManagement', + 'component': 'layouts/RouteView', + 'route': '1', + 'children': [ + { + 'path': '/businessManagement/BusinessManagement', + 'component': 'businessManagement/BusinessManagement', + 'route': '1', + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'externalTerminalShow': true, + 'componentName': 'BusinessManagement', + 'title': '单位/开票信息' + }, + 'name': 'businessManagement-BusinessManagement', + 'id': '1430376267109978113' + }, + { + 'path': '/businessManagement/ContactManagement', + 'component': 'businessManagement/ContactManagement', + 'route': '1', + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'externalTerminalShow': true, + 'componentName': 'ContactManagement', + 'title': '人员信息' + }, + 'name': 'businessManagement-ContactManagement', + 'id': '1430376347640614913' + }, + { + 'path': '/businessManagement/CompanyAdmin', + 'component': 'businessManagement/CompanyAdmin', + 'route': '1', + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'componentName': 'CompanyAdmin', + 'title': '企业管理员' + }, + 'name': 'businessManagement-CompanyAdmin', + 'id': '1554351144621146113' + } + ], + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'externalTerminalShow': true, + 'icon': 'cus_company', + 'componentName': 'RouteView', + 'title': '企业管理' + }, + 'name': 'businessManagement', + 'id': '1430376218661572609' + }, + { + 'redirect': null, + 'path': '/projectManagement', + 'component': 'layouts/RouteView', + 'route': '1', + 'hidden': true, + 'children': [ + { + 'path': '/projectManagement/WorkingGroupMemberUnitMaintenance', + 'component': 'projectManagement/WorkingGroupMemberUnitMaintenance', + 'route': '1', + 'hidden': true, + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'componentName': 'WorkingGroupMemberUnitMaintenance', + 'title': '成员单位维护' + }, + 'name': 'projectManagement-WorkingGroupMemberUnitMaintenance', + 'id': '1431167539278086146' + }, + { + 'path': '/statisticalReport/departmentStatistics/IndividualPaymentStatisticsDetail', + 'component': 'statisticalReport/departmentStatistics/IndividualPaymentStatisticsDetail', + 'route': '1', + 'hidden': true, + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'componentName': 'IndividualPaymentStatisticsDetail', + 'title': '个人来款详情' + }, + 'name': 'statisticalReport-departmentStatistics-IndividualPaymentStatisticsDetail', + 'id': '1437598070060359682' + }, + { + 'path': '/projectManagement/WorkingGroupProjectDataMaintenance', + 'component': 'projectManagement/WorkingGroupProjectDataMaintenance', + 'route': '1', + 'hidden': true, + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'componentName': 'WorkingGroupProjectDataMaintenance', + 'title': '分发资料维护' + }, + 'name': 'projectManagement-WorkingGroupProjectDataMaintenance', + 'id': '1438322844248055809' + }, + { + 'path': '/projectManagement/WorkingGroupProjectManagement/UnderStudyProject', + 'component': 'projectManagement/WorkingGroupUnderStudyProject', + 'route': '1', + 'hidden': true, + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'componentName': 'WorkingGroupUnderStudyProject', + 'title': '工作组在研项目' + }, + 'name': 'projectManagement-WorkingGroupProjectManagement-UnderStudyProject', + 'id': '1470291999557758977' + }, + { + 'path': '/projectManagement/CommitteeMaintenance/UnderStudyProject', + 'component': 'projectManagement/CommitteeUnderStudyProject', + 'route': '1', + 'hidden': true, + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'componentName': 'CommitteeUnderStudyProject', + 'title': '分标委在研项目' + }, + 'name': 'projectManagement-CommitteeMaintenance-UnderStudyProject', + 'id': '1470292365418508289' + }, + { + 'path': '/projectManagement/ConferenceMaintenance', + 'component': 'projectManagement/ConferenceMaintenance', + 'route': '1', + 'hidden': true, + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'componentName': 'ConferenceMaintenance', + 'title': '工作组会议维护' + }, + 'name': 'projectManagement-ConferenceMaintenance', + 'id': '1430828460107730946' + }, + { + 'path': '/incomePayments/memberManage/SafeguardMemberList', + 'component': 'incomePayments/memberManage/SafeguardMemberList', + 'route': '1', + 'hidden': true, + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'componentName': 'SafeguardMemberList', + 'title': '资料网员成员维护' + }, + 'name': 'incomePayments-memberManage-SafeguardMemberList', + 'id': '1443395765712801794' + }, + { + 'path': '/incomePayments/meetManage/AttendanceWorkGroupMeeting', + 'component': 'incomePayments/meetManage/Attendance', + 'route': '1', + 'hidden': true, + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'componentName': 'Attendance', + 'title': '工作组会议参会情况' + }, + 'name': 'incomePayments-meetManage-AttendanceWorkGroupMeeting', + 'id': '1443462660843458561' + }, + { + 'path': '/incomePayments/meetManage/AttendanceInternalMeeting', + 'component': 'incomePayments/meetManage/Attendance', + 'route': '1', + 'hidden': true, + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'componentName': 'Attendance', + 'title': '国际研讨会参会情况' + }, + 'name': 'incomePayments-meetManage-AttendanceInternalMeeting', + 'id': '1433322232030777345' + }, + { + 'path': '/incomePayments/meetManage/AttendanceOhterMeeting', + 'component': 'incomePayments/meetManage/Attendance', + 'route': '1', + 'hidden': true, + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'componentName': 'Attendance', + 'title': '其他会议参会情况' + }, + 'name': 'incomePayments-meetManage-AttendanceOhterMeeting', + 'id': '1443460205023940610' + }, + { + 'path': '/projectManagement/CommitteeMeeting', + 'component': 'projectManagement/CommitteeMeeting', + 'route': '1', + 'hidden': true, + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'componentName': 'CommitteeMeeting', + 'title': '分标委会议维护' + }, + 'name': 'projectManagement-CommitteeMeeting', + 'id': '1438390764191997953' + }, + { + 'path': '/incomePayments/meetManage/AttendanceCommitteeMeeting', + 'component': 'incomePayments/meetManage/Attendance', + 'route': '1', + 'hidden': true, + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'componentName': 'Attendance', + 'title': '分标委会议参会情况' + }, + 'name': 'incomePayments-meetManage-AttendanceCommitteeMeeting', + 'id': '1443461591480487938' + }, + { + 'path': '/incomePayments/meetManage/AddOrDetailMeet', + 'component': 'incomePayments/meetManage/AddOrDetailMeet', + 'route': '1', + 'hidden': true, + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'componentName': 'AddOrDetailMeet', + 'title': '新增会议' + }, + 'name': 'incomePayments-meetManage-AddOrDetailMeet', + 'id': '1432648529773191170' + }, + { + 'path': '/incomePayments/meetManage/AttendanceCouncilMeeting', + 'component': 'incomePayments/meetManage/Attendance', + 'route': '1', + 'hidden': true, + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'componentName': 'Attendance', + 'title': '理事会参会情况' + }, + 'name': 'incomePayments-meetManage-AttendanceCouncilMeeting', + 'id': '1470954992463327234' + }, + { + 'path': '/projectManagement/InternationalSeminarGenerateCode', + 'component': 'projectManagement/InternationalSeminarGenerateCode', + 'route': '1', + 'hidden': true, + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'componentName': 'InternationalSeminarGenerateCode', + 'title': '国际研讨会随机码设置' + }, + 'name': 'projectManagement-InternationalSeminarGenerateCode', + 'id': '1539063506556653570' + }, + { + 'path': '/incomePayments/meetManage/SignUpInfoEdit', + 'component': 'incomePayments/meetManage/SignUpInfoEdit', + 'route': '1', + 'hidden': true, + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'componentName': 'SignUpInfoEdit', + 'title': '报名信息编辑页' + }, + 'name': 'incomePayments-meetManage-SignUpInfoEdit', + 'id': '1433274231774072834' + }, + { + 'path': '/incomePayments/meetManage/SignUpInfoDetail', + 'component': 'incomePayments/meetManage/SignUpInfoDetail', + 'route': '1', + 'hidden': true, + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'componentName': 'SignUpInfoDetail', + 'title': '报名详情' + }, + 'name': 'incomePayments-meetManage-SignUpInfoDetail', + 'id': '1440887226972876801' + } + ], + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'icon': 'cus_project', + 'componentName': 'RouteView', + 'title': '详情管理' + }, + 'name': 'projectManagement', + 'id': '1430376424950026242' + }, + { + 'redirect': null, + 'path': '/projectManagement/GeneralProjectManagement', + 'component': 'projectManagement/GeneralProjectManagement', + 'route': '1', + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'icon': 'cus_project', + 'componentName': 'GeneralProjectManagement', + 'title': '普通项目管理' + }, + 'name': 'projectManagement-GeneralProjectManagement', + 'id': '1430376521213497345' + }, + { + 'redirect': null, + 'path': '/projectManagement/WorkingGroupProjectManagement', + 'component': 'projectManagement/WorkingGroupProjectManagement', + 'route': '1', + 'meta': { + 'keepAlive': true, + 'internalOrExternal': false, + 'icon': 'cus_working', + 'componentName': 'WorkingGroupProjectManagement', + 'title': '工作组管理' + }, + 'name': 'projectManagement-WorkingGroupProjectManagement', + 'id': '1430718058514440194' + }, + { + 'redirect': null, + 'path': '/projectManagement/CommitteeMaintenance', + 'component': 'dataNetworkDiskManagement/committee/CommitteeMaintenance', + 'route': '1', + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'icon': 'cus_committee', + 'componentName': 'CommitteeMaintenance', + 'title': '分标委维护' + }, + 'name': 'projectManagement-CommitteeMaintenance', + 'id': '1438380180083957762' + }, + { + 'redirect': '', + 'path': '/projectManagement/allMeetingList', + 'component': 'projectManagement/AllMeetingList', + 'route': '1', + 'meta': { + 'keepAlive': true, + 'internalOrExternal': false, + 'icon': 'fund', + 'componentName': 'AllMeetingList', + 'title': '会议汇总' + }, + 'name': 'projectManagement-allMeetingList', + 'id': '1626061755230580738' + }, + { + 'redirect': null, + 'path': '/projectManagement/InternationalSeminar', + 'component': 'projectManagement/InternationalSeminar', + 'route': '1', + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'icon': 'cus_international', + 'componentName': 'InternationalSeminar', + 'title': '国际研讨会' + }, + 'name': 'projectManagement-InternationalSeminar', + 'id': '1438072102897672193' + }, + { + 'redirect': null, + 'path': '/projectManagement/OtherMeeting', + 'component': 'projectManagement/OtherMeeting', + 'route': '1', + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'icon': 'cus_othermeeting', + 'componentName': 'OtherMeeting', + 'title': '其他会议' + }, + 'name': 'projectManagement-OtherMeeting', + 'id': '1438072308749918210' + }, + { + 'redirect': null, + 'path': '/incomePayments/memberManage/MemberProjectList', + 'component': 'incomePayments/memberManage/MemberProjectList', + 'route': '1', + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'icon': 'cus_datamembers', + 'componentName': 'MemberProjectList', + 'title': '资料网员' + }, + 'name': 'incomePayments-memberManage-MemberProjectList', + 'id': '1438394787611664386' + }, + { + 'redirect': null, + 'path': '/incomePayments/memberMan', + 'component': 'layouts/RouteView', + 'route': '1', + 'children': [ + { + 'path': '/projectManagement/CommitteeMeetingStard', + 'component': 'projectManagement/CommitteeMeeting', + 'route': '1', + 'hidden': true, + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'componentName': 'CommitteeMeeting', + 'title': '标协会议维护' + }, + 'name': 'projectManagement-CommitteeMeetingStard', + 'id': '1443470646404014081' + }, + { + 'path': '/incomePayments/meetManage/AttendanceStandardsMeeting', + 'component': 'incomePayments/meetManage/Attendance', + 'route': '1', + 'hidden': true, + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'componentName': 'Attendance', + 'title': '标协会议参会情况' + }, + 'name': 'incomePayments-meetManage-AttendanceStandardsMeeting', + 'id': '1443470901166039042' + }, + { + 'path': '/incomePayments/memberManage/CertificateMaintenanceList', + 'component': 'incomePayments/memberManage/CertificateMaintenanceList', + 'route': '1', + 'hidden': true, + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'componentName': 'CertificateMaintenanceList', + 'title': '标协会员证书维护' + }, + 'name': 'incomePayments-memberManage-CertificateMaintenanceList', + 'id': '1469243457112403970' + }, + { + 'path': '/incomePayments/memberManage/SafeguardStardsMemberList', + 'component': 'incomePayments/memberManage/SafeguardStardsMemberList', + 'route': '1', + 'hidden': true, + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'componentName': 'SafeguardStardsMemberList', + 'title': '标协会员成员维护' + }, + 'name': 'incomePayments-memberManage-SafeguardStardsMemberList', + 'id': '1443396211206606850' + }, + { + 'path': '/incomePayments/memberManage/councilMeetingManage', + 'component': 'incomePayments/memberManage/CouncilMeetingManage', + 'route': '1', + 'hidden': true, + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'componentName': 'CouncilMeetingManage', + 'title': '理事会会议维护' + }, + 'name': 'incomePayments-memberManage-councilMeetingManage', + 'id': '1470704530325544962' + }, + { + 'path': '/incomePayments/memberManage/StardsMemberProjectList', + 'component': 'incomePayments/memberManage/StardsMemberProjectList', + 'route': '1', + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'componentName': 'StardsMemberProjectList', + 'title': '年度会员维护' + }, + 'name': 'incomePayments-memberManage-StardsMemberProjectList', + 'id': '1438395037290192897' + }, + { + 'path': '/incomePayments/memberManage/CouncilMaintenanceList', + 'component': 'incomePayments/memberManage/councilMaintenance/CouncilMaintenanceList', + 'route': '1', + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'componentName': 'CouncilMaintenanceList', + 'title': '理事会' + }, + 'name': 'incomePayments-memberManage-CouncilMaintenanceList', + 'id': '1469221945005338626' + } + ], + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'icon': 'cus_member', + 'componentName': 'RouteView', + 'title': '标协会员' + }, + 'name': 'incomePayments-memberMan', + 'id': '1438394322899558402' + }, + { + 'redirect': null, + 'path': '/packManagement', + 'component': 'layouts/RouteView', + 'route': '1', + 'children': [ + { + 'path': '/packManagement/PackProjectMaintenance', + 'component': 'packManagement/PackProjectMaintenance', + 'route': '1', + 'hidden': true, + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'componentName': 'PackProjectMaintenance', + 'title': '打包项目维护' + }, + 'name': 'packManagement-PackProjectMaintenance', + 'id': '1435493270476906497' + }, + { + 'path': '/packManagement/PackCompanyList', + 'component': 'packManagement/PackCompanyList', + 'route': '1', + 'meta': { + 'keepAlive': true, + 'internalOrExternal': false, + 'componentName': 'PackCompanyList', + 'title': '打包管理' + }, + 'name': 'packManagement-PackCompanyList', + 'id': '1437298076409475074' + } + ], + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'icon': 'cus_pack', + 'componentName': 'RouteView', + 'title': '打包管理' + }, + 'name': 'packManagement', + 'id': '1435438184501411842' + }, + { + 'redirect': null, + 'path': '/contractManagement', + 'component': 'layouts/RouteView', + 'route': '1', + 'children': [ + { + 'path': '/contractManagement/RevenueContractList', + 'component': 'contractManagement/revenueContract/RevenueContractList', + 'route': '1', + 'meta': { + 'keepAlive': true, + 'internalOrExternal': false, + 'componentName': 'RevenueContractList', + 'title': '收入合同' + }, + 'name': 'contractManagement-RevenueContractList', + 'id': '1433250634957398018' + }, + { + 'path': '/contractManagement/AddRevenueContract', + 'component': 'contractManagement/revenueContract/modules/RevenueContractModule', + 'route': '1', + 'hidden': true, + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'componentName': 'RevenueContractModule', + 'title': '新增/编辑收入合同' + }, + 'name': 'contractManagement-AddRevenueContract', + 'id': '1433350181612224513' + }, + { + 'path': '/contractManagement/RevenueContractDetail', + 'component': 'contractManagement/revenueContract/modules/RevenueContractDetail', + 'route': '1', + 'hidden': true, + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'componentName': 'RevenueContractDetail', + 'title': '收入合同详情' + }, + 'name': 'contractManagement-RevenueContractDetail', + 'id': '1433350586698104834' + }, + { + 'path': '/contractManagement/RevenueContractModule', + 'component': 'contractManagement/expenditureContract/modules/ExpenditureContractModule', + 'route': '1', + 'hidden': true, + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'componentName': 'ExpenditureContractModule', + 'title': '新建/编辑支出合同' + }, + 'name': 'contractManagement-RevenueContractModule', + 'id': '1435142499726094338' + }, + { + 'path': '/contractManagement/ExpenditureContractDetail', + 'component': 'contractManagement/expenditureContract/ExpenditureContractDetail', + 'route': '1', + 'hidden': true, + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'componentName': 'ExpenditureContractDetail', + 'title': '支出合同详情' + }, + 'name': 'contractManagement-ExpenditureContractDetail', + 'id': '1452534800794345473' + }, + { + 'path': '/contractManagement/ExpenditureContract', + 'component': 'contractManagement/expenditureContract/ExpenditureContractList', + 'route': '1', + 'meta': { + 'keepAlive': true, + 'internalOrExternal': false, + 'componentName': 'ExpenditureContractList', + 'title': '支出合同' + }, + 'name': 'contractManagement-ExpenditureContract', + 'id': '1435135348211298306' + } + ], + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'icon': 'cus_contract', + 'componentName': 'RouteView', + 'title': '合同管理' + }, + 'name': 'contractManagement', + 'id': '1433250321034715138' + }, + { + 'redirect': null, + 'path': '/financialManagement', + 'component': 'layouts/RouteView', + 'route': '1', + 'children': [ + { + 'path': '/financialManagement/ArriveAndInvoivingList', + 'component': 'financialManagement/arriveAndInvoicing/ArriveAndInvoivingList', + 'route': '1', + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'componentName': 'ArriveAndInvoivingList', + 'title': '到账开票' + }, + 'name': 'financialManagement-ArriveAndInvoivingList', + 'id': '1435815710331621378' + } + ], + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'icon': 'cus_financial', + 'componentName': 'RouteView', + 'title': '财务管理' + }, + 'name': 'financialManagement', + 'id': '1435815424800182273' + }, + { + 'redirect': null, + 'path': '/layouts/RouteView', + 'component': 'layouts/RouteView', + 'route': '1', + 'children': [ + { + 'path': '/mailManagement/BillMail', + 'component': 'mailManagement/BillMail', + 'route': '1', + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'componentName': 'BillMail', + 'title': '票据邮寄' + }, + 'name': 'mailManagement-BillMail', + 'id': '1437961079091441666' + }, + { + 'path': '/mailManagement/ContractMail', + 'component': 'mailManagement/ContractMail', + 'route': '1', + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'componentName': 'ContractMail', + 'title': '合同邮寄' + }, + 'name': 'mailManagement-ContractMail', + 'id': '1437961376534704129' + }, + { + 'path': '/mailManagement/PrintPage', + 'component': 'mailManagement/PrintPage', + 'route': '1', + 'hidden': true, + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'componentName': 'PrintPage', + 'title': '票据打印' + }, + 'name': 'mailManagement-PrintPage', + 'id': '1453930917889167362' + } + ], + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'icon': 'mail', + 'componentName': 'RouteView', + 'title': '邮寄管理' + }, + 'name': 'layouts-RouteView', + 'id': '1437958700300316673' + }, + { + 'redirect': null, + 'path': '/statisticalReport', + 'component': 'layouts/RouteView', + 'route': '1', + 'children': [ + { + 'path': '/statisticalReport/WholeInstituteStatisticsList', + 'component': 'statisticalReport/WholeInstituteStatisticsList', + 'route': '1', + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'componentName': 'WholeInstituteStatisticsList', + 'title': '全所统计' + }, + 'name': 'statisticalReport-WholeInstituteStatisticsList', + 'id': '1437320639512649730' + }, + { + 'path': '/statisticalReport/enterprisePaymentStatistics/EnterprisePaymentStatisticsDetail', + 'component': 'statisticalReport/enterprisePaymentStatistics/EnterprisePaymentStatisticsDetail', + 'route': '1', + 'hidden': true, + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'componentName': 'EnterprisePaymentStatisticsDetail', + 'title': '企业来款详情' + }, + 'name': 'statisticalReport-enterprisePaymentStatistics-EnterprisePaymentStatisticsDetail', + 'id': '1437594683755470849' + }, + { + 'path': '/statisticalReport/workingGroupPaymentStatistics/WorkingGroupPaymentStatisticsDetail', + 'component': 'statisticalReport/workingGroupPaymentStatistics/WorkingGroupPaymentStatisticsDetail', + 'route': '1', + 'hidden': true, + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'componentName': 'WorkingGroupPaymentStatisticsDetail', + 'title': '工作组来款详情' + }, + 'name': 'statisticalReport-workingGroupPaymentStatistics-WorkingGroupPaymentStatisticsDetail', + 'id': '1437596899065208833' + }, + { + 'path': '/statisticalReport/enterprisePaymentStatistics/EnterprisePaymentStatisticsList', + 'component': 'statisticalReport/enterprisePaymentStatistics/EnterprisePaymentStatisticsList', + 'route': '1', + 'meta': { + 'keepAlive': true, + 'internalOrExternal': false, + 'componentName': 'EnterprisePaymentStatisticsList', + 'title': '企业来款统计' + }, + 'name': 'statisticalReport-enterprisePaymentStatistics-EnterprisePaymentStatisticsList', + 'id': '1437593594347921410' + }, + { + 'path': '/statisticalReport/workingGroupPaymentStatistics/WorkingGroupPaymentStatisticsList', + 'component': 'statisticalReport/workingGroupPaymentStatistics/WorkingGroupPaymentStatisticsList', + 'route': '1', + 'meta': { + 'keepAlive': true, + 'internalOrExternal': false, + 'componentName': 'WorkingGroupPaymentStatisticsList', + 'title': '工作组来款统计' + }, + 'name': 'statisticalReport-workingGroupPaymentStatistics-WorkingGroupPaymentStatisticsList', + 'id': '1437596772434976770' + }, + { + 'path': '/statisticalReport/projectPaymentStatisticsList', + 'component': 'statisticalReport/departmentStatistics/ProjectPaymentStatisticsList', + 'route': '1', + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'componentName': 'ProjectPaymentStatisticsList', + 'title': '科室统计' + }, + 'name': 'statisticalReport-projectPaymentStatisticsList', + 'id': '1437597378537070593' + }, + { + 'path': '/statisticalReport/departmentStatistics/IndividualPaymentStatisticsList', + 'component': 'statisticalReport/departmentStatistics/IndividualPaymentStatisticsList', + 'route': '1', + 'meta': { + 'keepAlive': true, + 'internalOrExternal': false, + 'componentName': 'IndividualPaymentStatisticsList', + 'title': '个人来款统计' + }, + 'name': 'statisticalReport-departmentStatistics-IndividualPaymentStatisticsList', + 'id': '1437597826593595394' + }, + { + 'path': '/statisticalReport/departmentAllStatistics', + 'component': 'statisticalReport/departmentAllStatistics/DepartmentAllStatistics', + 'route': '1', + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'componentName': 'DepartmentAllStatistics', + 'title': '科室总体统计' + }, + 'name': 'statisticalReport-departmentAllStatistics', + 'id': '1535558715796852737' + }, + { + 'path': '/statisticalReport/WholePaymentsStatistics', + 'component': 'statisticalReport/WholePaymentsStatistics', + 'route': '1', + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'componentName': 'WholePaymentsStatistics', + 'title': '全所收入统计' + }, + 'name': 'statisticalReport-WholePaymentsStatistics', + 'id': '1553997970898395138' + } + ], + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'icon': 'pie-chart', + 'componentName': 'RouteView', + 'title': '统计报表' + }, + 'name': 'statisticalReport', + 'id': '1437320526513905666' + }, + { + 'redirect': null, + 'path': '/message', + 'component': 'layouts/RouteView', + 'route': '1', + 'children': [ + { + 'path': '/modules/message/sysMessageTemplateList', + 'component': 'modules/message/SysMessageTemplateList', + 'route': '1', + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'componentName': 'SysMessageTemplateList', + 'title': '模板管理' + }, + 'name': 'modules-message-sysMessageTemplateList', + 'id': 'f780d0d3083d849ccbdb1b1baee4911d' + }, + { + 'path': '/isystem/noticeList', + 'component': 'modules/notice/SysNoticeList', + 'route': '1', + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'componentName': 'SysNoticeList', + 'title': '公告管理' + }, + 'name': 'isystem-noticeList', + 'id': '1679684027710234625' + }, + { + 'path': '/isps/userAnnouncement', + 'component': 'system/UserAnnouncementList', + 'route': '1', + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'componentName': 'UserAnnouncementList', + 'title': '我的消息' + }, + 'name': 'isps-userAnnouncement', + 'id': '53a9230444d33de28aa11cc108fb1dba' + } + ], + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'icon': 'message', + 'componentName': 'RouteView', + 'title': '消息中心' + }, + 'name': 'message', + 'id': '5c8042bd6c601270b2bbd9b20bccc68b' + }, + { + 'redirect': null, + 'path': '/isystem', + 'component': 'layouts/RouteView', + 'route': '1', + 'children': [ + { + 'path': '/isystem/user', + 'component': 'system/UserList', + 'route': '1', + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'componentName': 'UserList', + 'title': '用户管理' + }, + 'name': 'isystem-user', + 'id': '3f915b2769fc80648e92d04e84ca059d' + }, + { + 'path': '/isystem/roleUserList', + 'component': 'system/RoleUserList', + 'route': '1', + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'componentName': 'RoleUserList', + 'title': '角色管理' + }, + 'name': 'isystem-roleUserList', + 'id': '190c2b43bec6a5f7a4194a85db67d96a' + }, + { + 'path': '/isystem/depart', + 'component': 'system/DepartList', + 'route': '1', + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'componentName': 'DepartList', + 'title': '组织机构管理' + }, + 'name': 'isystem-depart', + 'id': '45c966826eeff4c99b8f8ebfe74511fc' + }, + { + 'path': '/isystem/systemDept', + 'component': 'system/SystemDept', + 'route': '1', + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'componentName': 'SystemDept', + 'title': '系统催款' + }, + 'name': 'isystem-systemDept', + 'id': '1435897700300984321' + }, + { + 'path': '/isystem/permission', + 'component': 'system/PermissionList', + 'route': '1', + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'componentName': 'PermissionList', + 'title': '菜单管理' + }, + 'name': 'isystem-permission', + 'id': '1423105401902956546' + }, + { + 'path': '/isystem/dict', + 'component': 'system/DictList', + 'route': '1', + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'componentName': 'DictList', + 'title': '数据字典' + }, + 'name': 'isystem-dict', + 'id': 'f1cb187abf927c88b89470d08615f5ac' + }, + { + 'path': '/isystem/log', + 'component': 'system/LogList', + 'route': '1', + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'componentName': 'LogList', + 'title': '日志管理' + }, + 'name': 'isystem-log', + 'id': '1423125889559658497' + } + ], + 'meta': { + 'keepAlive': false, + 'internalOrExternal': false, + 'icon': 'setting', + 'componentName': 'RouteView', + 'title': '系统管理' + }, + 'name': 'isystem', + 'id': 'd7d6e2e4e2934f2c9385a623fd98c6f3' + } + ] + }, + 'timestamp': 1692676070572 +} + + +const filterTreeData = (treeData) => { + const result = [] + treeData.map(item => { + // console.log('-----item-------', item) + if(item.meta.externalTerminalShow) { + let treeNode = {...item } + if (item.children && item.children.length > 0) { + treeNode.children = [...filterTreeData(item.children)] + } + result.push(treeNode) + } + }) + return result +} + +console.log("------filterTreeData(menuList.result.menu)---------", filterTreeData(menuList.result.menu)) \ No newline at end of file diff --git a/src/utils/mixin.js b/src/utils/mixin.js new file mode 100644 index 0000000..4aa8f1d --- /dev/null +++ b/src/utils/mixin.js @@ -0,0 +1,40 @@ +// import Vue from 'vue' +import { mapState } from 'vuex' + +// const mixinsComputed = Vue.config.optionMergeStrategies.computed +// const mixinsMethods = Vue.config.optionMergeStrategies.methods + +const mixin = { + computed: { + ...mapState({ + layoutMode: state => state.app.layout, + navTheme: state => state.app.theme, + primaryColor: state => state.app.color, + colorWeak: state => state.app.weak, + multipage: state => state.app.multipage,//多页签设置 + fixedHeader: state => state.app.fixedHeader, + fixSiderbar: state => state.app.fixSiderbar, + contentWidth: state => state.app.contentWidth, + autoHideHeader: state => state.app.autoHideHeader, + sidebarOpened: state => state.app.sidebar.opened + }) + } +} + +const mixinDevice = { + computed: { + ...mapState({ + device: state => state.app.device, + }) + }, + methods: { + isMobile () { + return this.device === 'mobile' + }, + isDesktop () { + return this.device === 'desktop' + } + } +} + +export { mixin, mixinDevice } \ No newline at end of file diff --git a/src/utils/permissions.js b/src/utils/permissions.js new file mode 100644 index 0000000..e4b60bc --- /dev/null +++ b/src/utils/permissions.js @@ -0,0 +1,8 @@ +export function actionToObject(json) { + try { + return JSON.parse(json) + } catch (e) { + console.log('err', e.message) + } + return [] +} \ No newline at end of file diff --git a/src/utils/portal/constant.js b/src/utils/portal/constant.js new file mode 100644 index 0000000..cadf2ba --- /dev/null +++ b/src/utils/portal/constant.js @@ -0,0 +1,20 @@ +/** + * 功能模块 + * @type {{LEAVE_EARLY: {text: string, value: string}, LATE: {text: string, value: string}, ABSENT: {text: string, value: string}, NO_SIGN: {text: string, value: string}, NORMAL: {text: string, value: string}}} + */ +export const FunctionEnum = { + EoaCmsBanner: { path: 'modules/eoa/cmsoa/modules/EoaCmsBanner', formData: 'carouselImg' }, + EoaCmsNewsInfo: { path: 'modules/eoa/cmsoa/modules/EoaCmsNewsInfo', formData: 'newsInfo' }, + EoaCmsRuleInfo: { path: 'modules/eoa/cmsoa/modules/EoaCmsRuleInfo', formData: 'ruleDownInfo' }, + EoaCmsSignNews: { path: 'modules/eoa/cmsoa/modules/EoaCmsSignNews', formData: 'signNews' }, + EoaCmsUserNotice: { path: 'modules/eoa/cmsoa/modules/EoaCmsUserNotice', formData: 'userNotice' }, + EoaCmsPlan: { path: 'modules/eoa/cmsoa/modules/EoaCmsPlan', formData: '' }, + EoaCmsLink: { path: 'modules/eoa/cmsoa/modules/EoaCmsLink', formData: '' }, + EoaCmsCommUse:{ path: 'modules/eoa/cmsbpm/modules/EoaCmsCommUse', formData: '' }, + EoaCmsMyProcess:{ path: 'modules/eoa/cmsbpm/modules/EoaCmsMyProcess', formData: '' }, + EoaCmsApplyProcess:{ path: 'modules/eoa/cmsbpm/modules/EoaCmsApplyProcess', formData: '' }, + EoaCmsProcessNotice:{ path: 'modules/eoa/cmsbpm/modules/EoaCmsProcessNotice', formData: '' }, + EoaCmsProcessChatData:{ path: 'modules/eoa/cmsbpm/modules/EoaCmsProcessChatData', formData: '' }, + EoaCmsProcessTypeChat:{ path: 'modules/eoa/cmsbpm/modules/EoaCmsProcessTypeChat', formData: '' }, + EoaCmsEmail:{ path: 'modules/eoa/cmsbpm/modules/EoaCmsEmail', formData: '' }, +} \ No newline at end of file diff --git a/src/utils/preventClick.js b/src/utils/preventClick.js new file mode 100644 index 0000000..1aab922 --- /dev/null +++ b/src/utils/preventClick.js @@ -0,0 +1,19 @@ +export default { + + install (Vue) { + // 防重复点击(指令实现) + Vue.directive('preventclick', { + inserted (el, binding) { + el.addEventListener('click', () => { + if (!el.disabled) { + el.disabled = true + setTimeout(() => { + el.disabled = false + }, binding.value || 1000) + } + }) + } + }) + } + +} diff --git a/src/utils/projectCheck.js b/src/utils/projectCheck.js new file mode 100644 index 0000000..9163812 --- /dev/null +++ b/src/utils/projectCheck.js @@ -0,0 +1,16 @@ +import { getIsAssociatedProject } from '../api/incomePaymentsApi' +/** + * 验证项目是否关联合同 + * @param projectId 项目id + */ +export function checkAssociatedProject(projectId) { + return new Promise(resolve => { + getIsAssociatedProject({projectId: projectId}).then(res => { + if (res.success) { + resolve(false) + } else { + resolve(true) + } + }) + }) +} \ No newline at end of file diff --git a/src/utils/props-util.js b/src/utils/props-util.js new file mode 100644 index 0000000..9c94200 --- /dev/null +++ b/src/utils/props-util.js @@ -0,0 +1,115 @@ +/** + * 该文件截取自 "ant-design-vue/es/_util/props-util.js" 文件,并对其做出特殊修改 + */ +function classNames() { + let classes = [] + + for (let i = 0; i < arguments.length; i++) { + let arg = arguments[i] + if (!arg) continue + + let argType = typeof arg + + if (argType === 'string' || argType === 'number') { + classes.push(arg) + } else if (Array.isArray(arg) && arg.length) { + let inner = classNames.apply(null, arg) + if (inner) { + classes.push(inner) + } + } else if (argType === 'object') { + for (let key in arg) { + if (arg.hasOwnProperty(key) && arg[key]) { + classes.push(key) + } + } + } + } + return classes.join(' ') +} + +const camelizeRE = /-(\w)/g + +function camelize(str) { + return str.replace(camelizeRE, (_, c) => (c ? c.toUpperCase() : '')) +} + + +function objectCamelize(obj) { + let res = {} + Object.keys(obj).forEach(k => (res[camelize(k)] = obj[k])) + return res +} + +function parseStyleText(cssText = '', camel) { + const res = {} + const listDelimiter = /;(?![^(]*\))/g + const propertyDelimiter = /:(.+)/ + cssText.split(listDelimiter).forEach(function (item) { + if (item) { + const tmp = item.split(propertyDelimiter) + if (tmp.length > 1) { + const k = camel ? camelize(tmp[0].trim()) : tmp[0].trim() + res[k] = tmp[1].trim() + } + } + }) + return res +} + +export function getClass(ele) { + let data = {} + if (ele.data) { + data = ele.data + } else if (ele.$vnode && ele.$vnode.data) { + data = ele.$vnode.data + } + const tempCls = data.class || {} + const staticClass = data.staticClass + let cls = {} + staticClass && + staticClass.split(' ').forEach(c => { + cls[c.trim()] = true + }) + if (typeof tempCls === 'string') { + tempCls.split(' ').forEach(c => { + cls[c.trim()] = true + }) + } else if (Array.isArray(tempCls)) { + classNames(tempCls) + .split(' ') + .forEach(c => { + cls[c.trim()] = true + }) + } else { + cls = { ...cls, ...tempCls } + } + return cls +} + +export function getStyle(ele, camel) { + + getClass(ele) + + let data = {} + if (ele.data) { + data = ele.data + } else if (ele.$vnode && ele.$vnode.data) { + data = ele.$vnode.data + } + + // update-begin-author:sunjianlei date:20200303 for: style 和 staticStyle 可以共存 + let style = data.style || {} + let staticStyle = data.staticStyle + staticStyle = staticStyle ? objectCamelize(data.staticStyle) : {} + // update-end-author:sunjianlei date:20200303 for: style 和 staticStyle 可以共存 + + if (typeof style === 'string') { + style = parseStyleText(style, camel) + } else if (camel && style) { + // 驼峰化 + style = objectCamelize(style) + } + return { ...staticStyle, ...style } +} + diff --git a/src/utils/request.js b/src/utils/request.js new file mode 100644 index 0000000..b48354f --- /dev/null +++ b/src/utils/request.js @@ -0,0 +1,165 @@ +import Vue from 'vue' +import axios from 'axios' +import store from '@/store' +import {Modal, notification} from 'ant-design-vue' +import { ACCESS_TOKEN, TENANT_ID } from '@/store/mutation-types' + +/** + * 【指定 axios的 baseURL】 + * 如果手工指定 baseURL: '/jero-boot' + * 则映射后端域名,通过 vue.config.js + * @type {*|string} + */ +let apiBaseUrl = window._CONFIG['domianURL'] || '/jero-boot' +//console.log("apiBaseUrl= ",apiBaseUrl) +// 创建 axios 实例 +const service = axios.create({ + //baseURL: '/jero-boot', + baseURL: apiBaseUrl, // api base_url + // 取消测试 + // timeout: 9000 // 请求超时时间 +}) + +const err = (error) => { + if (error.response) { + let data = error.response.data + const token = Vue.ls.get(ACCESS_TOKEN) + // console.log('------异常响应------',token) + // console.log('------异常响应------',error.response.status) + switch (error.response.status) { + case 403: + notification.error({ message: '系统提示', description: '拒绝访问',duration: 4}) + break + case 500: + // console.log('------error.response------',error.response) + // update-begin- --- author:liusq ------ date:20200910 ---- for:处理Blob情况---- + let type=error.response.request.responseType + if(type === 'blob'){ + blobToJson(data) + break + } + // update-end- --- author:liusq ------ date:20200910 ---- for:处理Blob情况---- + //notification.error({ message: '系统提示', description:'Token失效,请重新登录!',duration: 4}) + if(token && data.message.includes('Token失效')){ + // update-begin- --- author:scott ------ date:20190225 ---- for:Token失效采用弹框模式,不直接跳转---- + Modal.error({ + title: '登录已过期', + content: '很抱歉,登录已过期,请重新登录', + okText: '重新登录', + mask: false, + onOk: () => { + store.dispatch('Logout').then(() => { + Vue.ls.remove(ACCESS_TOKEN) + try { + let path = window.document.location.pathname + console.log('location pathname -> '+path) + if(path!='/' && path.indexOf('/user/login')==-1){ + window.location.reload() + } + }catch (e) { + window.location.reload() + } + }) + } + }) + // update-end- --- author:scott ------ date:20190225 ---- for:Token失效采用弹框模式,不直接跳转---- + } + break + case 404: + notification.error({ message: '系统提示', description:'很抱歉,资源未找到!',duration: 4}) + break + case 504: + notification.error({ message: '系统提示', description: '网络超时'}) + break + case 401: + notification.error({ message: '系统提示', description:'未授权,请重新登录',duration: 4}) + if (token) { + store.dispatch('Logout').then(() => { + setTimeout(() => { + window.location.reload() + }, 1500) + }) + } + break + default: + notification.error({ + message: '系统提示', + description: data.message, + duration: 4 + }) + break + } + } + return Promise.reject(error) +} + +// request interceptor +service.interceptors.request.use(config => { + const token = Vue.ls.get(ACCESS_TOKEN) + if (token) { + config.headers[ 'X-Access-Token' ] = token // 让每个请求携带自定义 token 请根据实际情况自行修改 + } + //update-begin-author:taoyan date:2020707 for:多租户 + let tenantid = Vue.ls.get(TENANT_ID) + if (!tenantid) { + tenantid = 0 + } + config.headers[ 'tenant_id' ] = tenantid + //update-end-author:taoyan date:2020707 for:多租户 + if(config.method=='get'){ + if(config.url.indexOf('sys/dict/getDictItems')<0){ + config.params = { + _t: Date.parse(new Date())/1000, + ...config.params + } + } + } + return config +},(error) => { + return Promise.reject(error) +}) + +// response interceptor +service.interceptors.response.use((response) => { + return response.data + }, err) + +/** + * Blob解析 + * @param data + */ +function blobToJson(data) { + let fileReader = new FileReader() + let token = Vue.ls.get(ACCESS_TOKEN) + fileReader.onload = function() { + try { + let jsonData = JSON.parse(this.result) // 说明是普通对象数据,后台转换失败 + console.log('jsonData',jsonData) + if (jsonData.status === 500) { + console.log('token----------》',token) + if(token && jsonData.message.includes('Token失效')){ + Modal.error({ + title: '登录已过期', + content: '很抱歉,登录已过期,请重新登录', + okText: '重新登录', + mask: false, + onOk: () => { + store.dispatch('Logout').then(() => { + Vue.ls.remove(ACCESS_TOKEN) + window.location.reload() + }) + } + }) + } + } + } catch (err) { + // 解析成对象失败,说明是正常的文件流 + console.log('blob解析fileReader返回err',err) + } + } + fileReader.readAsText(data) +} + +export { + service as axios +} diff --git a/src/utils/util.js b/src/utils/util.js new file mode 100644 index 0000000..e45e36f --- /dev/null +++ b/src/utils/util.js @@ -0,0 +1,714 @@ +import * as api from '@/api/api' +import { isURL } from '@/utils/validate' +import { JSEncrypt } from 'jsencrypt' + +// 全局字段,是否是外网部署 +export const isExternalTerminal = true + +// import onlineCommons from '@/components/onlineForm/onlineForm' +// +export function timeFix() { + const time = new Date() + const hour = time.getHours() + return hour < 9 ? '早上好' : (hour <= 11 ? '上午好' : (hour <= 13 ? '中午好' : (hour < 20 ? '下午好' : '晚上好'))) +} + +export function welcome() { + const arr = ['休息一会儿吧', '准备吃什么呢?', '要不要打一把 DOTA', '我猜你可能累了'] + let index = Math.floor((Math.random() * arr.length)) + return arr[index] +} + +/** + * 触发 window.resize + */ +export function triggerWindowResizeEvent() { + let event = document.createEvent('HTMLEvents') + event.initEvent('resize', true, true) + event.eventType = 'message' + window.dispatchEvent(event) +} + +/** + * 过滤对象中为空的属性 + * @param obj + * @returns {*} + */ +export function filterObj(obj) { + if (!(typeof obj == 'object')) { + return + } + + for (let key in obj) { + // eslint-disable-next-line + if (obj.hasOwnProperty(key) + && (obj[key] == null || obj[key] == undefined || obj[key] === '')) { + delete obj[key] + } + } + return obj +} + +/** + * 时间格式化 + * @param value + * @param fmt + * @returns {*} + */ +export function formatDate(value, fmt) { + let regPos = /^\d+(\.\d+)?$/ + if (regPos.test(value)) { + //如果是数字 + let getDate = new Date(value) + let o = { + 'M+': getDate.getMonth() + 1, + 'd+': getDate.getDate(), + 'h+': getDate.getHours(), + 'm+': getDate.getMinutes(), + 's+': getDate.getSeconds(), + 'q+': Math.floor((getDate.getMonth() + 3) / 3), + 'S': getDate.getMilliseconds() + } + if (/(y+)/.test(fmt)) { + fmt = fmt.replace(RegExp.$1, (getDate.getFullYear() + '').substr(4 - RegExp.$1.length)) + } + for (let k in o) { + if (new RegExp('(' + k + ')').test(fmt)) { + fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length))) + } + } + return fmt + } else { + //TODO + value = value.trim() + return value.substr(0, fmt.length) + } +} + +/** + * 代码找出第一个没有下级子菜单的路由 + * @param data + */ +function findFirstRoute(data) { + if (data[0]) { + if (data[0] && data[0].children && data[0].children.length > 0) { + return findFirstRoute(data[0].children) + } else { + return data[0].path + } + } else { + return '/' + } +} + +// 生成首页路由 +export function generateIndexRouter(data) { + // 对任意页面重定向的地址做改变, + const redirectPath = findFirstRoute(data) + let indexRouter = [{ + path: '/', + name: 'dashboard', + //component: () => import('@/components/layouts/BasicLayout'), + // eslint-disable-next-line + component: resolve => require(['@/components/layouts/TabLayout'], resolve), + meta: { title: '首页' }, + // redirect: '/dashboard/analysis', + redirect: redirectPath, + children: [ + ...generateChildRouters(data) + ] + }, { + 'path': '*', 'redirect': '/404', 'hidden': true + }] + return indexRouter +} + +// 生成嵌套路由(子路由) + +function generateChildRouters(data) { + const routers = [] + for (let item of data) { + let component = '' + if (item.component.indexOf('layouts') >= 0) { + component = 'components/' + item.component + } else { + component = 'views/' + item.component + } + + // eslint-disable-next-line + let URL = (item.meta.url || '').replace(/{{([^}}]+)?}}/g, (s1, s2) => eval(s2)) // URL支持{{ window.xxx }}占位符变量 + if (isURL(URL)) { + item.meta.url = URL + } + + let componentPath + // eslint-disable-next-line + componentPath = resolve => require(['@/' + component + '.vue'], resolve) + let menu = { + path: item.path, + name: item.name, + redirect: item.redirect, + component: componentPath, + //component: resolve => require(['@/' + component+'.vue'], resolve), + hidden: item.hidden, + //component:()=> import(`@/views/${item.component}.vue`), + meta: { + title: item.meta.title, + icon: item.meta.icon, + url: item.meta.url, + permissionList: item.meta.permissionList, + keepAlive: item.meta.keepAlive, + /*update_begin author:wuxianquan date:20190908 for:赋值 */ + internalOrExternal: item.meta.internalOrExternal, + /*update_end author:wuxianquan date:20190908 for:赋值 */ + componentName: item.meta.componentName + } + } + if (item.alwaysShow) { + menu.alwaysShow = true + menu.redirect = menu.path + } + if (item.children && item.children.length > 0) { + menu.children = [...generateChildRouters(item.children)] + } + //--update-begin----author:scott---date:20190320------for:根据后台菜单配置,判断是否路由菜单字段,动态选择是否生成路由(为了支持参数URL菜单)------ + //判断是否生成路由 + if (item.route && item.route === '0') { + //console.log(' 不生成路由 item.route: '+item.route); + //console.log(' 不生成路由 item.path: '+item.path); + } else { + routers.push(menu) + } + //--update-end----author:scott---date:20190320------for:根据后台菜单配置,判断是否路由菜单字段,动态选择是否生成路由(为了支持参数URL菜单)------ + } + return routers +} + +/** + * 深度克隆对象、数组 + * @param obj 被克隆的对象 + * @return 克隆后的对象 + */ +export function cloneObject(obj) { + return JSON.parse(JSON.stringify(obj)) +} + +/** + * 随机生成数字 + * + * 示例:生成长度为 12 的随机数:randomNumber(12) + * 示例:生成 3~23 之间的随机数:randomNumber(3, 23) + * + * @param1 最小值 | 长度 + * @param2 最大值 + * @return int 生成后的数字 + */ +export function randomNumber() { + // 生成 最小值 到 最大值 区间的随机数 + const random = (min, max) => { + return Math.floor(Math.random() * (max - min + 1) + min) + } + if (arguments.length === 1) { + let [length] = arguments + // 生成指定长度的随机数字,首位一定不是 0 + let nums = [...Array(length).keys()].map((i) => (i > 0 ? random(0, 9) : random(1, 9))) + return parseInt(nums.join('')) + } else if (arguments.length >= 2) { + let [min, max] = arguments + return random(min, max) + } else { + return Number.NaN + } +} + +/** + * 随机生成字符串 + * @param length 字符串的长度 + * @param chats 可选字符串区间(只会生成传入的字符串中的字符) + * @return string 生成的字符串 + */ +export function randomString(length, chats) { + if (!length) length = 1 + if (!chats) chats = '0123456789qwertyuioplkjhgfdsazxcvbnm' + let str = '' + for (let i = 0; i < length; i++) { + let num = randomNumber(0, chats.length - 1) + str += chats[num] + } + return str +} + +/** + * 随机生成uuid + * @return string 生成的uuid + */ +export function randomUUID() { + let chats = '0123456789abcdef' + return randomString(32, chats) +} + +/** + * 下划线转驼峰 + * @param string + * @returns {*} + */ +export function underLine2CamelCase(string) { + return string.replace(/_([a-z])/g, function (all, letter) { + return letter.toUpperCase() + }) +} + +/** + * 判断是否显示办理按钮 + * @param bpmStatus + * @returns {*} + */ +export function showDealBtn(bpmStatus) { + if (bpmStatus != '1' && bpmStatus != '3' && bpmStatus != '4') { + return true + } + return false +} + +/** + * 增强CSS,可以在页面上输出全局css + * @param css 要增强的css + * @param id style标签的id,可以用来清除旧样式 + */ +export function cssExpand(css, id) { + let style = document.createElement('style') + style.type = 'text/css' + style.innerHTML = `@charset "UTF-8"; ${ css }` + // 清除旧样式 + if (id) { + let $style = document.getElementById(id) + if ($style != null) $style.outerHTML = '' + style.id = id + } + // 应用新样式 + document.head.appendChild(style) +} + + +/** 用于js增强事件,运行JS代码,可以传参 */ +// options 所需参数: +// 参数名 类型 说明 +// vm VueComponent vue实例 +// event Object event对象 +// jsCode String 待执行的js代码 +// errorMessage String 执行出错后的提示(控制台) +export function jsExpand(options = {}) { + + // 绑定到window上的keyName + let windowKeyName = 'J_CLICK_EVENT_OPTIONS' + if (typeof window[windowKeyName] != 'object') { + window[windowKeyName] = {} + } + + // 随机生成JS增强的执行id,防止冲突 + let id = randomString(16, 'qwertyuioplkjhgfdsazxcvbnm'.toUpperCase()) + // 封装按钮点击事件 + let code = ` + (function (o_${ id }) { + try { + (function (globalEvent, vm) { + ${ options.jsCode } + })(o_${ id }.event, o_${ id }.vm) + } catch (e) { + o_${ id }.error(e) + } + o_${ id }.done() + })(window['${ windowKeyName }']['EVENT_${ id }']) + ` + // 创建script标签 + const script = document.createElement('script') + // 将需要传递的参数挂载到window对象上 + window[windowKeyName]['EVENT_' + id] = { + vm: options.vm, + event: options.event, + // 当执行完成时,无论如何都会调用的回调事件 + done() { + // 执行完后删除新增的 script 标签不会撤销执行结果(已产生的结果不会被撤销) + script.outerHTML = '' + delete window[windowKeyName]['EVENT_' + id] + }, + // 当js运行出错的时候调用的事件 + error(e) { + console.group(`${ options.errorMessage || '用户自定义JS增强代码运行出错' }(${ new Date() })`) + console.error(e) + console.groupEnd() + } + } + // 将事件挂载到document中 + script.innerHTML = code + document.body.appendChild(script) +} + + +/** + * 重复值验证工具方法 + * + * 使用示例: + * { validator: (rule, value, callback) => validateDuplicateValue('sys_fill_rule', 'rule_code', value, this.model.id, callback) } + * + * @param tableName 被验证的表名 + * @param fieldName 被验证的字段名 + * @param fieldVal 被验证的值 + * @param dataId 数据ID,可空 + * @param callback + */ +export function validateDuplicateValue(tableName, fieldName, fieldVal, dataId, callback) { + if (fieldVal) { + let params = { tableName, fieldName, fieldVal, dataId } + api.duplicateCheck(params).then(res => { + res['success'] ? callback() : callback(res['message']) + }).catch(err => { + callback(err.message || err) + }) + } else { + callback() + } +} + +/** + * 根据编码校验规则code,校验传入的值是否合法 + * + * 使用示例: + * { validator: (rule, value, callback) => validateCheckRule('common', value, callback) } + * + * @param ruleCode 编码校验规则 code + * @param value 被验证的值 + * @param callback + */ +export function validateCheckRule(ruleCode, value, callback) { + if (ruleCode && value) { + value = encodeURIComponent(value) + api.checkRuleByCode({ ruleCode, value }).then(res => { + res['success'] ? callback() : callback(res['message']) + }).catch(err => { + callback(err.message || err) + }) + } else { + callback() + } +} + +/** + * 如果值不存在就 push 进数组,反之不处理 + * @param array 要操作的数据 + * @param value 要添加的值 + * @param key 可空,如果比较的是对象,可能存在地址不一样但值实际上是一样的情况,可以传此字段判断对象中唯一的字段,例如 id。不传则直接比较实际值 + * @returns {boolean} 成功 push 返回 true,不处理返回 false + */ +export function pushIfNotExist(array, value, key) { + for (let item of array) { + if (key && (item[key] === value[key])) { + return false + } else if (item === value) { + return false + } + } + array.push(value) + return true +} + +/** + * 可用于判断是否成功 + * @type {symbol} + */ +export const succeedSymbol = Symbol() +/** + * 可用于判断是否失败 + * @type {symbol} + */ +export const failedSymbol = Symbol() + +/** + * 使 promise 无论如何都会 resolve,除非传入的参数不是一个Promise对象或返回Promise对象的方法 + * 一般用在 Promise.all 中 + * + * @param promise 可传Promise对象或返回Promise对象的方法 + * @returns {Promise} + */ +export function alwaysResolve(promise) { + return new Promise((resolve, reject) => { + let p = promise + if (typeof promise === 'function') { + p = promise() + } + if (p instanceof Promise) { + p.then(data => { + resolve({ type: succeedSymbol, data }) + }).catch(error => { + resolve({ type: failedSymbol, error }) + }) + } else { + reject('alwaysResolve: 传入的参数不是一个Promise对象或返回Promise对象的方法') + } + }) +} + +/** + * 简单实现防抖方法 + * + * 防抖(debounce)函数在第一次触发给定的函数时,不立即执行函数,而是给出一个期限值(delay),比如100ms。 + * 如果100ms内再次执行函数,就重新开始计时,直到计时结束后再真正执行函数。 + * 这样做的好处是如果短时间内大量触发同一事件,只会执行一次函数。 + * + * @param fn 要防抖的函数 + * @param delay 防抖的毫秒数 + * @returns {Function} + */ +export function simpleDebounce(fn, delay = 100) { + let timer = null + return function () { + let args = arguments + if (timer) { + clearTimeout(timer) + } + timer = setTimeout(() => { + fn.apply(this, args) + }, delay) + } +} + +/** + * 不用正则的方式替换所有值 + * @param text 被替换的字符串 + * @param checker 替换前的内容 + * @param replacer 替换后的内容 + * @returns {String} 替换后的字符串 + */ +export function replaceAll(text, checker, replacer) { + let lastText = text + text = text.replace(checker, replacer) + if (lastText !== text) { + return replaceAll(text, checker, replacer) + } + return text +} + +/** + * 获取事件冒泡路径,兼容 IE11,Edge,Chrome,Firefox,Safari + * 目前使用的地方:JEditableTable Span模式 + */ +export function getEventPath(event) { + let target = event.target + let path = (event.composedPath && event.composedPath()) || event.path + + if (path != null) { + return (path.indexOf(window) < 0) ? path.concat(window) : path + } + + if (target === window) { + return [window] + } + + let getParents = (node, memo) => { + memo = memo || [] + const parentNode = node.parentNode + + if (!parentNode) { + return memo + } else { + return getParents(parentNode, memo.concat(parentNode)) + } + } + return [target].concat(getParents(target), window) +} + +/** + * 根据组件名获取父级 + * @param vm + * @param name + * @returns {Vue | null|null|Vue} + */ +export function getVmParentByName(vm, name) { + let parent = vm.$parent + if (parent && parent.$options) { + if (parent.$options.name === name) { + return parent + } else { + let res = getVmParentByName(parent, name) + if (res) { + return res + } + } + } + return null +} + +/** + * 使一个值永远不会为(null | undefined) + * + * @param value 要处理的值 + * @param def 默认值,如果value为(null | undefined)则返回的默认值,可不传,默认为'' + */ +export function neverNull(value, def) { + return value == null ? (neverNull(def, '')) : value +} + +/** + * 根据元素值移除数组中的一个元素 + * @param array 数组 + * @param prod 属性名 + * @param value 属性值 + * @returns {string} + */ +export function removeArrayElement(array, prod, value) { + let index = -1 + for (let i = 0; i < array.length; i++) { + if (array[i][prod] == value) { + index = i + break + } + } + if (index >= 0) { + array.splice(index, 1) + } +} + +/** + * 前端加密方法 + * @param publicKey:公钥 + * @param message:要加密的字符串 + * */ +export function encrypt(publicKey, message) { + const encrypt = new JSEncrypt() + encrypt.setPublicKey(publicKey) // publicKey为公钥 + const txt = encrypt.encrypt(message) + return txt +} + +/** + * 校验数组是否有重复的元素 + * */ +export function isRepeat(arr) { + var hash = {} + for (var i in arr) { + if (hash[arr[i]]) { + return true + } + // 不存在该元素,则赋值为true,可以赋任意值,相应的修改if判断条件即可 + hash[arr[i]] = true + } + return false +} + +/** + * 补充0 + * */ + +export function addZero(e) { + // (e) => {e.target.value = e.target.value.replace(/[^0-9.]/g,'')} + // console.log(e.target.value) + // 判断是否包含 . + let value = e.target.value.toString() + // 判断是否有数据 + if (value && value !== '') { + // 判断是否包含小数点 + if (value.includes('.')) { + // 获取索引 + let index = value.indexOf('.') + console.log('index', index) + // 小树点之前的数 + let beforePointValue = value.slice(0, index + 1) + // 小数点之后的数字 + let afterPointValue = value.slice(index + 1) + // 大于等于2 + if (afterPointValue.length >= 2) { + e.target.value = beforePointValue + afterPointValue + } else { + // 不足2位补0 + afterPointValue = afterPointValue.padEnd(2, '0') + e.target.value = beforePointValue + afterPointValue + } + } else { + // 不包括小数点 + e.target.value = e.target.value + '.00' + return e.target.value + } + } +} + +/** + * 数组内元素是否完全一致 + * @param array + * @returns {boolean} + */ +export function isAllEqual(array) { + if (array.length > 0) { + return !array.some(item => { + return item !== array[0] + }) + } else { + return true + } +} + +/** + * 将时间戳转换为YYYY-MM-DD HH:mm:ss格式 + */ +export function processingTimestamp(value) { + let data = new Date(value) + let y = data.getFullYear() + let m = data.getMonth() + 1 + m = m < 10 ? ('0' + m) : m + let d = data.getDate() + d = d < 10 ? ('0' + d) : d + let h = data.getHours() + h = h < 10 ? ('0' + h) : h + let minute = data.getMinutes() + let second = data.getSeconds() + minute = minute < 10 ? ('0' + minute) : minute + second = second < 10 ? ('0' + second) : second + return y + '-' + m + '-' + d + ' ' + h + ':' + minute + ':' + second +} + + +function isObject (obj) { + return Object.prototype.toString.call(obj) === '[object Object]' +} +function isArray (arr) { + return Array.isArray(arr) +} +// 深度合并功能 +export function deepMerge (target, ...arg) { + return arg.reduce((acc, cur) => { + return Object.keys(cur).reduce((subAcc, key) => { + const srcVal = cur[key] + if (isObject(srcVal)) { + subAcc[key] = deepMerge(subAcc[key] ? subAcc[key] : {}, srcVal) + } else if (isArray(srcVal)) { + // series: [],下层数组直接赋值 + subAcc[key] = srcVal.map((item, idx) => { + if (isObject(item)) { + const curAccVal = subAcc[key] ? subAcc[key] : [] + return deepMerge(curAccVal[idx] ? curAccVal[idx] : {}, item) + } else { + return item + } + }) + } else { + subAcc[key] = srcVal + } + return subAcc + }, acc) + }, target) +} + +// 为外部系统的时候,过滤掉所有的 isExternalTerminal = false 的数据 +export const filterTreeData = (treeData) => { + const result = [] + treeData.map(item => { + if(item.meta.externalTerminalShow) { + let treeNode = {...item } + if (item.children && item.children.length > 0) { + treeNode.children = [...filterTreeData(item.children)] + } + result.push(treeNode) + } + }) + return result +} + diff --git a/src/utils/vTrim.js b/src/utils/vTrim.js new file mode 100644 index 0000000..fe24805 --- /dev/null +++ b/src/utils/vTrim.js @@ -0,0 +1,30 @@ +const vTrim = { + install(Vue, options) { + Vue.directive('fac', { + componentUpdated: (el, {value, modifiers}) => { + let input = el + input.oninput = (event) => { + console.log(event.target.value) + // event.target.value = event.target.value.replace(/(^\s*)|(\s*$)/g, "") + input.value = input.value.replace(/(^\s*)|(\s*$)/g, '') + } + // // 获取当前光标所在位置 + // const inputSelection = input.selectionStart + // // 获取加上空格后的字符串长度 + // const valueLength = input.value.length + // // 这里是去除空格,可以通过其他的正则去做其他的操作(格式化手机号啊身份证号码之类的,后续也可以通过指令传入拓展成各种格式化指令) + // let newValue = value.replace(/\s/g, '') + // if (value !== newValue) { + // input.value = newValue + // if (input.value.length !== valueLength) { + // input.selectionStart = inputSelection - 1 + // input.selectionEnd = inputSelection - 1 + // } + // input.dispatchEvent(new Event(modifiers.lazy ? 'change' : 'input')) + // } + } + }) + } +} + +export default vTrim diff --git a/src/utils/validate.js b/src/utils/validate.js new file mode 100644 index 0000000..2078514 --- /dev/null +++ b/src/utils/validate.js @@ -0,0 +1,94 @@ +/** + * 邮箱 + * @param {*} s + * 之前的正则 /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ + */ +export function isEmail(s) { + return /^\w[-\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\.)+[A-Za-z]{2,14}/.test(s) +} + +/** + * 电话号码 座机 + * 原正则:/^([0-9]{3,4}-)[0-9]{7,8}$/ + * 现正则:15位数字、横杠 + * @param {*} s + */ +export function isPhone(s) { + return /^([0-9-]{0,15})$/.test(s) +} + +/** + * URL地址s + * @param {*} s + */ +export function isURL(s) { + return /^http[s]?:\/\/.*/.test(s) +} + +/** + * 密码 + * message: 密码长度至少8位,并包括数字、小写字母、大写字母和特殊符号4类 + */ +export function passwordReg(s) { + return /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[~!@#$%^&*()_+`\-={}:";'<>?,./]).{8,30}$/.test(s) +} + +/** + * 手机号或座机号 + * + * /^((13[0-9])|(14[579])|(15([0-3]|[5-9]))|(17[0135678])|(18[0-9])|(19[8|9])|(16[6]))\d{8}$/ + * */ +export function phoneReg(s) { + return /(^[1][3,4,5,6,7,8,9][0-9]{9}$)|(^0\d{2,3}-?\d{7,8}$)/.test(s) +} + +/** + * 不可输入中文 + */ +export function chineseReg(s) { + return /[\u4E00-\u9FA5]/g.test(s) +} + +/** + * 邮编 + * @param s + * @returns {boolean} + */ +export function postcode(s) { + return /^[0-9]\d{5}$/.test(s) +} + +/** + * 税号 + * message:15位、17位、18位、20位数字和大写英文字母 + * */ +export function taxNo(s) { + return /^[A-Z0-9]{15}$|^[A-Z0-9]{17}$|^[A-Z0-9]{18}$|^[A-Z0-9]{20}$/.test(s) +} + +/** + * 只能输入数字 + * @param s + */ +export function number(s) { + return /^[0-9]*$/.test(s) +} + +/** + * 金额格式,小数点后两位,整数部分十位 + * /^[1-9](\d{1,10})?(\.\d{1,2})$|^0\.([1-9](\d{0,1})|\d[1-9])$|^[1-9]\d{1,10}$|^0$/ ---- 最初的正则,能输入十一位整数 + * @param s + * @returns {boolean} + */ +export function money(s) { + return /^[-]?[0-9](\d{1,9})?(\.\d{1,2})$|^[-]?0\.([1-9](\d{0,1})|\d[1-9])$|^[-]?[1-9]\d{0,9}$|^0$/.test(s) +} + +/** + * 信用代码 15、18位 + * @param s + * @returns {boolean} + */ +export function dutyCode(s) { + return /^([0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}|[1-9]\d{14})$/.test(s) +} diff --git a/src/utils/validateOnly.js b/src/utils/validateOnly.js new file mode 100644 index 0000000..f89e8d5 --- /dev/null +++ b/src/utils/validateOnly.js @@ -0,0 +1,193 @@ +import {duplicateCheck} from '@api/api' +import {phoneReg, isEmail, chineseReg} from '@/utils/validate' + +// 手机校验的错误信息提示 +const phoneErrMsg = { + err1: '请输入手机号码', + err2: '请输入正确格式的手机号码' +} +// 邮箱校验错误提示信息 +const emailErrMsg = { + err1: '请输入邮箱', + err2: '请输入正确格式的邮箱' +} +// 用户名校验信息提示 +const usernameErrMsg = { + err1: '请输入用户账号' +} +// 角色编码校验信息提示 +const roleCodeErrMsg = { + err1: '请输入角色编码', + err2: '角色编码不可输入汉字' +} +// 数据字典拜尼马错误信息提示 +const dictCodeErrMsg = { + err1: '请输入字典编码' +} + +/** + * 手机号正则与唯一性校验 + * @param value:要校验的值 + * @param id:数据id + * */ +export async function checkPhone(value, id, {err1 = phoneErrMsg.err1, err2 = phoneErrMsg.err2} = {}) { + if (value) { + if (phoneReg(value)) { + const param = { + confusionCode: 'user_phone', + fieldVal: value, + dataId: id + } + return duplicateCheck(param) + } else { + return err2 + } + } else { + return err1 + } +} + +/** + * 邮箱正则与唯一性校验 + * @param value:要校验的值 + * @param id:数据id + * */ +export async function checkEmail(value, id, {err1 = emailErrMsg.err1, err2 = emailErrMsg.err2} = {}) { + if (value) { + if (isEmail(value)) { + const param = { + confusionCode: 'user_email', + fieldVal: value, + dataId: id + } + return duplicateCheck(param) + } else { + return err2 + } + } else { + return err1 + } +} + +/** + * 用户名唯一性校验 + * @param value:要校验的值 + * @param id:数据id + * */ +export async function checkUserName(value, id, {err1 = usernameErrMsg.err1} = {}) { + if (value) { + const param = { + confusionCode: 'sys_username', + fieldVal: value, + dataId: id + } + return duplicateCheck(param) + } else { + return err1 + } +} + +/** + * 角色编码正则与唯一性校验 + * @param value:要校验的值 + * @param id:数据id + * */ +export async function checkRoleCode(value, id, {err1 = roleCodeErrMsg.err1, err2 = roleCodeErrMsg.err2} = {}) { + if (value) { + if (!chineseReg(value)) { + const param = { + confusionCode: 'sys_rolecode', + fieldVal: value, + dataId: id + } + return duplicateCheck(param) + } else { + return err2 + } + } else { + return err1 + } +} + +/** + * 数据字典编码正则与唯一性校验 + * @param value:要校验的值 + * @param id:数据id + * */ +export async function checkDictCode(value, id, {err1 = dictCodeErrMsg.err1} = {}) { + if (value) { + const param = { + confusionCode: 'sys_dictcode', + fieldVal: value, + dataId: id + } + return duplicateCheck(param) + } else { + return err1 + } +} + +const departNameErrMsg = { + err1: '请输入机构/部门名称' +} + +/** + * 部门管理部门名称唯一校验 + * @param value:要校验的值 + * @param id:数据id + * */ +export async function checkDepartName(value, id, {err1 = departNameErrMsg.err1} = {}) { + if (value) { + const param = { + confusionCode: 'depart_name', + fieldVal: value, + dataId: id + } + return duplicateCheck(param) + } else { + return err1 + } +} + +/** + * 会员项目唯一校验 + * + * */ +const memberCompanyNameErrMsg = { + err1: '请输入会员项目' +} + +export async function checkMemberCompanyName(value, id, {err1 = memberCompanyNameErrMsg.err1} = {}) { + if (value) { + const param = { + confusionCode: 'member_project_name', + fieldVal: value, + dataId: id + } + return duplicateCheck(param) + } else { + return err1 + } +} + + +/** + * 会议名称唯一校验 + * + * */ +const meetingNameErrmsg = { + err1: '请输入会议名称' +} + +export async function checkMeetingName(value, id, {err1 = meetingNameErrmsg.err1} = {}) { + if (value) { + const param = { + confusionCode: 'meeting_name', + fieldVal: value, + dataId: id + } + return duplicateCheck(param) + } else { + return err1 + } +} \ No newline at end of file diff --git a/src/views/About.vue b/src/views/About.vue new file mode 100644 index 0000000..3fa2807 --- /dev/null +++ b/src/views/About.vue @@ -0,0 +1,5 @@ + diff --git a/src/views/Home.vue b/src/views/Home.vue new file mode 100644 index 0000000..34342fe --- /dev/null +++ b/src/views/Home.vue @@ -0,0 +1,18 @@ + + + diff --git a/src/views/businessManagement/BusinessManagement.vue b/src/views/businessManagement/BusinessManagement.vue new file mode 100644 index 0000000..870c8a0 --- /dev/null +++ b/src/views/businessManagement/BusinessManagement.vue @@ -0,0 +1,339 @@ + + + + + diff --git a/src/views/businessManagement/CompanyAdmin.vue b/src/views/businessManagement/CompanyAdmin.vue new file mode 100644 index 0000000..d417382 --- /dev/null +++ b/src/views/businessManagement/CompanyAdmin.vue @@ -0,0 +1,212 @@ + + + + + \ No newline at end of file diff --git a/src/views/businessManagement/ContactManagement.vue b/src/views/businessManagement/ContactManagement.vue new file mode 100644 index 0000000..0ce35ac --- /dev/null +++ b/src/views/businessManagement/ContactManagement.vue @@ -0,0 +1,177 @@ + + + + + \ No newline at end of file diff --git a/src/views/businessManagement/modules/BusinessManagementModule.vue b/src/views/businessManagement/modules/BusinessManagementModule.vue new file mode 100644 index 0000000..f108f5a --- /dev/null +++ b/src/views/businessManagement/modules/BusinessManagementModule.vue @@ -0,0 +1,396 @@ + + + + + diff --git a/src/views/businessManagement/modules/CompanyAdminModule.vue b/src/views/businessManagement/modules/CompanyAdminModule.vue new file mode 100644 index 0000000..f6a8ab5 --- /dev/null +++ b/src/views/businessManagement/modules/CompanyAdminModule.vue @@ -0,0 +1,230 @@ + + + + + diff --git a/src/views/businessManagement/modules/ContactManagementModule.vue b/src/views/businessManagement/modules/ContactManagementModule.vue new file mode 100644 index 0000000..b120410 --- /dev/null +++ b/src/views/businessManagement/modules/ContactManagementModule.vue @@ -0,0 +1,427 @@ + + + + + \ No newline at end of file diff --git a/src/views/contractManagement/expenditureContract/ExpenditureContractDetail.vue b/src/views/contractManagement/expenditureContract/ExpenditureContractDetail.vue new file mode 100644 index 0000000..e76ef6f --- /dev/null +++ b/src/views/contractManagement/expenditureContract/ExpenditureContractDetail.vue @@ -0,0 +1,448 @@ + + + + + \ No newline at end of file diff --git a/src/views/contractManagement/expenditureContract/ExpenditureContractList.vue b/src/views/contractManagement/expenditureContract/ExpenditureContractList.vue new file mode 100644 index 0000000..e49579e --- /dev/null +++ b/src/views/contractManagement/expenditureContract/ExpenditureContractList.vue @@ -0,0 +1,377 @@ + + + + + \ No newline at end of file diff --git a/src/views/contractManagement/expenditureContract/modules/ExpenditureContractModule.vue b/src/views/contractManagement/expenditureContract/modules/ExpenditureContractModule.vue new file mode 100644 index 0000000..282752c --- /dev/null +++ b/src/views/contractManagement/expenditureContract/modules/ExpenditureContractModule.vue @@ -0,0 +1,852 @@ + + + + + diff --git a/src/views/contractManagement/modules/MailDetailModal.vue b/src/views/contractManagement/modules/MailDetailModal.vue new file mode 100644 index 0000000..46d01c3 --- /dev/null +++ b/src/views/contractManagement/modules/MailDetailModal.vue @@ -0,0 +1,129 @@ + + + + + \ No newline at end of file diff --git a/src/views/contractManagement/revenueContract/RevenueContractList.vue b/src/views/contractManagement/revenueContract/RevenueContractList.vue new file mode 100644 index 0000000..bda5b67 --- /dev/null +++ b/src/views/contractManagement/revenueContract/RevenueContractList.vue @@ -0,0 +1,448 @@ + + + + + \ No newline at end of file diff --git a/src/views/contractManagement/revenueContract/modules/AddMeetingPerson.vue b/src/views/contractManagement/revenueContract/modules/AddMeetingPerson.vue new file mode 100644 index 0000000..f1a828a --- /dev/null +++ b/src/views/contractManagement/revenueContract/modules/AddMeetingPerson.vue @@ -0,0 +1,450 @@ + + + + + \ No newline at end of file diff --git a/src/views/contractManagement/revenueContract/modules/AddMemberProject.vue b/src/views/contractManagement/revenueContract/modules/AddMemberProject.vue new file mode 100644 index 0000000..fd16d77 --- /dev/null +++ b/src/views/contractManagement/revenueContract/modules/AddMemberProject.vue @@ -0,0 +1,310 @@ + + + + + \ No newline at end of file diff --git a/src/views/contractManagement/revenueContract/modules/AssociatedProject.vue b/src/views/contractManagement/revenueContract/modules/AssociatedProject.vue new file mode 100644 index 0000000..c84fd36 --- /dev/null +++ b/src/views/contractManagement/revenueContract/modules/AssociatedProject.vue @@ -0,0 +1,228 @@ + + + + + \ No newline at end of file diff --git a/src/views/contractManagement/revenueContract/modules/ContractData.js b/src/views/contractManagement/revenueContract/modules/ContractData.js new file mode 100644 index 0000000..d897847 --- /dev/null +++ b/src/views/contractManagement/revenueContract/modules/ContractData.js @@ -0,0 +1,248 @@ +let ContractResponse = { + 'success': true, + 'code': 200, + 'msg': '成功', + 'data': { + 'pageNo': 1, + 'pageSize': 10, + 'count': 550, + 'pageCount': 55, + 'list': [ + { + 'id': 'b8578a1d-ea9b-4e53-8108-a641aaf05177', + 'bindid': 'e0fda33e-343c-41ec-8ec8-59245f339b12', + 'bigContNmbr': 'CATARC-S-2021-00496', + 'contName': '订单', + 'applycomp': '汽车标准化研究所', + 'applycomno': '11001', + 'contSignPartnerAName': '亮锐(上海)管理有限公司', + 'contSignOurcompName': '中国汽车技术研究中心有限公司', + 'contAmountLc': 40000.00, + 'contAmountFc': 40000.00, + 'contUntaxAmountLc': 37735.85, + 'contUntaxAmountFc': 37735.85, + 'bigContType': '5N3WEYLF4A', + 'applyuser': '轩轶', + 'userno': '01140', + 'applydept': '整车部', + 'applydeptno': '11003', + 'contStatus': 'ST_SCCS', + 'midContNmbr': '', + 'invoiceType': '专票', + 'taxRate': '0.06', + 'isOpen': 0 + }, + { + 'id': 'e2dd5e56-f123-46ad-b7e1-e57b0e8bd9a4', + 'bindid': 'a1ab5a5f-2c2a-42e7-8f7a-f9cec663883d', + 'bigContNmbr': 'CATARC-S-2020-00233', + 'contName': '共同开展《汽车脚踏板位置尺寸测量方法》标准研究工作', + 'applycomp': '汽车标准化研究所', + 'applycomno': '11001', + 'contSignPartnerAName': '一汽丰田技术开发有限公司', + 'contSignOurcompName': '中国汽车技术研究中心有限公司', + 'contAmountLc': 300000.00, + 'contAmountFc': 0.00, + 'contUntaxAmountLc': 283018.87, + 'contUntaxAmountFc': 0.00, + 'bigContType': '5N3WEYLF4A', + 'applyuser': '曹丽娟', + 'userno': '04770', + 'applydept': '整车部', + 'applydeptno': '11003', + 'contStatus': 'ST_SCCS', + 'midContNmbr': '', + 'invoiceType': '专票', + 'taxRate': '0.06', + 'isOpen': 0 + }, + { + 'id': 'a7557ccb-31bf-4734-ae90-c0808a6d701d', + 'bindid': '42e0f0bc-6835-4bb2-8bf4-fd2b4d20ee52', + 'bigContNmbr': 'CATARC-S-2020-00047', + 'contName': '技术服务合同', + 'applycomp': '汽车标准化研究所', + 'applycomno': '11001', + 'contSignPartnerAName': '中航电测仪器(西安)有限公司', + 'contSignOurcompName': '中国汽车技术研究中心有限公司', + 'contAmountLc': 100000.00, + 'contAmountFc': 0.00, + 'contUntaxAmountLc': 94339.62, + 'contUntaxAmountFc': 0.00, + 'bigContType': '5N3WEYLF4A', + 'applyuser': '田富刚', + 'userno': '04235', + 'applydept': '整车部', + 'applydeptno': '11003', + 'contStatus': 'ST_SCCS', + 'midContNmbr': '', + 'invoiceType': '专票', + 'taxRate': '0.06', + 'isOpen': 0 + }, + { + 'id': '7955d654-6527-4dc8-bf24-aa3c1d87f259', + 'bindid': 'b94aa273-1d4e-4287-965e-b117c8a93e14', + 'bigContNmbr': 'CATARC-S-2021-00151', + 'contName': '车用动力电池回收利用标准共同研究合作', + 'applycomp': '汽车标准化研究所', + 'applycomno': '11001', + 'contSignPartnerAName': '浙江天能电源材料有限公司', + 'contSignOurcompName': '中国汽车技术研究中心有限公司', + 'contAmountLc': 150000.00, + 'contAmountFc': 0.00, + 'contUntaxAmountLc': 141509.43, + 'contUntaxAmountFc': 0.00, + 'bigContType': '5N3WEYLF4A', + 'applyuser': '张铜柱', + 'userno': '01877', + 'applydept': '整车部', + 'applydeptno': '11003', + 'contStatus': 'ST_SCCS', + 'midContNmbr': '', + 'invoiceType': '专票', + 'taxRate': '0.06', + 'isOpen': 0 + }, + { + 'id': '8c45943c-96c6-4752-96ad-e9a686d407ee', + 'bindid': 'f29c0358-ea5c-4807-8915-033a3341bad6', + 'bigContNmbr': 'CATARC-S-2021-00955', + 'contName': '关于CATARC-S-2021-0010合同的补充协议', + 'applycomp': '汽车标准化研究所', + 'applycomno': '11001', + 'contSignPartnerAName': '大陆马牌轮胎(中国)有限公司', + 'contSignOurcompName': '中国汽车技术研究中心有限公司', + 'contAmountLc': 125751.00, + 'contAmountFc': 0.00, + 'contUntaxAmountLc': 118633.02, + 'contUntaxAmountFc': 0.00, + 'bigContType': 'DJT7MXLDEF', + 'applyuser': '许天楚', + 'userno': '05530', + 'applydept': '整车部', + 'applydeptno': '11003', + 'contStatus': 'ST_SCCS', + 'midContNmbr': '', + 'invoiceType': '专票', + 'taxRate': '0.06', + 'isOpen': 0 + } + ], + 'title': [], + 'ext': {}, + 'orderBy': '' + } +} + +export { + ContractResponse, + QueryById, + ConnectionKey +} + +let QueryById = { + 'success': true, + 'code': 200, + 'msg': '成功', + 'data': { + 'id': 'b8578a1d-ea9b-4e53-8108-a641aaf05177', + 'bindid': 'e0fda33e-343c-41ec-8ec8-59245f339b12', + 'bigContNmbr': 'CATARC-S-2021-00496', + 'contName': '订单', + 'applycomp': '汽车标准化研究所', + 'applycomno': '11001', + 'contSignPartnerAName': '亮锐(上海)管理有限公司', + 'contSignOurcompName': '中国汽车技术研究中心有限公司', + 'contAmountLc': 40000.00, + 'contAmountFc': 40000.00, + 'contUntaxAmountLc': 37735.85, + 'contUntaxAmountFc': 37735.85, + 'applydept': '整车部', + 'applydeptno': '11003', + 'applyuser': '轩轶', + 'userno': '01140', + 'contStartDate': '2021-07-21 16:00:00', + 'contStatus': 'ST_SCCS', + 'bigContType': '5N3WEYLF4A', + 'costType': '', + 'invoiceType': '专票', + 'taxRate': '0.06', + 'currencyUnit': '人民币', + 'exchRate': '1', + 'isOpen': 0, + 'isStandard': 0, + 'midContNmbr': '', + 'contReve': 0.00, + 'contAr': 40000.00, + 'incomeConfirmedAmount': 0.00, + 'contUnconfirmedAmount': 40000.00, + 'purchFormNmbr': '', + 'contPay': 0.00, + 'contUnpd': 40000.00, + 'contPaid': 0.00, + 'contReveInvoc': 40000.00 + } +} + + + +/* { + 'code': 0, + 'data': { + 'applycomno': 'string',//所属单位编码 + 'applycomp': 'string',//所属单位 + 'applydept': 'string',//申请部门 + 'applydeptno': 'string',//申请部门编码 + 'applyuser': 'string',//申请人 + 'bigContNmbr': '中心合同号',//中心合同号 + 'bigContType': 'string', //中心合同类别 + 'bindid': 'string',// + 'contAmountFc': 0,//合同金额(外币) + 'contAmountLc': 10000,//合同金额(人民币) + 'contAr': 0,//待开票金额 + 'contName': '合同名称',//合同名称 + 'contPaid': 0,//已收票金额 + 'contPay': 0,//已付款金额 + 'contReve': 0,//开票金额 + 'contReveInvoc': 0,//待收票金额 + 'contSignOurcompName': 'string',//法人公司名称 + 'contSignPartnerAName': 'string',//供应商名称 + 'contStartDate': '2022-04-02T02:41:09.460Z',//合同存档日期 + 'contStatus': 'string',//合同状态 + 'contUnconfirmedAmount': 0,//未确认金额 + 'contUnpd': 0,// 待付款金额 + 'contUntaxAmountFc': 0,//未税金额(外币) + 'contUntaxAmountLc': 0,//未税金额(人民币) + 'costType': 'string',//成本类别 + 'currencyUnit': 'string',//合同币种 + 'exchRate': 'string',//汇率 + 'id': 'string', + 'incomeConfirmedAmount': 0,//已确认金额 + 'invoiceType': 'string',//发票类型 + 'isOpen': 0,//是否开口合同 + 'isStandard': 0,//是否标准合同 + 'midContNmbr': 'string',//院所合同号 + 'purchFormNmbr': 'string',//采购单编号 + 'taxRate': '6%',//税率 + 'userno': 'string'//申请人工号 + }, + 'msg': 'string', + 'success': true +}*/ + +//contAmountType ---支出合同、收入合同的标识 +// 对应关系的字段, key-来款系统的字段 value-iop系统的字段 收支类型 0–收入 1–支出 +let ConnectionKey = { + 'contractNum': 'bigContNmbr', //合同编号--中心合同号 + 'contractName': 'contName', //合同名称 --合同名称 + // 'signedCompanyName': 'contSignPartnerAName', //签订单位 在来款系统是一个对象{id:'', companyName: ''} + // 'signedContactsId': '', //签订联系人 + 'opening': 'isOpen', // 是否开口 -- 是否开口合同 + 'realname': 'applyuser', //负责人 --- 可以通过员工号,在系统查询对应的负责人 + 'orgCodeTxt': 'applydept', // 申请部门 --- 可以通过员工号,在系统查询对应的负责人 + 'contractAmount': 'contAmountLc', //签订合同总金额 --合同金额(人民币) + 'rate': 'taxRate', //税率--税率 + 'noTaxAmount': 'contUntaxAmountLc', //未税金额--未税金额(人民币) + 'workNo': 'userno', //申请人工号 +} diff --git a/src/views/contractManagement/revenueContract/modules/OtherSystemContract.vue b/src/views/contractManagement/revenueContract/modules/OtherSystemContract.vue new file mode 100644 index 0000000..89db542 --- /dev/null +++ b/src/views/contractManagement/revenueContract/modules/OtherSystemContract.vue @@ -0,0 +1,359 @@ + + + + + diff --git a/src/views/contractManagement/revenueContract/modules/ProjectTypeSelection.vue b/src/views/contractManagement/revenueContract/modules/ProjectTypeSelection.vue new file mode 100644 index 0000000..9480168 --- /dev/null +++ b/src/views/contractManagement/revenueContract/modules/ProjectTypeSelection.vue @@ -0,0 +1,134 @@ + + + + + \ No newline at end of file diff --git a/src/views/contractManagement/revenueContract/modules/RevenueContractAduitModule.vue b/src/views/contractManagement/revenueContract/modules/RevenueContractAduitModule.vue new file mode 100644 index 0000000..5ff0086 --- /dev/null +++ b/src/views/contractManagement/revenueContract/modules/RevenueContractAduitModule.vue @@ -0,0 +1,160 @@ + + + + + \ No newline at end of file diff --git a/src/views/contractManagement/revenueContract/modules/RevenueContractDetail.vue b/src/views/contractManagement/revenueContract/modules/RevenueContractDetail.vue new file mode 100644 index 0000000..de63248 --- /dev/null +++ b/src/views/contractManagement/revenueContract/modules/RevenueContractDetail.vue @@ -0,0 +1,443 @@ + + + + + \ No newline at end of file diff --git a/src/views/contractManagement/revenueContract/modules/RevenueContractEditNum.vue b/src/views/contractManagement/revenueContract/modules/RevenueContractEditNum.vue new file mode 100644 index 0000000..4623c76 --- /dev/null +++ b/src/views/contractManagement/revenueContract/modules/RevenueContractEditNum.vue @@ -0,0 +1,139 @@ + + + + + + \ No newline at end of file diff --git a/src/views/contractManagement/revenueContract/modules/RevenueContractModule.vue b/src/views/contractManagement/revenueContract/modules/RevenueContractModule.vue new file mode 100644 index 0000000..ec520f7 --- /dev/null +++ b/src/views/contractManagement/revenueContract/modules/RevenueContractModule.vue @@ -0,0 +1,1030 @@ + + + + + diff --git a/src/views/contractManagement/revenueContract/modules/SelectMeetingProjectModule.vue b/src/views/contractManagement/revenueContract/modules/SelectMeetingProjectModule.vue new file mode 100644 index 0000000..c06f06a --- /dev/null +++ b/src/views/contractManagement/revenueContract/modules/SelectMeetingProjectModule.vue @@ -0,0 +1,375 @@ + + + + + \ No newline at end of file diff --git a/src/views/contractManagement/revenueContract/modules/SelectMemberProjectModule.vue b/src/views/contractManagement/revenueContract/modules/SelectMemberProjectModule.vue new file mode 100644 index 0000000..688a6e7 --- /dev/null +++ b/src/views/contractManagement/revenueContract/modules/SelectMemberProjectModule.vue @@ -0,0 +1,412 @@ + + + + + \ No newline at end of file diff --git a/src/views/contractManagement/revenueContract/modules/SelectProjectModule.vue b/src/views/contractManagement/revenueContract/modules/SelectProjectModule.vue new file mode 100644 index 0000000..07ca596 --- /dev/null +++ b/src/views/contractManagement/revenueContract/modules/SelectProjectModule.vue @@ -0,0 +1,410 @@ + + + + + \ No newline at end of file diff --git a/src/views/contractManagement/revenueContract/modules/SelectWorkingGroupProjectModule.vue b/src/views/contractManagement/revenueContract/modules/SelectWorkingGroupProjectModule.vue new file mode 100644 index 0000000..a8f6829 --- /dev/null +++ b/src/views/contractManagement/revenueContract/modules/SelectWorkingGroupProjectModule.vue @@ -0,0 +1,262 @@ + + + + + \ No newline at end of file diff --git a/src/views/dashboard/Analysis.vue b/src/views/dashboard/Analysis.vue new file mode 100644 index 0000000..2f5eb01 --- /dev/null +++ b/src/views/dashboard/Analysis.vue @@ -0,0 +1,221 @@ + + + + + diff --git a/src/views/dashboard/modules/NotReceivedModal.vue b/src/views/dashboard/modules/NotReceivedModal.vue new file mode 100644 index 0000000..2996a7f --- /dev/null +++ b/src/views/dashboard/modules/NotReceivedModal.vue @@ -0,0 +1,439 @@ + + + + + \ No newline at end of file diff --git a/src/views/dataNetworkDiskManagement/committee/CommitteeMaintenance.vue b/src/views/dataNetworkDiskManagement/committee/CommitteeMaintenance.vue new file mode 100644 index 0000000..c7d9180 --- /dev/null +++ b/src/views/dataNetworkDiskManagement/committee/CommitteeMaintenance.vue @@ -0,0 +1,354 @@ + + + + + \ No newline at end of file diff --git a/src/views/dataNetworkDiskManagement/committee/modules/CommitteeMemberModule.vue b/src/views/dataNetworkDiskManagement/committee/modules/CommitteeMemberModule.vue new file mode 100644 index 0000000..73f2f95 --- /dev/null +++ b/src/views/dataNetworkDiskManagement/committee/modules/CommitteeMemberModule.vue @@ -0,0 +1,232 @@ + + + + + \ No newline at end of file diff --git a/src/views/dataNetworkDiskManagement/committee/modules/CommitteeModule.vue b/src/views/dataNetworkDiskManagement/committee/modules/CommitteeModule.vue new file mode 100644 index 0000000..307c54d --- /dev/null +++ b/src/views/dataNetworkDiskManagement/committee/modules/CommitteeModule.vue @@ -0,0 +1,241 @@ + + + + + \ No newline at end of file diff --git a/src/views/dataNetworkDiskManagement/dataDirectory/DataDirectoryMaintenance.vue b/src/views/dataNetworkDiskManagement/dataDirectory/DataDirectoryMaintenance.vue new file mode 100644 index 0000000..078433d --- /dev/null +++ b/src/views/dataNetworkDiskManagement/dataDirectory/DataDirectoryMaintenance.vue @@ -0,0 +1,212 @@ + + + + + \ No newline at end of file diff --git a/src/views/dataNetworkDiskManagement/dataDirectory/modules/DataDirectoryModule.vue b/src/views/dataNetworkDiskManagement/dataDirectory/modules/DataDirectoryModule.vue new file mode 100644 index 0000000..8ba3b82 --- /dev/null +++ b/src/views/dataNetworkDiskManagement/dataDirectory/modules/DataDirectoryModule.vue @@ -0,0 +1,196 @@ + + + + + \ No newline at end of file diff --git a/src/views/dataNetworkDiskManagement/dataDownloadRecord/DataDownloadRecord.vue b/src/views/dataNetworkDiskManagement/dataDownloadRecord/DataDownloadRecord.vue new file mode 100644 index 0000000..9546b8e --- /dev/null +++ b/src/views/dataNetworkDiskManagement/dataDownloadRecord/DataDownloadRecord.vue @@ -0,0 +1,292 @@ + + + \ No newline at end of file diff --git a/src/views/dataNetworkDiskManagement/dataMaintenance/DataMaintenance.vue b/src/views/dataNetworkDiskManagement/dataMaintenance/DataMaintenance.vue new file mode 100644 index 0000000..e32ab7c --- /dev/null +++ b/src/views/dataNetworkDiskManagement/dataMaintenance/DataMaintenance.vue @@ -0,0 +1,502 @@ + + + \ No newline at end of file diff --git a/src/views/dataNetworkDiskManagement/dataMaintenance/modules/DistributeModal.vue b/src/views/dataNetworkDiskManagement/dataMaintenance/modules/DistributeModal.vue new file mode 100644 index 0000000..f41e944 --- /dev/null +++ b/src/views/dataNetworkDiskManagement/dataMaintenance/modules/DistributeModal.vue @@ -0,0 +1,198 @@ + + + + + \ No newline at end of file diff --git a/src/views/dataNetworkDiskManagement/dataMaintenance/modules/MaintenanceModal.vue b/src/views/dataNetworkDiskManagement/dataMaintenance/modules/MaintenanceModal.vue new file mode 100644 index 0000000..273065b --- /dev/null +++ b/src/views/dataNetworkDiskManagement/dataMaintenance/modules/MaintenanceModal.vue @@ -0,0 +1,183 @@ + + + + + \ No newline at end of file diff --git a/src/views/exception/404.vue b/src/views/exception/404.vue new file mode 100644 index 0000000..bc747b5 --- /dev/null +++ b/src/views/exception/404.vue @@ -0,0 +1,17 @@ + + + + + \ No newline at end of file diff --git a/src/views/exception/ExceptionPage.vue b/src/views/exception/ExceptionPage.vue new file mode 100644 index 0000000..455b15c --- /dev/null +++ b/src/views/exception/ExceptionPage.vue @@ -0,0 +1,88 @@ + + + + + \ No newline at end of file diff --git a/src/views/exception/type.js b/src/views/exception/type.js new file mode 100644 index 0000000..ece3936 --- /dev/null +++ b/src/views/exception/type.js @@ -0,0 +1,19 @@ +const types = { + 403: { + img: 'https://gw.alipayobjects.com/zos/rmsportal/wZcnGqRDyhPOEYFcZDnb.svg', + title: '403', + desc: '抱歉,你无权访问该页面' + }, + 404: { + img: 'https://gw.alipayobjects.com/zos/rmsportal/KpnpchXsobRgLElEozzI.svg', + title: '404', + desc: '抱歉,你访问的页面不存在或无权访问' + }, + 500: { + img: 'https://gw.alipayobjects.com/zos/rmsportal/RVRUAYdCGeYNBWoKiIwB.svg', + title: '500', + desc: '抱歉,服务器出错了' + } +} + +export default types \ No newline at end of file diff --git a/src/views/financialManagement/arriveAndInvoicing/ArriveAndInvoivingList.vue b/src/views/financialManagement/arriveAndInvoicing/ArriveAndInvoivingList.vue new file mode 100644 index 0000000..4a53d20 --- /dev/null +++ b/src/views/financialManagement/arriveAndInvoicing/ArriveAndInvoivingList.vue @@ -0,0 +1,631 @@ + + + + + diff --git a/src/views/financialManagement/arriveAndInvoicing/modules/ArriveModule.vue b/src/views/financialManagement/arriveAndInvoicing/modules/ArriveModule.vue new file mode 100644 index 0000000..ef2e219 --- /dev/null +++ b/src/views/financialManagement/arriveAndInvoicing/modules/ArriveModule.vue @@ -0,0 +1,221 @@ + + + + + \ No newline at end of file diff --git a/src/views/financialManagement/arriveAndInvoicing/modules/ArriveStageModule.vue b/src/views/financialManagement/arriveAndInvoicing/modules/ArriveStageModule.vue new file mode 100644 index 0000000..a7df90c --- /dev/null +++ b/src/views/financialManagement/arriveAndInvoicing/modules/ArriveStageModule.vue @@ -0,0 +1,368 @@ + + + + + diff --git a/src/views/financialManagement/arriveAndInvoicing/modules/AuditProofModule.vue b/src/views/financialManagement/arriveAndInvoicing/modules/AuditProofModule.vue new file mode 100644 index 0000000..c40f298 --- /dev/null +++ b/src/views/financialManagement/arriveAndInvoicing/modules/AuditProofModule.vue @@ -0,0 +1,599 @@ + + + + + diff --git a/src/views/financialManagement/arriveAndInvoicing/modules/ConfirmModule.vue b/src/views/financialManagement/arriveAndInvoicing/modules/ConfirmModule.vue new file mode 100644 index 0000000..a823029 --- /dev/null +++ b/src/views/financialManagement/arriveAndInvoicing/modules/ConfirmModule.vue @@ -0,0 +1,262 @@ + + + + + + \ No newline at end of file diff --git a/src/views/financialManagement/arriveAndInvoicing/modules/ConfirmStageModule.vue b/src/views/financialManagement/arriveAndInvoicing/modules/ConfirmStageModule.vue new file mode 100644 index 0000000..5da1a8e --- /dev/null +++ b/src/views/financialManagement/arriveAndInvoicing/modules/ConfirmStageModule.vue @@ -0,0 +1,278 @@ + + + + + + \ No newline at end of file diff --git a/src/views/financialManagement/arriveAndInvoicing/modules/InvoicingModule.vue b/src/views/financialManagement/arriveAndInvoicing/modules/InvoicingModule.vue new file mode 100644 index 0000000..0991291 --- /dev/null +++ b/src/views/financialManagement/arriveAndInvoicing/modules/InvoicingModule.vue @@ -0,0 +1,270 @@ + + + + + \ No newline at end of file diff --git a/src/views/financialManagement/arriveAndInvoicing/modules/InvoicingStageModule.vue b/src/views/financialManagement/arriveAndInvoicing/modules/InvoicingStageModule.vue new file mode 100644 index 0000000..fa69a5b --- /dev/null +++ b/src/views/financialManagement/arriveAndInvoicing/modules/InvoicingStageModule.vue @@ -0,0 +1,285 @@ + + + + + \ No newline at end of file diff --git a/src/views/financialManagement/arriveAndInvoicing/modules/TaxOperateMixin.js b/src/views/financialManagement/arriveAndInvoicing/modules/TaxOperateMixin.js new file mode 100644 index 0000000..dc3c33c --- /dev/null +++ b/src/views/financialManagement/arriveAndInvoicing/modules/TaxOperateMixin.js @@ -0,0 +1,68 @@ +/*换入税率操作的相关方法*/ + +import {money} from '../../../../utils/validate' + +export const TaxOperateMixin = { + data() { + return { + taxRate: 0.06, // 税率 + } + }, + + methods: { + /** + * 校验金额格式 + * @param rules + * @param value + * @param callback + * @param name --校验字段的名字 + * + */ + checkMoneyTemplate(rules, value, callback, name) { + if (value) { + if (money(value)) { + callback() + } + callback('请输入合法的金额数字,最多2位小数,10位整数') + } + callback(`请输入${name}`) + }, + // 总金额做相关的处理 + addZeroAmount(event) { + this.addZero(event) + let finalValue = event.target.value + // 计算未税金额和税额的值 + let obj = this.calcOtherNumber(finalValue) + // console.log(event.target.value ) + this.$nextTick(() => { + this.form.setFieldsValue(obj) + }) + }, + /** + * 税额\未税金额 失去焦点的事件 + * @param event --失去焦点的event ,存储当前input 的值 + * @param keyName -- 想互斥 数字 对应的key值 + * @param amountKeyName--当前dom 中 存储金额的字段的key值 + * + */ + addZeroTaxOrNo(event, keyName, amountKeyName) { + console.log('-----addZeroTaxOrNo---', event.target.value) + this.addZero(event) + let amount = this.form.getFieldValue(amountKeyName) + if(!amount) return + let finalValue = event.target.value + let otherVlaue = (amount - finalValue).toFixed(2) + this.$nextTick(() => { + this.form.setFieldsValue({[keyName]: otherVlaue}) + }) + + }, + // 通过金额 计算 税额、未税金额 + calcOtherNumber(amount) { + let noTaxAmount = (amount / (1 + this.taxRate * 1)).toFixed(2) // 未税金额 + let tax = (amount - noTaxAmount).toFixed(2) // 税额 + return {noTaxAmount, tax} + }, + } + +} diff --git a/src/views/financialManagement/dunning/DunningList.vue b/src/views/financialManagement/dunning/DunningList.vue new file mode 100644 index 0000000..bb095da --- /dev/null +++ b/src/views/financialManagement/dunning/DunningList.vue @@ -0,0 +1,205 @@ + + + + + \ No newline at end of file diff --git a/src/views/financialManagement/dunning/modules/DunningSetTimeModule.vue b/src/views/financialManagement/dunning/modules/DunningSetTimeModule.vue new file mode 100644 index 0000000..e1a63d8 --- /dev/null +++ b/src/views/financialManagement/dunning/modules/DunningSetTimeModule.vue @@ -0,0 +1,54 @@ + + + + + \ No newline at end of file diff --git a/src/views/incomePayments/meetManage/AddOrDetailMeet.vue b/src/views/incomePayments/meetManage/AddOrDetailMeet.vue new file mode 100644 index 0000000..7c4f28b --- /dev/null +++ b/src/views/incomePayments/meetManage/AddOrDetailMeet.vue @@ -0,0 +1,1370 @@ + + + + + diff --git a/src/views/incomePayments/meetManage/Attendance.vue b/src/views/incomePayments/meetManage/Attendance.vue new file mode 100644 index 0000000..7128877 --- /dev/null +++ b/src/views/incomePayments/meetManage/Attendance.vue @@ -0,0 +1,1092 @@ + + + + + diff --git a/src/views/incomePayments/meetManage/MeetManageList.vue b/src/views/incomePayments/meetManage/MeetManageList.vue new file mode 100644 index 0000000..25338ff --- /dev/null +++ b/src/views/incomePayments/meetManage/MeetManageList.vue @@ -0,0 +1,309 @@ + + + + + diff --git a/src/views/incomePayments/meetManage/OtherMeetingForm.vue b/src/views/incomePayments/meetManage/OtherMeetingForm.vue new file mode 100644 index 0000000..36b28c0 --- /dev/null +++ b/src/views/incomePayments/meetManage/OtherMeetingForm.vue @@ -0,0 +1,627 @@ + + + + + \ No newline at end of file diff --git a/src/views/incomePayments/meetManage/SignUpInfoDetail.vue b/src/views/incomePayments/meetManage/SignUpInfoDetail.vue new file mode 100644 index 0000000..78840f0 --- /dev/null +++ b/src/views/incomePayments/meetManage/SignUpInfoDetail.vue @@ -0,0 +1,385 @@ + + + + + \ No newline at end of file diff --git a/src/views/incomePayments/meetManage/SignUpInfoEdit.vue b/src/views/incomePayments/meetManage/SignUpInfoEdit.vue new file mode 100644 index 0000000..310f04a --- /dev/null +++ b/src/views/incomePayments/meetManage/SignUpInfoEdit.vue @@ -0,0 +1,618 @@ + + + + + diff --git a/src/views/incomePayments/meetManage/SignUpInfoList.vue b/src/views/incomePayments/meetManage/SignUpInfoList.vue new file mode 100644 index 0000000..ec8143f --- /dev/null +++ b/src/views/incomePayments/meetManage/SignUpInfoList.vue @@ -0,0 +1,195 @@ + + + + + diff --git a/src/views/incomePayments/meetManage/clientTest.js b/src/views/incomePayments/meetManage/clientTest.js new file mode 100644 index 0000000..54b3a09 --- /dev/null +++ b/src/views/incomePayments/meetManage/clientTest.js @@ -0,0 +1,28 @@ +let b = { + 'companyId': '1681121488563609601', + 'companyContactId': '1681121497208070146', + 'phone': '15022561051', + 'identity': 2, + 'remark': 'zoey-工作组会议2000000', + 'amountReceivable': '200.00', + 'taxRate': '0.06', + 'tax': '11.32', + 'noTaxAmount': '188.68', + 'payMode': 1, + 'companyName': '天津合众未来科技有限公司2', + 'dutyCode': '91120111MA06DK219F', + 'companyAddress': '天津市西青区精武镇', + 'companyPhone': '022-2563252', + 'openingBank': '上海浦东发展银行股份有限公司天津浦和支行', + 'bankAccount': '77190078801200000563', + 'linkBankNumber': 'F123456', + 'invoiceProject': 2, + 'postContactId': '1681121497208070146', + 'postContactAddress': '长虹公园', + 'postCode': '061104', + 'needInvoice': 2, + 'changeInvoiceFlag': false, + 'meetingId': '1680850121742204930', + 'meetingType': '1', + 'id': '1682018325751480322' +} \ No newline at end of file diff --git a/src/views/incomePayments/meetManage/meetingValidate.js b/src/views/incomePayments/meetManage/meetingValidate.js new file mode 100644 index 0000000..7f64870 --- /dev/null +++ b/src/views/incomePayments/meetManage/meetingValidate.js @@ -0,0 +1,128 @@ +export default { + meetingType: { + rules: [ + {required: true, message: '请选择会议类型'}, + ], + validateTrigger: ['blur', 'change'] + }, + convokeTime: { + rules: [ + {required: true, message: '请选择召开时间'}, + ], + validateTrigger: ['change'] + }, + meetingFiles: { + rules: [ + {required: false, message: '请上传会议通知'}, + ], + validateTrigger: ['change'] + }, + meetingContent: { + rules: [ + {required: true, message: '请输入会议内容'}, + ], + validateTrigger: ['blur'] + }, + meetingContactsList: { + rules: [ + {required: true, message: '请选择会议联系人'}, + ], + validateTrigger: ['change'] + }, + registerDeadline: { + rules: [ + {required: true, message: '请选择报名截止时间'}, + ], + validateTrigger: ['blur', 'change'] + }, + convokeLocale: { + rules: [ + {required: true, message: '请选择省市'}, + ], + validateTrigger: ['change'] + }, + venue: { + rules: [ + {required: true, message: '请输入召开地点/腾讯会议'}, + ], + validateTrigger: ['blur'] + }, + address: { + rules: [ + {required: true, message: '请输入详细地址/腾讯会议号'}, + ], + validateTrigger: ['blur'] + }, + meetingCosts: { + rules: [ + {required: true, message: '请输入会议费用'}, + ], + validateTrigger: ['blur'] + }, + directorId: { + rules: [ + {required: true, message: '请选择会议负责人'}, + ], + validateTrigger: ['blur', 'change'] + }, + tbMeetingType: { + rules: [ + {required: true, message: '请选择标协会议类型'}, + ], + validateTrigger: ['blur', 'change'] + }, + signInTime: { + rules: [ + {required: true, message: '请选择注册签到时间'}, + ], + validateTrigger: ['change'] + }, + meetingCostsVip: { + rules: [ + {required: true, message: '请输入会议费用'}, + ], + validateTrigger: ['blur', 'change'] + }, + hotelName: { + rules: [ + {required: false, message: '请输入酒店名称'}, + ], + validateTrigger: ['blur'] + }, + hotelAddress: { + rules: [ + {required: false, message: '请输入酒店地址'}, + ], + validateTrigger: ['blur'] + }, + contactPerson: { + rules: [ + {required: false, message: '请输入酒店联系人'}, + ], + validateTrigger: ['blur'] + }, + isAddQuestion: { + rules: [ + {required: true, message: '请选择'}, + ], + validateTrigger: ['change'] + }, + endTimeAddQuestion: { + rules: [ + {required: true, message: '请选择征集截止时间'}, + ], + validateTrigger: ['change'] + }, + standardNumber: { + rules: [ + {required: true, message: '请输入标准号'}, + ], + validateTrigger: ['blur'] + }, + standardName: { + rules: [ + {required: true, message: '请输入标准名称'}, + ], + validateTrigger: ['blur'] + } +} diff --git a/src/views/incomePayments/meetManage/modules/AuditModal.vue b/src/views/incomePayments/meetManage/modules/AuditModal.vue new file mode 100644 index 0000000..684964c --- /dev/null +++ b/src/views/incomePayments/meetManage/modules/AuditModal.vue @@ -0,0 +1,367 @@ + + + + + diff --git a/src/views/incomePayments/meetManage/modules/BatchInvocieModal.vue b/src/views/incomePayments/meetManage/modules/BatchInvocieModal.vue new file mode 100644 index 0000000..6589dc8 --- /dev/null +++ b/src/views/incomePayments/meetManage/modules/BatchInvocieModal.vue @@ -0,0 +1,201 @@ + + + + + diff --git a/src/views/incomePayments/meetManage/modules/BatchSetDockerModal.vue b/src/views/incomePayments/meetManage/modules/BatchSetDockerModal.vue new file mode 100644 index 0000000..cd31b49 --- /dev/null +++ b/src/views/incomePayments/meetManage/modules/BatchSetDockerModal.vue @@ -0,0 +1,112 @@ + + + + + diff --git a/src/views/incomePayments/meetManage/modules/ImportParticipantModal.vue b/src/views/incomePayments/meetManage/modules/ImportParticipantModal.vue new file mode 100644 index 0000000..a5db7c2 --- /dev/null +++ b/src/views/incomePayments/meetManage/modules/ImportParticipantModal.vue @@ -0,0 +1,179 @@ + + + + + diff --git a/src/views/incomePayments/meetManage/modules/MeetModal.vue b/src/views/incomePayments/meetManage/modules/MeetModal.vue new file mode 100644 index 0000000..e0a79d8 --- /dev/null +++ b/src/views/incomePayments/meetManage/modules/MeetModal.vue @@ -0,0 +1,212 @@ + + + + + diff --git a/src/views/incomePayments/meetManage/modules/ProblemCollectionList.vue b/src/views/incomePayments/meetManage/modules/ProblemCollectionList.vue new file mode 100644 index 0000000..8d9ab17 --- /dev/null +++ b/src/views/incomePayments/meetManage/modules/ProblemCollectionList.vue @@ -0,0 +1,247 @@ + + + + + + \ No newline at end of file diff --git a/src/views/incomePayments/meetManage/modules/ProblemCollectionModal.vue b/src/views/incomePayments/meetManage/modules/ProblemCollectionModal.vue new file mode 100644 index 0000000..ea9fbfc --- /dev/null +++ b/src/views/incomePayments/meetManage/modules/ProblemCollectionModal.vue @@ -0,0 +1,58 @@ + + + + + + \ No newline at end of file diff --git a/src/views/incomePayments/meetManage/modules/SeminarPartnerForm.vue b/src/views/incomePayments/meetManage/modules/SeminarPartnerForm.vue new file mode 100644 index 0000000..a0d1dea --- /dev/null +++ b/src/views/incomePayments/meetManage/modules/SeminarPartnerForm.vue @@ -0,0 +1,149 @@ + + + + +> \ No newline at end of file diff --git a/src/views/incomePayments/meetManage/modules/SeminarVipForm.vue b/src/views/incomePayments/meetManage/modules/SeminarVipForm.vue new file mode 100644 index 0000000..4e9ec03 --- /dev/null +++ b/src/views/incomePayments/meetManage/modules/SeminarVipForm.vue @@ -0,0 +1,570 @@ + + + + + \ No newline at end of file diff --git a/src/views/incomePayments/meetManage/modules/SetGuessUploadFlagModal.vue b/src/views/incomePayments/meetManage/modules/SetGuessUploadFlagModal.vue new file mode 100644 index 0000000..c49185a --- /dev/null +++ b/src/views/incomePayments/meetManage/modules/SetGuessUploadFlagModal.vue @@ -0,0 +1,169 @@ + + + + + + \ No newline at end of file diff --git a/src/views/incomePayments/meetManage/modules/UploadMeetFileModal.vue b/src/views/incomePayments/meetManage/modules/UploadMeetFileModal.vue new file mode 100644 index 0000000..64a9d3c --- /dev/null +++ b/src/views/incomePayments/meetManage/modules/UploadMeetFileModal.vue @@ -0,0 +1,485 @@ + + + + + diff --git a/src/views/incomePayments/meetManage/test.js b/src/views/incomePayments/meetManage/test.js new file mode 100644 index 0000000..6c345d7 --- /dev/null +++ b/src/views/incomePayments/meetManage/test.js @@ -0,0 +1,29 @@ +let a = { + 'selectedCompany.companyName': '天津合众未来科技有限公司2', + 'phone': '15022561051', + 'identity': '2', + 'payMode': '1', + 'needInvoice': '2', + 'companyName': '天津合众未来科技有限公司2', + 'dutyCode': '91120111MA06DK219F', + 'companyAddress': '天津市西青区精武镇', + 'companyPhone': '022-2563252', + 'openingBank': '上海浦东发展银行股份有限公司天津浦和支行', + 'bankAccount': '77190078801200000563', + 'linkBankNumber': 'F123456', + 'invoiceProject': '2', + 'postContactName': '冯晨晨', + 'postContactAddress': '长虹公园', + 'postCode': '061104', + 'checkInHotel': '', + 'arrivalTime': null, + 'departureTime': null, + 'remark': 'zoey-工作组会议2888888', + 'meetingId': '1680850121742204930', + 'companyContactId': '1681121497208070146', + 'postContactId': null, + 'companyId': '1681121488563609601', + 'meetingType': '1', + 'id': '1682018325751480322' +} + diff --git a/src/views/incomePayments/memberManage/CertificateMaintenanceList.vue b/src/views/incomePayments/memberManage/CertificateMaintenanceList.vue new file mode 100644 index 0000000..79be8f1 --- /dev/null +++ b/src/views/incomePayments/memberManage/CertificateMaintenanceList.vue @@ -0,0 +1,263 @@ + + + + + + diff --git a/src/views/incomePayments/memberManage/CouncilMeetingManage.vue b/src/views/incomePayments/memberManage/CouncilMeetingManage.vue new file mode 100644 index 0000000..ba95ba7 --- /dev/null +++ b/src/views/incomePayments/memberManage/CouncilMeetingManage.vue @@ -0,0 +1,394 @@ + + + + + \ No newline at end of file diff --git a/src/views/incomePayments/memberManage/MemberProjectList.vue b/src/views/incomePayments/memberManage/MemberProjectList.vue new file mode 100644 index 0000000..3f0ead5 --- /dev/null +++ b/src/views/incomePayments/memberManage/MemberProjectList.vue @@ -0,0 +1,173 @@ + + + + + diff --git a/src/views/incomePayments/memberManage/SafeguardMemberList.vue b/src/views/incomePayments/memberManage/SafeguardMemberList.vue new file mode 100644 index 0000000..0cd2b29 --- /dev/null +++ b/src/views/incomePayments/memberManage/SafeguardMemberList.vue @@ -0,0 +1,352 @@ + + + + + diff --git a/src/views/incomePayments/memberManage/SafeguardStardsMemberList.vue b/src/views/incomePayments/memberManage/SafeguardStardsMemberList.vue new file mode 100644 index 0000000..8d03de7 --- /dev/null +++ b/src/views/incomePayments/memberManage/SafeguardStardsMemberList.vue @@ -0,0 +1,258 @@ + + + + + diff --git a/src/views/incomePayments/memberManage/StardsMemberProjectList.vue b/src/views/incomePayments/memberManage/StardsMemberProjectList.vue new file mode 100644 index 0000000..84b6195 --- /dev/null +++ b/src/views/incomePayments/memberManage/StardsMemberProjectList.vue @@ -0,0 +1,173 @@ + + + + + diff --git a/src/views/incomePayments/memberManage/councilMaintenance/CouncilMaintenanceList.vue b/src/views/incomePayments/memberManage/councilMaintenance/CouncilMaintenanceList.vue new file mode 100644 index 0000000..f29e536 --- /dev/null +++ b/src/views/incomePayments/memberManage/councilMaintenance/CouncilMaintenanceList.vue @@ -0,0 +1,312 @@ + + + + + + diff --git a/src/views/incomePayments/memberManage/councilMaintenance/modules/CouncilMaintenanceMemberModal.vue b/src/views/incomePayments/memberManage/councilMaintenance/modules/CouncilMaintenanceMemberModal.vue new file mode 100644 index 0000000..a92e83c --- /dev/null +++ b/src/views/incomePayments/memberManage/councilMaintenance/modules/CouncilMaintenanceMemberModal.vue @@ -0,0 +1,234 @@ + + + + + \ No newline at end of file diff --git a/src/views/incomePayments/memberManage/councilMaintenance/modules/CouncilMaintenanceModal.vue b/src/views/incomePayments/memberManage/councilMaintenance/modules/CouncilMaintenanceModal.vue new file mode 100644 index 0000000..47797dc --- /dev/null +++ b/src/views/incomePayments/memberManage/councilMaintenance/modules/CouncilMaintenanceModal.vue @@ -0,0 +1,155 @@ + + + + + \ No newline at end of file diff --git a/src/views/incomePayments/memberManage/modules/MemberProjectModal.vue b/src/views/incomePayments/memberManage/modules/MemberProjectModal.vue new file mode 100644 index 0000000..2d29989 --- /dev/null +++ b/src/views/incomePayments/memberManage/modules/MemberProjectModal.vue @@ -0,0 +1,227 @@ + + + + + diff --git a/src/views/incomePayments/memberManage/modules/SafeguardMemberModal.vue b/src/views/incomePayments/memberManage/modules/SafeguardMemberModal.vue new file mode 100644 index 0000000..2bbe527 --- /dev/null +++ b/src/views/incomePayments/memberManage/modules/SafeguardMemberModal.vue @@ -0,0 +1,550 @@ + + + + + diff --git a/src/views/mailManagement/BillMail.vue b/src/views/mailManagement/BillMail.vue new file mode 100644 index 0000000..f105029 --- /dev/null +++ b/src/views/mailManagement/BillMail.vue @@ -0,0 +1,282 @@ + + + \ No newline at end of file diff --git a/src/views/mailManagement/ContractMail.vue b/src/views/mailManagement/ContractMail.vue new file mode 100644 index 0000000..d5cbe4e --- /dev/null +++ b/src/views/mailManagement/ContractMail.vue @@ -0,0 +1,286 @@ + + + \ No newline at end of file diff --git a/src/views/mailManagement/PrintPage.vue b/src/views/mailManagement/PrintPage.vue new file mode 100644 index 0000000..116ade7 --- /dev/null +++ b/src/views/mailManagement/PrintPage.vue @@ -0,0 +1,290 @@ + + + + + diff --git a/src/views/mailManagement/modules/MailContractModal.vue b/src/views/mailManagement/modules/MailContractModal.vue new file mode 100644 index 0000000..4f2af1e --- /dev/null +++ b/src/views/mailManagement/modules/MailContractModal.vue @@ -0,0 +1,182 @@ + + + \ No newline at end of file diff --git a/src/views/mailManagement/modules/MailModal.vue b/src/views/mailManagement/modules/MailModal.vue new file mode 100644 index 0000000..07a8c81 --- /dev/null +++ b/src/views/mailManagement/modules/MailModal.vue @@ -0,0 +1,190 @@ + + + \ No newline at end of file diff --git a/src/views/mailManagement/~@assets/less/common.less b/src/views/mailManagement/~@assets/less/common.less new file mode 100644 index 0000000..e69de29 diff --git a/src/views/modules/message/SysMessageList.vue b/src/views/modules/message/SysMessageList.vue new file mode 100644 index 0000000..a97a410 --- /dev/null +++ b/src/views/modules/message/SysMessageList.vue @@ -0,0 +1,238 @@ + + + + \ No newline at end of file diff --git a/src/views/modules/message/modules/SysMessageModal.vue b/src/views/modules/message/modules/SysMessageModal.vue new file mode 100644 index 0000000..e31a3da --- /dev/null +++ b/src/views/modules/message/modules/SysMessageModal.vue @@ -0,0 +1,185 @@ + + + + + \ No newline at end of file diff --git a/src/views/modules/message/modules/SysMessageTestModal.vue b/src/views/modules/message/modules/SysMessageTestModal.vue new file mode 100644 index 0000000..b670076 --- /dev/null +++ b/src/views/modules/message/modules/SysMessageTestModal.vue @@ -0,0 +1,122 @@ + + + + + \ No newline at end of file diff --git a/src/views/modules/message/modules/SystemNotificationsModal.vue b/src/views/modules/message/modules/SystemNotificationsModal.vue new file mode 100644 index 0000000..914ac91 --- /dev/null +++ b/src/views/modules/message/modules/SystemNotificationsModal.vue @@ -0,0 +1,133 @@ + + + + + \ No newline at end of file diff --git a/src/views/modules/notice/SysNoticeList.vue b/src/views/modules/notice/SysNoticeList.vue new file mode 100644 index 0000000..74845ba --- /dev/null +++ b/src/views/modules/notice/SysNoticeList.vue @@ -0,0 +1,144 @@ + + + + + \ No newline at end of file diff --git a/src/views/modules/notice/modules/SysNoticeModal.vue b/src/views/modules/notice/modules/SysNoticeModal.vue new file mode 100644 index 0000000..0d5416e --- /dev/null +++ b/src/views/modules/notice/modules/SysNoticeModal.vue @@ -0,0 +1,143 @@ + + + + + \ No newline at end of file diff --git a/src/views/packManagement/PackCompanyList.vue b/src/views/packManagement/PackCompanyList.vue new file mode 100644 index 0000000..00ec08e --- /dev/null +++ b/src/views/packManagement/PackCompanyList.vue @@ -0,0 +1,371 @@ + + + + + \ No newline at end of file diff --git a/src/views/packManagement/PackProjectMaintenance.vue b/src/views/packManagement/PackProjectMaintenance.vue new file mode 100644 index 0000000..fe32e57 --- /dev/null +++ b/src/views/packManagement/PackProjectMaintenance.vue @@ -0,0 +1,679 @@ + + + + + \ No newline at end of file diff --git a/src/views/packManagement/modules/BatchIncomePaymentModule.vue b/src/views/packManagement/modules/BatchIncomePaymentModule.vue new file mode 100644 index 0000000..607410f --- /dev/null +++ b/src/views/packManagement/modules/BatchIncomePaymentModule.vue @@ -0,0 +1,410 @@ + + + + + \ No newline at end of file diff --git a/src/views/packManagement/modules/BatchInvoicingModule.vue b/src/views/packManagement/modules/BatchInvoicingModule.vue new file mode 100644 index 0000000..b49054a --- /dev/null +++ b/src/views/packManagement/modules/BatchInvoicingModule.vue @@ -0,0 +1,552 @@ + + + + + \ No newline at end of file diff --git a/src/views/packManagement/modules/InvoiceInfoChangeModule.vue b/src/views/packManagement/modules/InvoiceInfoChangeModule.vue new file mode 100644 index 0000000..4c246e7 --- /dev/null +++ b/src/views/packManagement/modules/InvoiceInfoChangeModule.vue @@ -0,0 +1,235 @@ + + + + + + \ No newline at end of file diff --git a/src/views/packManagement/modules/PackCompanyModule.vue b/src/views/packManagement/modules/PackCompanyModule.vue new file mode 100644 index 0000000..0fb41e6 --- /dev/null +++ b/src/views/packManagement/modules/PackCompanyModule.vue @@ -0,0 +1,313 @@ + + + + + \ No newline at end of file diff --git a/src/views/packManagement/modules/PackProjectSelectProjectModule.vue b/src/views/packManagement/modules/PackProjectSelectProjectModule.vue new file mode 100644 index 0000000..dc63a2c --- /dev/null +++ b/src/views/packManagement/modules/PackProjectSelectProjectModule.vue @@ -0,0 +1,257 @@ + + + + + \ No newline at end of file diff --git a/src/views/projectManagement/AllMeetingList.vue b/src/views/projectManagement/AllMeetingList.vue new file mode 100644 index 0000000..040e11a --- /dev/null +++ b/src/views/projectManagement/AllMeetingList.vue @@ -0,0 +1,340 @@ + + + + + \ No newline at end of file diff --git a/src/views/projectManagement/CommitteeMeeting.vue b/src/views/projectManagement/CommitteeMeeting.vue new file mode 100644 index 0000000..aed9c8b --- /dev/null +++ b/src/views/projectManagement/CommitteeMeeting.vue @@ -0,0 +1,520 @@ + + + + + diff --git a/src/views/projectManagement/CommitteeUnderStudyProject.vue b/src/views/projectManagement/CommitteeUnderStudyProject.vue new file mode 100644 index 0000000..83265ea --- /dev/null +++ b/src/views/projectManagement/CommitteeUnderStudyProject.vue @@ -0,0 +1,211 @@ + + + + + \ No newline at end of file diff --git a/src/views/projectManagement/ConferenceMaintenance.vue b/src/views/projectManagement/ConferenceMaintenance.vue new file mode 100644 index 0000000..75ffdbe --- /dev/null +++ b/src/views/projectManagement/ConferenceMaintenance.vue @@ -0,0 +1,395 @@ + + + + + \ No newline at end of file diff --git a/src/views/projectManagement/GeneralProjectManagement.vue b/src/views/projectManagement/GeneralProjectManagement.vue new file mode 100644 index 0000000..4d3cf0e --- /dev/null +++ b/src/views/projectManagement/GeneralProjectManagement.vue @@ -0,0 +1,270 @@ + + + + + \ No newline at end of file diff --git a/src/views/projectManagement/InternationalSeminar.vue b/src/views/projectManagement/InternationalSeminar.vue new file mode 100644 index 0000000..68ef315 --- /dev/null +++ b/src/views/projectManagement/InternationalSeminar.vue @@ -0,0 +1,343 @@ + + + + + \ No newline at end of file diff --git a/src/views/projectManagement/InternationalSeminarGenerateCode.vue b/src/views/projectManagement/InternationalSeminarGenerateCode.vue new file mode 100644 index 0000000..b9505d2 --- /dev/null +++ b/src/views/projectManagement/InternationalSeminarGenerateCode.vue @@ -0,0 +1,160 @@ + + + + + + + \ No newline at end of file diff --git a/src/views/projectManagement/OtherMeeting.vue b/src/views/projectManagement/OtherMeeting.vue new file mode 100644 index 0000000..3c3ec26 --- /dev/null +++ b/src/views/projectManagement/OtherMeeting.vue @@ -0,0 +1,345 @@ + + + + + \ No newline at end of file diff --git a/src/views/projectManagement/WorkingGroupMemberUnitMaintenance.vue b/src/views/projectManagement/WorkingGroupMemberUnitMaintenance.vue new file mode 100644 index 0000000..86e9d5f --- /dev/null +++ b/src/views/projectManagement/WorkingGroupMemberUnitMaintenance.vue @@ -0,0 +1,609 @@ + + + + + diff --git a/src/views/projectManagement/WorkingGroupProjectDataMaintenance.vue b/src/views/projectManagement/WorkingGroupProjectDataMaintenance.vue new file mode 100644 index 0000000..081a56b --- /dev/null +++ b/src/views/projectManagement/WorkingGroupProjectDataMaintenance.vue @@ -0,0 +1,235 @@ + + + + + \ No newline at end of file diff --git a/src/views/projectManagement/WorkingGroupProjectManagement.vue b/src/views/projectManagement/WorkingGroupProjectManagement.vue new file mode 100644 index 0000000..e4f16cb --- /dev/null +++ b/src/views/projectManagement/WorkingGroupProjectManagement.vue @@ -0,0 +1,397 @@ + + + + + diff --git a/src/views/projectManagement/WorkingGroupUnderStudyProject.vue b/src/views/projectManagement/WorkingGroupUnderStudyProject.vue new file mode 100644 index 0000000..2b796e0 --- /dev/null +++ b/src/views/projectManagement/WorkingGroupUnderStudyProject.vue @@ -0,0 +1,177 @@ + + + + + \ No newline at end of file diff --git a/src/views/projectManagement/modules/CommitteeUnderStudyFilesModal.vue b/src/views/projectManagement/modules/CommitteeUnderStudyFilesModal.vue new file mode 100644 index 0000000..449d18c --- /dev/null +++ b/src/views/projectManagement/modules/CommitteeUnderStudyFilesModal.vue @@ -0,0 +1,117 @@ + + + + + \ No newline at end of file diff --git a/src/views/projectManagement/modules/EmailErrorMsgModal.vue b/src/views/projectManagement/modules/EmailErrorMsgModal.vue new file mode 100644 index 0000000..808ed58 --- /dev/null +++ b/src/views/projectManagement/modules/EmailErrorMsgModal.vue @@ -0,0 +1,48 @@ + + + + + \ No newline at end of file diff --git a/src/views/projectManagement/modules/GeneralProjectModule.vue b/src/views/projectManagement/modules/GeneralProjectModule.vue new file mode 100644 index 0000000..4b16544 --- /dev/null +++ b/src/views/projectManagement/modules/GeneralProjectModule.vue @@ -0,0 +1,674 @@ + + + + + \ No newline at end of file diff --git a/src/views/projectManagement/modules/InternationalSeminarGenerateCodeModal.vue b/src/views/projectManagement/modules/InternationalSeminarGenerateCodeModal.vue new file mode 100644 index 0000000..4ff0d63 --- /dev/null +++ b/src/views/projectManagement/modules/InternationalSeminarGenerateCodeModal.vue @@ -0,0 +1,341 @@ + + + + + + \ No newline at end of file diff --git a/src/views/projectManagement/modules/PublishRemindModal.vue b/src/views/projectManagement/modules/PublishRemindModal.vue new file mode 100644 index 0000000..2f2e6f6 --- /dev/null +++ b/src/views/projectManagement/modules/PublishRemindModal.vue @@ -0,0 +1,400 @@ + + + + + \ No newline at end of file diff --git a/src/views/projectManagement/modules/WorkGroupDistributeModule.vue b/src/views/projectManagement/modules/WorkGroupDistributeModule.vue new file mode 100644 index 0000000..74d04dc --- /dev/null +++ b/src/views/projectManagement/modules/WorkGroupDistributeModule.vue @@ -0,0 +1,508 @@ + + + + + \ No newline at end of file diff --git a/src/views/projectManagement/modules/WorkGroupFileUploadModal.vue b/src/views/projectManagement/modules/WorkGroupFileUploadModal.vue new file mode 100644 index 0000000..bde82cd --- /dev/null +++ b/src/views/projectManagement/modules/WorkGroupFileUploadModal.vue @@ -0,0 +1,138 @@ + + + + + \ No newline at end of file diff --git a/src/views/projectManagement/modules/WorkGroupSetLabel.vue b/src/views/projectManagement/modules/WorkGroupSetLabel.vue new file mode 100644 index 0000000..9dd00c9 --- /dev/null +++ b/src/views/projectManagement/modules/WorkGroupSetLabel.vue @@ -0,0 +1,113 @@ + + + + + + \ No newline at end of file diff --git a/src/views/projectManagement/modules/WorkingGroupMemberSetChargeNotice.vue b/src/views/projectManagement/modules/WorkingGroupMemberSetChargeNotice.vue new file mode 100644 index 0000000..0e9fcb2 --- /dev/null +++ b/src/views/projectManagement/modules/WorkingGroupMemberSetChargeNotice.vue @@ -0,0 +1,202 @@ + + + + + \ No newline at end of file diff --git a/src/views/projectManagement/modules/WorkingGroupMemberUnitModule.vue b/src/views/projectManagement/modules/WorkingGroupMemberUnitModule.vue new file mode 100644 index 0000000..93e5562 --- /dev/null +++ b/src/views/projectManagement/modules/WorkingGroupMemberUnitModule.vue @@ -0,0 +1,1023 @@ + + + + + \ No newline at end of file diff --git a/src/views/projectManagement/modules/WorkingGroupProjectModule.vue b/src/views/projectManagement/modules/WorkingGroupProjectModule.vue new file mode 100644 index 0000000..fb1699b --- /dev/null +++ b/src/views/projectManagement/modules/WorkingGroupProjectModule.vue @@ -0,0 +1,355 @@ + + + + + \ No newline at end of file diff --git a/src/views/projectManagement/modules/WorkingGroupUnderStudyProjectModal.vue b/src/views/projectManagement/modules/WorkingGroupUnderStudyProjectModal.vue new file mode 100644 index 0000000..e68aa20 --- /dev/null +++ b/src/views/projectManagement/modules/WorkingGroupUnderStudyProjectModal.vue @@ -0,0 +1,183 @@ + + + + + diff --git a/src/views/result/Error.vue b/src/views/result/Error.vue new file mode 100644 index 0000000..f579862 --- /dev/null +++ b/src/views/result/Error.vue @@ -0,0 +1,45 @@ + + + + + \ No newline at end of file diff --git a/src/views/result/Result.vue b/src/views/result/Result.vue new file mode 100644 index 0000000..ebcbffe --- /dev/null +++ b/src/views/result/Result.vue @@ -0,0 +1,91 @@ + + + + + \ No newline at end of file diff --git a/src/views/result/Success.vue b/src/views/result/Success.vue new file mode 100644 index 0000000..6504b5a --- /dev/null +++ b/src/views/result/Success.vue @@ -0,0 +1,92 @@ + + + + + \ No newline at end of file diff --git a/src/views/signUp/SignUpEntrance.vue b/src/views/signUp/SignUpEntrance.vue new file mode 100644 index 0000000..ca43f77 --- /dev/null +++ b/src/views/signUp/SignUpEntrance.vue @@ -0,0 +1,332 @@ + + + + + \ No newline at end of file diff --git a/src/views/signUp/SignUpPage.vue b/src/views/signUp/SignUpPage.vue new file mode 100644 index 0000000..c31867b --- /dev/null +++ b/src/views/signUp/SignUpPage.vue @@ -0,0 +1,850 @@ + + + + + \ No newline at end of file diff --git a/src/views/statisticalReport/departmentStatistics/IndividualPaymentStatisticsDetail.vue b/src/views/statisticalReport/departmentStatistics/IndividualPaymentStatisticsDetail.vue new file mode 100644 index 0000000..9ddf67c --- /dev/null +++ b/src/views/statisticalReport/departmentStatistics/IndividualPaymentStatisticsDetail.vue @@ -0,0 +1,462 @@ + + + + + \ No newline at end of file diff --git a/src/views/statisticalReport/departmentStatistics/IndividualPaymentStatisticsList.vue b/src/views/statisticalReport/departmentStatistics/IndividualPaymentStatisticsList.vue new file mode 100644 index 0000000..208d398 --- /dev/null +++ b/src/views/statisticalReport/departmentStatistics/IndividualPaymentStatisticsList.vue @@ -0,0 +1,475 @@ + + + + + \ No newline at end of file diff --git a/src/views/statisticalReport/statisticData.js b/src/views/statisticalReport/statisticData.js new file mode 100644 index 0000000..0cd4a3e --- /dev/null +++ b/src/views/statisticalReport/statisticData.js @@ -0,0 +1,29 @@ +export const MonthData = [ + {name: '1月', value: '01', key: 'January'}, + {name: '2月', value: '02', key: 'February'}, + {name: '3月', value: '03', key: 'March'}, + {name: '4月', value: '04', key: 'April'}, + {name: '5月', value: '05', key: 'May'}, + {name: '6月', value: '06', key: 'June'}, + {name: '7月', value: '07', key: 'July'}, + {name: '8月', value: '08', key: 'August'}, + {name: '9月', value: '09', key: 'September'}, + {name: '10月', value: '10', key: 'October'}, + {name: '11月', value: '11', key: 'November'}, + {name: '12月', value: '12', key: 'December'}, +] + +export const MonthDataTotal = [ + {name: '1月累计', value: '01', key: 'January'}, + {name: '2月累计', value: '02', key: 'February'}, + {name: '3月累计', value: '03', key: 'March'}, + {name: '4月累计', value: '04', key: 'April'}, + {name: '5月累计', value: '05', key: 'May'}, + {name: '6月累计', value: '06', key: 'June'}, + {name: '7月累计', value: '07', key: 'July'}, + {name: '8月累计', value: '08', key: 'August'}, + {name: '9月累计', value: '09', key: 'September'}, + {name: '10月累计', value: '10', key: 'October'}, + {name: '11月累计', value: '11', key: 'November'}, + {name: '12月累计', value: '12', key: 'December'}, +] \ No newline at end of file diff --git a/src/views/system/ConfusionList.vue b/src/views/system/ConfusionList.vue new file mode 100644 index 0000000..ed754ee --- /dev/null +++ b/src/views/system/ConfusionList.vue @@ -0,0 +1,204 @@ + + + + diff --git a/src/views/system/LogList.vue b/src/views/system/LogList.vue new file mode 100644 index 0000000..92fbf5b --- /dev/null +++ b/src/views/system/LogList.vue @@ -0,0 +1,244 @@ + + + + diff --git a/src/views/system/QuartzJobList.vue b/src/views/system/QuartzJobList.vue new file mode 100644 index 0000000..04aeb76 --- /dev/null +++ b/src/views/system/QuartzJobList.vue @@ -0,0 +1,299 @@ + + + + diff --git a/src/views/system/SysAnnouncementList.vue b/src/views/system/SysAnnouncementList.vue new file mode 100644 index 0000000..1fabe2f --- /dev/null +++ b/src/views/system/SysAnnouncementList.vue @@ -0,0 +1,297 @@ + + + + \ No newline at end of file diff --git a/src/views/system/SysCategoryList.vue b/src/views/system/SysCategoryList.vue new file mode 100644 index 0000000..0ba17a6 --- /dev/null +++ b/src/views/system/SysCategoryList.vue @@ -0,0 +1,349 @@ + + + + \ No newline at end of file diff --git a/src/views/system/SysCheckRuleList.vue b/src/views/system/SysCheckRuleList.vue new file mode 100644 index 0000000..5f28d2c --- /dev/null +++ b/src/views/system/SysCheckRuleList.vue @@ -0,0 +1,178 @@ + + + + \ No newline at end of file diff --git a/src/views/system/UserAnnouncementList.vue b/src/views/system/UserAnnouncementList.vue new file mode 100644 index 0000000..4f6c64f --- /dev/null +++ b/src/views/system/UserAnnouncementList.vue @@ -0,0 +1,357 @@ + + + + \ No newline at end of file diff --git a/src/views/system/modules/QuartzJobModal.vue b/src/views/system/modules/QuartzJobModal.vue new file mode 100644 index 0000000..6e0e598 --- /dev/null +++ b/src/views/system/modules/QuartzJobModal.vue @@ -0,0 +1,193 @@ + + + + + diff --git a/src/views/system/modules/RoleDataruleModal.vue b/src/views/system/modules/RoleDataruleModal.vue new file mode 100644 index 0000000..ff0d02b --- /dev/null +++ b/src/views/system/modules/RoleDataruleModal.vue @@ -0,0 +1,120 @@ + + + + + \ No newline at end of file diff --git a/src/views/system/modules/RoleModal.vue b/src/views/system/modules/RoleModal.vue new file mode 100644 index 0000000..df44e75 --- /dev/null +++ b/src/views/system/modules/RoleModal.vue @@ -0,0 +1,216 @@ + + + + + diff --git a/src/views/system/modules/SelectUserListModal.vue b/src/views/system/modules/SelectUserListModal.vue new file mode 100644 index 0000000..a05cb35 --- /dev/null +++ b/src/views/system/modules/SelectUserListModal.vue @@ -0,0 +1,290 @@ + + + + \ No newline at end of file diff --git a/src/views/system/modules/SelectUserModal.vue b/src/views/system/modules/SelectUserModal.vue new file mode 100644 index 0000000..e2f7b60 --- /dev/null +++ b/src/views/system/modules/SelectUserModal.vue @@ -0,0 +1,296 @@ + + + + diff --git a/src/views/system/modules/SysAnnouncementModal.vue b/src/views/system/modules/SysAnnouncementModal.vue new file mode 100644 index 0000000..da07c0d --- /dev/null +++ b/src/views/system/modules/SysAnnouncementModal.vue @@ -0,0 +1,359 @@ + + + + + \ No newline at end of file diff --git a/src/views/system/modules/SysCategoryModal.vue b/src/views/system/modules/SysCategoryModal.vue new file mode 100644 index 0000000..6284c33 --- /dev/null +++ b/src/views/system/modules/SysCategoryModal.vue @@ -0,0 +1,182 @@ + + + \ No newline at end of file diff --git a/src/views/system/modules/SysCheckRuleModal.vue b/src/views/system/modules/SysCheckRuleModal.vue new file mode 100644 index 0000000..60f0b44 --- /dev/null +++ b/src/views/system/modules/SysCheckRuleModal.vue @@ -0,0 +1,379 @@ + + + + + \ No newline at end of file diff --git a/src/views/system/modules/SysCheckRuleTestModal.vue b/src/views/system/modules/SysCheckRuleTestModal.vue new file mode 100644 index 0000000..6da0842 --- /dev/null +++ b/src/views/system/modules/SysCheckRuleTestModal.vue @@ -0,0 +1,58 @@ + + + + + \ No newline at end of file diff --git a/src/views/system/modules/SysConfusionForm.vue b/src/views/system/modules/SysConfusionForm.vue new file mode 100644 index 0000000..83c5036 --- /dev/null +++ b/src/views/system/modules/SysConfusionForm.vue @@ -0,0 +1,209 @@ + + + diff --git a/src/views/system/modules/SysConfusionModal.vue b/src/views/system/modules/SysConfusionModal.vue new file mode 100644 index 0000000..53aeb55 --- /dev/null +++ b/src/views/system/modules/SysConfusionModal.vue @@ -0,0 +1,72 @@ + + + diff --git a/src/views/system/modules/SysDepartRoleModal.vue b/src/views/system/modules/SysDepartRoleModal.vue new file mode 100644 index 0000000..a086e4d --- /dev/null +++ b/src/views/system/modules/SysDepartRoleModal.vue @@ -0,0 +1,162 @@ + + + + + \ No newline at end of file diff --git a/src/views/system/modules/TenantForm.vue b/src/views/system/modules/TenantForm.vue new file mode 100644 index 0000000..3b71d98 --- /dev/null +++ b/src/views/system/modules/TenantForm.vue @@ -0,0 +1,185 @@ + + + diff --git a/src/views/system/modules/UserModal.vue b/src/views/system/modules/UserModal.vue new file mode 100644 index 0000000..114d547 --- /dev/null +++ b/src/views/system/modules/UserModal.vue @@ -0,0 +1,784 @@ + + + + + diff --git a/src/views/system/modules/icon/Icon.less b/src/views/system/modules/icon/Icon.less new file mode 100644 index 0000000..5e37187 --- /dev/null +++ b/src/views/system/modules/icon/Icon.less @@ -0,0 +1,35 @@ +@active-color: #4a4a48; +ul { + max-height: 700px; + overflow-y: auto; + padding-left: .5rem; + i { + font-size: 1.5rem; + border: 1px solid #f1f1f1; + padding: .2rem; + margin: .3rem; + cursor: pointer; + &.active, &:hover { + border-radius: 2px; + border-color: @active-color; + background-color: @active-color; + color: #fff; + transition: all .3s; + } + } + li { + list-style: none; + float: left; + width: 5%; + text-align: center; + cursor: pointer; + color: #555; + transition: color .3s ease-in-out,background-color .3s ease-in-out; + position: relative; + margin: 3px 0; + border-radius: 4px; + background-color: #fff; + overflow: hidden; + padding: 10px 0 0; + } +} diff --git a/src/views/system/modules/icon/Icons.vue b/src/views/system/modules/icon/Icons.vue new file mode 100644 index 0000000..4b18ced --- /dev/null +++ b/src/views/system/modules/icon/Icons.vue @@ -0,0 +1,123 @@ + + + diff --git a/src/views/test/TestPage.vue b/src/views/test/TestPage.vue new file mode 100644 index 0000000..c62e452 --- /dev/null +++ b/src/views/test/TestPage.vue @@ -0,0 +1,13 @@ + + + + + diff --git a/src/views/user/Login.vue b/src/views/user/Login.vue new file mode 100644 index 0000000..955017b --- /dev/null +++ b/src/views/user/Login.vue @@ -0,0 +1,381 @@ + + + + diff --git a/src/views/user/alteration/Alteration.vue b/src/views/user/alteration/Alteration.vue new file mode 100644 index 0000000..f745e8b --- /dev/null +++ b/src/views/user/alteration/Alteration.vue @@ -0,0 +1,415 @@ + + + + + \ No newline at end of file diff --git a/src/views/user/register/Register.vue b/src/views/user/register/Register.vue new file mode 100644 index 0000000..7a3acb9 --- /dev/null +++ b/src/views/user/register/Register.vue @@ -0,0 +1,379 @@ + + + + + \ No newline at end of file diff --git a/src/views/user/register/RegisterResult.vue b/src/views/user/register/RegisterResult.vue new file mode 100644 index 0000000..0ee8e4a --- /dev/null +++ b/src/views/user/register/RegisterResult.vue @@ -0,0 +1,52 @@ + + + + + \ No newline at end of file diff --git a/vue.config.js b/vue.config.js new file mode 100644 index 0000000..6c8fd02 --- /dev/null +++ b/vue.config.js @@ -0,0 +1,130 @@ +const path = require('path') +const CompressionPlugin = require('compression-webpack-plugin') + +function resolve(dir) { + return path.join(__dirname, dir) +} + +// vue.config.js +module.exports = { + /* + Vue-cli3: + Crashed when using Webpack `import()` #2463 + https://github.com/vuejs/vue-cli/issues/2463 + */ + // 如果你不需要生产环境的 source map,可以将其设置为 false 以加速生产环境构建。 + productionSourceMap: false, + //打包app时放开该配置 + //publicPath:'./', + configureWebpack: (config) => { + //生产环境取消 console.log + if (process.env.NODE_ENV === 'production') { + config.optimization.minimizer[0].options.terserOptions.compress.drop_console = true + } + }, + chainWebpack: (config) => { + config.resolve.alias + .set('@$', resolve('src')) + .set('@api', resolve('src/api')) + .set('@assets', resolve('src/assets')) + .set('@comp', resolve('src/components')) + .set('@views', resolve('src/views')) + + //生产环境,开启js\css压缩 + if (process.env.NODE_ENV === 'production') { + config.plugin('compressionPlugin').use( + new CompressionPlugin({ + test: /\.(js|css|less)$/, // 匹配文件名 + threshold: 10240, // 对超过10k的数据压缩 + deleteOriginalAssets: false, // 不删除源文件 + }) + ) + } + + // 配置 webpack 识别 markdown 为普通的文件 + config.module + .rule('markdown') + .test(/\.md$/) + .use() + .loader('file-loader') + .end() + + // 编译vxe-table包里的es6代码,解决IE11兼容问题 + config.module + .rule('vxe') + .test(/\.js$/) + .include.add(resolve('node_modules/vxe-table')) + .add(resolve('node_modules/vxe-table-plugin-antd')) + .end() + .use() + .loader('babel-loader') + .end() + }, + + css: { + loaderOptions: { + less: { + modifyVars: { + /* less 变量覆盖,用于自定义 ant design 主题 */ + 'primary-color': '#069f99', + 'link-color': '#069f99', + 'border-radius-base': '4px', + }, + javascriptEnabled: true, + }, + }, + }, + + devServer: { + port: 21825, + proxy: { + /* '/api': { + target: 'https://mock.ihx.me/mock/5baf3052f7da7e07e04a5116/antd-pro', //mock API接口系统 + ws: false, + changeOrigin: true, + pathRewrite: { + '/jero-boot': '' //默认所有请求都加了jero-boot前缀,需要去掉 + } + },*/ + '/jero-boot': { + // '' + // target: 'http://10.0.10.78:21824', //请求本地 jero-boot后台项目 + target: "http://localhost:21824", // + ws: false, + changeOrigin: true + }, + // 请求大屏客户环境 + "/zxd": { + target: "http://www.catarc.org.cn:8088", + ws: false, + changeOrigin: true + }, + // 请求WP29客户环境 + "/WPApi": { + //http://www.catarc.org.cn:20046/iso/back + // http://www.catarc.org.cn:20045/wp29/back + // target: "http://www.catarc.org.cn:20045/wp29", + // target: "http://10.10.10.46:9301", // 测试环境 + target: "http://localhost:8080", + changeOrigin: true, + ws: false, + pathRewrite: { + "^/WPApi": "/jeecg-boot" // 请求WP29项目的后端并重写前缀 + } + }, + "/ISO": { + // target: "http://www.catarc.org.cn:20046/iso", + // target: "http://10.10.10.46:9401", + target: "http://localhost:8081", + ws: false, + changeOrigin: true, + pathRewrite: { + "^/ISO": "/jeecg-boot" // 请求WP29项目的后端并重写前缀 + } + } + + } + }, + + lintOnSave: true +} diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..ea4c6bf --- /dev/null +++ b/yarn.lock @@ -0,0 +1,11570 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@ant-design/colors@^3.1.0": + version "3.2.2" + resolved "https://registry.npmjs.org/@ant-design/colors/-/colors-3.2.2.tgz" + integrity sha512-YKgNbG2dlzqMhA9NtI3/pbY16m3Yl/EeWBRa+lB1X1YaYxHrxNexiQYCLTWO/uDvAjLFMEDU+zR901waBtMtjQ== + dependencies: + tinycolor2 "^1.4.1" + +"@ant-design/icons-vue@^2.0.0": + version "2.0.0" + resolved "https://registry.npmjs.org/@ant-design/icons-vue/-/icons-vue-2.0.0.tgz" + integrity sha512-2c0QQE5hL4N48k5NkPG5sdpMl9YnvyNhf0U7YkdZYDlLnspoRU7vIA0UK9eHBs6OpFLcJB6o8eJrIl2ajBskPg== + dependencies: + "@ant-design/colors" "^3.1.0" + babel-runtime "^6.26.0" + +"@ant-design/icons@^2.1.1": + version "2.1.1" + resolved "https://registry.npmjs.org/@ant-design/icons/-/icons-2.1.1.tgz" + integrity sha512-jCH+k2Vjlno4YWl6g535nHR09PwCEmTBKAG6VqF+rhkrSPRLfgpU2maagwbZPLjaHuU5Jd1DFQ2KJpQuI6uG8w== + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/code-frame/download/@babel/code-frame-7.14.5.tgz" + integrity sha1-I7CNdA6D9JxeWZRfvxtD6Au/Tts= + dependencies: + "@babel/highlight" "^7.14.5" + +"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.14.5", "@babel/compat-data@^7.14.7", "@babel/compat-data@^7.14.9": + version "7.14.9" + resolved "https://registry.nlark.com/@babel/compat-data/download/@babel/compat-data-7.14.9.tgz?cache=0&sync_timestamp=1627804907914&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fcompat-data%2Fdownload%2F%40babel%2Fcompat-data-7.14.9.tgz" + integrity sha1-rHmWzqr8+PQQEZyK8NHbTPkUohA= + +"@babel/core@^7.11.0": + version "7.14.8" + resolved "https://registry.nlark.com/@babel/core/download/@babel/core-7.14.8.tgz?cache=0&sync_timestamp=1626804295712&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fcore%2Fdownload%2F%40babel%2Fcore-7.14.8.tgz" + integrity sha1-IM33yEtdhtg/rIcQqLxgWnuj8BA= + dependencies: + "@babel/code-frame" "^7.14.5" + "@babel/generator" "^7.14.8" + "@babel/helper-compilation-targets" "^7.14.5" + "@babel/helper-module-transforms" "^7.14.8" + "@babel/helpers" "^7.14.8" + "@babel/parser" "^7.14.8" + "@babel/template" "^7.14.5" + "@babel/traverse" "^7.14.8" + "@babel/types" "^7.14.8" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.1.2" + semver "^6.3.0" + source-map "^0.5.0" + +"@babel/generator@^7.14.8", "@babel/generator@^7.14.9": + version "7.14.9" + resolved "https://registry.nlark.com/@babel/generator/download/@babel/generator-7.14.9.tgz" + integrity sha1-I7GcWX04tPfcLj/kKmnIjZ7PqhY= + dependencies: + "@babel/types" "^7.14.9" + jsesc "^2.5.1" + source-map "^0.5.0" + +"@babel/helper-annotate-as-pure@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/helper-annotate-as-pure/download/@babel/helper-annotate-as-pure-7.14.5.tgz" + integrity sha1-e/R47Dtxcm1WqMpXdbBG/CmHnmE= + dependencies: + "@babel/types" "^7.14.5" + +"@babel/helper-builder-binary-assignment-operator-visitor@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/helper-builder-binary-assignment-operator-visitor/download/@babel/helper-builder-binary-assignment-operator-visitor-7.14.5.tgz" + integrity sha1-uTm0P4w3dlRDoZrnStixWXjgoZE= + dependencies: + "@babel/helper-explode-assignable-expression" "^7.14.5" + "@babel/types" "^7.14.5" + +"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.14.5", "@babel/helper-compilation-targets@^7.9.6": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/helper-compilation-targets/download/@babel/helper-compilation-targets-7.14.5.tgz" + integrity sha1-epnF0JZ5Eely/iw0EffVtJhJjs8= + dependencies: + "@babel/compat-data" "^7.14.5" + "@babel/helper-validator-option" "^7.14.5" + browserslist "^4.16.6" + semver "^6.3.0" + +"@babel/helper-create-class-features-plugin@^7.14.5": + version "7.14.8" + resolved "https://registry.nlark.com/@babel/helper-create-class-features-plugin/download/@babel/helper-create-class-features-plugin-7.14.8.tgz?cache=0&sync_timestamp=1626804310597&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-create-class-features-plugin%2Fdownload%2F%40babel%2Fhelper-create-class-features-plugin-7.14.8.tgz" + integrity sha1-pvjD3iCLHlYpQkqaY1Z/VlAZVfw= + dependencies: + "@babel/helper-annotate-as-pure" "^7.14.5" + "@babel/helper-function-name" "^7.14.5" + "@babel/helper-member-expression-to-functions" "^7.14.7" + "@babel/helper-optimise-call-expression" "^7.14.5" + "@babel/helper-replace-supers" "^7.14.5" + "@babel/helper-split-export-declaration" "^7.14.5" + +"@babel/helper-create-regexp-features-plugin@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/helper-create-regexp-features-plugin/download/@babel/helper-create-regexp-features-plugin-7.14.5.tgz" + integrity sha1-x9WsXpz2IcJgV3Ivt6ikxYiTWMQ= + dependencies: + "@babel/helper-annotate-as-pure" "^7.14.5" + regexpu-core "^4.7.1" + +"@babel/helper-define-polyfill-provider@^0.2.2": + version "0.2.3" + resolved "https://registry.nlark.com/@babel/helper-define-polyfill-provider/download/@babel/helper-define-polyfill-provider-0.2.3.tgz" + integrity sha1-BSXt7FCUZTooJojTTYRuTHXpwLY= + dependencies: + "@babel/helper-compilation-targets" "^7.13.0" + "@babel/helper-module-imports" "^7.12.13" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/traverse" "^7.13.0" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + semver "^6.1.2" + +"@babel/helper-explode-assignable-expression@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/helper-explode-assignable-expression/download/@babel/helper-explode-assignable-expression-7.14.5.tgz" + integrity sha1-iqcucIIFx7tkPkXHO0OGzfKh9kU= + dependencies: + "@babel/types" "^7.14.5" + +"@babel/helper-function-name@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/helper-function-name/download/@babel/helper-function-name-7.14.5.tgz" + integrity sha1-ieLEdJcvFdjiM7Uu6MSA4s/NUMQ= + dependencies: + "@babel/helper-get-function-arity" "^7.14.5" + "@babel/template" "^7.14.5" + "@babel/types" "^7.14.5" + +"@babel/helper-get-function-arity@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/helper-get-function-arity/download/@babel/helper-get-function-arity-7.14.5.tgz" + integrity sha1-Jfv6V5sJN+7h87gF7OTOOYxDGBU= + dependencies: + "@babel/types" "^7.14.5" + +"@babel/helper-hoist-variables@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/helper-hoist-variables/download/@babel/helper-hoist-variables-7.14.5.tgz" + integrity sha1-4N0nwzp45XfXyIhJFqPn7x98f40= + dependencies: + "@babel/types" "^7.14.5" + +"@babel/helper-member-expression-to-functions@^7.14.5", "@babel/helper-member-expression-to-functions@^7.14.7": + version "7.14.7" + resolved "https://registry.nlark.com/@babel/helper-member-expression-to-functions/download/@babel/helper-member-expression-to-functions-7.14.7.tgz" + integrity sha1-l+ViRL65QhH+J3vYGOOjKcZveXA= + dependencies: + "@babel/types" "^7.14.5" + +"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.14.5", "@babel/helper-module-imports@^7.8.3": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/helper-module-imports/download/@babel/helper-module-imports-7.14.5.tgz" + integrity sha1-bRpE32o4yVeqfDEtoHZCnxG0IvM= + dependencies: + "@babel/types" "^7.14.5" + +"@babel/helper-module-transforms@^7.14.5", "@babel/helper-module-transforms@^7.14.8": + version "7.14.8" + resolved "https://registry.nlark.com/@babel/helper-module-transforms/download/@babel/helper-module-transforms-7.14.8.tgz?cache=0&sync_timestamp=1626804313084&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-module-transforms%2Fdownload%2F%40babel%2Fhelper-module-transforms-7.14.8.tgz" + integrity sha1-1Ceffj/V9NXTQtgzrzbU3YfX3Ek= + dependencies: + "@babel/helper-module-imports" "^7.14.5" + "@babel/helper-replace-supers" "^7.14.5" + "@babel/helper-simple-access" "^7.14.8" + "@babel/helper-split-export-declaration" "^7.14.5" + "@babel/helper-validator-identifier" "^7.14.8" + "@babel/template" "^7.14.5" + "@babel/traverse" "^7.14.8" + "@babel/types" "^7.14.8" + +"@babel/helper-optimise-call-expression@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/helper-optimise-call-expression/download/@babel/helper-optimise-call-expression-7.14.5.tgz" + integrity sha1-8nOVqGGeBmWz8DZM3bQcJdcbSZw= + dependencies: + "@babel/types" "^7.14.5" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/helper-plugin-utils/download/@babel/helper-plugin-utils-7.14.5.tgz" + integrity sha1-WsgizpfuxGdBq3ClF5ceRDpwxak= + +"@babel/helper-remap-async-to-generator@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/helper-remap-async-to-generator/download/@babel/helper-remap-async-to-generator-7.14.5.tgz" + integrity sha1-UUOckTYSlY9UqYek/8nuWHogRdY= + dependencies: + "@babel/helper-annotate-as-pure" "^7.14.5" + "@babel/helper-wrap-function" "^7.14.5" + "@babel/types" "^7.14.5" + +"@babel/helper-replace-supers@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/helper-replace-supers/download/@babel/helper-replace-supers-7.14.5.tgz" + integrity sha1-DswLA8Qc1We0Ak6gFhNMKEFKu5Q= + dependencies: + "@babel/helper-member-expression-to-functions" "^7.14.5" + "@babel/helper-optimise-call-expression" "^7.14.5" + "@babel/traverse" "^7.14.5" + "@babel/types" "^7.14.5" + +"@babel/helper-simple-access@^7.14.5", "@babel/helper-simple-access@^7.14.8": + version "7.14.8" + resolved "https://registry.nlark.com/@babel/helper-simple-access/download/@babel/helper-simple-access-7.14.8.tgz?cache=0&sync_timestamp=1626804312322&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-simple-access%2Fdownload%2F%40babel%2Fhelper-simple-access-7.14.8.tgz" + integrity sha1-guH+wGRKfndcdNMF8hLDn4/nOSQ= + dependencies: + "@babel/types" "^7.14.8" + +"@babel/helper-skip-transparent-expression-wrappers@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/helper-skip-transparent-expression-wrappers/download/@babel/helper-skip-transparent-expression-wrappers-7.14.5.tgz" + integrity sha1-lvSGrAUMqfRLAJ++W305TKs6DuQ= + dependencies: + "@babel/types" "^7.14.5" + +"@babel/helper-split-export-declaration@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/helper-split-export-declaration/download/@babel/helper-split-export-declaration-7.14.5.tgz" + integrity sha1-IrI6VO9RwrdgXYUZMMGXbdC8aTo= + dependencies: + "@babel/types" "^7.14.5" + +"@babel/helper-validator-identifier@^7.14.5", "@babel/helper-validator-identifier@^7.14.8", "@babel/helper-validator-identifier@^7.14.9": + version "7.14.9" + resolved "https://registry.nlark.com/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.14.9.tgz?cache=0&sync_timestamp=1627804908574&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-validator-identifier%2Fdownload%2F%40babel%2Fhelper-validator-identifier-7.14.9.tgz" + integrity sha1-ZlTRcbICT22O4VG/JQlpmRkTHUg= + +"@babel/helper-validator-option@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/helper-validator-option/download/@babel/helper-validator-option-7.14.5.tgz" + integrity sha1-bnKh//GNXfy4eOHmLxoCHEty1aM= + +"@babel/helper-wrap-function@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/helper-wrap-function/download/@babel/helper-wrap-function-7.14.5.tgz" + integrity sha1-WRnRFb8P4yi4pdY7y2EPUWAfK/8= + dependencies: + "@babel/helper-function-name" "^7.14.5" + "@babel/template" "^7.14.5" + "@babel/traverse" "^7.14.5" + "@babel/types" "^7.14.5" + +"@babel/helpers@^7.14.8": + version "7.14.8" + resolved "https://registry.nlark.com/@babel/helpers/download/@babel/helpers-7.14.8.tgz?cache=0&sync_timestamp=1626804314405&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelpers%2Fdownload%2F%40babel%2Fhelpers-7.14.8.tgz" + integrity sha1-g5+I9GMCWIbP9/haNSlwB+LaG3c= + dependencies: + "@babel/template" "^7.14.5" + "@babel/traverse" "^7.14.8" + "@babel/types" "^7.14.8" + +"@babel/highlight@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/highlight/download/@babel/highlight-7.14.5.tgz" + integrity sha1-aGGlLwOWZAUAH2qlNKAaJNmejNk= + dependencies: + "@babel/helper-validator-identifier" "^7.14.5" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.14.5", "@babel/parser@^7.14.8", "@babel/parser@^7.14.9", "@babel/parser@^7.7.0": + version "7.14.9" + resolved "https://registry.nlark.com/@babel/parser/download/@babel/parser-7.14.9.tgz" + integrity sha1-WWwa1nYIBwBY6/jfUMHq9l24laQ= + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/download/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.14.5.tgz" + integrity sha1-S0ZzAuFUjtOxvkO+rizJz0Xgu34= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.14.5" + "@babel/plugin-proposal-optional-chaining" "^7.14.5" + +"@babel/plugin-proposal-async-generator-functions@^7.14.9": + version "7.14.9" + resolved "https://registry.nlark.com/@babel/plugin-proposal-async-generator-functions/download/@babel/plugin-proposal-async-generator-functions-7.14.9.tgz?cache=0&sync_timestamp=1627804904284&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-async-generator-functions%2Fdownload%2F%40babel%2Fplugin-proposal-async-generator-functions-7.14.9.tgz" + integrity sha1-cCjcT6IdwZm7rPmLObqxJn0Or5o= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-remap-async-to-generator" "^7.14.5" + "@babel/plugin-syntax-async-generators" "^7.8.4" + +"@babel/plugin-proposal-class-properties@^7.14.5", "@babel/plugin-proposal-class-properties@^7.8.3": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/plugin-proposal-class-properties/download/@babel/plugin-proposal-class-properties-7.14.5.tgz" + integrity sha1-QNHuFAxbHjGjUPT17tlFCWVZtC4= + dependencies: + "@babel/helper-create-class-features-plugin" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-proposal-class-static-block@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/plugin-proposal-class-static-block/download/@babel/plugin-proposal-class-static-block-7.14.5.tgz" + integrity sha1-FY6eENRJw4Se8+zelKA9nxhBtoE= + dependencies: + "@babel/helper-create-class-features-plugin" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + +"@babel/plugin-proposal-decorators@^7.8.3": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/plugin-proposal-decorators/download/@babel/plugin-proposal-decorators-7.14.5.tgz" + integrity sha1-WbxN/B1mW1pnSc95j/Qil+0bLB0= + dependencies: + "@babel/helper-create-class-features-plugin" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-decorators" "^7.14.5" + +"@babel/plugin-proposal-dynamic-import@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/plugin-proposal-dynamic-import/download/@babel/plugin-proposal-dynamic-import-7.14.5.tgz" + integrity sha1-DGYX30YcDB+P/ztHzVl3I2AQHSw= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + +"@babel/plugin-proposal-export-namespace-from@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/plugin-proposal-export-namespace-from/download/@babel/plugin-proposal-export-namespace-from-7.14.5.tgz" + integrity sha1-260kQxDObM0IMHIWfYzqg6Uvr3Y= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + +"@babel/plugin-proposal-json-strings@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/plugin-proposal-json-strings/download/@babel/plugin-proposal-json-strings-7.14.5.tgz" + integrity sha1-ON5g2zYug6PYyUSshY3fnwwiOes= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-json-strings" "^7.8.3" + +"@babel/plugin-proposal-logical-assignment-operators@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/plugin-proposal-logical-assignment-operators/download/@babel/plugin-proposal-logical-assignment-operators-7.14.5.tgz" + integrity sha1-bmIpwqmbAqspFfglceDMZGpAxzg= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + +"@babel/plugin-proposal-nullish-coalescing-operator@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/plugin-proposal-nullish-coalescing-operator/download/@babel/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz" + integrity sha1-7jhYnOAOLMWbKZ7D6kBvzToP2vY= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + +"@babel/plugin-proposal-numeric-separator@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/plugin-proposal-numeric-separator/download/@babel/plugin-proposal-numeric-separator-7.14.5.tgz" + integrity sha1-g2Mb8z2aUd8YTCECoGmsDFjAXxg= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-proposal-object-rest-spread@^7.14.7": + version "7.14.7" + resolved "https://registry.nlark.com/@babel/plugin-proposal-object-rest-spread/download/@babel/plugin-proposal-object-rest-spread-7.14.7.tgz" + integrity sha1-WSCis99/eQHfAgWXTAZBsT/Z02M= + dependencies: + "@babel/compat-data" "^7.14.7" + "@babel/helper-compilation-targets" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.14.5" + +"@babel/plugin-proposal-optional-catch-binding@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/plugin-proposal-optional-catch-binding/download/@babel/plugin-proposal-optional-catch-binding-7.14.5.tgz" + integrity sha1-k53W7d7/Omf997PwRLU0cmJZjDw= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + +"@babel/plugin-proposal-optional-chaining@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/plugin-proposal-optional-chaining/download/@babel/plugin-proposal-optional-chaining-7.14.5.tgz" + integrity sha1-+oNlHmCjYOPxN5fu8AuNUZaVtgM= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.14.5" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + +"@babel/plugin-proposal-private-methods@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/plugin-proposal-private-methods/download/@babel/plugin-proposal-private-methods-7.14.5.tgz" + integrity sha1-N0RklZlrKUXzD1vltg1eKqT1eS0= + dependencies: + "@babel/helper-create-class-features-plugin" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-proposal-private-property-in-object@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/plugin-proposal-private-property-in-object/download/@babel/plugin-proposal-private-property-in-object-7.14.5.tgz" + integrity sha1-n2Wk0Ek6lAtMAfiqnT8YlKWH9jY= + dependencies: + "@babel/helper-annotate-as-pure" "^7.14.5" + "@babel/helper-create-class-features-plugin" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + +"@babel/plugin-proposal-unicode-property-regex@^7.14.5", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/plugin-proposal-unicode-property-regex/download/@babel/plugin-proposal-unicode-property-regex-7.14.5.tgz?cache=0&sync_timestamp=1623280613738&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-proposal-unicode-property-regex%2Fdownload%2F%40babel%2Fplugin-proposal-unicode-property-regex-7.14.5.tgz" + integrity sha1-D5XuDnV6XWR/N42qDsp+k/qou+g= + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-async-generators@^7.8.4": + version "7.8.4" + resolved "https://registry.nlark.com/@babel/plugin-syntax-async-generators/download/@babel/plugin-syntax-async-generators-7.8.4.tgz" + integrity sha1-qYP7Gusuw/btBCohD2QOkOeG/g0= + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.12.13": + version "7.12.13" + resolved "https://registry.nlark.com/@babel/plugin-syntax-class-properties/download/@babel/plugin-syntax-class-properties-7.12.13.tgz" + integrity sha1-tcmHJ0xKOoK4lxR5aTGmtTVErhA= + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-class-static-block@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/plugin-syntax-class-static-block/download/@babel/plugin-syntax-class-static-block-7.14.5.tgz" + integrity sha1-GV34mxRrS3izv4l/16JXyEZZ1AY= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-decorators@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/plugin-syntax-decorators/download/@babel/plugin-syntax-decorators-7.14.5.tgz" + integrity sha1-6vucDL4JyK/rlkujp7vWOUWnLyA= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-dynamic-import@^7.8.3": + version "7.8.3" + resolved "https://registry.nlark.com/@babel/plugin-syntax-dynamic-import/download/@babel/plugin-syntax-dynamic-import-7.8.3.tgz" + integrity sha1-Yr+Ysto80h1iYVT8lu5bPLaOrLM= + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-export-namespace-from@^7.8.3": + version "7.8.3" + resolved "https://registry.nlark.com/@babel/plugin-syntax-export-namespace-from/download/@babel/plugin-syntax-export-namespace-from-7.8.3.tgz" + integrity sha1-AolkqbqA28CUyRXEh618TnpmRlo= + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.nlark.com/@babel/plugin-syntax-json-strings/download/@babel/plugin-syntax-json-strings-7.8.3.tgz" + integrity sha1-AcohtmjNghjJ5kDLbdiMVBKyyWo= + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-jsx@^7.0.0", "@babel/plugin-syntax-jsx@^7.2.0", "@babel/plugin-syntax-jsx@^7.8.3": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/plugin-syntax-jsx/download/@babel/plugin-syntax-jsx-7.14.5.tgz" + integrity sha1-AA4uJdhnPM5JMAUXo+2kTCY+QgE= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": + version "7.10.4" + resolved "https://registry.nlark.com/@babel/plugin-syntax-logical-assignment-operators/download/@babel/plugin-syntax-logical-assignment-operators-7.10.4.tgz" + integrity sha1-ypHvRjA1MESLkGZSusLp/plB9pk= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.nlark.com/@babel/plugin-syntax-nullish-coalescing-operator/download/@babel/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" + integrity sha1-Fn7XA2iIYIH3S1w2xlqIwDtm0ak= + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.10.4": + version "7.10.4" + resolved "https://registry.nlark.com/@babel/plugin-syntax-numeric-separator/download/@babel/plugin-syntax-numeric-separator-7.10.4.tgz" + integrity sha1-ubBws+M1cM2f0Hun+pHA3Te5r5c= + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.nlark.com/@babel/plugin-syntax-object-rest-spread/download/@babel/plugin-syntax-object-rest-spread-7.8.3.tgz" + integrity sha1-YOIl7cvZimQDMqLnLdPmbxr1WHE= + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.nlark.com/@babel/plugin-syntax-optional-catch-binding/download/@babel/plugin-syntax-optional-catch-binding-7.8.3.tgz" + integrity sha1-YRGiZbz7Ag6579D9/X0mQCue1sE= + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.3": + version "7.8.3" + resolved "https://registry.nlark.com/@babel/plugin-syntax-optional-chaining/download/@babel/plugin-syntax-optional-chaining-7.8.3.tgz" + integrity sha1-T2nCq5UWfgGAzVM2YT+MV4j31Io= + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-private-property-in-object@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/plugin-syntax-private-property-in-object/download/@babel/plugin-syntax-private-property-in-object-7.14.5.tgz" + integrity sha1-DcZnHsDqIrbpShEU+FeXDNOd4a0= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-top-level-await@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/plugin-syntax-top-level-await/download/@babel/plugin-syntax-top-level-await-7.14.5.tgz" + integrity sha1-wc/a3DWmRiQAAfBhOCR7dBw02Uw= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-arrow-functions@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/plugin-transform-arrow-functions/download/@babel/plugin-transform-arrow-functions-7.14.5.tgz" + integrity sha1-9xh9lYinaN0IC/TJ/+EX6mL3hio= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-async-to-generator@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/plugin-transform-async-to-generator/download/@babel/plugin-transform-async-to-generator-7.14.5.tgz" + integrity sha1-cseJCE2PIJSsuUVjOUPvhEPTnmc= + dependencies: + "@babel/helper-module-imports" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-remap-async-to-generator" "^7.14.5" + +"@babel/plugin-transform-block-scoped-functions@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/plugin-transform-block-scoped-functions/download/@babel/plugin-transform-block-scoped-functions-7.14.5.tgz" + integrity sha1-5IZB2ZnUvBV6Z+8zautUvET9OtQ= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-block-scoping@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/plugin-transform-block-scoping/download/@babel/plugin-transform-block-scoping-7.14.5.tgz" + integrity sha1-jMY+YeUPQuB45vCb53WnXyPvmTk= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-classes@^7.14.9": + version "7.14.9" + resolved "https://registry.nlark.com/@babel/plugin-transform-classes/download/@babel/plugin-transform-classes-7.14.9.tgz?cache=0&sync_timestamp=1627804909145&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-classes%2Fdownload%2F%40babel%2Fplugin-transform-classes-7.14.9.tgz" + integrity sha1-Kjkf+x5SknELAPLiwhDhQ159RJ8= + dependencies: + "@babel/helper-annotate-as-pure" "^7.14.5" + "@babel/helper-function-name" "^7.14.5" + "@babel/helper-optimise-call-expression" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-replace-supers" "^7.14.5" + "@babel/helper-split-export-declaration" "^7.14.5" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/plugin-transform-computed-properties/download/@babel/plugin-transform-computed-properties-7.14.5.tgz" + integrity sha1-G514mHQg0RIj1BGVRhzEO5dLIE8= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-destructuring@^7.14.7": + version "7.14.7" + resolved "https://registry.nlark.com/@babel/plugin-transform-destructuring/download/@babel/plugin-transform-destructuring-7.14.7.tgz?cache=0&sync_timestamp=1624312481348&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-destructuring%2Fdownload%2F%40babel%2Fplugin-transform-destructuring-7.14.7.tgz" + integrity sha1-CtWO034j4iCE0QnxhSYINeVVdXY= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-dotall-regex@^7.14.5", "@babel/plugin-transform-dotall-regex@^7.4.4": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/plugin-transform-dotall-regex/download/@babel/plugin-transform-dotall-regex-7.14.5.tgz" + integrity sha1-L2v3bka9+AQ7Tn4WzyRTJim6DHo= + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-duplicate-keys@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/plugin-transform-duplicate-keys/download/@babel/plugin-transform-duplicate-keys-7.14.5.tgz" + integrity sha1-NlpIRIgb3xUB46nwJw5/D5EXeVQ= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-exponentiation-operator@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/plugin-transform-exponentiation-operator/download/@babel/plugin-transform-exponentiation-operator-7.14.5.tgz" + integrity sha1-UVS43Wo9/m2Qkj1hckvT3uuQtJM= + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-for-of@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/plugin-transform-for-of/download/@babel/plugin-transform-for-of-7.14.5.tgz" + integrity sha1-2uOEYT3o93wZaohpy/YCpE9/wOs= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-function-name@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/plugin-transform-function-name/download/@babel/plugin-transform-function-name-7.14.5.tgz" + integrity sha1-6Bxl7LkAdG1/MYAva+0fUtkV1vI= + dependencies: + "@babel/helper-function-name" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-literals@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/plugin-transform-literals/download/@babel/plugin-transform-literals-7.14.5.tgz" + integrity sha1-QdBsf/XU0J489Fh70+zzkwxzD3g= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-member-expression-literals@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/plugin-transform-member-expression-literals/download/@babel/plugin-transform-member-expression-literals-7.14.5.tgz" + integrity sha1-s5zVISor8jWmF9Mg7CtIvMCRuKc= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-modules-amd@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/plugin-transform-modules-amd/download/@babel/plugin-transform-modules-amd-7.14.5.tgz" + integrity sha1-T9nOfjQRy4uDhISAtwQdgwBIWPc= + dependencies: + "@babel/helper-module-transforms" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-commonjs@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/plugin-transform-modules-commonjs/download/@babel/plugin-transform-modules-commonjs-7.14.5.tgz" + integrity sha1-eq7g6pgoPelNqYso+MNXAUKdrZc= + dependencies: + "@babel/helper-module-transforms" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-simple-access" "^7.14.5" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-systemjs@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/plugin-transform-modules-systemjs/download/@babel/plugin-transform-modules-systemjs-7.14.5.tgz" + integrity sha1-x1NC74sw3N5CldNAGq4k5lY47Sk= + dependencies: + "@babel/helper-hoist-variables" "^7.14.5" + "@babel/helper-module-transforms" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-validator-identifier" "^7.14.5" + babel-plugin-dynamic-import-node "^2.3.3" + +"@babel/plugin-transform-modules-umd@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/plugin-transform-modules-umd/download/@babel/plugin-transform-modules-umd-7.14.5.tgz" + integrity sha1-+2Yt/uaXzOJ0p82lJRkKeQlqpuA= + dependencies: + "@babel/helper-module-transforms" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.14.9": + version "7.14.9" + resolved "https://registry.nlark.com/@babel/plugin-transform-named-capturing-groups-regex/download/@babel/plugin-transform-named-capturing-groups-regex-7.14.9.tgz?cache=0&sync_timestamp=1627804432890&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-named-capturing-groups-regex%2Fdownload%2F%40babel%2Fplugin-transform-named-capturing-groups-regex-7.14.9.tgz" + integrity sha1-xo9cXRLS66ujdi5XwsT2NHpG57I= + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.14.5" + +"@babel/plugin-transform-new-target@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/plugin-transform-new-target/download/@babel/plugin-transform-new-target-7.14.5.tgz" + integrity sha1-Mb2ui5JdyEB26/zSqZQBQ67X2/g= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-object-super@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/plugin-transform-object-super/download/@babel/plugin-transform-object-super-7.14.5.tgz" + integrity sha1-0LX66snphZehYanPeMUn7ZNM3EU= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-replace-supers" "^7.14.5" + +"@babel/plugin-transform-parameters@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/plugin-transform-parameters/download/@babel/plugin-transform-parameters-7.14.5.tgz" + integrity sha1-SWYuhqHz3cysY2On37H/ChWK/rM= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-property-literals@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/plugin-transform-property-literals/download/@babel/plugin-transform-property-literals-7.14.5.tgz" + integrity sha1-DduqH4PbNgbxzfSEb6HftHNFizQ= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-regenerator@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/plugin-transform-regenerator/download/@babel/plugin-transform-regenerator-7.14.5.tgz" + integrity sha1-lnb9VwftKPUicnxbPAqoVERAsE8= + dependencies: + regenerator-transform "^0.14.2" + +"@babel/plugin-transform-reserved-words@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/plugin-transform-reserved-words/download/@babel/plugin-transform-reserved-words-7.14.5.tgz" + integrity sha1-xEWJtmHP2++NQwDcx0ad/6kvgwQ= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-runtime@^7.11.0": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/plugin-transform-runtime/download/@babel/plugin-transform-runtime-7.14.5.tgz" + integrity sha1-MEkdrUnGBZ+Pj6XuiJagCJ6YdSM= + dependencies: + "@babel/helper-module-imports" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + babel-plugin-polyfill-corejs2 "^0.2.2" + babel-plugin-polyfill-corejs3 "^0.2.2" + babel-plugin-polyfill-regenerator "^0.2.2" + semver "^6.3.0" + +"@babel/plugin-transform-shorthand-properties@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/plugin-transform-shorthand-properties/download/@babel/plugin-transform-shorthand-properties-7.14.5.tgz" + integrity sha1-l/E4VfFAkzjYyty6ymcK154JGlg= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-spread@^7.14.6": + version "7.14.6" + resolved "https://registry.nlark.com/@babel/plugin-transform-spread/download/@babel/plugin-transform-spread-7.14.6.tgz?cache=0&sync_timestamp=1623707905666&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fplugin-transform-spread%2Fdownload%2F%40babel%2Fplugin-transform-spread-7.14.6.tgz" + integrity sha1-a9QOV/596UqpBIUZY7VhZlL3MUQ= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.14.5" + +"@babel/plugin-transform-sticky-regex@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/plugin-transform-sticky-regex/download/@babel/plugin-transform-sticky-regex-7.14.5.tgz" + integrity sha1-W2F1Qmdei3dhKUOB88KMYz9Arrk= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-template-literals@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/plugin-transform-template-literals/download/@babel/plugin-transform-template-literals-7.14.5.tgz" + integrity sha1-pfK8Izk32EU4hdxza92Nn/q/PZM= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-typeof-symbol@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/plugin-transform-typeof-symbol/download/@babel/plugin-transform-typeof-symbol-7.14.5.tgz" + integrity sha1-Oa8nOemJor0pG/a1PxaYFCPUV9Q= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-unicode-escapes@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/plugin-transform-unicode-escapes/download/@babel/plugin-transform-unicode-escapes-7.14.5.tgz" + integrity sha1-nUvSpoHjxdes9PV/qeURddkdDGs= + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-transform-unicode-regex@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/plugin-transform-unicode-regex/download/@babel/plugin-transform-unicode-regex-7.14.5.tgz" + integrity sha1-TNCbbIQl3YElXHzrP7GDbnQUOC4= + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/preset-env@^7.11.0": + version "7.14.9" + resolved "https://registry.nlark.com/@babel/preset-env/download/@babel/preset-env-7.14.9.tgz" + integrity sha1-Sju710XyDpEh1ZJRcL7wQKIbeBk= + dependencies: + "@babel/compat-data" "^7.14.9" + "@babel/helper-compilation-targets" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-validator-option" "^7.14.5" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.14.5" + "@babel/plugin-proposal-async-generator-functions" "^7.14.9" + "@babel/plugin-proposal-class-properties" "^7.14.5" + "@babel/plugin-proposal-class-static-block" "^7.14.5" + "@babel/plugin-proposal-dynamic-import" "^7.14.5" + "@babel/plugin-proposal-export-namespace-from" "^7.14.5" + "@babel/plugin-proposal-json-strings" "^7.14.5" + "@babel/plugin-proposal-logical-assignment-operators" "^7.14.5" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.14.5" + "@babel/plugin-proposal-numeric-separator" "^7.14.5" + "@babel/plugin-proposal-object-rest-spread" "^7.14.7" + "@babel/plugin-proposal-optional-catch-binding" "^7.14.5" + "@babel/plugin-proposal-optional-chaining" "^7.14.5" + "@babel/plugin-proposal-private-methods" "^7.14.5" + "@babel/plugin-proposal-private-property-in-object" "^7.14.5" + "@babel/plugin-proposal-unicode-property-regex" "^7.14.5" + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/plugin-syntax-top-level-await" "^7.14.5" + "@babel/plugin-transform-arrow-functions" "^7.14.5" + "@babel/plugin-transform-async-to-generator" "^7.14.5" + "@babel/plugin-transform-block-scoped-functions" "^7.14.5" + "@babel/plugin-transform-block-scoping" "^7.14.5" + "@babel/plugin-transform-classes" "^7.14.9" + "@babel/plugin-transform-computed-properties" "^7.14.5" + "@babel/plugin-transform-destructuring" "^7.14.7" + "@babel/plugin-transform-dotall-regex" "^7.14.5" + "@babel/plugin-transform-duplicate-keys" "^7.14.5" + "@babel/plugin-transform-exponentiation-operator" "^7.14.5" + "@babel/plugin-transform-for-of" "^7.14.5" + "@babel/plugin-transform-function-name" "^7.14.5" + "@babel/plugin-transform-literals" "^7.14.5" + "@babel/plugin-transform-member-expression-literals" "^7.14.5" + "@babel/plugin-transform-modules-amd" "^7.14.5" + "@babel/plugin-transform-modules-commonjs" "^7.14.5" + "@babel/plugin-transform-modules-systemjs" "^7.14.5" + "@babel/plugin-transform-modules-umd" "^7.14.5" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.14.9" + "@babel/plugin-transform-new-target" "^7.14.5" + "@babel/plugin-transform-object-super" "^7.14.5" + "@babel/plugin-transform-parameters" "^7.14.5" + "@babel/plugin-transform-property-literals" "^7.14.5" + "@babel/plugin-transform-regenerator" "^7.14.5" + "@babel/plugin-transform-reserved-words" "^7.14.5" + "@babel/plugin-transform-shorthand-properties" "^7.14.5" + "@babel/plugin-transform-spread" "^7.14.6" + "@babel/plugin-transform-sticky-regex" "^7.14.5" + "@babel/plugin-transform-template-literals" "^7.14.5" + "@babel/plugin-transform-typeof-symbol" "^7.14.5" + "@babel/plugin-transform-unicode-escapes" "^7.14.5" + "@babel/plugin-transform-unicode-regex" "^7.14.5" + "@babel/preset-modules" "^0.1.4" + "@babel/types" "^7.14.9" + babel-plugin-polyfill-corejs2 "^0.2.2" + babel-plugin-polyfill-corejs3 "^0.2.2" + babel-plugin-polyfill-regenerator "^0.2.2" + core-js-compat "^3.16.0" + semver "^6.3.0" + +"@babel/preset-modules@^0.1.4": + version "0.1.4" + resolved "https://registry.nlark.com/@babel/preset-modules/download/@babel/preset-modules-0.1.4.tgz" + integrity sha1-Ni8raMZihClw/bXiVP/I/BwuQV4= + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" + "@babel/plugin-transform-dotall-regex" "^7.4.4" + "@babel/types" "^7.4.4" + esutils "^2.0.2" + +"@babel/runtime@^7.11.0", "@babel/runtime@^7.8.4": + version "7.14.8" + resolved "https://registry.nlark.com/@babel/runtime/download/@babel/runtime-7.14.8.tgz?cache=0&sync_timestamp=1626804296663&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fruntime%2Fdownload%2F%40babel%2Fruntime-7.14.8.tgz" + integrity sha1-cRmlb0IQGIUmlCkLn5FICXORtEY= + dependencies: + regenerator-runtime "^0.13.4" + +"@babel/template@^7.0.0", "@babel/template@^7.14.5": + version "7.14.5" + resolved "https://registry.nlark.com/@babel/template/download/@babel/template-7.14.5.tgz" + integrity sha1-qbydizM1T/blWpxg0RCSAKaJdPQ= + dependencies: + "@babel/code-frame" "^7.14.5" + "@babel/parser" "^7.14.5" + "@babel/types" "^7.14.5" + +"@babel/traverse@^7.0.0", "@babel/traverse@^7.13.0", "@babel/traverse@^7.14.5", "@babel/traverse@^7.14.8", "@babel/traverse@^7.7.0": + version "7.14.9" + resolved "https://registry.nlark.com/@babel/traverse/download/@babel/traverse-7.14.9.tgz?cache=0&sync_timestamp=1627804502262&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Ftraverse%2Fdownload%2F%40babel%2Ftraverse-7.14.9.tgz" + integrity sha1-AWEmszEhC/Bv/ynVKXHu+Dg+VW8= + dependencies: + "@babel/code-frame" "^7.14.5" + "@babel/generator" "^7.14.9" + "@babel/helper-function-name" "^7.14.5" + "@babel/helper-hoist-variables" "^7.14.5" + "@babel/helper-split-export-declaration" "^7.14.5" + "@babel/parser" "^7.14.9" + "@babel/types" "^7.14.9" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/types@^7.0.0", "@babel/types@^7.14.5", "@babel/types@^7.14.8", "@babel/types@^7.14.9", "@babel/types@^7.4.4", "@babel/types@^7.7.0": + version "7.14.9" + resolved "https://registry.nlark.com/@babel/types/download/@babel/types-7.14.9.tgz" + integrity sha1-8rGcPy93xXCNZ/6PYEbpzqK1A20= + dependencies: + "@babel/helper-validator-identifier" "^7.14.9" + to-fast-properties "^2.0.0" + +"@fullcalendar/common@~5.11.3": + version "5.11.3" + resolved "https://registry.yarnpkg.com/@fullcalendar/common/-/common-5.11.3.tgz#6d555a06925b8a6d1556570c9f039960539908d5" + integrity sha512-welVwyfQOXQQGfDwBMSfYEPbiO1cPfUD+C7jd3ZoweJR+dSO11ddFugxIQ7dGfABAGZ63oq/+LW9FsmAJezVNg== + dependencies: + tslib "^2.1.0" + +"@fullcalendar/core@~5.11.3": + version "5.11.3" + resolved "https://registry.yarnpkg.com/@fullcalendar/core/-/core-5.11.3.tgz#26f276347eb83185e03e4086772910c85406b88e" + integrity sha512-YUFxCvVJytUwFeXCx4J17kFMM7Ixwn9zBjVRw5NM2bMwgR6VAhSnlZc6yNQSOIy7Hj2TF0vDkO/4JNlTvxyAXw== + dependencies: + "@fullcalendar/common" "~5.11.3" + preact "^10.0.5" + tslib "^2.1.0" + +"@fullcalendar/daygrid@^5.11.3": + version "5.11.3" + resolved "https://registry.yarnpkg.com/@fullcalendar/daygrid/-/daygrid-5.11.3.tgz#6bc1f956c95f84438428aa6e7a106c863a791a70" + integrity sha512-PCK0y80DRNCzWuC5lGpIWqCgKDvql1ah7rXql5lu+Gn2EeFj15ZQ8diMFjtNIQucEmFaNOXnR05Pgcry1n6Shg== + dependencies: + "@fullcalendar/common" "~5.11.3" + tslib "^2.1.0" + +"@fullcalendar/interaction@^5.11.3": + version "5.11.3" + resolved "https://registry.yarnpkg.com/@fullcalendar/interaction/-/interaction-5.11.3.tgz#c6712c1305ecb8e975953c7ff462222b49204187" + integrity sha512-L955wkDjza62K96ndstvYs2Fd4V0kayTDpqW8W7huFG3Ox8MutpLqKAa2SCaTvcNIlWS4oexGQRiQAaJG7u47A== + dependencies: + "@fullcalendar/common" "~5.11.3" + tslib "^2.1.0" + +"@fullcalendar/vue@^5.11.3": + version "5.11.3" + resolved "https://registry.yarnpkg.com/@fullcalendar/vue/-/vue-5.11.3.tgz#85fade64b33cfbc223fffecc34055d88a65924cd" + integrity sha512-MZ/43sISJRxlvb6NVIZt5L+7qD32gk6mdKe/22w5c4uoPxU6jtS18OiJmVoiP66iVzWBEPUbdd7Trk1sYJbYhg== + dependencies: + "@fullcalendar/core" "~5.11.3" + tslib "^2.1.0" + +"@gar/promisify@^1.0.1": + version "1.1.2" + resolved "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.2.tgz" + integrity sha512-82cpyJyKRoQoRi+14ibCeGPu0CwypgtBAdBhq1WfvagpCZNKqwXbKwXllYSMG91DhmG4jt9gN8eP6lGOtozuaw== + +"@hapi/address@2.x.x": + version "2.1.4" + resolved "https://registry.nlark.com/@hapi/address/download/@hapi/address-2.1.4.tgz" + integrity sha1-XWftQ/P9QaadS5/3tW58DR0KgeU= + +"@hapi/bourne@1.x.x": + version "1.3.2" + resolved "https://registry.nlark.com/@hapi/bourne/download/@hapi/bourne-1.3.2.tgz" + integrity sha1-CnCVreoGckPOMoPhtWuKj0U7JCo= + +"@hapi/hoek@8.x.x", "@hapi/hoek@^8.3.0": + version "8.5.1" + resolved "https://registry.nlark.com/@hapi/hoek/download/@hapi/hoek-8.5.1.tgz" + integrity sha1-/elgZMpEbeyMVajC8TCVewcMbgY= + +"@hapi/joi@^15.0.1": + version "15.1.1" + resolved "https://registry.nlark.com/@hapi/joi/download/@hapi/joi-15.1.1.tgz" + integrity sha1-xnW4pxKW8Cgz+NbSQ7NMV7jOGdc= + dependencies: + "@hapi/address" "2.x.x" + "@hapi/bourne" "1.x.x" + "@hapi/hoek" "8.x.x" + "@hapi/topo" "3.x.x" + +"@hapi/topo@3.x.x": + version "3.1.6" + resolved "https://registry.nlark.com/@hapi/topo/download/@hapi/topo-3.1.6.tgz" + integrity sha1-aNk1+j6uf91asNf5U/MgXYsr/Ck= + dependencies: + "@hapi/hoek" "^8.3.0" + +"@intervolga/optimize-cssnano-plugin@^1.0.5": + version "1.0.6" + resolved "https://registry.nlark.com/@intervolga/optimize-cssnano-plugin/download/@intervolga/optimize-cssnano-plugin-1.0.6.tgz" + integrity sha1-vnx4RhKLiPapsdEmGgrQbrXA/fg= + dependencies: + cssnano "^4.0.0" + cssnano-preset-default "^4.0.0" + postcss "^7.0.0" + +"@mrmlnc/readdir-enhanced@^2.2.1": + version "2.2.1" + resolved "https://registry.nlark.com/@mrmlnc/readdir-enhanced/download/@mrmlnc/readdir-enhanced-2.2.1.tgz" + integrity sha1-UkryQNGjYFJ7cwR17PoTRKpUDd4= + dependencies: + call-me-maybe "^1.0.1" + glob-to-regexp "^0.3.0" + +"@nodelib/fs.stat@^1.1.2": + version "1.1.3" + resolved "https://registry.nlark.com/@nodelib/fs.stat/download/@nodelib/fs.stat-1.1.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40nodelib%2Ffs.stat%2Fdownload%2F%40nodelib%2Ffs.stat-1.1.3.tgz" + integrity sha1-K1o6s/kYzKSKjHVMCBaOPwPrphs= + +"@npmcli/fs@^1.0.0": + version "1.0.0" + resolved "https://registry.npmjs.org/@npmcli/fs/-/fs-1.0.0.tgz" + integrity sha512-8ltnOpRR/oJbOp8vaGUnipOi3bqkcW+sLHFlyXIr08OGHmVJLB1Hn7QtGXbYcpVtH1gAYZTlmDXtE4YV0+AMMQ== + dependencies: + "@gar/promisify" "^1.0.1" + semver "^7.3.5" + +"@npmcli/move-file@^1.0.1": + version "1.1.2" + resolved "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz" + integrity sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg== + dependencies: + mkdirp "^1.0.4" + rimraf "^3.0.2" + +"@popperjs/core@^2.9.0": + version "2.11.8" + resolved "https://registry.npmmirror.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f" + integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A== + +"@simonwep/pickr@~1.7.0": + version "1.7.4" + resolved "https://registry.npmjs.org/@simonwep/pickr/-/pickr-1.7.4.tgz" + integrity sha512-fq7jgKJT21uWGC1mARBHvvd1JYlEf93o7SuVOB4Lr0x/2UPuNC9Oe9n/GzVeg4oVtqMDfh1wIEJpsdOJEZb+3g== + dependencies: + core-js "^3.6.5" + nanopop "^2.1.0" + +"@soda/friendly-errors-webpack-plugin@^1.7.1": + version "1.8.0" + resolved "https://registry.nlark.com/@soda/friendly-errors-webpack-plugin/download/@soda/friendly-errors-webpack-plugin-1.8.0.tgz" + integrity sha1-hHUdgqkwGdXJLAzw5FrFkIfNIkA= + dependencies: + chalk "^2.4.2" + error-stack-parser "^2.0.2" + string-width "^2.0.0" + strip-ansi "^5" + +"@soda/get-current-script@^1.0.0": + version "1.0.2" + resolved "https://registry.nlark.com/@soda/get-current-script/download/@soda/get-current-script-1.0.2.tgz" + integrity sha1-pTUV2yXYA4N0OBtzryC7Ty5QjYc= + +"@tinymce/tinymce-vue@^2.1.0": + version "2.1.0" + resolved "https://registry.npmjs.org/@tinymce/tinymce-vue/-/tinymce-vue-2.1.0.tgz" + integrity sha512-lDIpeLbkaobS/f00wWaOhGJdiZLdtL0dEDYB4JvqgVeAAoaDFG2PvXXP/kN49xpHpUe8vOdt7xFaN48nrPmsbQ== + dependencies: + vue "^2.5.17" + +"@types/body-parser@*": + version "1.19.1" + resolved "https://registry.nlark.com/@types/body-parser/download/@types/body-parser-1.19.1.tgz" + integrity sha1-DAF0xCp9AXuBgwPUtdlpywt1kpw= + dependencies: + "@types/connect" "*" + "@types/node" "*" + +"@types/connect-history-api-fallback@*": + version "1.3.5" + resolved "https://registry.nlark.com/@types/connect-history-api-fallback/download/@types/connect-history-api-fallback-1.3.5.tgz" + integrity sha1-0feooJ0O1aV67lrpwYq5uAMgXa4= + dependencies: + "@types/express-serve-static-core" "*" + "@types/node" "*" + +"@types/connect@*": + version "3.4.35" + resolved "https://registry.nlark.com/@types/connect/download/@types/connect-3.4.35.tgz" + integrity sha1-X89q5EXkAh0fwiGaSHPMc6O7KtE= + dependencies: + "@types/node" "*" + +"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.18": + version "4.17.24" + resolved "https://registry.nlark.com/@types/express-serve-static-core/download/@types/express-serve-static-core-4.17.24.tgz?cache=0&sync_timestamp=1625762100791&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fexpress-serve-static-core%2Fdownload%2F%40types%2Fexpress-serve-static-core-4.17.24.tgz" + integrity sha1-6kH5O/fg1ZzVp2ZlBo7WqraBXAc= + dependencies: + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + +"@types/express@*": + version "4.17.13" + resolved "https://registry.nlark.com/@types/express/download/@types/express-4.17.13.tgz" + integrity sha1-p24plXKJmbq1GjP6vOHXBaNwkDQ= + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "^4.17.18" + "@types/qs" "*" + "@types/serve-static" "*" + +"@types/glob@^7.1.1": + version "7.1.4" + resolved "https://registry.nlark.com/@types/glob/download/@types/glob-7.1.4.tgz?cache=0&sync_timestamp=1625605538868&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fglob%2Fdownload%2F%40types%2Fglob-7.1.4.tgz" + integrity sha1-6lniHS7lxReRTLS8jkFTuZ5WZnI= + dependencies: + "@types/minimatch" "*" + "@types/node" "*" + +"@types/http-proxy@^1.17.5": + version "1.17.7" + resolved "https://registry.nlark.com/@types/http-proxy/download/@types/http-proxy-1.17.7.tgz" + integrity sha1-MOqFzCyGg2g1Kjfw0NNYHiSDTG8= + dependencies: + "@types/node" "*" + +"@types/json-schema@^7.0.5": + version "7.0.8" + resolved "https://registry.nlark.com/@types/json-schema/download/@types/json-schema-7.0.8.tgz?cache=0&sync_timestamp=1625608385849&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fjson-schema%2Fdownload%2F%40types%2Fjson-schema-7.0.8.tgz" + integrity sha1-7fG/Hb9OBEE8qOWxezt9fVS1mBg= + +"@types/mime@^1": + version "1.3.2" + resolved "https://registry.nlark.com/@types/mime/download/@types/mime-1.3.2.tgz" + integrity sha1-k+Jb+e51/g/YC1lLxP6w6GIRG1o= + +"@types/minimatch@*": + version "3.0.5" + resolved "https://registry.nlark.com/@types/minimatch/download/@types/minimatch-3.0.5.tgz?cache=0&sync_timestamp=1625616294770&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fminimatch%2Fdownload%2F%40types%2Fminimatch-3.0.5.tgz" + integrity sha1-EAHMXmo3BLg8I2An538vWOoBD0A= + +"@types/minimist@^1.2.0": + version "1.2.2" + resolved "https://registry.nlark.com/@types/minimist/download/@types/minimist-1.2.2.tgz?cache=0&sync_timestamp=1625616371208&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fminimist%2Fdownload%2F%40types%2Fminimist-1.2.2.tgz" + integrity sha1-7nceK6Sz3Fs3KTXVSf2WF780W4w= + +"@types/node@*": + version "16.4.10" + resolved "https://registry.nlark.com/@types/node/download/@types/node-16.4.10.tgz" + integrity sha1-5X4qVPxtpY2pSzVxsctFbTn4hZc= + +"@types/normalize-package-data@^2.4.0": + version "2.4.1" + resolved "https://registry.nlark.com/@types/normalize-package-data/download/@types/normalize-package-data-2.4.1.tgz" + integrity sha1-0zV0eaD9/dWQf+Z+F+CoXJBuEwE= + +"@types/q@^1.5.1": + version "1.5.5" + resolved "https://registry.nlark.com/@types/q/download/@types/q-1.5.5.tgz" + integrity sha1-daKo59irSyMEFFBdkjNdHctTpt8= + +"@types/qs@*": + version "6.9.7" + resolved "https://registry.nlark.com/@types/qs/download/@types/qs-6.9.7.tgz" + integrity sha1-Y7t9Bn2xB8weRXwwO8JdUR/r9ss= + +"@types/range-parser@*": + version "1.2.4" + resolved "https://registry.nlark.com/@types/range-parser/download/@types/range-parser-1.2.4.tgz" + integrity sha1-zWZ7z90CUhOq+3ylkVqTJZCs3Nw= + +"@types/serve-static@*": + version "1.13.10" + resolved "https://registry.nlark.com/@types/serve-static/download/@types/serve-static-1.13.10.tgz?cache=0&sync_timestamp=1625591093262&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fserve-static%2Fdownload%2F%40types%2Fserve-static-1.13.10.tgz" + integrity sha1-9eDOh5fS18xevtpIpSyWxPpHqNk= + dependencies: + "@types/mime" "^1" + "@types/node" "*" + +"@types/source-list-map@*": + version "0.1.2" + resolved "https://registry.nlark.com/@types/source-list-map/download/@types/source-list-map-0.1.2.tgz" + integrity sha1-AHiDYGP/rxdBI0m7o2QIfgrALsk= + +"@types/tapable@^1": + version "1.0.8" + resolved "https://registry.nlark.com/@types/tapable/download/@types/tapable-1.0.8.tgz" + integrity sha1-uUpDkchWZse3Mpn9OtedT6pDUxA= + +"@types/uglify-js@*": + version "3.13.1" + resolved "https://registry.nlark.com/@types/uglify-js/download/@types/uglify-js-3.13.1.tgz" + integrity sha1-XoienoHpQkXHW2RQYA4cXqKHiuo= + dependencies: + source-map "^0.6.1" + +"@types/webpack-dev-server@^3.11.0": + version "3.11.5" + resolved "https://registry.nlark.com/@types/webpack-dev-server/download/@types/webpack-dev-server-3.11.5.tgz" + integrity sha1-9KJUo90GZ8juSvkNQq/bStHWB/M= + dependencies: + "@types/connect-history-api-fallback" "*" + "@types/express" "*" + "@types/serve-static" "*" + "@types/webpack" "^4" + http-proxy-middleware "^1.0.0" + +"@types/webpack-sources@*": + version "2.1.1" + resolved "https://registry.nlark.com/@types/webpack-sources/download/@types/webpack-sources-2.1.1.tgz?cache=0&sync_timestamp=1625251643540&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fwebpack-sources%2Fdownload%2F%40types%2Fwebpack-sources-2.1.1.tgz" + integrity sha1-avF+Oj3tce7CuYAI18EvSYoKRQY= + dependencies: + "@types/node" "*" + "@types/source-list-map" "*" + source-map "^0.7.3" + +"@types/webpack@^4", "@types/webpack@^4.0.0": + version "4.41.30" + resolved "https://registry.nlark.com/@types/webpack/download/@types/webpack-4.41.30.tgz" + integrity sha1-/T220NQeFFqO7q/NPEp8zekGjdw= + dependencies: + "@types/node" "*" + "@types/tapable" "^1" + "@types/uglify-js" "*" + "@types/webpack-sources" "*" + anymatch "^3.0.0" + source-map "^0.6.0" + +"@vue/babel-helper-vue-jsx-merge-props@^1.2.1": + version "1.2.1" + resolved "https://registry.nlark.com/@vue/babel-helper-vue-jsx-merge-props/download/@vue/babel-helper-vue-jsx-merge-props-1.2.1.tgz" + integrity sha1-MWJKelBfsU2h1YAjclpMXycOaoE= + +"@vue/babel-helper-vue-transform-on@^1.0.2": + version "1.0.2" + resolved "https://registry.nlark.com/@vue/babel-helper-vue-transform-on/download/@vue/babel-helper-vue-transform-on-1.0.2.tgz" + integrity sha1-m5xpHNBvyFUiGiR1w8yDHXdLx9w= + +"@vue/babel-plugin-jsx@^1.0.3": + version "1.0.6" + resolved "https://registry.nlark.com/@vue/babel-plugin-jsx/download/@vue/babel-plugin-jsx-1.0.6.tgz" + integrity sha1-GEvzVBq279vlB5q4sgwZ4q8QC/s= + dependencies: + "@babel/helper-module-imports" "^7.0.0" + "@babel/plugin-syntax-jsx" "^7.0.0" + "@babel/template" "^7.0.0" + "@babel/traverse" "^7.0.0" + "@babel/types" "^7.0.0" + "@vue/babel-helper-vue-transform-on" "^1.0.2" + camelcase "^6.0.0" + html-tags "^3.1.0" + svg-tags "^1.0.0" + +"@vue/babel-plugin-transform-vue-jsx@^1.2.1": + version "1.2.1" + resolved "https://registry.nlark.com/@vue/babel-plugin-transform-vue-jsx/download/@vue/babel-plugin-transform-vue-jsx-1.2.1.tgz" + integrity sha1-ZGBGxlLC8CQnJ/NFGdkXsGQEHtc= + dependencies: + "@babel/helper-module-imports" "^7.0.0" + "@babel/plugin-syntax-jsx" "^7.2.0" + "@vue/babel-helper-vue-jsx-merge-props" "^1.2.1" + html-tags "^2.0.0" + lodash.kebabcase "^4.1.1" + svg-tags "^1.0.0" + +"@vue/babel-preset-app@^4.5.13": + version "4.5.13" + resolved "https://registry.nlark.com/@vue/babel-preset-app/download/@vue/babel-preset-app-4.5.13.tgz?cache=0&sync_timestamp=1623215857834&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40vue%2Fbabel-preset-app%2Fdownload%2F%40vue%2Fbabel-preset-app-4.5.13.tgz" + integrity sha1-y0dTIeTHP38RDawppIwqnLgK/rY= + dependencies: + "@babel/core" "^7.11.0" + "@babel/helper-compilation-targets" "^7.9.6" + "@babel/helper-module-imports" "^7.8.3" + "@babel/plugin-proposal-class-properties" "^7.8.3" + "@babel/plugin-proposal-decorators" "^7.8.3" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-syntax-jsx" "^7.8.3" + "@babel/plugin-transform-runtime" "^7.11.0" + "@babel/preset-env" "^7.11.0" + "@babel/runtime" "^7.11.0" + "@vue/babel-plugin-jsx" "^1.0.3" + "@vue/babel-preset-jsx" "^1.2.4" + babel-plugin-dynamic-import-node "^2.3.3" + core-js "^3.6.5" + core-js-compat "^3.6.5" + semver "^6.1.0" + +"@vue/babel-preset-jsx@^1.2.4": + version "1.2.4" + resolved "https://registry.nlark.com/@vue/babel-preset-jsx/download/@vue/babel-preset-jsx-1.2.4.tgz" + integrity sha1-kv6nnbbxOwHoDToAmeKSS9y+Toc= + dependencies: + "@vue/babel-helper-vue-jsx-merge-props" "^1.2.1" + "@vue/babel-plugin-transform-vue-jsx" "^1.2.1" + "@vue/babel-sugar-composition-api-inject-h" "^1.2.1" + "@vue/babel-sugar-composition-api-render-instance" "^1.2.4" + "@vue/babel-sugar-functional-vue" "^1.2.2" + "@vue/babel-sugar-inject-h" "^1.2.2" + "@vue/babel-sugar-v-model" "^1.2.3" + "@vue/babel-sugar-v-on" "^1.2.3" + +"@vue/babel-sugar-composition-api-inject-h@^1.2.1": + version "1.2.1" + resolved "https://registry.nlark.com/@vue/babel-sugar-composition-api-inject-h/download/@vue/babel-sugar-composition-api-inject-h-1.2.1.tgz" + integrity sha1-BdbgxDJxDjdYKyvppgSbaJtvA+s= + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + +"@vue/babel-sugar-composition-api-render-instance@^1.2.4": + version "1.2.4" + resolved "https://registry.nlark.com/@vue/babel-sugar-composition-api-render-instance/download/@vue/babel-sugar-composition-api-render-instance-1.2.4.tgz" + integrity sha1-5MvGmXw0T6wnF4WteikyXFHWjRk= + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + +"@vue/babel-sugar-functional-vue@^1.2.2": + version "1.2.2" + resolved "https://registry.nlark.com/@vue/babel-sugar-functional-vue/download/@vue/babel-sugar-functional-vue-1.2.2.tgz" + integrity sha1-JnqayNeHyW7b8Dzj85LEnam9Jlg= + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + +"@vue/babel-sugar-inject-h@^1.2.2": + version "1.2.2" + resolved "https://registry.nlark.com/@vue/babel-sugar-inject-h/download/@vue/babel-sugar-inject-h-1.2.2.tgz" + integrity sha1-1zjTyJM2fshJHcu2abAAkZKT46o= + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + +"@vue/babel-sugar-v-model@^1.2.3": + version "1.2.3" + resolved "https://registry.nlark.com/@vue/babel-sugar-v-model/download/@vue/babel-sugar-v-model-1.2.3.tgz" + integrity sha1-+h8pulHr8KoabDX6ZtU5vEWaGPI= + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + "@vue/babel-helper-vue-jsx-merge-props" "^1.2.1" + "@vue/babel-plugin-transform-vue-jsx" "^1.2.1" + camelcase "^5.0.0" + html-tags "^2.0.0" + svg-tags "^1.0.0" + +"@vue/babel-sugar-v-on@^1.2.3": + version "1.2.3" + resolved "https://registry.nlark.com/@vue/babel-sugar-v-on/download/@vue/babel-sugar-v-on-1.2.3.tgz" + integrity sha1-NCNnF4WGpp85LwS/ujICHQKROto= + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + "@vue/babel-plugin-transform-vue-jsx" "^1.2.1" + camelcase "^5.0.0" + +"@vue/cli-overlay@^4.5.13": + version "4.5.13" + resolved "https://registry.nlark.com/@vue/cli-overlay/download/@vue/cli-overlay-4.5.13.tgz" + integrity sha1-Tx/SFhvo9p1suoB58/DX3E3uR6c= + +"@vue/cli-plugin-babel@~4.5.0": + version "4.5.13" + resolved "https://registry.nlark.com/@vue/cli-plugin-babel/download/@vue/cli-plugin-babel-4.5.13.tgz" + integrity sha1-qJxILtzE6h0TVkXOxQKn9f1MMOc= + dependencies: + "@babel/core" "^7.11.0" + "@vue/babel-preset-app" "^4.5.13" + "@vue/cli-shared-utils" "^4.5.13" + babel-loader "^8.1.0" + cache-loader "^4.1.0" + thread-loader "^2.1.3" + webpack "^4.0.0" + +"@vue/cli-plugin-eslint@~4.5.0": + version "4.5.13" + resolved "https://registry.nlark.com/@vue/cli-plugin-eslint/download/@vue/cli-plugin-eslint-4.5.13.tgz" + integrity sha1-i68i0NltdnIMdQZka5b09iwFvfo= + dependencies: + "@vue/cli-shared-utils" "^4.5.13" + eslint-loader "^2.2.1" + globby "^9.2.0" + inquirer "^7.1.0" + webpack "^4.0.0" + yorkie "^2.0.0" + +"@vue/cli-plugin-router@^4.5.13", "@vue/cli-plugin-router@~4.5.0": + version "4.5.13" + resolved "https://registry.nlark.com/@vue/cli-plugin-router/download/@vue/cli-plugin-router-4.5.13.tgz" + integrity sha1-C2fIiYor8TKUGRmiouXzqsvZ/74= + dependencies: + "@vue/cli-shared-utils" "^4.5.13" + +"@vue/cli-plugin-vuex@^4.5.13", "@vue/cli-plugin-vuex@~4.5.0": + version "4.5.13" + resolved "https://registry.nlark.com/@vue/cli-plugin-vuex/download/@vue/cli-plugin-vuex-4.5.13.tgz" + integrity sha1-mGRti8HmnPbGpsui/tPqzgNWw2A= + +"@vue/cli-service@~4.5.0": + version "4.5.13" + resolved "https://registry.nlark.com/@vue/cli-service/download/@vue/cli-service-4.5.13.tgz" + integrity sha1-oJ5oSoAWhLbiTlQUrTBlCXDuye0= + dependencies: + "@intervolga/optimize-cssnano-plugin" "^1.0.5" + "@soda/friendly-errors-webpack-plugin" "^1.7.1" + "@soda/get-current-script" "^1.0.0" + "@types/minimist" "^1.2.0" + "@types/webpack" "^4.0.0" + "@types/webpack-dev-server" "^3.11.0" + "@vue/cli-overlay" "^4.5.13" + "@vue/cli-plugin-router" "^4.5.13" + "@vue/cli-plugin-vuex" "^4.5.13" + "@vue/cli-shared-utils" "^4.5.13" + "@vue/component-compiler-utils" "^3.1.2" + "@vue/preload-webpack-plugin" "^1.1.0" + "@vue/web-component-wrapper" "^1.2.0" + acorn "^7.4.0" + acorn-walk "^7.1.1" + address "^1.1.2" + autoprefixer "^9.8.6" + browserslist "^4.12.0" + cache-loader "^4.1.0" + case-sensitive-paths-webpack-plugin "^2.3.0" + cli-highlight "^2.1.4" + clipboardy "^2.3.0" + cliui "^6.0.0" + copy-webpack-plugin "^5.1.1" + css-loader "^3.5.3" + cssnano "^4.1.10" + debug "^4.1.1" + default-gateway "^5.0.5" + dotenv "^8.2.0" + dotenv-expand "^5.1.0" + file-loader "^4.2.0" + fs-extra "^7.0.1" + globby "^9.2.0" + hash-sum "^2.0.0" + html-webpack-plugin "^3.2.0" + launch-editor-middleware "^2.2.1" + lodash.defaultsdeep "^4.6.1" + lodash.mapvalues "^4.6.0" + lodash.transform "^4.6.0" + mini-css-extract-plugin "^0.9.0" + minimist "^1.2.5" + pnp-webpack-plugin "^1.6.4" + portfinder "^1.0.26" + postcss-loader "^3.0.0" + ssri "^8.0.1" + terser-webpack-plugin "^1.4.4" + thread-loader "^2.1.3" + url-loader "^2.2.0" + vue-loader "^15.9.2" + vue-style-loader "^4.1.2" + webpack "^4.0.0" + webpack-bundle-analyzer "^3.8.0" + webpack-chain "^6.4.0" + webpack-dev-server "^3.11.0" + webpack-merge "^4.2.2" + optionalDependencies: + vue-loader-v16 "npm:vue-loader@^16.1.0" + +"@vue/cli-shared-utils@^4.5.13": + version "4.5.13" + resolved "https://registry.nlark.com/@vue/cli-shared-utils/download/@vue/cli-shared-utils-4.5.13.tgz" + integrity sha1-rNQPMbR5DxY0KSvapfypXcHg/1A= + dependencies: + "@hapi/joi" "^15.0.1" + chalk "^2.4.2" + execa "^1.0.0" + launch-editor "^2.2.1" + lru-cache "^5.1.1" + node-ipc "^9.1.1" + open "^6.3.0" + ora "^3.4.0" + read-pkg "^5.1.1" + request "^2.88.2" + semver "^6.1.0" + strip-ansi "^6.0.0" + +"@vue/component-compiler-utils@^3.1.0", "@vue/component-compiler-utils@^3.1.2": + version "3.2.2" + resolved "https://registry.nlark.com/@vue/component-compiler-utils/download/@vue/component-compiler-utils-3.2.2.tgz" + integrity sha1-L37V/u2C/38ChKzBHVJe5+/yJGA= + dependencies: + consolidate "^0.15.1" + hash-sum "^1.0.2" + lru-cache "^4.1.2" + merge-source-map "^1.1.0" + postcss "^7.0.36" + postcss-selector-parser "^6.0.2" + source-map "~0.6.1" + vue-template-es2015-compiler "^1.9.0" + optionalDependencies: + prettier "^1.18.2" + +"@vue/eslint-config-prettier@^6.0.0": + version "6.0.0" + resolved "https://registry.nlark.com/@vue/eslint-config-prettier/download/@vue/eslint-config-prettier-6.0.0.tgz" + integrity sha1-rVkSswj0rkaEWOAqKwXbC50kZwA= + dependencies: + eslint-config-prettier "^6.0.0" + +"@vue/preload-webpack-plugin@^1.1.0": + version "1.1.2" + resolved "https://registry.nlark.com/@vue/preload-webpack-plugin/download/@vue/preload-webpack-plugin-1.1.2.tgz" + integrity sha1-zrkktOyzucQ4ccekKaAvhCPmIas= + +"@vue/web-component-wrapper@^1.2.0": + version "1.3.0" + resolved "https://registry.nlark.com/@vue/web-component-wrapper/download/@vue/web-component-wrapper-1.3.0.tgz" + integrity sha1-trQKdiVCnSvXwigd26YB7QXcfxo= + +"@webassemblyjs/ast@1.9.0": + version "1.9.0" + resolved "https://registry.nlark.com/@webassemblyjs/ast/download/@webassemblyjs/ast-1.9.0.tgz?cache=0&sync_timestamp=1625473368618&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fast%2Fdownload%2F%40webassemblyjs%2Fast-1.9.0.tgz" + integrity sha1-vYUGBLQEJFmlpBzX0zjL7Wle2WQ= + dependencies: + "@webassemblyjs/helper-module-context" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/wast-parser" "1.9.0" + +"@webassemblyjs/floating-point-hex-parser@1.9.0": + version "1.9.0" + resolved "https://registry.nlark.com/@webassemblyjs/floating-point-hex-parser/download/@webassemblyjs/floating-point-hex-parser-1.9.0.tgz" + integrity sha1-PD07Jxvd/ITesA9xNEQ4MR1S/7Q= + +"@webassemblyjs/helper-api-error@1.9.0": + version "1.9.0" + resolved "https://registry.nlark.com/@webassemblyjs/helper-api-error/download/@webassemblyjs/helper-api-error-1.9.0.tgz?cache=0&sync_timestamp=1625473460936&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fhelper-api-error%2Fdownload%2F%40webassemblyjs%2Fhelper-api-error-1.9.0.tgz" + integrity sha1-ID9nbjM7lsnaLuqzzO8zxFkotqI= + +"@webassemblyjs/helper-buffer@1.9.0": + version "1.9.0" + resolved "https://registry.nlark.com/@webassemblyjs/helper-buffer/download/@webassemblyjs/helper-buffer-1.9.0.tgz?cache=0&sync_timestamp=1625473462686&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fhelper-buffer%2Fdownload%2F%40webassemblyjs%2Fhelper-buffer-1.9.0.tgz" + integrity sha1-oUQtJpxf6yP8vJ73WdrDVH8p3gA= + +"@webassemblyjs/helper-code-frame@1.9.0": + version "1.9.0" + resolved "https://registry.nlark.com/@webassemblyjs/helper-code-frame/download/@webassemblyjs/helper-code-frame-1.9.0.tgz?cache=0&sync_timestamp=1625473420790&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fhelper-code-frame%2Fdownload%2F%40webassemblyjs%2Fhelper-code-frame-1.9.0.tgz" + integrity sha1-ZH+Iks0gQ6gqwMjF51w28dkVnyc= + dependencies: + "@webassemblyjs/wast-printer" "1.9.0" + +"@webassemblyjs/helper-fsm@1.9.0": + version "1.9.0" + resolved "https://registry.nlark.com/@webassemblyjs/helper-fsm/download/@webassemblyjs/helper-fsm-1.9.0.tgz?cache=0&sync_timestamp=1625473415428&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fhelper-fsm%2Fdownload%2F%40webassemblyjs%2Fhelper-fsm-1.9.0.tgz" + integrity sha1-wFJWtxJEIUZx9LCOwQitY7cO3bg= + +"@webassemblyjs/helper-module-context@1.9.0": + version "1.9.0" + resolved "https://registry.nlark.com/@webassemblyjs/helper-module-context/download/@webassemblyjs/helper-module-context-1.9.0.tgz" + integrity sha1-JdiIS3aDmHGgimxvgGw5ee9xLwc= + dependencies: + "@webassemblyjs/ast" "1.9.0" + +"@webassemblyjs/helper-wasm-bytecode@1.9.0": + version "1.9.0" + resolved "https://registry.nlark.com/@webassemblyjs/helper-wasm-bytecode/download/@webassemblyjs/helper-wasm-bytecode-1.9.0.tgz" + integrity sha1-T+2L6sm4wU+MWLcNEk1UndH+V5A= + +"@webassemblyjs/helper-wasm-section@1.9.0": + version "1.9.0" + resolved "https://registry.nlark.com/@webassemblyjs/helper-wasm-section/download/@webassemblyjs/helper-wasm-section-1.9.0.tgz" + integrity sha1-WkE41aYpK6GLBMWuSXF+QWeWU0Y= + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-buffer" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/wasm-gen" "1.9.0" + +"@webassemblyjs/ieee754@1.9.0": + version "1.9.0" + resolved "https://registry.nlark.com/@webassemblyjs/ieee754/download/@webassemblyjs/ieee754-1.9.0.tgz?cache=0&sync_timestamp=1625473454591&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fieee754%2Fdownload%2F%40webassemblyjs%2Fieee754-1.9.0.tgz" + integrity sha1-Fceg+6roP7JhQ7us9tbfFwKtOeQ= + dependencies: + "@xtuc/ieee754" "^1.2.0" + +"@webassemblyjs/leb128@1.9.0": + version "1.9.0" + resolved "https://registry.nlark.com/@webassemblyjs/leb128/download/@webassemblyjs/leb128-1.9.0.tgz?cache=0&sync_timestamp=1625473456730&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fleb128%2Fdownload%2F%40webassemblyjs%2Fleb128-1.9.0.tgz" + integrity sha1-8Zygt2ptxVYjoJz/p2noOPoeHJU= + dependencies: + "@xtuc/long" "4.2.2" + +"@webassemblyjs/utf8@1.9.0": + version "1.9.0" + resolved "https://registry.nlark.com/@webassemblyjs/utf8/download/@webassemblyjs/utf8-1.9.0.tgz?cache=0&sync_timestamp=1625473454967&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Futf8%2Fdownload%2F%40webassemblyjs%2Futf8-1.9.0.tgz" + integrity sha1-BNM7Y2945qaBMifoJAL3Y3tiKas= + +"@webassemblyjs/wasm-edit@1.9.0": + version "1.9.0" + resolved "https://registry.nlark.com/@webassemblyjs/wasm-edit/download/@webassemblyjs/wasm-edit-1.9.0.tgz" + integrity sha1-P+bXnT8PkiGDqoYALELdJWz+6c8= + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-buffer" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/helper-wasm-section" "1.9.0" + "@webassemblyjs/wasm-gen" "1.9.0" + "@webassemblyjs/wasm-opt" "1.9.0" + "@webassemblyjs/wasm-parser" "1.9.0" + "@webassemblyjs/wast-printer" "1.9.0" + +"@webassemblyjs/wasm-gen@1.9.0": + version "1.9.0" + resolved "https://registry.nlark.com/@webassemblyjs/wasm-gen/download/@webassemblyjs/wasm-gen-1.9.0.tgz" + integrity sha1-ULxw7Gje2OJ2OwGhQYv0NJGnpJw= + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/ieee754" "1.9.0" + "@webassemblyjs/leb128" "1.9.0" + "@webassemblyjs/utf8" "1.9.0" + +"@webassemblyjs/wasm-opt@1.9.0": + version "1.9.0" + resolved "https://registry.nlark.com/@webassemblyjs/wasm-opt/download/@webassemblyjs/wasm-opt-1.9.0.tgz" + integrity sha1-IhEYHlsxMmRDzIES658LkChyGmE= + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-buffer" "1.9.0" + "@webassemblyjs/wasm-gen" "1.9.0" + "@webassemblyjs/wasm-parser" "1.9.0" + +"@webassemblyjs/wasm-parser@1.9.0": + version "1.9.0" + resolved "https://registry.nlark.com/@webassemblyjs/wasm-parser/download/@webassemblyjs/wasm-parser-1.9.0.tgz?cache=0&sync_timestamp=1625473358573&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fwasm-parser%2Fdownload%2F%40webassemblyjs%2Fwasm-parser-1.9.0.tgz" + integrity sha1-nUjkSCbfSmWYKUqmyHRp1kL/9l4= + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-api-error" "1.9.0" + "@webassemblyjs/helper-wasm-bytecode" "1.9.0" + "@webassemblyjs/ieee754" "1.9.0" + "@webassemblyjs/leb128" "1.9.0" + "@webassemblyjs/utf8" "1.9.0" + +"@webassemblyjs/wast-parser@1.9.0": + version "1.9.0" + resolved "https://registry.nlark.com/@webassemblyjs/wast-parser/download/@webassemblyjs/wast-parser-1.9.0.tgz" + integrity sha1-MDERXXmsW9JhVWzsw/qQo+9FGRQ= + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/floating-point-hex-parser" "1.9.0" + "@webassemblyjs/helper-api-error" "1.9.0" + "@webassemblyjs/helper-code-frame" "1.9.0" + "@webassemblyjs/helper-fsm" "1.9.0" + "@xtuc/long" "4.2.2" + +"@webassemblyjs/wast-printer@1.9.0": + version "1.9.0" + resolved "https://registry.nlark.com/@webassemblyjs/wast-printer/download/@webassemblyjs/wast-printer-1.9.0.tgz" + integrity sha1-STXVTIX+9jewDOn1I3dFHQDUeJk= + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/wast-parser" "1.9.0" + "@xtuc/long" "4.2.2" + +"@xtuc/ieee754@^1.2.0": + version "1.2.0" + resolved "https://registry.nlark.com/@xtuc/ieee754/download/@xtuc/ieee754-1.2.0.tgz" + integrity sha1-7vAUoxRa5Hehy8AM0eVSM23Ot5A= + +"@xtuc/long@4.2.2": + version "4.2.2" + resolved "https://registry.nlark.com/@xtuc/long/download/@xtuc/long-4.2.2.tgz" + integrity sha1-0pHGpOl5ibXGHZrPOWrk/hM6cY0= + +accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: + version "1.3.7" + resolved "https://registry.nlark.com/accepts/download/accepts-1.3.7.tgz" + integrity sha1-UxvHJlF6OytB+FACHGzBXqq1B80= + dependencies: + mime-types "~2.1.24" + negotiator "0.6.2" + +acorn-dynamic-import@^2.0.0: + version "2.0.2" + resolved "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz" + integrity sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ= + dependencies: + acorn "^4.0.3" + +acorn-jsx@^5.2.0: + version "5.3.2" + resolved "https://registry.nlark.com/acorn-jsx/download/acorn-jsx-5.3.2.tgz?cache=0&sync_timestamp=1625793240297&other_urls=https%3A%2F%2Fregistry.nlark.com%2Facorn-jsx%2Fdownload%2Facorn-jsx-5.3.2.tgz" + integrity sha1-ftW7VZCLOy8bxVxq8WU7rafweTc= + +acorn-walk@^7.1.1: + version "7.2.0" + resolved "https://registry.nlark.com/acorn-walk/download/acorn-walk-7.2.0.tgz" + integrity sha1-DeiJpgEgOQmw++B7iTjcIdLpZ7w= + +acorn@^4.0.3: + version "4.0.13" + resolved "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz" + integrity sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c= + +acorn@^5.0.0: + version "5.7.4" + resolved "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz" + integrity sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg== + +acorn@^6.4.1: + version "6.4.2" + resolved "https://registry.nlark.com/acorn/download/acorn-6.4.2.tgz?cache=0&sync_timestamp=1624526847094&other_urls=https%3A%2F%2Fregistry.nlark.com%2Facorn%2Fdownload%2Facorn-6.4.2.tgz" + integrity sha1-NYZv1xBSjpLeEM8GAWSY5H454eY= + +acorn@^7.1.1, acorn@^7.4.0: + version "7.4.1" + resolved "https://registry.nlark.com/acorn/download/acorn-7.4.1.tgz?cache=0&sync_timestamp=1624526847094&other_urls=https%3A%2F%2Fregistry.nlark.com%2Facorn%2Fdownload%2Facorn-7.4.1.tgz" + integrity sha1-/q7SVZc9LndVW4PbwIhRpsY1IPo= + +add-dom-event-listener@^1.0.2: + version "1.1.0" + resolved "https://registry.npmjs.org/add-dom-event-listener/-/add-dom-event-listener-1.1.0.tgz" + integrity sha512-WCxx1ixHT0GQU9hb0KI/mhgRQhnU+U3GvwY6ZvVjYq8rsihIGoaIOUbY0yMPBxLH5MDtr0kz3fisWGNcbWW7Jw== + dependencies: + object-assign "4.x" + +address@^1.1.2: + version "1.1.2" + resolved "https://registry.nlark.com/address/download/address-1.1.2.tgz" + integrity sha1-vxEWycdYxRt6kz0pa3LCIe2UKLY= + +adjust-sourcemap-loader@^1.1.0: + version "1.2.0" + resolved "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-1.2.0.tgz" + integrity sha512-958oaHHVEXMvsY7v7cC5gEkNIcoaAVIhZ4mBReYVZJOTP9IgKmzLjIOhTtzpLMu+qriXvLsVjJ155EeInp45IQ== + dependencies: + assert "^1.3.0" + camelcase "^1.2.1" + loader-utils "^1.1.0" + lodash.assign "^4.0.1" + lodash.defaults "^3.1.2" + object-path "^0.9.2" + regex-parser "^2.2.9" + +aggregate-error@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz" + integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== + dependencies: + clean-stack "^2.0.0" + indent-string "^4.0.0" + +ajv-errors@^1.0.0: + version "1.0.1" + resolved "https://registry.nlark.com/ajv-errors/download/ajv-errors-1.0.1.tgz" + integrity sha1-81mGrOuRr63sQQL72FAUlQzvpk0= + +ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.nlark.com/ajv-keywords/download/ajv-keywords-3.5.2.tgz" + integrity sha1-MfKdpatuANHC0yms97WSlhTVAU0= + +ajv@^5.0.0: + version "5.5.2" + resolved "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz" + integrity sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU= + dependencies: + co "^4.6.0" + fast-deep-equal "^1.0.0" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.3.0" + +ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4: + version "6.12.6" + resolved "https://registry.nlark.com/ajv/download/ajv-6.12.6.tgz?cache=0&sync_timestamp=1626380365232&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fajv%2Fdownload%2Fajv-6.12.6.tgz" + integrity sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ= + 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" + +align-text@^0.1.1, align-text@^0.1.3: + version "0.1.4" + resolved "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz" + integrity sha1-DNkKVhCT810KmSVsIrcGlDP60Rc= + dependencies: + kind-of "^3.0.2" + longest "^1.0.1" + repeat-string "^1.5.2" + +alphanum-sort@^1.0.0, alphanum-sort@^1.0.1, alphanum-sort@^1.0.2: + version "1.0.2" + resolved "https://registry.nlark.com/alphanum-sort/download/alphanum-sort-1.0.2.tgz" + integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= + +ansi-colors@^3.0.0: + version "3.2.4" + resolved "https://registry.nlark.com/ansi-colors/download/ansi-colors-3.2.4.tgz" + integrity sha1-46PaS/uubIapwoViXeEkojQCb78= + +ansi-escapes@^4.2.1: + version "4.3.2" + resolved "https://registry.nlark.com/ansi-escapes/download/ansi-escapes-4.3.2.tgz" + integrity sha1-ayKR0dt9mLZSHV8e+kLQ86n+tl4= + dependencies: + type-fest "^0.21.3" + +ansi-html@0.0.7: + version "0.0.7" + resolved "https://registry.nlark.com/ansi-html/download/ansi-html-0.0.7.tgz" + integrity sha1-gTWEAhliqenm/QOflA0S9WynhZ4= + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.nlark.com/ansi-regex/download/ansi-regex-2.1.1.tgz" + integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= + +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz" + integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= + +ansi-regex@^4.1.0: + version "4.1.0" + resolved "https://registry.nlark.com/ansi-regex/download/ansi-regex-4.1.0.tgz" + integrity sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc= + +ansi-regex@^5.0.0: + version "5.0.0" + resolved "https://registry.nlark.com/ansi-regex/download/ansi-regex-5.0.0.tgz" + integrity sha1-OIU59VF5vzkznIGvMKZU1p+Hy3U= + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz" + integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= + +ansi-styles@^3.2.0, ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.nlark.com/ansi-styles/download/ansi-styles-3.2.1.tgz" + integrity sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0= + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ant-design-vue@^1.7.6: + version "1.7.6" + resolved "https://registry.npmjs.org/ant-design-vue/-/ant-design-vue-1.7.6.tgz" + integrity sha512-EOS6g/deT53xHxZDMOxedyBehXSNMGnxdOeQtDksmiRvCBrZs+yoFYoVOe9pmQ8EJ7XQLn8TMReiYbXi78kppA== + dependencies: + "@ant-design/icons" "^2.1.1" + "@ant-design/icons-vue" "^2.0.0" + "@simonwep/pickr" "~1.7.0" + add-dom-event-listener "^1.0.2" + array-tree-filter "^2.1.0" + async-validator "^3.0.3" + babel-helper-vue-jsx-merge-props "^2.0.3" + babel-runtime "6.x" + classnames "^2.2.5" + component-classes "^1.2.6" + dom-align "^1.10.4" + dom-closest "^0.2.0" + dom-scroll-into-view "^2.0.0" + enquire.js "^2.1.6" + intersperse "^1.0.0" + is-mobile "^2.2.1" + is-negative-zero "^2.0.0" + ismobilejs "^1.0.0" + json2mq "^0.2.0" + lodash "^4.17.5" + moment "^2.21.0" + mutationobserver-shim "^0.3.2" + node-emoji "^1.10.0" + omit.js "^1.0.0" + raf "^3.4.0" + resize-observer-polyfill "^1.5.1" + shallow-equal "^1.0.0" + shallowequal "^1.0.2" + vue-ref "^2.0.0" + warning "^4.0.0" + +any-promise@^1.0.0: + version "1.3.0" + resolved "https://registry.nlark.com/any-promise/download/any-promise-1.3.0.tgz" + integrity sha1-q8av7tzqUugJzcA3au0845Y10X8= + +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz" + integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + +anymatch@^3.0.0, anymatch@~3.1.2: + version "3.1.2" + resolved "https://registry.nlark.com/anymatch/download/anymatch-3.1.2.tgz" + integrity sha1-wFV8CWrzLxBhmPT04qODU343hxY= + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +aproba@^1.1.1: + version "1.2.0" + resolved "https://registry.nlark.com/aproba/download/aproba-1.2.0.tgz" + integrity sha1-aALmJk79GMeQobDVF/DyYnvyyUo= + +arch@^2.1.1: + version "2.2.0" + resolved "https://registry.nlark.com/arch/download/arch-2.2.0.tgz" + integrity sha1-G8R4GPMFdk8jqzMGsL/AhsWinRE= + +area-data@^5.0.6: + version "5.0.6" + resolved "https://registry.npmjs.org/area-data/-/area-data-5.0.6.tgz" + integrity sha512-QxLoA+823xXKyhw5S3750I9TToki0OS42HU9ol3rCOsCXfkjtl8RtQ/eoj0cK0Levn4//oEM05FmMumfw/HIlg== + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.nlark.com/argparse/download/argparse-1.0.10.tgz" + integrity sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE= + dependencies: + sprintf-js "~1.0.2" + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.nlark.com/arr-diff/download/arr-diff-4.0.0.tgz" + integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= + +arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.nlark.com/arr-flatten/download/arr-flatten-1.1.0.tgz" + integrity sha1-NgSLv/TntH4TZkQxbJlmnqWukfE= + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.nlark.com/arr-union/download/arr-union-3.1.0.tgz" + integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + +array-find-index@^1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz" + integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E= + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.nlark.com/array-flatten/download/array-flatten-1.1.1.tgz" + integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= + +array-flatten@^2.1.0: + version "2.1.2" + resolved "https://registry.nlark.com/array-flatten/download/array-flatten-2.1.2.tgz" + integrity sha1-JO+AoowaiTYX4hSbDG0NeIKTsJk= + +array-includes@^3.0.3: + version "3.1.3" + resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.1.3.tgz" + integrity sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.2" + get-intrinsic "^1.1.1" + is-string "^1.0.5" + +array-tree-filter@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/array-tree-filter/-/array-tree-filter-2.1.0.tgz" + integrity sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw== + +array-union@^1.0.1, array-union@^1.0.2: + version "1.0.2" + resolved "https://registry.nlark.com/array-union/download/array-union-1.0.2.tgz" + integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= + dependencies: + array-uniq "^1.0.1" + +array-uniq@^1.0.1: + version "1.0.3" + resolved "https://registry.nlark.com/array-uniq/download/array-uniq-1.0.3.tgz" + integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.nlark.com/array-unique/download/array-unique-0.3.2.tgz" + integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + +asn1.js@^5.2.0: + version "5.4.1" + resolved "https://registry.nlark.com/asn1.js/download/asn1.js-5.4.1.tgz" + integrity sha1-EamAuE67kXgc41sP3C7ilON4Pwc= + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + safer-buffer "^2.1.0" + +asn1@~0.2.3: + version "0.2.4" + resolved "https://registry.nlark.com/asn1/download/asn1-0.2.4.tgz" + integrity sha1-jSR136tVO7M+d7VOWeiAu4ziMTY= + dependencies: + safer-buffer "~2.1.0" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/assert-plus/download/assert-plus-1.0.0.tgz" + integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= + +assert@^1.1.1, assert@^1.3.0: + version "1.5.0" + resolved "https://registry.nlark.com/assert/download/assert-1.5.0.tgz" + integrity sha1-VcEJqvbgrv2z3EtxJAxwv1dLGOs= + dependencies: + object-assign "^4.1.1" + util "0.10.3" + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/assign-symbols/download/assign-symbols-1.0.0.tgz" + integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= + +astral-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/astral-regex/download/astral-regex-1.0.0.tgz" + integrity sha1-bIw/uCfdQ+45GPJ7gngqt2WKb9k= + +async-each@^1.0.1: + version "1.0.3" + resolved "https://registry.nlark.com/async-each/download/async-each-1.0.3.tgz" + integrity sha1-tyfb+H12UWAvBvTUrDh/R9kbDL8= + +async-limiter@~1.0.0: + version "1.0.1" + resolved "https://registry.nlark.com/async-limiter/download/async-limiter-1.0.1.tgz" + integrity sha1-3TeelPDbgxCwgpH51kwyCXZmF/0= + +async-validator@^3.0.3: + version "3.5.2" + resolved "https://registry.npmjs.org/async-validator/-/async-validator-3.5.2.tgz" + integrity sha512-8eLCg00W9pIRZSB781UUX/H6Oskmm8xloZfr09lz5bikRpBVDlJ3hRVuxxP1SxcwsEYfJ4IU8Q19Y8/893r3rQ== + +async@^2.1.2, async@^2.4.1, async@^2.6.2: + version "2.6.3" + resolved "https://registry.nlark.com/async/download/async-2.6.3.tgz" + integrity sha1-1yYl4jRKNlbjo61Pp0n6gymdgv8= + dependencies: + lodash "^4.17.14" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.nlark.com/asynckit/download/asynckit-0.4.0.tgz" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + +atob@^2.1.2: + version "2.1.2" + resolved "https://registry.nlark.com/atob/download/atob-2.1.2.tgz" + integrity sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k= + +autoprefixer-loader@^3.2.0: + version "3.2.0" + resolved "https://registry.npmjs.org/autoprefixer-loader/-/autoprefixer-loader-3.2.0.tgz" + integrity sha1-Oae2ZGqCaYZQc9lYyX9IYVLCyEo= + dependencies: + autoprefixer "^6.0.2" + loader-utils "^0.2.11" + postcss "^5.0.4" + postcss-safe-parser "^1.0.1" + +autoprefixer@^6.0.2, autoprefixer@^6.3.1: + version "6.7.7" + resolved "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz" + integrity sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ= + dependencies: + browserslist "^1.7.6" + caniuse-db "^1.0.30000634" + normalize-range "^0.1.2" + num2fraction "^1.2.2" + postcss "^5.2.16" + postcss-value-parser "^3.2.3" + +autoprefixer@^9.8.6: + version "9.8.6" + resolved "https://registry.nlark.com/autoprefixer/download/autoprefixer-9.8.6.tgz?cache=0&sync_timestamp=1626111123930&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fautoprefixer%2Fdownload%2Fautoprefixer-9.8.6.tgz" + integrity sha1-O3NZTKG/kmYyDFrPFYjXTep0IQ8= + dependencies: + browserslist "^4.12.0" + caniuse-lite "^1.0.30001109" + colorette "^1.2.1" + normalize-range "^0.1.2" + num2fraction "^1.2.2" + postcss "^7.0.32" + postcss-value-parser "^4.1.0" + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.nlark.com/aws-sign2/download/aws-sign2-0.7.0.tgz" + integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= + +aws4@^1.8.0: + version "1.11.0" + resolved "https://registry.nlark.com/aws4/download/aws4-1.11.0.tgz" + integrity sha1-1h9G2DslGSUOJ4Ta9bCUeai0HFk= + +axios@^0.21.1: + version "0.21.1" + resolved "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz" + integrity sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA== + dependencies: + follow-redirects "^1.10.0" + +babel-code-frame@^6.26.0: + version "6.26.0" + resolved "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz" + integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s= + dependencies: + chalk "^1.1.3" + esutils "^2.0.2" + js-tokens "^3.0.2" + +babel-core@^6.26.0: + version "6.26.3" + resolved "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz" + integrity sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA== + dependencies: + babel-code-frame "^6.26.0" + babel-generator "^6.26.0" + babel-helpers "^6.24.1" + babel-messages "^6.23.0" + babel-register "^6.26.0" + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + convert-source-map "^1.5.1" + debug "^2.6.9" + json5 "^0.5.1" + lodash "^4.17.4" + minimatch "^3.0.4" + path-is-absolute "^1.0.1" + private "^0.1.8" + slash "^1.0.0" + source-map "^0.5.7" + +babel-eslint@^10.1.0: + version "10.1.0" + resolved "https://registry.nlark.com/babel-eslint/download/babel-eslint-10.1.0.tgz" + integrity sha1-aWjlaKkQt4+zd5zdi2rC9HmUMjI= + dependencies: + "@babel/code-frame" "^7.0.0" + "@babel/parser" "^7.7.0" + "@babel/traverse" "^7.7.0" + "@babel/types" "^7.7.0" + eslint-visitor-keys "^1.0.0" + resolve "^1.12.0" + +babel-generator@^6.26.0: + version "6.26.1" + resolved "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz" + integrity sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA== + dependencies: + babel-messages "^6.23.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + detect-indent "^4.0.0" + jsesc "^1.3.0" + lodash "^4.17.4" + source-map "^0.5.7" + trim-right "^1.0.1" + +babel-helper-builder-binary-assignment-operator-visitor@^6.24.1: + version "6.24.1" + resolved "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz" + integrity sha1-zORReto1b0IgvK6KAsKzRvmlZmQ= + dependencies: + babel-helper-explode-assignable-expression "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-call-delegate@^6.24.1: + version "6.24.1" + resolved "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz" + integrity sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340= + dependencies: + babel-helper-hoist-variables "^6.24.1" + babel-runtime "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-define-map@^6.24.1: + version "6.26.0" + resolved "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz" + integrity sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8= + dependencies: + babel-helper-function-name "^6.24.1" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" + +babel-helper-explode-assignable-expression@^6.24.1: + version "6.24.1" + resolved "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz" + integrity sha1-8luCz33BBDPFX3BZLVdGQArCLKo= + dependencies: + babel-runtime "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-function-name@^6.24.1: + version "6.24.1" + resolved "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz" + integrity sha1-00dbjAPtmCQqJbSDUasYOZ01gKk= + dependencies: + babel-helper-get-function-arity "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-get-function-arity@^6.24.1: + version "6.24.1" + resolved "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz" + integrity sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0= + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-hoist-variables@^6.24.1: + version "6.24.1" + resolved "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz" + integrity sha1-HssnaJydJVE+rbyZFKc/VAi+enY= + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-optimise-call-expression@^6.24.1: + version "6.24.1" + resolved "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz" + integrity sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc= + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-regex@^6.24.1: + version "6.26.0" + resolved "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz" + integrity sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI= + dependencies: + babel-runtime "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" + +babel-helper-remap-async-to-generator@^6.24.1: + version "6.24.1" + resolved "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz" + integrity sha1-XsWBgnrXI/7N04HxySg5BnbkVRs= + dependencies: + babel-helper-function-name "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-replace-supers@^6.24.1: + version "6.24.1" + resolved "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz" + integrity sha1-v22/5Dk40XNpohPKiov3S2qQqxo= + dependencies: + babel-helper-optimise-call-expression "^6.24.1" + babel-messages "^6.23.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-vue-jsx-merge-props@^2.0.3: + version "2.0.3" + resolved "https://registry.npmjs.org/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-2.0.3.tgz" + integrity sha512-gsLiKK7Qrb7zYJNgiXKpXblxbV5ffSwR0f5whkPAaBAR4fhi6bwRZxX9wBlIc5M/v8CCkXUbXZL4N/nSE97cqg== + +babel-helpers@^6.24.1: + version "6.24.1" + resolved "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz" + integrity sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI= + dependencies: + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-loader@^7.1.2: + version "7.1.5" + resolved "https://registry.npmjs.org/babel-loader/-/babel-loader-7.1.5.tgz" + integrity sha512-iCHfbieL5d1LfOQeeVJEUyD9rTwBcP/fcEbRCfempxTDuqrKpu0AZjLAQHEQa3Yqyj9ORKe2iHfoj4rHLf7xpw== + dependencies: + find-cache-dir "^1.0.0" + loader-utils "^1.0.2" + mkdirp "^0.5.1" + +babel-loader@^8.1.0: + version "8.2.2" + resolved "https://registry.nlark.com/babel-loader/download/babel-loader-8.2.2.tgz" + integrity sha1-k2POhMEMmkDmx1N0jhRBtgyKC4E= + dependencies: + find-cache-dir "^3.3.1" + loader-utils "^1.4.0" + make-dir "^3.1.0" + schema-utils "^2.6.5" + +babel-messages@^6.23.0: + version "6.23.0" + resolved "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz" + integrity sha1-8830cDhYA1sqKVHG7F7fbGLyYw4= + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-check-es2015-constants@^6.22.0: + version "6.22.0" + resolved "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz" + integrity sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o= + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-dynamic-import-node@^2.3.3: + version "2.3.3" + resolved "https://registry.nlark.com/babel-plugin-dynamic-import-node/download/babel-plugin-dynamic-import-node-2.3.3.tgz" + integrity sha1-hP2hnJduxcbe/vV/lCez3vZuF6M= + dependencies: + object.assign "^4.1.0" + +babel-plugin-polyfill-corejs2@^0.2.2: + version "0.2.2" + resolved "https://registry.nlark.com/babel-plugin-polyfill-corejs2/download/babel-plugin-polyfill-corejs2-0.2.2.tgz" + integrity sha1-6RJHheb9lPlLYYp5VOVpMFO/Uyc= + dependencies: + "@babel/compat-data" "^7.13.11" + "@babel/helper-define-polyfill-provider" "^0.2.2" + semver "^6.1.1" + +babel-plugin-polyfill-corejs3@^0.2.2: + version "0.2.4" + resolved "https://registry.nlark.com/babel-plugin-polyfill-corejs3/download/babel-plugin-polyfill-corejs3-0.2.4.tgz?cache=0&sync_timestamp=1627502199514&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fbabel-plugin-polyfill-corejs3%2Fdownload%2Fbabel-plugin-polyfill-corejs3-0.2.4.tgz" + integrity sha1-aMuBMWsOjZ1yGpLgAJ7G7NTNLKk= + dependencies: + "@babel/helper-define-polyfill-provider" "^0.2.2" + core-js-compat "^3.14.0" + +babel-plugin-polyfill-regenerator@^0.2.2: + version "0.2.2" + resolved "https://registry.nlark.com/babel-plugin-polyfill-regenerator/download/babel-plugin-polyfill-regenerator-0.2.2.tgz" + integrity sha1-sxDI1kKsraNIwfo7Pmzg6FG+4Hc= + dependencies: + "@babel/helper-define-polyfill-provider" "^0.2.2" + +babel-plugin-syntax-async-functions@^6.8.0: + version "6.13.0" + resolved "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz" + integrity sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU= + +babel-plugin-syntax-exponentiation-operator@^6.8.0: + version "6.13.0" + resolved "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz" + integrity sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4= + +babel-plugin-syntax-trailing-function-commas@^6.22.0: + version "6.22.0" + resolved "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz" + integrity sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM= + +babel-plugin-transform-async-to-generator@^6.22.0: + version "6.24.1" + resolved "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz" + integrity sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E= + dependencies: + babel-helper-remap-async-to-generator "^6.24.1" + babel-plugin-syntax-async-functions "^6.8.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-arrow-functions@^6.22.0: + version "6.22.0" + resolved "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz" + integrity sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE= + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-block-scoped-functions@^6.22.0: + version "6.22.0" + resolved "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz" + integrity sha1-u8UbSflk1wy42OC5ToICRs46YUE= + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-block-scoping@^6.23.0: + version "6.26.0" + resolved "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz" + integrity sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8= + dependencies: + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" + +babel-plugin-transform-es2015-classes@^6.23.0: + version "6.24.1" + resolved "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz" + integrity sha1-WkxYpQyclGHlZLSyo7+ryXolhNs= + dependencies: + babel-helper-define-map "^6.24.1" + babel-helper-function-name "^6.24.1" + babel-helper-optimise-call-expression "^6.24.1" + babel-helper-replace-supers "^6.24.1" + babel-messages "^6.23.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-computed-properties@^6.22.0: + version "6.24.1" + resolved "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz" + integrity sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM= + dependencies: + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-destructuring@^6.23.0: + version "6.23.0" + resolved "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz" + integrity sha1-mXux8auWf2gtKwh2/jWNYOdlxW0= + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-duplicate-keys@^6.22.0: + version "6.24.1" + resolved "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz" + integrity sha1-c+s9MQypaePvnskcU3QabxV2Qj4= + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-for-of@^6.23.0: + version "6.23.0" + resolved "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz" + integrity sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE= + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-function-name@^6.22.0: + version "6.24.1" + resolved "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz" + integrity sha1-g0yJhTvDaxrw86TF26qU/Y6sqos= + dependencies: + babel-helper-function-name "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-literals@^6.22.0: + version "6.22.0" + resolved "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz" + integrity sha1-T1SgLWzWbPkVKAAZox0xklN3yi4= + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-modules-amd@^6.22.0, babel-plugin-transform-es2015-modules-amd@^6.24.1: + version "6.24.1" + resolved "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz" + integrity sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ= + dependencies: + babel-plugin-transform-es2015-modules-commonjs "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-modules-commonjs@^6.23.0, babel-plugin-transform-es2015-modules-commonjs@^6.24.1: + version "6.26.2" + resolved "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz" + integrity sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q== + dependencies: + babel-plugin-transform-strict-mode "^6.24.1" + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-types "^6.26.0" + +babel-plugin-transform-es2015-modules-systemjs@^6.23.0: + version "6.24.1" + resolved "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz" + integrity sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM= + dependencies: + babel-helper-hoist-variables "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-modules-umd@^6.23.0: + version "6.24.1" + resolved "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz" + integrity sha1-rJl+YoXNGO1hdq22B9YCNErThGg= + dependencies: + babel-plugin-transform-es2015-modules-amd "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-object-super@^6.22.0: + version "6.24.1" + resolved "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz" + integrity sha1-JM72muIcuDp/hgPa0CH1cusnj40= + dependencies: + babel-helper-replace-supers "^6.24.1" + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-parameters@^6.23.0: + version "6.24.1" + resolved "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz" + integrity sha1-V6w1GrScrxSpfNE7CfZv3wpiXys= + dependencies: + babel-helper-call-delegate "^6.24.1" + babel-helper-get-function-arity "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-shorthand-properties@^6.22.0: + version "6.24.1" + resolved "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz" + integrity sha1-JPh11nIch2YbvZmkYi5R8U3jiqA= + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-spread@^6.22.0: + version "6.22.0" + resolved "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz" + integrity sha1-1taKmfia7cRTbIGlQujdnxdG+NE= + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-sticky-regex@^6.22.0: + version "6.24.1" + resolved "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz" + integrity sha1-AMHNsaynERLN8M9hJsLta0V8zbw= + dependencies: + babel-helper-regex "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-template-literals@^6.22.0: + version "6.22.0" + resolved "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz" + integrity sha1-qEs0UPfp+PH2g51taH2oS7EjbY0= + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-typeof-symbol@^6.23.0: + version "6.23.0" + resolved "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz" + integrity sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I= + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-unicode-regex@^6.22.0: + version "6.24.1" + resolved "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz" + integrity sha1-04sS9C6nMj9yk4fxinxa4frrNek= + dependencies: + babel-helper-regex "^6.24.1" + babel-runtime "^6.22.0" + regexpu-core "^2.0.0" + +babel-plugin-transform-exponentiation-operator@^6.22.0: + version "6.24.1" + resolved "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz" + integrity sha1-KrDJx/MJj6SJB3cruBP+QejeOg4= + dependencies: + babel-helper-builder-binary-assignment-operator-visitor "^6.24.1" + babel-plugin-syntax-exponentiation-operator "^6.8.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-regenerator@^6.22.0: + version "6.26.0" + resolved "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz" + integrity sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8= + dependencies: + regenerator-transform "^0.10.0" + +babel-plugin-transform-runtime@^6.23.0: + version "6.23.0" + resolved "https://registry.npmjs.org/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz" + integrity sha1-iEkNRGUC6puOfvsP4J7E2ZR5se4= + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-strict-mode@^6.24.1: + version "6.24.1" + resolved "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz" + integrity sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g= + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-preset-env@^1.6.0: + version "1.7.0" + resolved "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.7.0.tgz" + integrity sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg== + dependencies: + babel-plugin-check-es2015-constants "^6.22.0" + babel-plugin-syntax-trailing-function-commas "^6.22.0" + babel-plugin-transform-async-to-generator "^6.22.0" + babel-plugin-transform-es2015-arrow-functions "^6.22.0" + babel-plugin-transform-es2015-block-scoped-functions "^6.22.0" + babel-plugin-transform-es2015-block-scoping "^6.23.0" + babel-plugin-transform-es2015-classes "^6.23.0" + babel-plugin-transform-es2015-computed-properties "^6.22.0" + babel-plugin-transform-es2015-destructuring "^6.23.0" + babel-plugin-transform-es2015-duplicate-keys "^6.22.0" + babel-plugin-transform-es2015-for-of "^6.23.0" + babel-plugin-transform-es2015-function-name "^6.22.0" + babel-plugin-transform-es2015-literals "^6.22.0" + babel-plugin-transform-es2015-modules-amd "^6.22.0" + babel-plugin-transform-es2015-modules-commonjs "^6.23.0" + babel-plugin-transform-es2015-modules-systemjs "^6.23.0" + babel-plugin-transform-es2015-modules-umd "^6.23.0" + babel-plugin-transform-es2015-object-super "^6.22.0" + babel-plugin-transform-es2015-parameters "^6.23.0" + babel-plugin-transform-es2015-shorthand-properties "^6.22.0" + babel-plugin-transform-es2015-spread "^6.22.0" + babel-plugin-transform-es2015-sticky-regex "^6.22.0" + babel-plugin-transform-es2015-template-literals "^6.22.0" + babel-plugin-transform-es2015-typeof-symbol "^6.23.0" + babel-plugin-transform-es2015-unicode-regex "^6.22.0" + babel-plugin-transform-exponentiation-operator "^6.22.0" + babel-plugin-transform-regenerator "^6.22.0" + browserslist "^3.2.6" + invariant "^2.2.2" + semver "^5.3.0" + +babel-register@^6.26.0: + version "6.26.0" + resolved "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz" + integrity sha1-btAhFz4vy0htestFxgCahW9kcHE= + dependencies: + babel-core "^6.26.0" + babel-runtime "^6.26.0" + core-js "^2.5.0" + home-or-tmp "^2.0.0" + lodash "^4.17.4" + mkdirp "^0.5.1" + source-map-support "^0.4.15" + +babel-runtime@6.x, babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.23.0, babel-runtime@^6.26.0: + version "6.26.0" + resolved "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz" + integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.11.0" + +babel-template@^6.24.1, babel-template@^6.26.0: + version "6.26.0" + resolved "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz" + integrity sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI= + dependencies: + babel-runtime "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + lodash "^4.17.4" + +babel-traverse@^6.24.1, babel-traverse@^6.26.0: + version "6.26.0" + resolved "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz" + integrity sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4= + dependencies: + babel-code-frame "^6.26.0" + babel-messages "^6.23.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + debug "^2.6.8" + globals "^9.18.0" + invariant "^2.2.2" + lodash "^4.17.4" + +babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0: + version "6.26.0" + resolved "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz" + integrity sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc= + dependencies: + babel-runtime "^6.26.0" + esutils "^2.0.2" + lodash "^4.17.4" + to-fast-properties "^1.0.3" + +babylon@^6.18.0: + version "6.18.0" + resolved "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz" + integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== + +balanced-match@^0.4.2: + version "0.4.2" + resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz" + integrity sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg= + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.nlark.com/balanced-match/download/balanced-match-1.0.2.tgz" + integrity sha1-6D46fj8wCzTLnYf2FfoMvzV2kO4= + +base64-js@^1.0.2: + version "1.5.1" + resolved "https://registry.nlark.com/base64-js/download/base64-js-1.5.1.tgz" + integrity sha1-GxtEAWClv3rUC2UPCVljSBkDkwo= + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.nlark.com/base/download/base-0.11.2.tgz" + integrity sha1-e95c7RRbbVUakNuH+DxVi060io8= + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + +batch@0.6.1: + version "0.6.1" + resolved "https://registry.nlark.com/batch/download/batch-0.6.1.tgz" + integrity sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY= + +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.nlark.com/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.2.tgz" + integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= + dependencies: + tweetnacl "^0.14.3" + +bfj@^6.1.1: + version "6.1.2" + resolved "https://registry.nlark.com/bfj/download/bfj-6.1.2.tgz" + integrity sha1-MlyGGoIryzWKQceKM7jm4ght3n8= + dependencies: + bluebird "^3.5.5" + check-types "^8.0.3" + hoopy "^0.1.4" + tryer "^1.0.1" + +big.js@^3.1.3: + version "3.2.0" + resolved "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz" + integrity sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q== + +big.js@^5.2.2: + version "5.2.2" + resolved "https://registry.nlark.com/big.js/download/big.js-5.2.2.tgz" + integrity sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg= + +binary-extensions@^1.0.0: + version "1.13.1" + resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz" + integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.nlark.com/binary-extensions/download/binary-extensions-2.2.0.tgz" + integrity sha1-dfUC7q+f/eQvyYgpZFvk6na9ni0= + +bindings@^1.5.0: + version "1.5.0" + resolved "https://registry.npmmirror.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" + integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== + dependencies: + file-uri-to-path "1.0.0" + +bluebird@^3.1.1, bluebird@^3.5.5: + version "3.7.2" + resolved "https://registry.nlark.com/bluebird/download/bluebird-3.7.2.tgz" + integrity sha1-nyKcFb4nJFT/qXOs4NvueaGww28= + +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: + version "4.12.0" + resolved "https://registry.nlark.com/bn.js/download/bn.js-4.12.0.tgz" + integrity sha1-d1s/J477uXGO7HNh9IP7Nvu/6og= + +bn.js@^5.0.0, bn.js@^5.1.1: + version "5.2.0" + resolved "https://registry.nlark.com/bn.js/download/bn.js-5.2.0.tgz" + integrity sha1-NYhgZ0OWxpl3canQUfzBtX1K4AI= + +body-parser@1.19.0: + version "1.19.0" + resolved "https://registry.nlark.com/body-parser/download/body-parser-1.19.0.tgz" + integrity sha1-lrJwnlfJxOCab9Zqj9l5hE9p8Io= + dependencies: + bytes "3.1.0" + content-type "~1.0.4" + debug "2.6.9" + depd "~1.1.2" + http-errors "1.7.2" + iconv-lite "0.4.24" + on-finished "~2.3.0" + qs "6.7.0" + raw-body "2.4.0" + type-is "~1.6.17" + +bonjour@^3.5.0: + version "3.5.0" + resolved "https://registry.nlark.com/bonjour/download/bonjour-3.5.0.tgz" + integrity sha1-jokKGD2O6aI5OzhExpGkK897yfU= + dependencies: + array-flatten "^2.1.0" + deep-equal "^1.0.1" + dns-equal "^1.0.0" + dns-txt "^2.0.2" + multicast-dns "^6.0.1" + multicast-dns-service-types "^1.1.0" + +boolbase@^1.0.0, boolbase@~1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/boolbase/download/boolbase-1.0.0.tgz" + integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.nlark.com/brace-expansion/download/brace-expansion-1.1.11.tgz" + integrity sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0= + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^2.3.1, braces@^2.3.2: + version "2.3.2" + resolved "https://registry.nlark.com/braces/download/braces-2.3.2.tgz" + integrity sha1-WXn9PxTNUxVl5fot8av/8d+u5yk= + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + +braces@^3.0.1, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.nlark.com/braces/download/braces-3.0.2.tgz" + integrity sha1-NFThpGLujVmeI23zNs2epPiv4Qc= + dependencies: + fill-range "^7.0.1" + +brorand@^1.0.1, brorand@^1.1.0: + version "1.1.0" + resolved "https://registry.nlark.com/brorand/download/brorand-1.1.0.tgz" + integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= + +browserify-aes@^1.0.0, browserify-aes@^1.0.4: + version "1.2.0" + resolved "https://registry.nlark.com/browserify-aes/download/browserify-aes-1.2.0.tgz" + integrity sha1-Mmc0ZC9APavDADIJhTu3CtQo70g= + dependencies: + buffer-xor "^1.0.3" + cipher-base "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.3" + inherits "^2.0.1" + safe-buffer "^5.0.1" + +browserify-cipher@^1.0.0: + version "1.0.1" + resolved "https://registry.nlark.com/browserify-cipher/download/browserify-cipher-1.0.1.tgz" + integrity sha1-jWR0wbhwv9q807z8wZNKEOlPFfA= + dependencies: + browserify-aes "^1.0.4" + browserify-des "^1.0.0" + evp_bytestokey "^1.0.0" + +browserify-des@^1.0.0: + version "1.0.2" + resolved "https://registry.nlark.com/browserify-des/download/browserify-des-1.0.2.tgz" + integrity sha1-OvTx9Zg5QDVy8cZiBDdfen9wPpw= + dependencies: + cipher-base "^1.0.1" + des.js "^1.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: + version "4.1.0" + resolved "https://registry.nlark.com/browserify-rsa/download/browserify-rsa-4.1.0.tgz" + integrity sha1-sv0Gtbda4pf3zi3GUfkY9b4VjI0= + dependencies: + bn.js "^5.0.0" + randombytes "^2.0.1" + +browserify-sign@^4.0.0: + version "4.2.1" + resolved "https://registry.nlark.com/browserify-sign/download/browserify-sign-4.2.1.tgz" + integrity sha1-6vSt1G3VS+O7OzbAzxWrvrp5VsM= + dependencies: + bn.js "^5.1.1" + browserify-rsa "^4.0.1" + create-hash "^1.2.0" + create-hmac "^1.1.7" + elliptic "^6.5.3" + inherits "^2.0.4" + parse-asn1 "^5.1.5" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +browserify-zlib@^0.2.0: + version "0.2.0" + resolved "https://registry.nlark.com/browserify-zlib/download/browserify-zlib-0.2.0.tgz" + integrity sha1-KGlFnZqjviRf6P4sofRuLn9U1z8= + dependencies: + pako "~1.0.5" + +browserslist@^1.3.6, browserslist@^1.5.2, browserslist@^1.7.6: + version "1.7.7" + resolved "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz" + integrity sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk= + dependencies: + caniuse-db "^1.0.30000639" + electron-to-chromium "^1.2.7" + +browserslist@^3.2.6: + version "3.2.8" + resolved "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz" + integrity sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ== + dependencies: + caniuse-lite "^1.0.30000844" + electron-to-chromium "^1.3.47" + +browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.16.6: + version "4.16.6" + resolved "https://registry.nlark.com/browserslist/download/browserslist-4.16.6.tgz" + integrity sha1-15ASd6WojlVO0wWxg+ybDAj2b6I= + dependencies: + caniuse-lite "^1.0.30001219" + colorette "^1.2.2" + electron-to-chromium "^1.3.723" + escalade "^3.1.1" + node-releases "^1.1.71" + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.nlark.com/buffer-from/download/buffer-from-1.1.2.tgz" + integrity sha1-KxRqb9cugLT1XSVfNe1Zo6mkG9U= + +buffer-indexof@^1.0.0: + version "1.1.1" + resolved "https://registry.nlark.com/buffer-indexof/download/buffer-indexof-1.1.1.tgz" + integrity sha1-Uvq8xqYG0aADAoAmSO9o9jnaJow= + +buffer-json@^2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/buffer-json/download/buffer-json-2.0.0.tgz" + integrity sha1-9z4TseQvGW/i/WfQAcfXEH7dfCM= + +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.nlark.com/buffer-xor/download/buffer-xor-1.0.3.tgz" + integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= + +buffer@^4.3.0: + version "4.9.2" + resolved "https://registry.nlark.com/buffer/download/buffer-4.9.2.tgz" + integrity sha1-Iw6tNEACmIZEhBqwJEr4xEu+Pvg= + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + isarray "^1.0.0" + +builtin-status-codes@^3.0.0: + version "3.0.0" + resolved "https://registry.nlark.com/builtin-status-codes/download/builtin-status-codes-3.0.0.tgz" + integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= + +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.nlark.com/bytes/download/bytes-3.0.0.tgz" + integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= + +bytes@3.1.0: + version "3.1.0" + resolved "https://registry.nlark.com/bytes/download/bytes-3.1.0.tgz" + integrity sha1-9s95M6Ng4FiPqf3oVlHNx/gF0fY= + +cacache@^12.0.2, cacache@^12.0.3: + version "12.0.4" + resolved "https://registry.nlark.com/cacache/download/cacache-12.0.4.tgz" + integrity sha1-ZovL0QWutfHZL+JVcOyVJcj6pAw= + dependencies: + bluebird "^3.5.5" + chownr "^1.1.1" + figgy-pudding "^3.5.1" + glob "^7.1.4" + graceful-fs "^4.1.15" + infer-owner "^1.0.3" + lru-cache "^5.1.1" + mississippi "^3.0.0" + mkdirp "^0.5.1" + move-concurrently "^1.0.1" + promise-inflight "^1.0.1" + rimraf "^2.6.3" + ssri "^6.0.1" + unique-filename "^1.1.1" + y18n "^4.0.0" + +cacache@^15.0.5: + version "15.3.0" + resolved "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz" + integrity sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ== + dependencies: + "@npmcli/fs" "^1.0.0" + "@npmcli/move-file" "^1.0.1" + chownr "^2.0.0" + fs-minipass "^2.0.0" + glob "^7.1.4" + infer-owner "^1.0.4" + lru-cache "^6.0.0" + minipass "^3.1.1" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.2" + mkdirp "^1.0.3" + p-map "^4.0.0" + promise-inflight "^1.0.1" + rimraf "^3.0.2" + ssri "^8.0.1" + tar "^6.0.2" + unique-filename "^1.1.1" + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.nlark.com/cache-base/download/cache-base-1.0.1.tgz" + integrity sha1-Cn9GQWgxyLZi7jb+TnxZ129marI= + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + +cache-loader@^4.1.0: + version "4.1.0" + resolved "https://registry.nlark.com/cache-loader/download/cache-loader-4.1.0.tgz" + integrity sha1-mUjK41OuwKH8ser9ojAIFuyFOH4= + dependencies: + buffer-json "^2.0.0" + find-cache-dir "^3.0.0" + loader-utils "^1.2.3" + mkdirp "^0.5.1" + neo-async "^2.6.1" + schema-utils "^2.0.0" + +call-bind@^1.0.0, call-bind@^1.0.2: + version "1.0.2" + resolved "https://registry.nlark.com/call-bind/download/call-bind-1.0.2.tgz" + integrity sha1-sdTonmiBGcPJqQOtMKuy9qkZvjw= + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + +call-me-maybe@^1.0.1: + version "1.0.1" + resolved "https://registry.nlark.com/call-me-maybe/download/call-me-maybe-1.0.1.tgz" + integrity sha1-JtII6onje1y95gJQoV8DHBak1ms= + +caller-callsite@^2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/caller-callsite/download/caller-callsite-2.0.0.tgz" + integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ= + dependencies: + callsites "^2.0.0" + +caller-path@^2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/caller-path/download/caller-path-2.0.0.tgz" + integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ= + dependencies: + caller-callsite "^2.0.0" + +callsites@^2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/callsites/download/callsites-2.0.0.tgz" + integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.nlark.com/callsites/download/callsites-3.1.0.tgz" + integrity sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M= + +camel-case@3.0.x: + version "3.0.0" + resolved "https://registry.nlark.com/camel-case/download/camel-case-3.0.0.tgz" + integrity sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M= + dependencies: + no-case "^2.2.0" + upper-case "^1.1.1" + +camelcase-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz" + integrity sha1-MIvur/3ygRkFHvodkyITyRuPkuc= + dependencies: + camelcase "^2.0.0" + map-obj "^1.0.0" + +camelcase@^1.0.2, camelcase@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz" + integrity sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk= + +camelcase@^2.0.0: + version "2.1.1" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz" + integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8= + +camelcase@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz" + integrity sha1-MvxLn82vhF/N9+c7uXysImHwqwo= + +camelcase@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz" + integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= + +camelcase@^5.0.0, camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.nlark.com/camelcase/download/camelcase-5.3.1.tgz" + integrity sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA= + +camelcase@^6.0.0: + version "6.2.0" + resolved "https://registry.nlark.com/camelcase/download/camelcase-6.2.0.tgz" + integrity sha1-kkr4gcnVJaydh/QNlk5c6pgqGAk= + +caniuse-api@^1.5.2: + version "1.6.1" + resolved "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz" + integrity sha1-tTTnxzTE+B7F++isoq0kNUuWLGw= + dependencies: + browserslist "^1.3.6" + caniuse-db "^1.0.30000529" + lodash.memoize "^4.1.2" + lodash.uniq "^4.5.0" + +caniuse-api@^3.0.0: + version "3.0.0" + resolved "https://registry.nlark.com/caniuse-api/download/caniuse-api-3.0.0.tgz" + integrity sha1-Xk2Q4idJYdRikZl99Znj7QCO5MA= + dependencies: + browserslist "^4.0.0" + caniuse-lite "^1.0.0" + lodash.memoize "^4.1.2" + lodash.uniq "^4.5.0" + +caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639: + version "1.0.30001248" + resolved "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30001248.tgz" + integrity sha512-29JX6IwToCEjwxR7Q8vhcwgbQvSqb/WRJfMMAR6Fyd9DF+Yi5LUMS8VfN86SlDrGaghqEnK/5advE7RRZ6RzqA== + +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001219: + version "1.0.30001248" + resolved "https://registry.nlark.com/caniuse-lite/download/caniuse-lite-1.0.30001248.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcaniuse-lite%2Fdownload%2Fcaniuse-lite-1.0.30001248.tgz" + integrity sha1-JqtF40DxVepdopINrbdqUzy4684= + +case-sensitive-paths-webpack-plugin@^2.3.0: + version "2.4.0" + resolved "https://registry.nlark.com/case-sensitive-paths-webpack-plugin/download/case-sensitive-paths-webpack-plugin-2.4.0.tgz" + integrity sha1-22QGbGQi7tLgjMFLmGykN5bbxtQ= + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.nlark.com/caseless/download/caseless-0.12.0.tgz" + integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= + +center-align@^0.1.1: + version "0.1.3" + resolved "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz" + integrity sha1-qg0yYptu6XIgBBHL1EYckHvCt60= + dependencies: + align-text "^0.1.3" + lazy-cache "^1.0.3" + +chalk@^1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz" + integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.nlark.com/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1627646734234&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz" + integrity sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ= + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^4.0.0, chalk@^4.1.0: + version "4.1.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chardet@^0.7.0: + version "0.7.0" + resolved "https://registry.nlark.com/chardet/download/chardet-0.7.0.tgz" + integrity sha1-kAlISfCTfy7twkJdDSip5fDLrZ4= + +check-types@^8.0.3: + version "8.0.3" + resolved "https://registry.nlark.com/check-types/download/check-types-8.0.3.tgz" + integrity sha1-M1bMoZyIlUTy16le1JzlCKDs9VI= + +chokidar@^2.1.2, chokidar@^2.1.8: + version "2.1.8" + resolved "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz" + integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== + dependencies: + anymatch "^2.0.0" + async-each "^1.0.1" + braces "^2.3.2" + glob-parent "^3.1.0" + inherits "^2.0.3" + is-binary-path "^1.0.0" + is-glob "^4.0.0" + normalize-path "^3.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.2.1" + upath "^1.1.1" + optionalDependencies: + fsevents "^1.2.7" + +chokidar@^3.4.1: + version "3.5.2" + resolved "https://registry.nlark.com/chokidar/download/chokidar-3.5.2.tgz" + integrity sha1-26OXb8rbAW9m/TZQIdkWANAcHnU= + 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" + +chownr@^1.1.1: + version "1.1.4" + resolved "https://registry.nlark.com/chownr/download/chownr-1.1.4.tgz" + integrity sha1-b8nXtC0ypYNZYzdmbn0ICE2izGs= + +chownr@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz" + integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== + +chrome-trace-event@^1.0.2: + version "1.0.3" + resolved "https://registry.nlark.com/chrome-trace-event/download/chrome-trace-event-1.0.3.tgz" + integrity sha1-EBXs7UdB4V0GZkqVfbv1DQQeJqw= + +ci-info@^1.5.0: + version "1.6.0" + resolved "https://registry.nlark.com/ci-info/download/ci-info-1.6.0.tgz" + integrity sha1-LKINu5zrMtRSSmgzAzE/AwSx5Jc= + +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.4" + resolved "https://registry.nlark.com/cipher-base/download/cipher-base-1.0.4.tgz" + integrity sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94= + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +clap@^1.0.9: + version "1.2.3" + resolved "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz" + integrity sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA== + dependencies: + chalk "^1.1.3" + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.nlark.com/class-utils/download/class-utils-0.3.6.tgz" + integrity sha1-+TNprouafOAv1B+q0MqDAzGQxGM= + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +classnames@^2.2.5: + version "2.3.1" + resolved "https://registry.npmjs.org/classnames/-/classnames-2.3.1.tgz" + integrity sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA== + +clean-css@4.2.x: + version "4.2.3" + resolved "https://registry.nlark.com/clean-css/download/clean-css-4.2.3.tgz?cache=0&sync_timestamp=1627551710368&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fclean-css%2Fdownload%2Fclean-css-4.2.3.tgz" + integrity sha1-UHtd59l7SO5T2ErbAWD/YhY4D3g= + dependencies: + source-map "~0.6.0" + +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz" + integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== + +cli-cursor@^2.1.0: + version "2.1.0" + resolved "https://registry.nlark.com/cli-cursor/download/cli-cursor-2.1.0.tgz" + integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= + dependencies: + restore-cursor "^2.0.0" + +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.nlark.com/cli-cursor/download/cli-cursor-3.1.0.tgz" + integrity sha1-JkMFp65JDR0Dvwybp8kl0XU68wc= + dependencies: + restore-cursor "^3.1.0" + +cli-highlight@^2.1.4: + version "2.1.11" + resolved "https://registry.nlark.com/cli-highlight/download/cli-highlight-2.1.11.tgz" + integrity sha1-SXNvpFLwqvT65YDjCssmgo0twb8= + dependencies: + chalk "^4.0.0" + highlight.js "^10.7.1" + mz "^2.4.0" + parse5 "^5.1.1" + parse5-htmlparser2-tree-adapter "^6.0.0" + yargs "^16.0.0" + +cli-spinners@^2.0.0: + version "2.6.0" + resolved "https://registry.nlark.com/cli-spinners/download/cli-spinners-2.6.0.tgz" + integrity sha1-NsfcmPtqmna9YjjsP3fiQlYn6Tk= + +cli-width@^3.0.0: + version "3.0.0" + resolved "https://registry.nlark.com/cli-width/download/cli-width-3.0.0.tgz" + integrity sha1-ovSEN6LKqaIkNueUvwceyeYc7fY= + +clipboardy@^2.3.0: + version "2.3.0" + resolved "https://registry.nlark.com/clipboardy/download/clipboardy-2.3.0.tgz" + integrity sha1-PCkDZQxo5GqRs4iYW8J3QofbopA= + dependencies: + arch "^2.1.1" + execa "^1.0.0" + is-wsl "^2.1.1" + +cliui@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz" + integrity sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE= + dependencies: + center-align "^0.1.1" + right-align "^0.1.1" + wordwrap "0.0.2" + +cliui@^3.2.0: + version "3.2.0" + resolved "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz" + integrity sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0= + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + wrap-ansi "^2.0.0" + +cliui@^5.0.0: + version "5.0.0" + resolved "https://registry.nlark.com/cliui/download/cliui-5.0.0.tgz" + integrity sha1-3u/P2y6AB4SqNPRvoI4GhRx7u8U= + dependencies: + string-width "^3.1.0" + strip-ansi "^5.2.0" + wrap-ansi "^5.1.0" + +cliui@^6.0.0: + version "6.0.0" + resolved "https://registry.nlark.com/cliui/download/cliui-6.0.0.tgz" + integrity sha1-UR1wLAxOQcoVbX0OlgIfI+EyJbE= + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^6.2.0" + +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.nlark.com/cliui/download/cliui-7.0.4.tgz" + integrity sha1-oCZe5lVHb8gHrqnfPfjfd4OAi08= + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + +clone@^1.0.2: + version "1.0.4" + resolved "https://registry.nlark.com/clone/download/clone-1.0.4.tgz?cache=0&sync_timestamp=1622685917174&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fclone%2Fdownload%2Fclone-1.0.4.tgz" + integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= + +clone@^2.1.1: + version "2.1.2" + resolved "https://registry.nlark.com/clone/download/clone-2.1.2.tgz?cache=0&sync_timestamp=1622685917174&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fclone%2Fdownload%2Fclone-2.1.2.tgz" + integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz" + integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= + +coa@^2.0.2: + version "2.0.2" + resolved "https://registry.nlark.com/coa/download/coa-2.0.2.tgz" + integrity sha1-Q/bCEVG07yv1cYfbDXPeIp4+fsM= + dependencies: + "@types/q" "^1.5.1" + chalk "^2.4.1" + q "^1.1.2" + +coa@~1.0.1: + version "1.0.4" + resolved "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz" + integrity sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0= + dependencies: + q "^1.1.2" + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz" + integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/collection-visit/download/collection-visit-1.0.0.tgz" + integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +color-convert@^1.3.0, color-convert@^1.9.0, color-convert@^1.9.3: + version "1.9.3" + resolved "https://registry.nlark.com/color-convert/download/color-convert-1.9.3.tgz" + integrity sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg= + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3, color-name@^1.0.0: + version "1.1.3" + resolved "https://registry.nlark.com/color-name/download/color-name-1.1.3.tgz" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +color-string@^0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz" + integrity sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE= + dependencies: + color-name "^1.0.0" + +color-string@^1.6.0: + version "1.6.0" + resolved "https://registry.nlark.com/color-string/download/color-string-1.6.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcolor-string%2Fdownload%2Fcolor-string-1.6.0.tgz" + integrity sha1-w5FfYf4mdnLLfh4GTJ1pIhn2wxI= + dependencies: + color-name "^1.0.0" + simple-swizzle "^0.2.2" + +color@^0.11.0: + version "0.11.4" + resolved "https://registry.npmjs.org/color/-/color-0.11.4.tgz" + integrity sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q= + dependencies: + clone "^1.0.2" + color-convert "^1.3.0" + color-string "^0.3.0" + +color@^3.0.0: + version "3.2.1" + resolved "https://registry.nlark.com/color/download/color-3.2.1.tgz" + integrity sha1-NUTcGYyvRJDD7MmnkLVP6f9F4WQ= + dependencies: + color-convert "^1.9.3" + color-string "^1.6.0" + +colorette@^1.2.1, colorette@^1.2.2: + version "1.2.2" + resolved "https://registry.nlark.com/colorette/download/colorette-1.2.2.tgz" + integrity sha1-y8x51emcrqLb8Q6zom/Ys+as+pQ= + +colormin@^1.0.5: + version "1.1.2" + resolved "https://registry.npmjs.org/colormin/-/colormin-1.1.2.tgz" + integrity sha1-6i90IKcrlogaOKrlnsEkpvcpgTM= + dependencies: + color "^0.11.0" + css-color-names "0.0.4" + has "^1.0.1" + +colors@~1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz" + integrity sha1-FopHAXVran9RoSzgyXv6KMCE7WM= + +combined-stream@^1.0.6, combined-stream@~1.0.6: + version "1.0.8" + resolved "https://registry.nlark.com/combined-stream/download/combined-stream-1.0.8.tgz" + integrity sha1-w9RaizT9cwYxoRCoolIGgrMdWn8= + dependencies: + delayed-stream "~1.0.0" + +commander@2.17.x: + version "2.17.1" + resolved "https://registry.nlark.com/commander/download/commander-2.17.1.tgz?cache=0&sync_timestamp=1627359190297&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcommander%2Fdownload%2Fcommander-2.17.1.tgz" + integrity sha1-vXerfebelCBc6sxy8XFtKfIKd78= + +commander@^2.18.0, commander@^2.20.0: + version "2.20.3" + resolved "https://registry.nlark.com/commander/download/commander-2.20.3.tgz?cache=0&sync_timestamp=1627359190297&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcommander%2Fdownload%2Fcommander-2.20.3.tgz" + integrity sha1-/UhehMA+tIgcIHIrpIA16FMa6zM= + +commander@~2.19.0: + version "2.19.0" + resolved "https://registry.nlark.com/commander/download/commander-2.19.0.tgz?cache=0&sync_timestamp=1627359190297&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcommander%2Fdownload%2Fcommander-2.19.0.tgz" + integrity sha1-9hmKqE5bg8RgVLlN3tv+1e6f8So= + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.nlark.com/commondir/download/commondir-1.0.1.tgz" + integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= + +component-classes@^1.2.6: + version "1.2.6" + resolved "https://registry.npmjs.org/component-classes/-/component-classes-1.2.6.tgz" + integrity sha1-xkI5TDYYpNiwuJGe/Mu9kw5c1pE= + dependencies: + component-indexof "0.0.3" + +component-emitter@^1.2.1: + version "1.3.0" + resolved "https://registry.nlark.com/component-emitter/download/component-emitter-1.3.0.tgz" + integrity sha1-FuQHD7qK4ptnnyIVhT7hgasuq8A= + +component-indexof@0.0.3: + version "0.0.3" + resolved "https://registry.npmjs.org/component-indexof/-/component-indexof-0.0.3.tgz" + integrity sha1-EdCRMSI5648yyPJa6csAL/6NPCQ= + +compressible@~2.0.16: + version "2.0.18" + resolved "https://registry.nlark.com/compressible/download/compressible-2.0.18.tgz" + integrity sha1-r1PMprBw1MPAdQ+9dyhqbXzEb7o= + dependencies: + mime-db ">= 1.43.0 < 2" + +compression-webpack-plugin@5.0.1: + version "5.0.1" + resolved "https://registry.npmmirror.com/compression-webpack-plugin/-/compression-webpack-plugin-5.0.1.tgz#316c1a4e4ccc94510a978c967fc143581d1e3643" + integrity sha512-Wcb99O4UkdDZiM+blEw6h+cUfJYCn2kgK0l3fjLOm72Stso9DVMieQpBD4PVpyI7DLL6+zNh0iJV3p4HDwTinQ== + dependencies: + cacache "^15.0.5" + find-cache-dir "^3.3.1" + schema-utils "^2.7.0" + serialize-javascript "^4.0.0" + webpack-sources "^1.4.3" + +compression@^1.7.3, compression@^1.7.4: + version "1.7.4" + resolved "https://registry.nlark.com/compression/download/compression-1.7.4.tgz" + integrity sha1-lVI+/xcMpXwpoMpB5v4TH0Hlu48= + dependencies: + accepts "~1.3.5" + bytes "3.0.0" + compressible "~2.0.16" + debug "2.6.9" + on-headers "~1.0.2" + safe-buffer "5.1.2" + vary "~1.1.2" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.nlark.com/concat-map/download/concat-map-0.0.1.tgz" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +concat-stream@^1.5.0: + version "1.6.2" + resolved "https://registry.nlark.com/concat-stream/download/concat-stream-1.6.2.tgz" + integrity sha1-kEvfGUzTEi/Gdcd/xKw9T/D9GjQ= + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +connect-history-api-fallback@^1.3.0, connect-history-api-fallback@^1.6.0: + version "1.6.0" + resolved "https://registry.nlark.com/connect-history-api-fallback/download/connect-history-api-fallback-1.6.0.tgz" + integrity sha1-izIIk1kwjRERFdgcrT/Oq4iPl7w= + +console-browserify@^1.1.0: + version "1.2.0" + resolved "https://registry.nlark.com/console-browserify/download/console-browserify-1.2.0.tgz" + integrity sha1-ZwY871fOts9Jk6KrOlWECujEkzY= + +consolidate@^0.14.0: + version "0.14.5" + resolved "https://registry.npmjs.org/consolidate/-/consolidate-0.14.5.tgz" + integrity sha1-WiUEe8dvcwcmZ8jLUsmJiI9JTGM= + dependencies: + bluebird "^3.1.1" + +consolidate@^0.15.1: + version "0.15.1" + resolved "https://registry.nlark.com/consolidate/download/consolidate-0.15.1.tgz" + integrity sha1-IasEMjXHGgfUXZqtmFk7DbpWurc= + dependencies: + bluebird "^3.1.1" + +constants-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/constants-browserify/download/constants-browserify-1.0.0.tgz" + integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= + +content-disposition@0.5.3: + version "0.5.3" + resolved "https://registry.nlark.com/content-disposition/download/content-disposition-0.5.3.tgz" + integrity sha1-4TDK9+cnkIfFYWwgB9BIVpiYT70= + dependencies: + safe-buffer "5.1.2" + +content-type@~1.0.4: + version "1.0.4" + resolved "https://registry.nlark.com/content-type/download/content-type-1.0.4.tgz" + integrity sha1-4TjMdeBAxyexlm/l5fjJruJW/js= + +convert-source-map@^0.3.3: + version "0.3.5" + resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz" + integrity sha1-8dgClQr33SYxof6+BZZVDIarMZA= + +convert-source-map@^1.5.1, convert-source-map@^1.7.0: + version "1.8.0" + resolved "https://registry.nlark.com/convert-source-map/download/convert-source-map-1.8.0.tgz?cache=0&sync_timestamp=1624045508580&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fconvert-source-map%2Fdownload%2Fconvert-source-map-1.8.0.tgz" + integrity sha1-8zc8MtIbTXgN2ABFFGhPt5HKQ2k= + dependencies: + safe-buffer "~5.1.1" + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.nlark.com/cookie-signature/download/cookie-signature-1.0.6.tgz" + integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= + +cookie@0.4.0: + version "0.4.0" + resolved "https://registry.nlark.com/cookie/download/cookie-0.4.0.tgz" + integrity sha1-vrQ35wIrO21JAZ0IhmUwPr6cFLo= + +copy-anything@^2.0.1: + version "2.0.3" + resolved "https://registry.nlark.com/copy-anything/download/copy-anything-2.0.3.tgz" + integrity sha1-hCQHugJGaw34RIGbvjuuu+XUXYc= + dependencies: + is-what "^3.12.0" + +copy-concurrently@^1.0.0: + version "1.0.5" + resolved "https://registry.nlark.com/copy-concurrently/download/copy-concurrently-1.0.5.tgz" + integrity sha1-kilzmMrjSTf8r9bsgTnBgFHwteA= + dependencies: + aproba "^1.1.1" + fs-write-stream-atomic "^1.0.8" + iferr "^0.1.5" + mkdirp "^0.5.1" + rimraf "^2.5.4" + run-queue "^1.0.0" + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.nlark.com/copy-descriptor/download/copy-descriptor-0.1.1.tgz" + integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + +copy-webpack-plugin@^5.1.1: + version "5.1.2" + resolved "https://registry.nlark.com/copy-webpack-plugin/download/copy-webpack-plugin-5.1.2.tgz?cache=0&sync_timestamp=1624628454528&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcopy-webpack-plugin%2Fdownload%2Fcopy-webpack-plugin-5.1.2.tgz" + integrity sha1-ioieHcr6bJHGzUvhrRWPHTgjuuI= + dependencies: + cacache "^12.0.3" + find-cache-dir "^2.1.0" + glob-parent "^3.1.0" + globby "^7.1.1" + is-glob "^4.0.1" + loader-utils "^1.2.3" + minimatch "^3.0.4" + normalize-path "^3.0.0" + p-limit "^2.2.1" + schema-utils "^1.0.0" + serialize-javascript "^4.0.0" + webpack-log "^2.0.0" + +core-js-compat@^3.14.0, core-js-compat@^3.16.0, core-js-compat@^3.6.5: + version "3.16.0" + resolved "https://registry.nlark.com/core-js-compat/download/core-js-compat-3.16.0.tgz" + integrity sha1-/O1KClNOfgL34IS/9mxwH4KBgF8= + dependencies: + browserslist "^4.16.6" + semver "7.0.0" + +core-js@^2.4.0, core-js@^2.5.0: + version "2.6.12" + resolved "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz" + integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== + +core-js@^3.6.5: + version "3.16.0" + resolved "https://registry.nlark.com/core-js/download/core-js-3.16.0.tgz" + integrity sha1-HUb7M3ILwfp/kNIEMfNqVUCFiYY= + +core-util-is@1.0.2, core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.nlark.com/core-util-is/download/core-util-is-1.0.2.tgz" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + +cosmiconfig@^2.1.0, cosmiconfig@^2.1.1: + version "2.2.2" + resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-2.2.2.tgz" + integrity sha512-GiNXLwAFPYHy25XmTPpafYvn3CLAkJ8FLsscq78MQd1Kh0OU6Yzhn4eV2MVF4G9WEQZoWEGltatdR+ntGPMl5A== + dependencies: + is-directory "^0.3.1" + js-yaml "^3.4.3" + minimist "^1.2.0" + object-assign "^4.1.0" + os-homedir "^1.0.1" + parse-json "^2.2.0" + require-from-string "^1.1.0" + +cosmiconfig@^5.0.0: + version "5.2.1" + resolved "https://registry.nlark.com/cosmiconfig/download/cosmiconfig-5.2.1.tgz" + integrity sha1-BA9yaAnFked6F8CjYmykW08Wixo= + dependencies: + import-fresh "^2.0.0" + is-directory "^0.3.1" + js-yaml "^3.13.1" + parse-json "^4.0.0" + +create-ecdh@^4.0.0: + version "4.0.4" + resolved "https://registry.nlark.com/create-ecdh/download/create-ecdh-4.0.4.tgz" + integrity sha1-1uf0v/pmc2CFoHYv06YyaE2rzE4= + dependencies: + bn.js "^4.1.0" + elliptic "^6.5.3" + +create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: + version "1.2.0" + resolved "https://registry.nlark.com/create-hash/download/create-hash-1.2.0.tgz" + integrity sha1-iJB4rxGmN1a8+1m9IhmWvjqe8ZY= + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + md5.js "^1.3.4" + ripemd160 "^2.0.1" + sha.js "^2.4.0" + +create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: + version "1.1.7" + resolved "https://registry.nlark.com/create-hmac/download/create-hmac-1.1.7.tgz" + integrity sha1-aRcMeLOrlXFHsriwRXLkfq0iQ/8= + dependencies: + cipher-base "^1.0.3" + create-hash "^1.1.0" + inherits "^2.0.1" + ripemd160 "^2.0.0" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +cross-env@^5.0.5: + version "5.2.1" + resolved "https://registry.npmjs.org/cross-env/-/cross-env-5.2.1.tgz" + integrity sha512-1yHhtcfAd1r4nwQgknowuUNfIT9E8dOMMspC36g45dN+iD1blloi7xp8X/xAIDnjHWyt1uQ8PHk2fkNaym7soQ== + dependencies: + cross-spawn "^6.0.5" + +cross-spawn@^5.0.1: + version "5.1.0" + resolved "https://registry.nlark.com/cross-spawn/download/cross-spawn-5.1.0.tgz" + integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= + dependencies: + lru-cache "^4.0.1" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^6.0.0, cross-spawn@^6.0.5: + version "6.0.5" + resolved "https://registry.nlark.com/cross-spawn/download/cross-spawn-6.0.5.tgz" + integrity sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q= + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^7.0.0: + version "7.0.3" + resolved "https://registry.nlark.com/cross-spawn/download/cross-spawn-7.0.3.tgz" + integrity sha1-9zqFudXUHQRVUcF34ogtSshXKKY= + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +crypto-browserify@^3.11.0: + version "3.12.0" + resolved "https://registry.nlark.com/crypto-browserify/download/crypto-browserify-3.12.0.tgz" + integrity sha1-OWz58xN/A+S45TLFj2mCVOAPgOw= + dependencies: + browserify-cipher "^1.0.0" + browserify-sign "^4.0.0" + create-ecdh "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.0" + diffie-hellman "^5.0.0" + inherits "^2.0.1" + pbkdf2 "^3.0.3" + public-encrypt "^4.0.0" + randombytes "^2.0.0" + randomfill "^1.0.3" + +css-color-names@0.0.4, css-color-names@^0.0.4: + version "0.0.4" + resolved "https://registry.nlark.com/css-color-names/download/css-color-names-0.0.4.tgz" + integrity sha1-gIrcLnnPhHOAabZGyyDsJ762KeA= + +css-declaration-sorter@^4.0.1: + version "4.0.1" + resolved "https://registry.nlark.com/css-declaration-sorter/download/css-declaration-sorter-4.0.1.tgz?cache=0&sync_timestamp=1627143255191&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcss-declaration-sorter%2Fdownload%2Fcss-declaration-sorter-4.0.1.tgz" + integrity sha1-wZiUD2OnbX42wecQGLABchBUyyI= + dependencies: + postcss "^7.0.1" + timsort "^0.3.0" + +css-loader@^0.28.7: + version "0.28.11" + resolved "https://registry.npmjs.org/css-loader/-/css-loader-0.28.11.tgz" + integrity sha512-wovHgjAx8ZIMGSL8pTys7edA1ClmzxHeY6n/d97gg5odgsxEgKjULPR0viqyC+FWMCL9sfqoC/QCUBo62tLvPg== + dependencies: + babel-code-frame "^6.26.0" + css-selector-tokenizer "^0.7.0" + cssnano "^3.10.0" + icss-utils "^2.1.0" + loader-utils "^1.0.2" + lodash.camelcase "^4.3.0" + object-assign "^4.1.1" + postcss "^5.0.6" + postcss-modules-extract-imports "^1.2.0" + postcss-modules-local-by-default "^1.2.0" + postcss-modules-scope "^1.1.0" + postcss-modules-values "^1.3.0" + postcss-value-parser "^3.3.0" + source-list-map "^2.0.0" + +css-loader@^3.5.3: + version "3.6.0" + resolved "https://registry.nlark.com/css-loader/download/css-loader-3.6.0.tgz?cache=0&sync_timestamp=1626725891008&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcss-loader%2Fdownload%2Fcss-loader-3.6.0.tgz" + integrity sha1-Lkssfm4tJ/jI8o9hv/zS5ske9kU= + dependencies: + camelcase "^5.3.1" + cssesc "^3.0.0" + icss-utils "^4.1.1" + loader-utils "^1.2.3" + normalize-path "^3.0.0" + postcss "^7.0.32" + postcss-modules-extract-imports "^2.0.0" + postcss-modules-local-by-default "^3.0.2" + postcss-modules-scope "^2.2.0" + postcss-modules-values "^3.0.0" + postcss-value-parser "^4.1.0" + schema-utils "^2.7.0" + semver "^6.3.0" + +css-select-base-adapter@^0.1.1: + version "0.1.1" + resolved "https://registry.nlark.com/css-select-base-adapter/download/css-select-base-adapter-0.1.1.tgz" + integrity sha1-Oy/0lyzDYquIVhUHqVQIoUMhNdc= + +css-select@^2.0.0: + version "2.1.0" + resolved "https://registry.nlark.com/css-select/download/css-select-2.1.0.tgz?cache=0&sync_timestamp=1622994276976&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcss-select%2Fdownload%2Fcss-select-2.1.0.tgz" + integrity sha1-ajRlM1ZjWTSoG6ymjQJVQyEF2+8= + dependencies: + boolbase "^1.0.0" + css-what "^3.2.1" + domutils "^1.7.0" + nth-check "^1.0.2" + +css-select@^4.1.3: + version "4.1.3" + resolved "https://registry.nlark.com/css-select/download/css-select-4.1.3.tgz?cache=0&sync_timestamp=1622994276976&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcss-select%2Fdownload%2Fcss-select-4.1.3.tgz" + integrity sha1-pwRA9wMX8maRGK10/xBeZYSccGc= + dependencies: + boolbase "^1.0.0" + css-what "^5.0.0" + domhandler "^4.2.0" + domutils "^2.6.0" + nth-check "^2.0.0" + +css-selector-tokenizer@^0.7.0: + version "0.7.3" + resolved "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.3.tgz" + integrity sha512-jWQv3oCEL5kMErj4wRnK/OPoBi0D+P1FR2cDCKYPaMeD2eW3/mttav8HT4hT1CKopiJI/psEULjkClhvJo4Lvg== + dependencies: + cssesc "^3.0.0" + fastparse "^1.1.2" + +css-tree@1.0.0-alpha.37: + version "1.0.0-alpha.37" + resolved "https://registry.nlark.com/css-tree/download/css-tree-1.0.0-alpha.37.tgz" + integrity sha1-mL69YsTB2flg7DQM+fdSLjBwmiI= + dependencies: + mdn-data "2.0.4" + source-map "^0.6.1" + +css-tree@^1.1.2: + version "1.1.3" + resolved "https://registry.nlark.com/css-tree/download/css-tree-1.1.3.tgz" + integrity sha1-60hw+2/XcHMn7JXC/yqwm16NuR0= + dependencies: + mdn-data "2.0.14" + source-map "^0.6.1" + +css-what@^3.2.1: + version "3.4.2" + resolved "https://registry.nlark.com/css-what/download/css-what-3.4.2.tgz" + integrity sha1-6nAm/LAXd+295SEk4h8yfnrpUOQ= + +css-what@^5.0.0: + version "5.0.1" + resolved "https://registry.nlark.com/css-what/download/css-what-5.0.1.tgz" + integrity sha1-PvqCATH0ZpqKwkCPnDLnx96fTK0= + +css@^2.0.0: + version "2.2.4" + resolved "https://registry.npmjs.org/css/-/css-2.2.4.tgz" + integrity sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw== + dependencies: + inherits "^2.0.3" + source-map "^0.6.1" + source-map-resolve "^0.5.2" + urix "^0.1.0" + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.nlark.com/cssesc/download/cssesc-3.0.0.tgz" + integrity sha1-N3QZGZA7hoVl4cCep0dEXNGJg+4= + +cssnano-preset-default@^4.0.0, cssnano-preset-default@^4.0.8: + version "4.0.8" + resolved "https://registry.nlark.com/cssnano-preset-default/download/cssnano-preset-default-4.0.8.tgz?cache=0&sync_timestamp=1623330413864&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcssnano-preset-default%2Fdownload%2Fcssnano-preset-default-4.0.8.tgz" + integrity sha1-kgYisfwelaNOiDggPxOXpQTy0/8= + dependencies: + css-declaration-sorter "^4.0.1" + cssnano-util-raw-cache "^4.0.1" + postcss "^7.0.0" + postcss-calc "^7.0.1" + postcss-colormin "^4.0.3" + postcss-convert-values "^4.0.1" + postcss-discard-comments "^4.0.2" + postcss-discard-duplicates "^4.0.2" + postcss-discard-empty "^4.0.1" + postcss-discard-overridden "^4.0.1" + postcss-merge-longhand "^4.0.11" + postcss-merge-rules "^4.0.3" + postcss-minify-font-values "^4.0.2" + postcss-minify-gradients "^4.0.2" + postcss-minify-params "^4.0.2" + postcss-minify-selectors "^4.0.2" + postcss-normalize-charset "^4.0.1" + postcss-normalize-display-values "^4.0.2" + postcss-normalize-positions "^4.0.2" + postcss-normalize-repeat-style "^4.0.2" + postcss-normalize-string "^4.0.2" + postcss-normalize-timing-functions "^4.0.2" + postcss-normalize-unicode "^4.0.1" + postcss-normalize-url "^4.0.1" + postcss-normalize-whitespace "^4.0.2" + postcss-ordered-values "^4.1.2" + postcss-reduce-initial "^4.0.3" + postcss-reduce-transforms "^4.0.2" + postcss-svgo "^4.0.3" + postcss-unique-selectors "^4.0.1" + +cssnano-util-get-arguments@^4.0.0: + version "4.0.0" + resolved "https://registry.nlark.com/cssnano-util-get-arguments/download/cssnano-util-get-arguments-4.0.0.tgz" + integrity sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8= + +cssnano-util-get-match@^4.0.0: + version "4.0.0" + resolved "https://registry.nlark.com/cssnano-util-get-match/download/cssnano-util-get-match-4.0.0.tgz" + integrity sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0= + +cssnano-util-raw-cache@^4.0.1: + version "4.0.1" + resolved "https://registry.nlark.com/cssnano-util-raw-cache/download/cssnano-util-raw-cache-4.0.1.tgz" + integrity sha1-sm1f1fcqEd/np4RvtMZyYPlr8oI= + dependencies: + postcss "^7.0.0" + +cssnano-util-same-parent@^4.0.0: + version "4.0.1" + resolved "https://registry.nlark.com/cssnano-util-same-parent/download/cssnano-util-same-parent-4.0.1.tgz" + integrity sha1-V0CC+yhZ0ttDOFWDXZqEVuoYu/M= + +cssnano@^3.10.0: + version "3.10.0" + resolved "https://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz" + integrity sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg= + dependencies: + autoprefixer "^6.3.1" + decamelize "^1.1.2" + defined "^1.0.0" + has "^1.0.1" + object-assign "^4.0.1" + postcss "^5.0.14" + postcss-calc "^5.2.0" + postcss-colormin "^2.1.8" + postcss-convert-values "^2.3.4" + postcss-discard-comments "^2.0.4" + postcss-discard-duplicates "^2.0.1" + postcss-discard-empty "^2.0.1" + postcss-discard-overridden "^0.1.1" + postcss-discard-unused "^2.2.1" + postcss-filter-plugins "^2.0.0" + postcss-merge-idents "^2.1.5" + postcss-merge-longhand "^2.0.1" + postcss-merge-rules "^2.0.3" + postcss-minify-font-values "^1.0.2" + postcss-minify-gradients "^1.0.1" + postcss-minify-params "^1.0.4" + postcss-minify-selectors "^2.0.4" + postcss-normalize-charset "^1.1.0" + postcss-normalize-url "^3.0.7" + postcss-ordered-values "^2.1.0" + postcss-reduce-idents "^2.2.2" + postcss-reduce-initial "^1.0.0" + postcss-reduce-transforms "^1.0.3" + postcss-svgo "^2.1.1" + postcss-unique-selectors "^2.0.2" + postcss-value-parser "^3.2.3" + postcss-zindex "^2.0.1" + +cssnano@^4.0.0, cssnano@^4.1.10: + version "4.1.11" + resolved "https://registry.nlark.com/cssnano/download/cssnano-4.1.11.tgz?cache=0&sync_timestamp=1626868350366&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcssnano%2Fdownload%2Fcssnano-4.1.11.tgz" + integrity sha1-x7X1uB2iacsf2YLLlgwSAJEMmpk= + dependencies: + cosmiconfig "^5.0.0" + cssnano-preset-default "^4.0.8" + is-resolvable "^1.0.0" + postcss "^7.0.0" + +csso@^4.0.2: + version "4.2.0" + resolved "https://registry.nlark.com/csso/download/csso-4.2.0.tgz" + integrity sha1-6jpWE0bo3J9UbW/r7dUBh884lSk= + dependencies: + css-tree "^1.1.2" + +csso@~2.3.1: + version "2.3.2" + resolved "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz" + integrity sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U= + dependencies: + clap "^1.0.9" + source-map "^0.5.3" + +currently-unhandled@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz" + integrity sha1-mI3zP+qxke95mmE2nddsF635V+o= + dependencies: + array-find-index "^1.0.1" + +cyclist@^1.0.1: + version "1.0.1" + resolved "https://registry.nlark.com/cyclist/download/cyclist-1.0.1.tgz" + integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= + +d@1, d@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/d/-/d-1.0.1.tgz" + integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== + dependencies: + es5-ext "^0.10.50" + type "^1.0.1" + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.nlark.com/dashdash/download/dashdash-1.14.1.tgz" + integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= + dependencies: + assert-plus "^1.0.0" + +dayjs@^1.10.6: + version "1.10.6" + resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.10.6.tgz" + integrity sha512-AztC/IOW4L1Q41A86phW5Thhcrco3xuAA+YX/BLpLWWjRcTj5TOt/QImBLmCKlrF7u7k47arTnOyL6GnbG8Hvw== + +de-indent@^1.0.2: + version "1.0.2" + resolved "https://registry.nlark.com/de-indent/download/de-indent-1.0.2.tgz" + integrity sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0= + +debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.6, debug@^2.6.8, debug@^2.6.9: + version "2.6.9" + resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@^3.1.0, debug@^3.1.1, debug@^3.2.6: + version "3.2.7" + resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + +debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: + version "4.3.2" + resolved "https://registry.nlark.com/debug/download/debug-4.3.2.tgz" + integrity sha1-8KScGKyHeeMdSgxgKd+3aHPHQos= + dependencies: + ms "2.1.2" + +decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2, decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.nlark.com/decamelize/download/decamelize-1.2.0.tgz" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.nlark.com/decode-uri-component/download/decode-uri-component-0.2.0.tgz" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + +deep-equal@^1.0.1: + version "1.1.1" + resolved "https://registry.nlark.com/deep-equal/download/deep-equal-1.1.1.tgz" + integrity sha1-tcmMlCzv+vfLBR4k4UNKJaLmB2o= + dependencies: + is-arguments "^1.0.4" + is-date-object "^1.0.1" + is-regex "^1.0.4" + object-is "^1.0.1" + object-keys "^1.1.1" + regexp.prototype.flags "^1.2.0" + +deep-is@~0.1.3: + version "0.1.3" + resolved "https://registry.nlark.com/deep-is/download/deep-is-0.1.3.tgz" + integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= + +deepmerge@^1.5.2: + version "1.5.2" + resolved "https://registry.nlark.com/deepmerge/download/deepmerge-1.5.2.tgz" + integrity sha1-EEmdhohEza1P7ghC34x/bwyVp1M= + +default-gateway@^4.2.0: + version "4.2.0" + resolved "https://registry.nlark.com/default-gateway/download/default-gateway-4.2.0.tgz" + integrity sha1-FnEEx1AMIRX23WmwpTa7jtcgVSs= + dependencies: + execa "^1.0.0" + ip-regex "^2.1.0" + +default-gateway@^5.0.5: + version "5.0.5" + resolved "https://registry.nlark.com/default-gateway/download/default-gateway-5.0.5.tgz" + integrity sha1-T9a9XShV05s0zFpZUFSG6ar8mxA= + dependencies: + execa "^3.3.0" + +defaults@^1.0.3: + version "1.0.3" + resolved "https://registry.nlark.com/defaults/download/defaults-1.0.3.tgz" + integrity sha1-xlYFHpgX2f8I7YgUd/P+QBnz730= + dependencies: + clone "^1.0.2" + +define-properties@^1.1.2, define-properties@^1.1.3: + version "1.1.3" + resolved "https://registry.nlark.com/define-properties/download/define-properties-1.1.3.tgz" + integrity sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE= + dependencies: + object-keys "^1.0.12" + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.nlark.com/define-property/download/define-property-0.2.5.tgz" + integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/define-property/download/define-property-1.0.0.tgz" + integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.nlark.com/define-property/download/define-property-2.0.2.tgz" + integrity sha1-1Flono1lS6d+AqgX+HENcCyxbp0= + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +defined@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz" + integrity sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM= + +del@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/del/-/del-3.0.0.tgz" + integrity sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU= + dependencies: + globby "^6.1.0" + is-path-cwd "^1.0.0" + is-path-in-cwd "^1.0.0" + p-map "^1.1.1" + pify "^3.0.0" + rimraf "^2.2.8" + +del@^4.1.1: + version "4.1.1" + resolved "https://registry.nlark.com/del/download/del-4.1.1.tgz" + integrity sha1-no8RciLqRKMf86FWwEm5kFKp8LQ= + dependencies: + "@types/glob" "^7.1.1" + globby "^6.1.0" + is-path-cwd "^2.0.0" + is-path-in-cwd "^2.0.0" + p-map "^2.0.0" + pify "^4.0.1" + rimraf "^2.6.3" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/delayed-stream/download/delayed-stream-1.0.0.tgz" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.nlark.com/depd/download/depd-1.1.2.tgz" + integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= + +des.js@^1.0.0: + version "1.0.1" + resolved "https://registry.nlark.com/des.js/download/des.js-1.0.1.tgz" + integrity sha1-U4IULhvcU/hdhtU+X0qn3rkeCEM= + dependencies: + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +destroy@~1.0.4: + version "1.0.4" + resolved "https://registry.nlark.com/destroy/download/destroy-1.0.4.tgz" + integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= + +detect-indent@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz" + integrity sha1-920GQ1LN9Docts5hnE7jqUdd4gg= + dependencies: + repeating "^2.0.0" + +detect-node@^2.0.4: + version "2.1.0" + resolved "https://registry.nlark.com/detect-node/download/detect-node-2.1.0.tgz" + integrity sha1-yccHdaScPQO8LAbZpzvlUPl4+LE= + +diffie-hellman@^5.0.0: + version "5.0.3" + resolved "https://registry.nlark.com/diffie-hellman/download/diffie-hellman-5.0.3.tgz" + integrity sha1-QOjumPVaIUlgcUaSHGPhrl89KHU= + dependencies: + bn.js "^4.1.0" + miller-rabin "^4.0.0" + randombytes "^2.0.0" + +dir-glob@^2.0.0, dir-glob@^2.2.2: + version "2.2.2" + resolved "https://registry.nlark.com/dir-glob/download/dir-glob-2.2.2.tgz" + integrity sha1-+gnwaUFTyJGLGLoN6vrpR2n8UMQ= + dependencies: + path-type "^3.0.0" + +dns-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/dns-equal/download/dns-equal-1.0.0.tgz" + integrity sha1-s55/HabrCnW6nBcySzR1PEfgZU0= + +dns-packet@^1.3.1: + version "1.3.4" + resolved "https://registry.nlark.com/dns-packet/download/dns-packet-1.3.4.tgz" + integrity sha1-40VQZYJKJQe6iGxVqJljuxB97G8= + dependencies: + ip "^1.1.0" + safe-buffer "^5.0.1" + +dns-txt@^2.0.2: + version "2.0.2" + resolved "https://registry.nlark.com/dns-txt/download/dns-txt-2.0.2.tgz" + integrity sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY= + dependencies: + buffer-indexof "^1.0.0" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.nlark.com/doctrine/download/doctrine-3.0.0.tgz" + integrity sha1-rd6+rXKmV023g2OdyHoSF3OXOWE= + dependencies: + esutils "^2.0.2" + +dom-align@^1.10.4: + version "1.12.2" + resolved "https://registry.npmjs.org/dom-align/-/dom-align-1.12.2.tgz" + integrity sha512-pHuazgqrsTFrGU2WLDdXxCFabkdQDx72ddkraZNih1KsMcN5qsRSTR9O4VJRlwTPCPb5COYg3LOfiMHHcPInHg== + +dom-closest@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/dom-closest/-/dom-closest-0.2.0.tgz" + integrity sha1-69n5HRvyLo1vR3h2u80+yQIWwM8= + dependencies: + dom-matches ">=1.0.1" + +dom-converter@^0.2.0: + version "0.2.0" + resolved "https://registry.nlark.com/dom-converter/download/dom-converter-0.2.0.tgz" + integrity sha1-ZyGp2u4uKTaClVtq/kFncWJ7t2g= + dependencies: + utila "~0.4" + +dom-matches@>=1.0.1: + version "2.0.0" + resolved "https://registry.npmjs.org/dom-matches/-/dom-matches-2.0.0.tgz" + integrity sha1-0nKLQWqHUzmA6wibhI0lPPI6dYw= + +dom-scroll-into-view@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/dom-scroll-into-view/-/dom-scroll-into-view-2.0.1.tgz" + integrity sha512-bvVTQe1lfaUr1oFzZX80ce9KLDlZ3iU+XGNE/bz9HnGdklTieqsbmsLHe+rT2XWqopvL0PckkYqN7ksmm5pe3w== + +dom-serializer@0: + version "0.2.2" + resolved "https://registry.nlark.com/dom-serializer/download/dom-serializer-0.2.2.tgz" + integrity sha1-GvuB9TNxcXXUeGVd68XjMtn5u1E= + dependencies: + domelementtype "^2.0.1" + entities "^2.0.0" + +dom-serializer@^1.0.1: + version "1.3.2" + resolved "https://registry.nlark.com/dom-serializer/download/dom-serializer-1.3.2.tgz" + integrity sha1-YgZDfTLO767HFhgDIwx6ILwbTZE= + dependencies: + domelementtype "^2.0.1" + domhandler "^4.2.0" + entities "^2.0.0" + +domain-browser@^1.1.1: + version "1.2.0" + resolved "https://registry.nlark.com/domain-browser/download/domain-browser-1.2.0.tgz?cache=0&sync_timestamp=1627591557212&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdomain-browser%2Fdownload%2Fdomain-browser-1.2.0.tgz" + integrity sha1-PTH1AZGmdJ3RN1p/Ui6CPULlTto= + +domelementtype@1: + version "1.3.1" + resolved "https://registry.nlark.com/domelementtype/download/domelementtype-1.3.1.tgz" + integrity sha1-0EjESzew0Qp/Kj1f7j9DM9eQSB8= + +domelementtype@^2.0.1, domelementtype@^2.2.0: + version "2.2.0" + resolved "https://registry.nlark.com/domelementtype/download/domelementtype-2.2.0.tgz" + integrity sha1-mgtsJ4LtahxzI9QiZxg9+b2LHVc= + +domhandler@^4.0.0, domhandler@^4.2.0: + version "4.2.0" + resolved "https://registry.nlark.com/domhandler/download/domhandler-4.2.0.tgz" + integrity sha1-+XaKXwNL5gqJonwuTQ9066DYsFk= + dependencies: + domelementtype "^2.2.0" + +domutils@^1.7.0: + version "1.7.0" + resolved "https://registry.nlark.com/domutils/download/domutils-1.7.0.tgz" + integrity sha1-Vuo0HoNOBuZ0ivehyyXaZ+qfjCo= + dependencies: + dom-serializer "0" + domelementtype "1" + +domutils@^2.5.2, domutils@^2.6.0: + version "2.7.0" + resolved "https://registry.nlark.com/domutils/download/domutils-2.7.0.tgz" + integrity sha1-jrrwxB66/PVbC3LsMcVjI3EsVEI= + dependencies: + dom-serializer "^1.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.0" + +dot-prop@^5.2.0: + version "5.3.0" + resolved "https://registry.nlark.com/dot-prop/download/dot-prop-5.3.0.tgz" + integrity sha1-kMzOcIzZzYLMTcjD3dmr3VWyDog= + dependencies: + is-obj "^2.0.0" + +dotenv-expand@^5.1.0: + version "5.1.0" + resolved "https://registry.nlark.com/dotenv-expand/download/dotenv-expand-5.1.0.tgz" + integrity sha1-P7rwIL/XlIhAcuomsel5HUWmKfA= + +dotenv@^8.2.0: + version "8.6.0" + resolved "https://registry.nlark.com/dotenv/download/dotenv-8.6.0.tgz" + integrity sha1-Bhr2ZNGff02PxuT/m1hM4jety4s= + +duplexer@^0.1.1: + version "0.1.2" + resolved "https://registry.nlark.com/duplexer/download/duplexer-0.1.2.tgz" + integrity sha1-Or5DrvODX4rgd9E23c4PJ2sEAOY= + +duplexify@^3.4.2, duplexify@^3.6.0: + version "3.7.1" + resolved "https://registry.nlark.com/duplexify/download/duplexify-3.7.1.tgz?cache=0&sync_timestamp=1626860876789&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fduplexify%2Fdownload%2Fduplexify-3.7.1.tgz" + integrity sha1-Kk31MX9sz9kfhtb9JdjYoQO4gwk= + dependencies: + end-of-stream "^1.0.0" + inherits "^2.0.1" + readable-stream "^2.0.0" + stream-shift "^1.0.0" + +easy-stack@^1.0.1: + version "1.0.1" + resolved "https://registry.nlark.com/easy-stack/download/easy-stack-1.0.1.tgz" + integrity sha1-iv5CZGJpiMq7EfPHBMzQyDVBEGY= + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.nlark.com/ecc-jsbn/download/ecc-jsbn-0.1.2.tgz" + integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + +echarts@^5.2.1: + version "5.2.1" + resolved "https://registry.npmjs.org/echarts/-/echarts-5.2.1.tgz" + integrity sha512-OJ79b22eqRfbSV8vYmDKmA+XWfNbr0Uk/OafWcFNIGDWti2Uw9A6eVCiJLmqPa9Sk+EWL+t5v26aak0z3gxiZw== + dependencies: + tslib "2.3.0" + zrender "5.2.1" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.nlark.com/ee-first/download/ee-first-1.1.1.tgz" + integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= + +ejs@^2.6.1: + version "2.7.4" + resolved "https://registry.nlark.com/ejs/download/ejs-2.7.4.tgz" + integrity sha1-SGYSh1c9zFPjZsehrlLDoSDuybo= + +electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.47, electron-to-chromium@^1.3.723: + version "1.3.792" + resolved "https://registry.nlark.com/electron-to-chromium/download/electron-to-chromium-1.3.792.tgz?cache=0&sync_timestamp=1627682589226&other_urls=https%3A%2F%2Fregistry.nlark.com%2Felectron-to-chromium%2Fdownload%2Felectron-to-chromium-1.3.792.tgz" + integrity sha1-eRsNj890EYhdCGGT+0mq7wwVlMo= + +elliptic@^6.5.3: + version "6.5.4" + resolved "https://registry.nlark.com/elliptic/download/elliptic-6.5.4.tgz" + integrity sha1-2jfOvTHnmhNn6UG1ku0fvr1Yq7s= + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + +emoji-regex@^7.0.1: + version "7.0.3" + resolved "https://registry.nlark.com/emoji-regex/download/emoji-regex-7.0.3.tgz" + integrity sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY= + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.nlark.com/emoji-regex/download/emoji-regex-8.0.0.tgz" + integrity sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc= + +emojis-list@^2.0.0: + version "2.1.0" + resolved "https://registry.nlark.com/emojis-list/download/emojis-list-2.1.0.tgz" + integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= + +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.nlark.com/emojis-list/download/emojis-list-3.0.0.tgz" + integrity sha1-VXBmIEatKeLpFucariYKvf9Pang= + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.nlark.com/encodeurl/download/encodeurl-1.0.2.tgz" + integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= + +end-of-stream@^1.0.0, end-of-stream@^1.1.0: + version "1.4.4" + resolved "https://registry.nlark.com/end-of-stream/download/end-of-stream-1.4.4.tgz" + integrity sha1-WuZKX0UFe682JuwU2gyl5LJDHrA= + dependencies: + once "^1.4.0" + +enhanced-resolve@^3.4.0: + version "3.4.1" + resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz" + integrity sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24= + dependencies: + graceful-fs "^4.1.2" + memory-fs "^0.4.0" + object-assign "^4.0.1" + tapable "^0.2.7" + +enhanced-resolve@^4.5.0: + version "4.5.0" + resolved "https://registry.nlark.com/enhanced-resolve/download/enhanced-resolve-4.5.0.tgz" + integrity sha1-Lzz9hNvjtIfxjy2y7x4GSlccpew= + dependencies: + graceful-fs "^4.1.2" + memory-fs "^0.5.0" + tapable "^1.0.0" + +enquire.js@^2.1.6: + version "2.1.6" + resolved "https://registry.npmjs.org/enquire.js/-/enquire.js-2.1.6.tgz" + integrity sha1-PoeAybi4NQhMP2DhZtvDwqPImBQ= + +entities@^2.0.0: + version "2.2.0" + resolved "https://registry.nlark.com/entities/download/entities-2.2.0.tgz" + integrity sha1-CY3JDruD2N/6CJ1VJWs1HTTE2lU= + +errno@^0.1.1, errno@^0.1.3, errno@~0.1.7: + version "0.1.8" + resolved "https://registry.nlark.com/errno/download/errno-0.1.8.tgz" + integrity sha1-i7Ppx9Rjvkl2/4iPdrSAnrwugR8= + dependencies: + prr "~1.0.1" + +error-ex@^1.2.0, error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.nlark.com/error-ex/download/error-ex-1.3.2.tgz" + integrity sha1-tKxAZIEH/c3PriQvQovqihTU8b8= + dependencies: + is-arrayish "^0.2.1" + +error-stack-parser@^2.0.2: + version "2.0.6" + resolved "https://registry.nlark.com/error-stack-parser/download/error-stack-parser-2.0.6.tgz" + integrity sha1-WpmnB716TFinl5AtSNgoA+3mqtg= + dependencies: + stackframe "^1.1.1" + +es-abstract@^1.17.2, es-abstract@^1.18.0-next.2, es-abstract@^1.18.2: + version "1.18.4" + resolved "https://registry.nlark.com/es-abstract/download/es-abstract-1.18.4.tgz?cache=0&sync_timestamp=1627625710439&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fes-abstract%2Fdownload%2Fes-abstract-1.18.4.tgz" + integrity sha1-xrehrNa7HIta/rVKU8Rq0C+rNG0= + dependencies: + call-bind "^1.0.2" + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + get-intrinsic "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.2" + internal-slot "^1.0.3" + is-callable "^1.2.3" + is-negative-zero "^2.0.1" + is-regex "^1.1.3" + is-string "^1.0.6" + object-inspect "^1.11.0" + object-keys "^1.1.1" + object.assign "^4.1.2" + string.prototype.trimend "^1.0.4" + string.prototype.trimstart "^1.0.4" + unbox-primitive "^1.0.1" + +es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.nlark.com/es-to-primitive/download/es-to-primitive-1.2.1.tgz" + integrity sha1-5VzUyc3BiLzvsDs2bHNjI/xciYo= + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + +es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@~0.10.14: + version "0.10.53" + resolved "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz" + integrity sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q== + dependencies: + es6-iterator "~2.0.3" + es6-symbol "~3.1.3" + next-tick "~1.0.0" + +es6-iterator@^2.0.3, es6-iterator@~2.0.1, es6-iterator@~2.0.3: + version "2.0.3" + resolved "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz" + integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= + dependencies: + d "1" + es5-ext "^0.10.35" + es6-symbol "^3.1.1" + +es6-map@^0.1.3: + version "0.1.5" + resolved "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz" + integrity sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA= + dependencies: + d "1" + es5-ext "~0.10.14" + es6-iterator "~2.0.1" + es6-set "~0.1.5" + es6-symbol "~3.1.1" + event-emitter "~0.3.5" + +es6-set@~0.1.5: + version "0.1.5" + resolved "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz" + integrity sha1-0rPsXU2ADO2BjbU40ol02wpzzLE= + dependencies: + d "1" + es5-ext "~0.10.14" + es6-iterator "~2.0.1" + es6-symbol "3.1.1" + event-emitter "~0.3.5" + +es6-symbol@3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz" + integrity sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc= + dependencies: + d "1" + es5-ext "~0.10.14" + +es6-symbol@^3.1.1, es6-symbol@~3.1.1, es6-symbol@~3.1.3: + version "3.1.3" + resolved "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz" + integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== + dependencies: + d "^1.0.1" + ext "^1.1.2" + +es6-weak-map@^2.0.1: + version "2.0.3" + resolved "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz" + integrity sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA== + dependencies: + d "1" + es5-ext "^0.10.46" + es6-iterator "^2.0.3" + es6-symbol "^3.1.1" + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.nlark.com/escalade/download/escalade-3.1.1.tgz" + integrity sha1-2M/ccACWXFoBdLSoLqpcBVJ0LkA= + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.nlark.com/escape-html/download/escape-html-1.0.3.tgz" + integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= + +escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.nlark.com/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +escope@^3.6.0: + version "3.6.0" + resolved "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz" + integrity sha1-4Bl16BJ4GhY6ba392AOY3GTIicM= + dependencies: + es6-map "^0.1.3" + es6-weak-map "^2.0.1" + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint-config-prettier@^6.0.0: + version "6.15.0" + resolved "https://registry.nlark.com/eslint-config-prettier/download/eslint-config-prettier-6.15.0.tgz?cache=0&sync_timestamp=1619270691651&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-config-prettier%2Fdownload%2Feslint-config-prettier-6.15.0.tgz" + integrity sha1-f5P2y31FqS8VN6cOzAY2bhrG/tk= + dependencies: + get-stdin "^6.0.0" + +eslint-loader@^2.2.1: + version "2.2.1" + resolved "https://registry.nlark.com/eslint-loader/download/eslint-loader-2.2.1.tgz" + integrity sha1-KLnBLaVAV68IReKmEScBova/gzc= + dependencies: + loader-fs-cache "^1.0.0" + loader-utils "^1.0.2" + object-assign "^4.0.1" + object-hash "^1.1.4" + rimraf "^2.6.1" + +eslint-plugin-prettier@^3.3.1: + version "3.4.0" + resolved "https://registry.nlark.com/eslint-plugin-prettier/download/eslint-plugin-prettier-3.4.0.tgz?cache=0&sync_timestamp=1620392628469&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-plugin-prettier%2Fdownload%2Feslint-plugin-prettier-3.4.0.tgz" + integrity sha1-zbrTvx29Kxd+mCVzf+Y7R2oI8Mc= + dependencies: + prettier-linter-helpers "^1.0.0" + +eslint-plugin-vue@^6.2.2: + version "6.2.2" + resolved "https://registry.nlark.com/eslint-plugin-vue/download/eslint-plugin-vue-6.2.2.tgz?cache=0&sync_timestamp=1627954555162&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-plugin-vue%2Fdownload%2Feslint-plugin-vue-6.2.2.tgz" + integrity sha1-J/7NmjokeJsPER7N1UCp5WGY4P4= + dependencies: + natural-compare "^1.4.0" + semver "^5.6.0" + vue-eslint-parser "^7.0.0" + +eslint-scope@^4.0.3: + version "4.0.3" + resolved "https://registry.nlark.com/eslint-scope/download/eslint-scope-4.0.3.tgz" + integrity sha1-ygODMxD2iJoyZHgaqC5j65z+eEg= + dependencies: + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint-scope@^5.0.0, eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.nlark.com/eslint-scope/download/eslint-scope-5.1.1.tgz" + integrity sha1-54blmmbLkrP2wfsNUIqrF0hI9Iw= + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-utils@^1.4.3: + version "1.4.3" + resolved "https://registry.nlark.com/eslint-utils/download/eslint-utils-1.4.3.tgz" + integrity sha1-dP7HxU0Hdrb2fgJRBAtYBlZOmB8= + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0: + version "1.3.0" + resolved "https://registry.nlark.com/eslint-visitor-keys/download/eslint-visitor-keys-1.3.0.tgz?cache=0&sync_timestamp=1624559014210&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint-visitor-keys%2Fdownload%2Feslint-visitor-keys-1.3.0.tgz" + integrity sha1-MOvR73wv3/AcOk8VEESvJfqwUj4= + +eslint@^6.7.2: + version "6.8.0" + resolved "https://registry.nlark.com/eslint/download/eslint-6.8.0.tgz?cache=0&sync_timestamp=1627685049453&other_urls=https%3A%2F%2Fregistry.nlark.com%2Feslint%2Fdownload%2Feslint-6.8.0.tgz" + integrity sha1-YiYtZylzn5J1cjgkMC+yJ8jJP/s= + dependencies: + "@babel/code-frame" "^7.0.0" + ajv "^6.10.0" + chalk "^2.1.0" + cross-spawn "^6.0.5" + debug "^4.0.1" + doctrine "^3.0.0" + eslint-scope "^5.0.0" + eslint-utils "^1.4.3" + eslint-visitor-keys "^1.1.0" + espree "^6.1.2" + esquery "^1.0.1" + esutils "^2.0.2" + file-entry-cache "^5.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^5.0.0" + globals "^12.1.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + inquirer "^7.0.0" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.3.0" + lodash "^4.17.14" + minimatch "^3.0.4" + mkdirp "^0.5.1" + natural-compare "^1.4.0" + optionator "^0.8.3" + progress "^2.0.0" + regexpp "^2.0.1" + semver "^6.1.2" + strip-ansi "^5.2.0" + strip-json-comments "^3.0.1" + table "^5.2.3" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + +espree@^6.1.2, espree@^6.2.1: + version "6.2.1" + resolved "https://registry.nlark.com/espree/download/espree-6.2.1.tgz" + integrity sha1-d/xy4f10SiBSwg84pbV1gy6Cc0o= + dependencies: + acorn "^7.1.1" + acorn-jsx "^5.2.0" + eslint-visitor-keys "^1.1.0" + +esprima@^2.6.0: + version "2.7.3" + resolved "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz" + integrity sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE= + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.nlark.com/esprima/download/esprima-4.0.1.tgz" + integrity sha1-E7BM2z5sXRnfkatph6hpVhmwqnE= + +esquery@^1.0.1, esquery@^1.4.0: + version "1.4.0" + resolved "https://registry.nlark.com/esquery/download/esquery-1.4.0.tgz" + integrity sha1-IUj/w4uC6McFff7UhCWz5h8PJKU= + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.1.0, esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.nlark.com/esrecurse/download/esrecurse-4.3.0.tgz" + integrity sha1-eteWTWeauyi+5yzsY3WLHF0smSE= + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.nlark.com/estraverse/download/estraverse-4.3.0.tgz" + integrity sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0= + +estraverse@^5.1.0, estraverse@^5.2.0: + version "5.2.0" + resolved "https://registry.nlark.com/estraverse/download/estraverse-5.2.0.tgz" + integrity sha1-MH30JUfmzHMk088DwVXVzbjFOIA= + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.nlark.com/esutils/download/esutils-2.0.3.tgz" + integrity sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q= + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.nlark.com/etag/download/etag-1.8.1.tgz" + integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= + +event-emitter@~0.3.5: + version "0.3.5" + resolved "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz" + integrity sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk= + dependencies: + d "1" + es5-ext "~0.10.14" + +event-pubsub@4.3.0: + version "4.3.0" + resolved "https://registry.nlark.com/event-pubsub/download/event-pubsub-4.3.0.tgz" + integrity sha1-9o2Ba8KfHsAsU53FjI3UDOcss24= + +eventemitter3@^4.0.0: + version "4.0.7" + resolved "https://registry.nlark.com/eventemitter3/download/eventemitter3-4.0.7.tgz" + integrity sha1-Lem2j2Uo1WRO9cWVJqG0oHMGFp8= + +events@^3.0.0: + version "3.3.0" + resolved "https://registry.nlark.com/events/download/events-3.3.0.tgz" + integrity sha1-Mala0Kkk4tLEGagTrrLE6HjqdAA= + +eventsource@0.1.6: + version "0.1.6" + resolved "https://registry.npmjs.org/eventsource/-/eventsource-0.1.6.tgz" + integrity sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI= + dependencies: + original ">=0.0.5" + +eventsource@^1.0.7: + version "1.1.0" + resolved "https://registry.nlark.com/eventsource/download/eventsource-1.1.0.tgz" + integrity sha1-AOjKfJIQnpSw3fMtrGd9hBAoz68= + dependencies: + original "^1.0.0" + +evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.nlark.com/evp_bytestokey/download/evp_bytestokey-1.0.3.tgz" + integrity sha1-f8vbGY3HGVlDLv4ThCaE4FJaywI= + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + +execa@^0.7.0: + version "0.7.0" + resolved "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz" + integrity sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c= + dependencies: + cross-spawn "^5.0.1" + get-stream "^3.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +execa@^0.8.0: + version "0.8.0" + resolved "https://registry.nlark.com/execa/download/execa-0.8.0.tgz" + integrity sha1-2NdrvBtVIX7RkP1t1J08d07PyNo= + dependencies: + cross-spawn "^5.0.1" + get-stream "^3.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/execa/download/execa-1.0.0.tgz" + integrity sha1-xiNqW7TfbW8V6I5/AXeYIWdJ3dg= + dependencies: + cross-spawn "^6.0.0" + get-stream "^4.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +execa@^3.3.0: + version "3.4.0" + resolved "https://registry.nlark.com/execa/download/execa-3.4.0.tgz" + integrity sha1-wI7UVQ72XYWPrCaf/IVyRG8364k= + dependencies: + cross-spawn "^7.0.0" + get-stream "^5.0.0" + human-signals "^1.1.1" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.0" + onetime "^5.1.0" + p-finally "^2.0.0" + signal-exit "^3.0.2" + strip-final-newline "^2.0.0" + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.nlark.com/expand-brackets/download/expand-brackets-2.1.4.tgz" + integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +express@^4.16.2, express@^4.16.3, express@^4.17.1: + version "4.17.1" + resolved "https://registry.nlark.com/express/download/express-4.17.1.tgz" + integrity sha1-RJH8OGBc9R+GKdOcK10Cb5ikwTQ= + dependencies: + accepts "~1.3.7" + array-flatten "1.1.1" + body-parser "1.19.0" + content-disposition "0.5.3" + content-type "~1.0.4" + cookie "0.4.0" + cookie-signature "1.0.6" + debug "2.6.9" + depd "~1.1.2" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "~1.1.2" + fresh "0.5.2" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "~2.3.0" + parseurl "~1.3.3" + path-to-regexp "0.1.7" + proxy-addr "~2.0.5" + qs "6.7.0" + range-parser "~1.2.1" + safe-buffer "5.1.2" + send "0.17.1" + serve-static "1.14.1" + setprototypeof "1.1.1" + statuses "~1.5.0" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" + +ext@^1.1.2: + version "1.4.0" + resolved "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz" + integrity sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A== + dependencies: + type "^2.0.0" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.nlark.com/extend-shallow/download/extend-shallow-2.0.1.tgz" + integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.nlark.com/extend-shallow/download/extend-shallow-3.0.2.tgz" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +extend@~3.0.2: + version "3.0.2" + resolved "https://registry.nlark.com/extend/download/extend-3.0.2.tgz" + integrity sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo= + +external-editor@^3.0.3: + version "3.1.0" + resolved "https://registry.nlark.com/external-editor/download/external-editor-3.1.0.tgz" + integrity sha1-ywP3QL764D6k0oPK7SdBqD8zVJU= + dependencies: + chardet "^0.7.0" + iconv-lite "^0.4.24" + tmp "^0.0.33" + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.nlark.com/extglob/download/extglob-2.0.4.tgz" + integrity sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM= + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +extract-text-webpack-plugin@^3.0.1: + version "3.0.2" + resolved "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-3.0.2.tgz" + integrity sha512-bt/LZ4m5Rqt/Crl2HiKuAl/oqg0psx1tsTLkvWbJen1CtD+fftkZhMaQ9HOtY2gWsl2Wq+sABmMVi9z3DhKWQQ== + dependencies: + async "^2.4.1" + loader-utils "^1.1.0" + schema-utils "^0.3.0" + webpack-sources "^1.0.1" + +extsprintf@1.3.0, extsprintf@^1.2.0: + version "1.3.0" + resolved "https://registry.nlark.com/extsprintf/download/extsprintf-1.3.0.tgz" + integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= + +fast-deep-equal@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz" + integrity sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ= + +fast-deep-equal@^3.1.1: + version "3.1.3" + resolved "https://registry.nlark.com/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz" + integrity sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU= + +fast-diff@^1.1.2: + version "1.2.0" + resolved "https://registry.nlark.com/fast-diff/download/fast-diff-1.2.0.tgz" + integrity sha1-c+4RmC2Gyq95WYKNUZz+kn+sXwM= + +fast-glob@^2.2.6: + version "2.2.7" + resolved "https://registry.nlark.com/fast-glob/download/fast-glob-2.2.7.tgz?cache=0&sync_timestamp=1625773305786&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffast-glob%2Fdownload%2Ffast-glob-2.2.7.tgz" + integrity sha1-aVOFfDr6R1//ku5gFdUtpwpM050= + dependencies: + "@mrmlnc/readdir-enhanced" "^2.2.1" + "@nodelib/fs.stat" "^1.1.2" + glob-parent "^3.1.0" + is-glob "^4.0.0" + merge2 "^1.2.3" + micromatch "^3.1.10" + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.nlark.com/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz" + integrity sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM= + +fast-levenshtein@~2.0.6: + version "2.0.6" + resolved "https://registry.nlark.com/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + +fastparse@^1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz" + integrity sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ== + +faye-websocket@^0.10.0: + version "0.10.0" + resolved "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz" + integrity sha1-TkkvjQTftviQA1B/btvy1QHnxvQ= + dependencies: + websocket-driver ">=0.5.1" + +faye-websocket@^0.11.3, faye-websocket@~0.11.0: + version "0.11.4" + resolved "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz" + integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== + dependencies: + websocket-driver ">=0.5.1" + +figgy-pudding@^3.5.1: + version "3.5.2" + resolved "https://registry.nlark.com/figgy-pudding/download/figgy-pudding-3.5.2.tgz" + integrity sha1-tO7oFIq7Adzx0aw0Nn1Z4S+mHW4= + +figures@^3.0.0: + version "3.2.0" + resolved "https://registry.nlark.com/figures/download/figures-3.2.0.tgz?cache=0&sync_timestamp=1625254307578&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffigures%2Fdownload%2Ffigures-3.2.0.tgz" + integrity sha1-YlwYvSk8YE3EqN2y/r8MiDQXRq8= + dependencies: + escape-string-regexp "^1.0.5" + +file-entry-cache@^5.0.1: + version "5.0.1" + resolved "https://registry.nlark.com/file-entry-cache/download/file-entry-cache-5.0.1.tgz" + integrity sha1-yg9u+m3T1WEzP7FFFQZcL6/fQ5w= + dependencies: + flat-cache "^2.0.1" + +file-loader@^1.1.4: + version "1.1.11" + resolved "https://registry.npmjs.org/file-loader/-/file-loader-1.1.11.tgz" + integrity sha512-TGR4HU7HUsGg6GCOPJnFk06RhWgEWFLAGWiT6rcD+GRC2keU3s9RGJ+b3Z6/U73jwwNb2gKLJ7YCrp+jvU4ALg== + dependencies: + loader-utils "^1.0.2" + schema-utils "^0.4.5" + +file-loader@^4.2.0: + version "4.3.0" + resolved "https://registry.nlark.com/file-loader/download/file-loader-4.3.0.tgz" + integrity sha1-eA8ED3KbPRgBnyBgX3I+hEuKWK8= + dependencies: + loader-utils "^1.2.3" + schema-utils "^2.5.0" + +file-uri-to-path@1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/file-uri-to-path/download/file-uri-to-path-1.0.0.tgz" + integrity sha1-VTp7hEb/b2hDWcRF8eN6BdrMM90= + +filesize@^3.6.1: + version "3.6.1" + resolved "https://registry.nlark.com/filesize/download/filesize-3.6.1.tgz" + integrity sha1-CQuz7gG2+AGoqL6Z0xcQs0Irsxc= + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.nlark.com/fill-range/download/fill-range-4.0.0.tgz" + integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.nlark.com/fill-range/download/fill-range-7.0.1.tgz" + integrity sha1-GRmmp8df44ssfHflGYU12prN2kA= + dependencies: + to-regex-range "^5.0.1" + +finalhandler@~1.1.2: + version "1.1.2" + resolved "https://registry.nlark.com/finalhandler/download/finalhandler-1.1.2.tgz" + integrity sha1-t+fQAP/RGTjQ/bBTUG9uur6fWH0= + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "~2.3.0" + parseurl "~1.3.3" + statuses "~1.5.0" + unpipe "~1.0.0" + +find-cache-dir@^0.1.1: + version "0.1.1" + resolved "https://registry.nlark.com/find-cache-dir/download/find-cache-dir-0.1.1.tgz" + integrity sha1-yN765XyKUqinhPnjHFfHQumToLk= + dependencies: + commondir "^1.0.1" + mkdirp "^0.5.1" + pkg-dir "^1.0.0" + +find-cache-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz" + integrity sha1-kojj6ePMN0hxfTnq3hfPcfww7m8= + dependencies: + commondir "^1.0.1" + make-dir "^1.0.0" + pkg-dir "^2.0.0" + +find-cache-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.nlark.com/find-cache-dir/download/find-cache-dir-2.1.0.tgz" + integrity sha1-jQ+UzRP+Q8bHwmGg2GEVypGMBfc= + dependencies: + commondir "^1.0.1" + make-dir "^2.0.0" + pkg-dir "^3.0.0" + +find-cache-dir@^3.0.0, find-cache-dir@^3.3.1: + version "3.3.1" + resolved "https://registry.nlark.com/find-cache-dir/download/find-cache-dir-3.3.1.tgz" + integrity sha1-ibM/rUpGcNqpT4Vff74x1thP6IA= + dependencies: + commondir "^1.0.1" + make-dir "^3.0.2" + pkg-dir "^4.1.0" + +find-up@^1.0.0: + version "1.1.2" + resolved "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz" + integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= + dependencies: + path-exists "^2.0.0" + pinkie-promise "^2.0.0" + +find-up@^2.0.0, find-up@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz" + integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= + dependencies: + locate-path "^2.0.0" + +find-up@^3.0.0: + version "3.0.0" + resolved "https://registry.nlark.com/find-up/download/find-up-3.0.0.tgz" + integrity sha1-SRafHXmTQwZG2mHsxa41XCHJe3M= + dependencies: + locate-path "^3.0.0" + +find-up@^4.0.0: + version "4.1.0" + resolved "https://registry.nlark.com/find-up/download/find-up-4.1.0.tgz" + integrity sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk= + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +flat-cache@^2.0.1: + version "2.0.1" + resolved "https://registry.nlark.com/flat-cache/download/flat-cache-2.0.1.tgz" + integrity sha1-XSltbwS9pEpGMKMBQTvbwuwIXsA= + dependencies: + flatted "^2.0.0" + rimraf "2.6.3" + write "1.0.3" + +flatted@^2.0.0: + version "2.0.2" + resolved "https://registry.nlark.com/flatted/download/flatted-2.0.2.tgz" + integrity sha1-RXWyHivO50NKqb5mL0t7X5wrUTg= + +flatten@^1.0.2: + version "1.0.3" + resolved "https://registry.npmjs.org/flatten/-/flatten-1.0.3.tgz" + integrity sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg== + +flush-write-stream@^1.0.0: + version "1.1.1" + resolved "https://registry.nlark.com/flush-write-stream/download/flush-write-stream-1.1.1.tgz" + integrity sha1-jdfYc6G6vCB9lOrQwuDkQnbr8ug= + dependencies: + inherits "^2.0.3" + readable-stream "^2.3.6" + +follow-redirects@^1.0.0, follow-redirects@^1.10.0: + version "1.14.1" + resolved "https://registry.nlark.com/follow-redirects/download/follow-redirects-1.14.1.tgz" + integrity sha1-2RFN7Qoc/dM04WTmZirQK/2R/0M= + +for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.nlark.com/for-in/download/for-in-1.0.2.tgz" + integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.nlark.com/forever-agent/download/forever-agent-0.6.1.tgz" + integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= + +form-data@~2.3.2: + version "2.3.3" + resolved "https://registry.nlark.com/form-data/download/form-data-2.3.3.tgz" + integrity sha1-3M5SwF9kTymManq5Nr1yTO/786Y= + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + +forwarded@0.2.0: + version "0.2.0" + resolved "https://registry.nlark.com/forwarded/download/forwarded-0.2.0.tgz" + integrity sha1-ImmTZCiq1MFcfr6XeahL8LKoGBE= + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.nlark.com/fragment-cache/download/fragment-cache-0.2.1.tgz" + integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + dependencies: + map-cache "^0.2.2" + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.nlark.com/fresh/download/fresh-0.5.2.tgz" + integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= + +from2@^2.1.0: + version "2.3.0" + resolved "https://registry.nlark.com/from2/download/from2-2.3.0.tgz" + integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= + dependencies: + inherits "^2.0.1" + readable-stream "^2.0.0" + +fs-extra@^7.0.1: + version "7.0.1" + resolved "https://registry.nlark.com/fs-extra/download/fs-extra-7.0.1.tgz" + integrity sha1-TxicRKoSO4lfcigE9V6iPq3DSOk= + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-minipass@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz" + integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== + dependencies: + minipass "^3.0.0" + +fs-write-stream-atomic@^1.0.8: + version "1.0.10" + resolved "https://registry.nlark.com/fs-write-stream-atomic/download/fs-write-stream-atomic-1.0.10.tgz" + integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= + dependencies: + graceful-fs "^4.1.2" + iferr "^0.1.5" + imurmurhash "^0.1.4" + readable-stream "1 || 2" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/fs.realpath/download/fs.realpath-1.0.0.tgz" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fsevents@^1.2.7: + version "1.2.13" + resolved "https://registry.npmmirror.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" + integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== + dependencies: + bindings "^1.5.0" + nan "^2.12.1" + +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.nlark.com/function-bind/download/function-bind-1.1.1.tgz" + integrity sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0= + +functional-red-black-tree@^1.0.1: + version "1.0.1" + resolved "https://registry.nlark.com/functional-red-black-tree/download/functional-red-black-tree-1.0.1.tgz" + integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.nlark.com/gensync/download/gensync-1.0.0-beta.2.tgz" + integrity sha1-MqbudsPX9S1GsrGuXZP+qFgKJeA= + +get-caller-file@^1.0.1: + version "1.0.3" + resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz" + integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== + +get-caller-file@^2.0.1, get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.nlark.com/get-caller-file/download/get-caller-file-2.0.5.tgz" + integrity sha1-T5RBKoLbMvNuOwuXQfipf+sDH34= + +get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: + version "1.1.1" + resolved "https://registry.nlark.com/get-intrinsic/download/get-intrinsic-1.1.1.tgz" + integrity sha1-FfWfN2+FXERpY5SPDSTNNje0q8Y= + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + +get-stdin@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz" + integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4= + +get-stdin@^6.0.0: + version "6.0.0" + resolved "https://registry.nlark.com/get-stdin/download/get-stdin-6.0.0.tgz" + integrity sha1-ngm/cSs2CrkiXoEgSPcf3pyJZXs= + +get-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.nlark.com/get-stream/download/get-stream-3.0.0.tgz" + integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= + +get-stream@^4.0.0: + version "4.1.0" + resolved "https://registry.nlark.com/get-stream/download/get-stream-4.1.0.tgz" + integrity sha1-wbJVV189wh1Zv8ec09K0axw6VLU= + dependencies: + pump "^3.0.0" + +get-stream@^5.0.0: + version "5.2.0" + resolved "https://registry.nlark.com/get-stream/download/get-stream-5.2.0.tgz" + integrity sha1-SWaheV7lrOZecGxLe+txJX1uItM= + dependencies: + pump "^3.0.0" + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.nlark.com/get-value/download/get-value-2.0.6.tgz" + integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.nlark.com/getpass/download/getpass-0.1.7.tgz" + integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= + dependencies: + assert-plus "^1.0.0" + +glob-parent@^3.1.0: + version "3.1.0" + resolved "https://registry.nlark.com/glob-parent/download/glob-parent-3.1.0.tgz" + integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= + dependencies: + is-glob "^3.1.0" + path-dirname "^1.0.0" + +glob-parent@^5.0.0, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.nlark.com/glob-parent/download/glob-parent-5.1.2.tgz" + integrity sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ= + dependencies: + is-glob "^4.0.1" + +glob-to-regexp@^0.3.0: + version "0.3.0" + resolved "https://registry.nlark.com/glob-to-regexp/download/glob-to-regexp-0.3.0.tgz" + integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= + +glob@^7.0.3, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: + version "7.1.7" + resolved "https://registry.nlark.com/glob/download/glob-7.1.7.tgz" + integrity sha1-Oxk+kjPwHULQs/eClLvutBj5SpA= + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.nlark.com/globals/download/globals-11.12.0.tgz" + integrity sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4= + +globals@^12.1.0: + version "12.4.0" + resolved "https://registry.nlark.com/globals/download/globals-12.4.0.tgz" + integrity sha1-oYgTV2pBsAokqX5/gVkYwuGZJfg= + dependencies: + type-fest "^0.8.1" + +globals@^9.18.0: + version "9.18.0" + resolved "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz" + integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ== + +globby@^6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz" + integrity sha1-9abXDoOV4hyFj7BInWTfAkJNUGw= + dependencies: + array-union "^1.0.1" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +globby@^7.1.1: + version "7.1.1" + resolved "https://registry.nlark.com/globby/download/globby-7.1.1.tgz" + integrity sha1-+yzP+UAfhgCUXfral0QMypcrhoA= + dependencies: + array-union "^1.0.1" + dir-glob "^2.0.0" + glob "^7.1.2" + ignore "^3.3.5" + pify "^3.0.0" + slash "^1.0.0" + +globby@^9.2.0: + version "9.2.0" + resolved "https://registry.nlark.com/globby/download/globby-9.2.0.tgz" + integrity sha1-/QKacGxwPSm90XD0tts6P3p8tj0= + dependencies: + "@types/glob" "^7.1.1" + array-union "^1.0.2" + dir-glob "^2.2.2" + fast-glob "^2.2.6" + glob "^7.1.3" + ignore "^4.0.3" + pify "^4.0.1" + slash "^2.0.0" + +graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6: + version "4.2.6" + resolved "https://registry.nlark.com/graceful-fs/download/graceful-fs-4.2.6.tgz" + integrity sha1-/wQLKwhTsjw9MQJ1I3BvGIXXa+4= + +gzip-size@^5.0.0: + version "5.1.1" + resolved "https://registry.nlark.com/gzip-size/download/gzip-size-5.1.1.tgz" + integrity sha1-y5vuaS+HwGErIyhAqHOQTkwTUnQ= + dependencies: + duplexer "^0.1.1" + pify "^4.0.1" + +handle-thing@^2.0.0: + version "2.0.1" + resolved "https://registry.nlark.com/handle-thing/download/handle-thing-2.0.1.tgz" + integrity sha1-hX95zjWVgMNA1DCBzGSJcNC7I04= + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/har-schema/download/har-schema-2.0.0.tgz" + integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= + +har-validator@~5.1.3: + version "5.1.5" + resolved "https://registry.nlark.com/har-validator/download/har-validator-5.1.5.tgz" + integrity sha1-HwgDufjLIMD6E4It8ezds2veHv0= + dependencies: + ajv "^6.12.3" + har-schema "^2.0.0" + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz" + integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= + dependencies: + ansi-regex "^2.0.0" + +has-bigints@^1.0.1: + version "1.0.1" + resolved "https://registry.nlark.com/has-bigints/download/has-bigints-1.0.1.tgz" + integrity sha1-ZP5qywIGc+O3jbA1pa9pqp0HsRM= + +has-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz" + integrity sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo= + +has-flag@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz" + integrity sha1-6CB68cx7MNRGzHC3NLXovhj4jVE= + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-symbols@^1.0.1, has-symbols@^1.0.2: + version "1.0.2" + resolved "https://registry.nlark.com/has-symbols/download/has-symbols-1.0.2.tgz" + integrity sha1-Fl0wcMADCXUqEjakeTMeOsVvFCM= + +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.nlark.com/has-value/download/has-value-0.3.1.tgz" + integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/has-value/download/has-value-1.0.0.tgz" + integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.nlark.com/has-values/download/has-values-0.1.4.tgz" + integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/has-values/download/has-values-1.0.0.tgz" + integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +has@^1.0.0, has@^1.0.1, has@^1.0.3: + version "1.0.3" + resolved "https://registry.nlark.com/has/download/has-1.0.3.tgz" + integrity sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y= + dependencies: + function-bind "^1.1.1" + +hash-base@^3.0.0: + version "3.1.0" + resolved "https://registry.nlark.com/hash-base/download/hash-base-3.1.0.tgz" + integrity sha1-VcOB2eBuHSmXqIO0o/3f5/DTrzM= + dependencies: + inherits "^2.0.4" + readable-stream "^3.6.0" + safe-buffer "^5.2.0" + +hash-sum@^1.0.2: + version "1.0.2" + resolved "https://registry.nlark.com/hash-sum/download/hash-sum-1.0.2.tgz" + integrity sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ= + +hash-sum@^2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/hash-sum/download/hash-sum-2.0.0.tgz" + integrity sha1-gdAbtd6OpKIUrV1urRtSNGCwtFo= + +hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.7" + resolved "https://registry.nlark.com/hash.js/download/hash.js-1.1.7.tgz?cache=0&sync_timestamp=1622702479319&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhash.js%2Fdownload%2Fhash.js-1.1.7.tgz" + integrity sha1-C6vKU46NTuSg+JiNaIZlN6ADz0I= + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + +he@1.2.x, he@^1.1.0: + version "1.2.0" + resolved "https://registry.nlark.com/he/download/he-1.2.0.tgz" + integrity sha1-hK5l+n6vsWX922FWauFLrwVmTw8= + +hex-color-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.nlark.com/hex-color-regex/download/hex-color-regex-1.1.0.tgz" + integrity sha1-TAb8y0YC/iYCs8k9+C1+fb8aio4= + +highlight.js@^10.7.1: + version "10.7.3" + resolved "https://registry.nlark.com/highlight.js/download/highlight.js-10.7.3.tgz" + integrity sha1-aXJy45kTVuQMPKxWanTu9oF1ZTE= + +hmac-drbg@^1.0.1: + version "1.0.1" + resolved "https://registry.nlark.com/hmac-drbg/download/hmac-drbg-1.0.1.tgz" + integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +home-or-tmp@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz" + integrity sha1-42w/LSyufXRqhX440Y1fMqeILbg= + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.1" + +hoopy@^0.1.4: + version "0.1.4" + resolved "https://registry.nlark.com/hoopy/download/hoopy-0.1.4.tgz" + integrity sha1-YJIH1mEQADOpqUAq096mdzgcGx0= + +hosted-git-info@^2.1.4: + version "2.8.9" + resolved "https://registry.nlark.com/hosted-git-info/download/hosted-git-info-2.8.9.tgz" + integrity sha1-3/wL+aIcAiCQkPKqaUKeFBTa8/k= + +hpack.js@^2.1.6: + version "2.1.6" + resolved "https://registry.nlark.com/hpack.js/download/hpack.js-2.1.6.tgz" + integrity sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI= + dependencies: + inherits "^2.0.1" + obuf "^1.0.0" + readable-stream "^2.0.1" + wbuf "^1.1.0" + +hsl-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/hsl-regex/download/hsl-regex-1.0.0.tgz" + integrity sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4= + +hsla-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/hsla-regex/download/hsla-regex-1.0.0.tgz" + integrity sha1-wc56MWjIxmFAM6S194d/OyJfnDg= + +html-comment-regex@^1.1.0: + version "1.1.2" + resolved "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz" + integrity sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ== + +html-entities@^1.2.0, html-entities@^1.3.1: + version "1.4.0" + resolved "https://registry.nlark.com/html-entities/download/html-entities-1.4.0.tgz" + integrity sha1-z70bAdKvr5rcobEK59/6uYxx0tw= + +html-minifier@^3.2.3: + version "3.5.21" + resolved "https://registry.nlark.com/html-minifier/download/html-minifier-3.5.21.tgz" + integrity sha1-0AQOBUcw41TbAIRjWTGUAVIS0gw= + dependencies: + camel-case "3.0.x" + clean-css "4.2.x" + commander "2.17.x" + he "1.2.x" + param-case "2.1.x" + relateurl "0.2.x" + uglify-js "3.4.x" + +html-tags@^2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/html-tags/download/html-tags-2.0.0.tgz" + integrity sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos= + +html-tags@^3.1.0: + version "3.1.0" + resolved "https://registry.nlark.com/html-tags/download/html-tags-3.1.0.tgz" + integrity sha1-e15vfmZen7QfMAB+2eDUHpf7IUA= + +html-webpack-plugin@^3.2.0: + version "3.2.0" + resolved "https://registry.nlark.com/html-webpack-plugin/download/html-webpack-plugin-3.2.0.tgz" + integrity sha1-sBq71yOsqqeze2r0SS69oD2d03s= + dependencies: + html-minifier "^3.2.3" + loader-utils "^0.2.16" + lodash "^4.17.3" + pretty-error "^2.0.2" + tapable "^1.0.0" + toposort "^1.0.0" + util.promisify "1.0.0" + +htmlparser2@^6.1.0: + version "6.1.0" + resolved "https://registry.nlark.com/htmlparser2/download/htmlparser2-6.1.0.tgz" + integrity sha1-xNditsM3GgXb5l6UrkOp+EX7j7c= + dependencies: + domelementtype "^2.0.1" + domhandler "^4.0.0" + domutils "^2.5.2" + entities "^2.0.0" + +http-deceiver@^1.2.7: + version "1.2.7" + resolved "https://registry.nlark.com/http-deceiver/download/http-deceiver-1.2.7.tgz" + integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc= + +http-errors@1.7.2, http-errors@~1.7.2: + version "1.7.2" + resolved "https://registry.nlark.com/http-errors/download/http-errors-1.7.2.tgz" + integrity sha1-T1ApzxMjnzEDblsuVSkrz7zIXI8= + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.1" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + +http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.nlark.com/http-errors/download/http-errors-1.6.3.tgz" + integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + +http-parser-js@>=0.5.1: + version "0.5.3" + resolved "https://registry.nlark.com/http-parser-js/download/http-parser-js-0.5.3.tgz" + integrity sha1-AdJwnHnUFpi7AdTezF6dpOSgM9k= + +http-proxy-middleware@0.19.1: + version "0.19.1" + resolved "https://registry.nlark.com/http-proxy-middleware/download/http-proxy-middleware-0.19.1.tgz" + integrity sha1-GDx9xKoUeRUDBkmMIQza+WCApDo= + dependencies: + http-proxy "^1.17.0" + is-glob "^4.0.0" + lodash "^4.17.11" + micromatch "^3.1.10" + +http-proxy-middleware@^0.19.1: + version "0.19.2" + resolved "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.2.tgz" + integrity sha512-aYk1rTKqLTus23X3L96LGNCGNgWpG4cG0XoZIT1GUPhhulEHX/QalnO6Vbo+WmKWi4AL2IidjuC0wZtbpg0yhQ== + dependencies: + http-proxy "^1.18.1" + is-glob "^4.0.0" + lodash "^4.17.11" + micromatch "^3.1.10" + +http-proxy-middleware@^1.0.0: + version "1.3.1" + resolved "https://registry.nlark.com/http-proxy-middleware/download/http-proxy-middleware-1.3.1.tgz" + integrity sha1-Q3ANbZ7st0Gb8IahKND3IF2etmU= + dependencies: + "@types/http-proxy" "^1.17.5" + http-proxy "^1.18.1" + is-glob "^4.0.1" + is-plain-obj "^3.0.0" + micromatch "^4.0.2" + +http-proxy@^1.17.0, http-proxy@^1.18.1: + version "1.18.1" + resolved "https://registry.nlark.com/http-proxy/download/http-proxy-1.18.1.tgz" + integrity sha1-QBVB8FNIhLv5UmAzTnL4juOXZUk= + dependencies: + eventemitter3 "^4.0.0" + follow-redirects "^1.0.0" + requires-port "^1.0.0" + +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.nlark.com/http-signature/download/http-signature-1.2.0.tgz" + integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +https-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/https-browserify/download/https-browserify-1.0.0.tgz" + integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= + +human-signals@^1.1.1: + version "1.1.1" + resolved "https://registry.nlark.com/human-signals/download/human-signals-1.1.1.tgz" + integrity sha1-xbHNFPUK6uCatsWf5jujOV/k36M= + +iconv-lite@0.4.24, iconv-lite@^0.4.24: + version "0.4.24" + resolved "https://registry.nlark.com/iconv-lite/download/iconv-lite-0.4.24.tgz?cache=0&sync_timestamp=1622686400731&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ficonv-lite%2Fdownload%2Ficonv-lite-0.4.24.tgz" + integrity sha1-ICK0sl+93CHS9SSXSkdKr+czkIs= + dependencies: + safer-buffer ">= 2.1.2 < 3" + +icss-replace-symbols@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz" + integrity sha1-Bupvg2ead0njhs/h/oEq5dsiPe0= + +icss-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz" + integrity sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI= + dependencies: + postcss "^6.0.1" + +icss-utils@^4.0.0, icss-utils@^4.1.1: + version "4.1.1" + resolved "https://registry.nlark.com/icss-utils/download/icss-utils-4.1.1.tgz" + integrity sha1-IRcLU3ie4nRHwvR91oMIFAP5pGc= + dependencies: + postcss "^7.0.14" + +ieee754@^1.1.4: + version "1.2.1" + resolved "https://registry.nlark.com/ieee754/download/ieee754-1.2.1.tgz" + integrity sha1-jrehCmP/8l0VpXsAFYbRd9Gw01I= + +iferr@^0.1.5: + version "0.1.5" + resolved "https://registry.nlark.com/iferr/download/iferr-0.1.5.tgz" + integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= + +ignore@^3.3.5: + version "3.3.10" + resolved "https://registry.nlark.com/ignore/download/ignore-3.3.10.tgz?cache=0&sync_timestamp=1622685828923&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fignore%2Fdownload%2Fignore-3.3.10.tgz" + integrity sha1-Cpf7h2mG6AgcYxFg+PnziRV/AEM= + +ignore@^4.0.3, ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.nlark.com/ignore/download/ignore-4.0.6.tgz?cache=0&sync_timestamp=1622685828923&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fignore%2Fdownload%2Fignore-4.0.6.tgz" + integrity sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw= + +image-size@~0.5.0: + version "0.5.5" + resolved "https://registry.nlark.com/image-size/download/image-size-0.5.5.tgz" + integrity sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w= + +import-cwd@^2.0.0: + version "2.1.0" + resolved "https://registry.nlark.com/import-cwd/download/import-cwd-2.1.0.tgz" + integrity sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk= + dependencies: + import-from "^2.1.0" + +import-fresh@^2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/import-fresh/download/import-fresh-2.0.0.tgz" + integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY= + dependencies: + caller-path "^2.0.0" + resolve-from "^3.0.0" + +import-fresh@^3.0.0: + version "3.3.0" + resolved "https://registry.nlark.com/import-fresh/download/import-fresh-3.3.0.tgz" + integrity sha1-NxYsJfy566oublPVtNiM4X2eDCs= + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-from@^2.1.0: + version "2.1.0" + resolved "https://registry.nlark.com/import-from/download/import-from-2.1.0.tgz" + integrity sha1-M1238qev/VOqpHHUuAId7ja387E= + dependencies: + resolve-from "^3.0.0" + +import-local@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz" + integrity sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ== + dependencies: + pkg-dir "^2.0.0" + resolve-cwd "^2.0.0" + +import-local@^2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/import-local/download/import-local-2.0.0.tgz" + integrity sha1-VQcL44pZk88Y72236WH1vuXFoJ0= + dependencies: + pkg-dir "^3.0.0" + resolve-cwd "^2.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.nlark.com/imurmurhash/download/imurmurhash-0.1.4.tgz" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + +indent-string@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz" + integrity sha1-ji1INIdCEhtKghi3oTfppSBJ3IA= + dependencies: + repeating "^2.0.0" + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + +indexes-of@^1.0.1: + version "1.0.1" + resolved "https://registry.nlark.com/indexes-of/download/indexes-of-1.0.1.tgz" + integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= + +infer-owner@^1.0.3, infer-owner@^1.0.4: + version "1.0.4" + resolved "https://registry.nlark.com/infer-owner/download/infer-owner-1.0.4.tgz" + integrity sha1-xM78qo5RBRwqQLos6KPScpWvlGc= + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.nlark.com/inflight/download/inflight-1.0.6.tgz" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.nlark.com/inherits/download/inherits-2.0.4.tgz" + integrity sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w= + +inherits@2.0.1: + version "2.0.1" + resolved "https://registry.nlark.com/inherits/download/inherits-2.0.1.tgz" + integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.nlark.com/inherits/download/inherits-2.0.3.tgz" + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + +inquirer@^7.0.0, inquirer@^7.1.0: + version "7.3.3" + resolved "https://registry.nlark.com/inquirer/download/inquirer-7.3.3.tgz" + integrity sha1-BNF2sq8Er8FXqD/XwQDpjuCq0AM= + dependencies: + ansi-escapes "^4.2.1" + chalk "^4.1.0" + cli-cursor "^3.1.0" + cli-width "^3.0.0" + external-editor "^3.0.3" + figures "^3.0.0" + lodash "^4.17.19" + mute-stream "0.0.8" + run-async "^2.4.0" + rxjs "^6.6.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + through "^2.3.6" + +internal-ip@1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/internal-ip/-/internal-ip-1.2.0.tgz" + integrity sha1-rp+/k7mEh4eF1QqN4bNWlWBYz1w= + dependencies: + meow "^3.3.0" + +internal-ip@^4.3.0: + version "4.3.0" + resolved "https://registry.nlark.com/internal-ip/download/internal-ip-4.3.0.tgz" + integrity sha1-hFRSuq2dLKO2nGNaE3rLmg2tCQc= + dependencies: + default-gateway "^4.2.0" + ipaddr.js "^1.9.0" + +internal-slot@^1.0.3: + version "1.0.3" + resolved "https://registry.nlark.com/internal-slot/download/internal-slot-1.0.3.tgz" + integrity sha1-c0fjB97uovqsKsYgXUvH00ln9Zw= + dependencies: + get-intrinsic "^1.1.0" + has "^1.0.3" + side-channel "^1.0.4" + +interpret@^1.0.0: + version "1.4.0" + resolved "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz" + integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== + +intersperse@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/intersperse/-/intersperse-1.0.0.tgz" + integrity sha1-8lYfsc/vn1J3zDNHoiiGtDUaUYE= + +invariant@^2.2.2: + version "2.2.4" + resolved "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz" + integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== + dependencies: + loose-envify "^1.0.0" + +invert-kv@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz" + integrity sha1-EEqOSqym09jNFXqO+L+rLXo//bY= + +ip-regex@^2.1.0: + version "2.1.0" + resolved "https://registry.nlark.com/ip-regex/download/ip-regex-2.1.0.tgz" + integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= + +ip@^1.1.0, ip@^1.1.5: + version "1.1.5" + resolved "https://registry.nlark.com/ip/download/ip-1.1.5.tgz" + integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= + +ipaddr.js@1.9.1, ipaddr.js@^1.9.0: + version "1.9.1" + resolved "https://registry.nlark.com/ipaddr.js/download/ipaddr.js-1.9.1.tgz" + integrity sha1-v/OFQ+64mEglB5/zoqjmy9RngbM= + +is-absolute-url@^2.0.0: + version "2.1.0" + resolved "https://registry.nlark.com/is-absolute-url/download/is-absolute-url-2.1.0.tgz" + integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY= + +is-absolute-url@^3.0.3: + version "3.0.3" + resolved "https://registry.nlark.com/is-absolute-url/download/is-absolute-url-3.0.3.tgz" + integrity sha1-lsaiK2ojkpsR6gr7GDbDatSl1pg= + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.nlark.com/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz" + integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz" + integrity sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY= + dependencies: + kind-of "^6.0.0" + +is-arguments@^1.0.4: + version "1.1.0" + resolved "https://registry.nlark.com/is-arguments/download/is-arguments-1.1.0.tgz" + integrity sha1-YjUwMd++4HzrNGVqa95Z7+yujdk= + dependencies: + call-bind "^1.0.0" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.nlark.com/is-arrayish/download/is-arrayish-0.2.1.tgz" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + +is-arrayish@^0.3.1: + version "0.3.2" + resolved "https://registry.nlark.com/is-arrayish/download/is-arrayish-0.3.2.tgz" + integrity sha1-RXSirlb3qyBolvtDHq7tBm/fjwM= + +is-bigint@^1.0.1: + version "1.0.2" + resolved "https://registry.nlark.com/is-bigint/download/is-bigint-1.0.2.tgz" + integrity sha1-/7OBRCUDI1rSReqJ5Fs9v/BA7lo= + +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.nlark.com/is-binary-path/download/is-binary-path-1.0.1.tgz" + integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= + dependencies: + binary-extensions "^1.0.0" + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.nlark.com/is-binary-path/download/is-binary-path-2.1.0.tgz" + integrity sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk= + dependencies: + binary-extensions "^2.0.0" + +is-boolean-object@^1.1.0: + version "1.1.1" + resolved "https://registry.nlark.com/is-boolean-object/download/is-boolean-object-1.1.1.tgz" + integrity sha1-PAh48DXLghIo01DS4eNnGXFqPeg= + dependencies: + call-bind "^1.0.2" + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.nlark.com/is-buffer/download/is-buffer-1.1.6.tgz" + integrity sha1-76ouqdqg16suoTqXsritUf776L4= + +is-callable@^1.1.4, is-callable@^1.2.3: + version "1.2.3" + resolved "https://registry.nlark.com/is-callable/download/is-callable-1.2.3.tgz" + integrity sha1-ix4FALc6HXbHBIdjbzaOUZ3o244= + +is-ci@^1.0.10: + version "1.2.1" + resolved "https://registry.nlark.com/is-ci/download/is-ci-1.2.1.tgz" + integrity sha1-43ecjuF/zPQoSI9uKBGH8uYyhBw= + dependencies: + ci-info "^1.5.0" + +is-color-stop@^1.0.0: + version "1.1.0" + resolved "https://registry.nlark.com/is-color-stop/download/is-color-stop-1.1.0.tgz" + integrity sha1-z/9HGu5N1cnhWFmPvhKWe1za00U= + dependencies: + css-color-names "^0.0.4" + hex-color-regex "^1.1.0" + hsl-regex "^1.0.0" + hsla-regex "^1.0.0" + rgb-regex "^1.0.1" + rgba-regex "^1.0.0" + +is-core-module@^2.2.0: + version "2.5.0" + resolved "https://registry.nlark.com/is-core-module/download/is-core-module-2.5.0.tgz" + integrity sha1-91SENhfHC/0pt72HMnQAzaXBhJE= + dependencies: + has "^1.0.3" + +is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "https://registry.nlark.com/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz" + integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz" + integrity sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc= + dependencies: + kind-of "^6.0.0" + +is-date-object@^1.0.1: + version "1.0.4" + resolved "https://registry.nlark.com/is-date-object/download/is-date-object-1.0.4.tgz" + integrity sha1-VQz8wDr62gXuo90wmBx7CVUfc+U= + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.nlark.com/is-descriptor/download/is-descriptor-0.1.6.tgz" + integrity sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco= + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.nlark.com/is-descriptor/download/is-descriptor-1.0.2.tgz" + integrity sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw= + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-directory@^0.3.1: + version "0.3.1" + resolved "https://registry.nlark.com/is-directory/download/is-directory-0.3.1.tgz" + integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= + +is-docker@^2.0.0: + version "2.2.1" + resolved "https://registry.nlark.com/is-docker/download/is-docker-2.2.1.tgz" + integrity sha1-M+6r4jz+hvFL3kQIoCwM+4U6zao= + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.nlark.com/is-extendable/download/is-extendable-0.1.1.tgz" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.nlark.com/is-extendable/download/is-extendable-1.0.1.tgz" + integrity sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ= + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^2.1.0, is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.nlark.com/is-extglob/download/is-extglob-2.1.1.tgz" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +is-finite@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz" + integrity sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w== + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz" + integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz" + integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.nlark.com/is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz" + integrity sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0= + +is-glob@^3.1.0: + version "3.1.0" + resolved "https://registry.nlark.com/is-glob/download/is-glob-3.1.0.tgz" + integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= + dependencies: + is-extglob "^2.1.0" + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.1" + resolved "https://registry.nlark.com/is-glob/download/is-glob-4.0.1.tgz" + integrity sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw= + dependencies: + is-extglob "^2.1.1" + +is-mobile@^2.2.1: + version "2.2.2" + resolved "https://registry.npmjs.org/is-mobile/-/is-mobile-2.2.2.tgz" + integrity sha512-wW/SXnYJkTjs++tVK5b6kVITZpAZPtUrt9SF80vvxGiF/Oywal+COk1jlRkiVq15RFNEQKQY31TkV24/1T5cVg== + +is-negative-zero@^2.0.0, is-negative-zero@^2.0.1: + version "2.0.1" + resolved "https://registry.nlark.com/is-negative-zero/download/is-negative-zero-2.0.1.tgz" + integrity sha1-PedGwY3aIxkkGlNnWQjY92bxHCQ= + +is-number-object@^1.0.4: + version "1.0.5" + resolved "https://registry.nlark.com/is-number-object/download/is-number-object-1.0.5.tgz" + integrity sha1-bt+u7XlQz/Ga/tzp+/yp7m3Sies= + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.nlark.com/is-number/download/is-number-3.0.0.tgz" + integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + dependencies: + kind-of "^3.0.2" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.nlark.com/is-number/download/is-number-7.0.0.tgz" + integrity sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss= + +is-obj@^2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/is-obj/download/is-obj-2.0.0.tgz" + integrity sha1-Rz+wXZc3BeP9liBUUBjKjiLvSYI= + +is-path-cwd@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz" + integrity sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0= + +is-path-cwd@^2.0.0: + version "2.2.0" + resolved "https://registry.nlark.com/is-path-cwd/download/is-path-cwd-2.2.0.tgz" + integrity sha1-Z9Q7gmZKe1GR/ZEZEn6zAASKn9s= + +is-path-in-cwd@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz" + integrity sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ== + dependencies: + is-path-inside "^1.0.0" + +is-path-in-cwd@^2.0.0: + version "2.1.0" + resolved "https://registry.nlark.com/is-path-in-cwd/download/is-path-in-cwd-2.1.0.tgz" + integrity sha1-v+Lcomxp85cmWkAJljYCk1oFOss= + dependencies: + is-path-inside "^2.1.0" + +is-path-inside@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz" + integrity sha1-jvW33lBDej/cprToZe96pVy0gDY= + dependencies: + path-is-inside "^1.0.1" + +is-path-inside@^2.1.0: + version "2.1.0" + resolved "https://registry.nlark.com/is-path-inside/download/is-path-inside-2.1.0.tgz" + integrity sha1-fJgQWH1lmkDSe8201WFuqwWUlLI= + dependencies: + path-is-inside "^1.0.2" + +is-plain-obj@^1.0.0: + version "1.1.0" + resolved "https://registry.nlark.com/is-plain-obj/download/is-plain-obj-1.1.0.tgz" + integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= + +is-plain-obj@^3.0.0: + version "3.0.0" + resolved "https://registry.nlark.com/is-plain-obj/download/is-plain-obj-3.0.0.tgz" + integrity sha1-r28uoUrFpkYYOlu9tbqrvBVq2dc= + +is-plain-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.nlark.com/is-plain-object/download/is-plain-object-2.0.4.tgz" + integrity sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc= + dependencies: + isobject "^3.0.1" + +is-regex@^1.0.4, is-regex@^1.1.3: + version "1.1.3" + resolved "https://registry.nlark.com/is-regex/download/is-regex-1.1.3.tgz" + integrity sha1-0Cn5r/ZEi5Prvj8z2scVEf3L758= + dependencies: + call-bind "^1.0.2" + has-symbols "^1.0.2" + +is-resolvable@^1.0.0: + version "1.1.0" + resolved "https://registry.nlark.com/is-resolvable/download/is-resolvable-1.1.0.tgz" + integrity sha1-+xj4fOH+uSUWnJpAfBkxijIG7Yg= + +is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.nlark.com/is-stream/download/is-stream-1.1.0.tgz" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.nlark.com/is-stream/download/is-stream-2.0.1.tgz" + integrity sha1-+sHj1TuXrVqdCunO8jifWBClwHc= + +is-string@^1.0.5, is-string@^1.0.6: + version "1.0.6" + resolved "https://registry.nlark.com/is-string/download/is-string-1.0.6.tgz" + integrity sha1-P+XVmS+w2TQE8yWE1LAXmnG1Sl8= + +is-svg@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz" + integrity sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk= + dependencies: + html-comment-regex "^1.1.0" + +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.nlark.com/is-symbol/download/is-symbol-1.0.4.tgz" + integrity sha1-ptrJO2NbBjymhyI23oiRClevE5w= + dependencies: + has-symbols "^1.0.2" + +is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/is-typedarray/download/is-typedarray-1.0.0.tgz" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + +is-utf8@^0.2.0: + version "0.2.1" + resolved "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz" + integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= + +is-what@^3.12.0: + version "3.14.1" + resolved "https://registry.nlark.com/is-what/download/is-what-3.14.1.tgz" + integrity sha1-4SIvRt3ahd6tD9HJ3xMXYOd3VcE= + +is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.nlark.com/is-windows/download/is-windows-1.0.2.tgz" + integrity sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0= + +is-wsl@^1.1.0: + version "1.1.0" + resolved "https://registry.nlark.com/is-wsl/download/is-wsl-1.1.0.tgz" + integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= + +is-wsl@^2.1.1: + version "2.2.0" + resolved "https://registry.nlark.com/is-wsl/download/is-wsl-2.2.0.tgz" + integrity sha1-dKTHbnfKn9P5MvKQwX6jJs0VcnE= + dependencies: + is-docker "^2.0.0" + +isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/isarray/download/isarray-1.0.0.tgz" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/isexe/download/isexe-2.0.0.tgz" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +ismobilejs@^1.0.0: + version "1.1.1" + resolved "https://registry.npmjs.org/ismobilejs/-/ismobilejs-1.1.1.tgz" + integrity sha512-VaFW53yt8QO61k2WJui0dHf4SlL8lxBofUuUmwBo0ljPk0Drz2TiuDW4jo3wDcv41qy/SxrJ+VAzJ/qYqsmzRw== + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.nlark.com/isobject/download/isobject-2.1.0.tgz" + integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.nlark.com/isobject/download/isobject-3.0.1.tgz" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.nlark.com/isstream/download/isstream-0.1.2.tgz" + integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= + +javascript-stringify@^2.0.1: + version "2.1.0" + resolved "https://registry.nlark.com/javascript-stringify/download/javascript-stringify-2.1.0.tgz" + integrity sha1-J8dlOb4U2L0Sghmi1zGwkzeQTnk= + +js-base64@^2.1.9: + version "2.6.4" + resolved "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz" + integrity sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ== + +js-message@1.0.7: + version "1.0.7" + resolved "https://registry.nlark.com/js-message/download/js-message-1.0.7.tgz" + integrity sha1-+93QU8ekcCGHG7iyyVOXzBfCDkc= + +js-queue@2.0.2: + version "2.0.2" + resolved "https://registry.nlark.com/js-queue/download/js-queue-2.0.2.tgz" + integrity sha1-C+WQM4+QOzbHPTPDGIOoIUEs1II= + dependencies: + easy-stack "^1.0.1" + +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.nlark.com/js-tokens/download/js-tokens-4.0.0.tgz" + integrity sha1-GSA/tZmR35jjoocFDUZHzerzJJk= + +js-tokens@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz" + integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= + +js-yaml@^3.13.1, js-yaml@^3.4.3: + version "3.14.1" + resolved "https://registry.nlark.com/js-yaml/download/js-yaml-3.14.1.tgz" + integrity sha1-2ugS/bOCX6MGYJqHFzg8UMNqBTc= + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +js-yaml@~3.7.0: + version "3.7.0" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz" + integrity sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A= + dependencies: + argparse "^1.0.7" + esprima "^2.6.0" + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.nlark.com/jsbn/download/jsbn-0.1.1.tgz" + integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= + +jsencrypt@^3.2.1: + version "3.2.1" + resolved "https://registry.npmjs.org/jsencrypt/-/jsencrypt-3.2.1.tgz" + integrity sha512-k1sD5QV0KPn+D8uG9AdGzTQuamt82QZ3A3l6f7TRwMU6Oi2Vg0BsL+wZIQBONcraO1pc78ExMdvmBBJ8WhNYUA== + +jsesc@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz" + integrity sha1-RsP+yMGJKxKwgz25vHYiF226s0s= + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.nlark.com/jsesc/download/jsesc-2.5.2.tgz" + integrity sha1-gFZNLkg9rPbo7yCWUKZ98/DCg6Q= + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.nlark.com/jsesc/download/jsesc-0.5.0.tgz" + integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= + +json-loader@^0.5.4: + version "0.5.7" + resolved "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz" + integrity sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w== + +json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: + version "1.0.2" + resolved "https://registry.nlark.com/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz" + integrity sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk= + +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.nlark.com/json-parse-even-better-errors/download/json-parse-even-better-errors-2.3.1.tgz" + integrity sha1-fEeAWpQxmSjgV3dAXcEuH3pO4C0= + +json-schema-traverse@^0.3.0: + version "0.3.1" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz" + integrity sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A= + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.nlark.com/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz" + integrity sha1-afaofZUTq4u4/mO9sJecRI5oRmA= + +json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.nlark.com/json-schema/download/json-schema-0.2.3.tgz" + integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.nlark.com/json-stable-stringify-without-jsonify/download/json-stable-stringify-without-jsonify-1.0.1.tgz" + integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + +json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.nlark.com/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz" + integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + +json2mq@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/json2mq/-/json2mq-0.2.0.tgz" + integrity sha1-tje9O6nqvhIsg+lyBIOusQ0skEo= + dependencies: + string-convert "^0.2.0" + +json3@^3.3.2, json3@^3.3.3: + version "3.3.3" + resolved "https://registry.nlark.com/json3/download/json3-3.3.3.tgz" + integrity sha1-f8EON1/FrkLEcFpcwKpvYr4wW4E= + +json5@^0.5.0, json5@^0.5.1: + version "0.5.1" + resolved "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz" + integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE= + +json5@^1.0.1: + version "1.0.1" + resolved "https://registry.nlark.com/json5/download/json5-1.0.1.tgz" + integrity sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4= + dependencies: + minimist "^1.2.0" + +json5@^2.1.2: + version "2.2.0" + resolved "https://registry.nlark.com/json5/download/json5-2.2.0.tgz" + integrity sha1-Lf7+cgxrpSXZ69kJlQ8FFTFsiaM= + dependencies: + minimist "^1.2.5" + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.nlark.com/jsonfile/download/jsonfile-4.0.0.tgz" + integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= + optionalDependencies: + graceful-fs "^4.1.6" + +jsprim@^1.2.2: + version "1.4.1" + resolved "https://registry.nlark.com/jsprim/download/jsprim-1.4.1.tgz" + integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.2.3" + verror "1.10.0" + +killable@^1.0.0, killable@^1.0.1: + version "1.0.1" + resolved "https://registry.nlark.com/killable/download/killable-1.0.1.tgz" + integrity sha1-TIzkQRh6Bhx0dPuHygjipjgZSJI= + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.nlark.com/kind-of/download/kind-of-3.2.2.tgz" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.nlark.com/kind-of/download/kind-of-4.0.0.tgz" + integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.nlark.com/kind-of/download/kind-of-5.1.0.tgz" + integrity sha1-cpyR4thXt6QZofmqZWhcTDP1hF0= + +kind-of@^6.0.0, kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.nlark.com/kind-of/download/kind-of-6.0.3.tgz" + integrity sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0= + +launch-editor-middleware@^2.2.1: + version "2.2.1" + resolved "https://registry.nlark.com/launch-editor-middleware/download/launch-editor-middleware-2.2.1.tgz" + integrity sha1-4UsH5scVSwpLhqD9NFeE5FgEwVc= + dependencies: + launch-editor "^2.2.1" + +launch-editor@^2.2.1: + version "2.2.1" + resolved "https://registry.nlark.com/launch-editor/download/launch-editor-2.2.1.tgz" + integrity sha1-hxtaPuOdZoD8wm03kwtu7aidsMo= + dependencies: + chalk "^2.3.0" + shell-quote "^1.6.1" + +lazy-cache@^1.0.3: + version "1.0.4" + resolved "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz" + integrity sha1-odePw6UEdMuAhF07O24dpJpEbo4= + +lcid@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz" + integrity sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU= + dependencies: + invert-kv "^1.0.0" + +less-loader@^5.0.0: + version "5.0.0" + resolved "https://registry.nlark.com/less-loader/download/less-loader-5.0.0.tgz" + integrity sha1-SY3eOmxsT4h0WO6e0/CGoSrRtGY= + dependencies: + clone "^2.1.1" + loader-utils "^1.1.0" + pify "^4.0.1" + +less@^3.0.4: + version "3.13.1" + resolved "https://registry.nlark.com/less/download/less-3.13.1.tgz" + integrity sha1-DryR0qDpwMZzW4PUlrCrBYMHeQk= + dependencies: + copy-anything "^2.0.1" + tslib "^1.10.0" + optionalDependencies: + errno "^0.1.1" + graceful-fs "^4.1.2" + image-size "~0.5.0" + make-dir "^2.1.0" + mime "^1.4.1" + native-request "^1.0.5" + source-map "~0.6.0" + +levn@^0.3.0, levn@~0.3.0: + version "0.3.0" + resolved "https://registry.nlark.com/levn/download/levn-0.3.0.tgz" + integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +lines-and-columns@^1.1.6: + version "1.1.6" + resolved "https://registry.nlark.com/lines-and-columns/download/lines-and-columns-1.1.6.tgz?cache=0&sync_timestamp=1622685829939&other_urls=https%3A%2F%2Fregistry.nlark.com%2Flines-and-columns%2Fdownload%2Flines-and-columns-1.1.6.tgz" + integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= + +load-json-file@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz" + integrity sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA= + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + pinkie-promise "^2.0.0" + strip-bom "^2.0.0" + +load-json-file@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz" + integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg= + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + strip-bom "^3.0.0" + +loader-fs-cache@^1.0.0: + version "1.0.3" + resolved "https://registry.nlark.com/loader-fs-cache/download/loader-fs-cache-1.0.3.tgz" + integrity sha1-8IZXZG1gcHi+LwoDL4vWndbyd9k= + dependencies: + find-cache-dir "^0.1.1" + mkdirp "^0.5.1" + +loader-runner@^2.3.0, loader-runner@^2.3.1, loader-runner@^2.4.0: + version "2.4.0" + resolved "https://registry.nlark.com/loader-runner/download/loader-runner-2.4.0.tgz" + integrity sha1-7UcGa/5TTX6ExMe5mYwqdWB9k1c= + +loader-utils@^0.2.11, loader-utils@^0.2.16: + version "0.2.17" + resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz" + integrity sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g= + dependencies: + big.js "^3.1.3" + emojis-list "^2.0.0" + json5 "^0.5.0" + object-assign "^4.0.1" + +loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0: + version "1.4.0" + resolved "https://registry.nlark.com/loader-utils/download/loader-utils-1.4.0.tgz" + integrity sha1-xXm140yzSxp07cbB+za/o3HVphM= + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^1.0.1" + +loader-utils@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz" + integrity sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^2.1.2" + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz" + integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + +locate-path@^3.0.0: + version "3.0.0" + resolved "https://registry.nlark.com/locate-path/download/locate-path-3.0.0.tgz" + integrity sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4= + dependencies: + p-locate "^3.0.0" + path-exists "^3.0.0" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.nlark.com/locate-path/download/locate-path-5.0.0.tgz" + integrity sha1-Gvujlq/WdqbUJQTQpno6frn2KqA= + dependencies: + p-locate "^4.1.0" + +lodash._baseassign@^3.0.0: + version "3.2.0" + resolved "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz" + integrity sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4= + dependencies: + lodash._basecopy "^3.0.0" + lodash.keys "^3.0.0" + +lodash._basecopy@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz" + integrity sha1-jaDmqHbPNEwK2KVIghEd08XHyjY= + +lodash._bindcallback@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz" + integrity sha1-5THCdkTPi1epnhftlbNcdIeJOS4= + +lodash._createassigner@^3.0.0: + version "3.1.1" + resolved "https://registry.npmjs.org/lodash._createassigner/-/lodash._createassigner-3.1.1.tgz" + integrity sha1-g4pbri/aymOsIt7o4Z+k5taXCxE= + dependencies: + lodash._bindcallback "^3.0.0" + lodash._isiterateecall "^3.0.0" + lodash.restparam "^3.0.0" + +lodash._getnative@^3.0.0: + version "3.9.1" + resolved "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz" + integrity sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U= + +lodash._isiterateecall@^3.0.0: + version "3.0.9" + resolved "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz" + integrity sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw= + +lodash.assign@^3.0.0: + version "3.2.0" + resolved "https://registry.npmjs.org/lodash.assign/-/lodash.assign-3.2.0.tgz" + integrity sha1-POnwI0tLIiPilrj6CsH+6OvKZPo= + dependencies: + lodash._baseassign "^3.0.0" + lodash._createassigner "^3.0.0" + lodash.keys "^3.0.0" + +lodash.assign@^4.0.1: + version "4.2.0" + resolved "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz" + integrity sha1-DZnzzNem0mHRm9rrkkUAXShYCOc= + +lodash.camelcase@^4.3.0: + version "4.3.0" + resolved "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz" + integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY= + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.nlark.com/lodash.debounce/download/lodash.debounce-4.0.8.tgz" + integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= + +lodash.defaults@^3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-3.1.2.tgz" + integrity sha1-xzCLGNv4vJNy1wGnNJPGEZK9Liw= + dependencies: + lodash.assign "^3.0.0" + lodash.restparam "^3.0.0" + +lodash.defaults@^4.0.0: + version "4.2.0" + resolved "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz" + integrity sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw= + +lodash.defaultsdeep@^4.6.1: + version "4.6.1" + resolved "https://registry.nlark.com/lodash.defaultsdeep/download/lodash.defaultsdeep-4.6.1.tgz" + integrity sha1-US6b1yHSctlOPTpjZT+hdRZ0HKY= + +lodash.find@^4.6.0: + version "4.6.0" + resolved "https://registry.npmjs.org/lodash.find/-/lodash.find-4.6.0.tgz" + integrity sha1-ywcE1Hq3F4n/oN6Ll92Sb7iLE7E= + +lodash.isarguments@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz" + integrity sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo= + +lodash.isarray@^3.0.0: + version "3.0.4" + resolved "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz" + integrity sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U= + +lodash.kebabcase@^4.1.1: + version "4.1.1" + resolved "https://registry.nlark.com/lodash.kebabcase/download/lodash.kebabcase-4.1.1.tgz" + integrity sha1-hImxyw0p/4gZXM7KRI/21swpXDY= + +lodash.keys@^3.0.0: + version "3.1.2" + resolved "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz" + integrity sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo= + dependencies: + lodash._getnative "^3.0.0" + lodash.isarguments "^3.0.0" + lodash.isarray "^3.0.0" + +lodash.mapvalues@^4.6.0: + version "4.6.0" + resolved "https://registry.nlark.com/lodash.mapvalues/download/lodash.mapvalues-4.6.0.tgz" + integrity sha1-G6+lAF3p3W9PJmaMMMo3IwzJaJw= + +lodash.memoize@^4.1.2: + version "4.1.2" + resolved "https://registry.nlark.com/lodash.memoize/download/lodash.memoize-4.1.2.tgz" + integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= + +lodash.pick@^4.4.0: + version "4.4.0" + resolved "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz" + integrity sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM= + +lodash.restparam@^3.0.0: + version "3.6.1" + resolved "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz" + integrity sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU= + +lodash.toarray@^4.4.0: + version "4.4.0" + resolved "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz" + integrity sha1-JMS/zWsvuji/0FlNsRedjptlZWE= + +lodash.transform@^4.6.0: + version "4.6.0" + resolved "https://registry.nlark.com/lodash.transform/download/lodash.transform-4.6.0.tgz" + integrity sha1-EjBkIvYzJK7YSD0/ODMrX2cFR6A= + +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.nlark.com/lodash.uniq/download/lodash.uniq-4.5.0.tgz" + integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= + +lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5: + version "4.17.21" + resolved "https://registry.nlark.com/lodash/download/lodash-4.17.21.tgz?cache=0&sync_timestamp=1622685830565&other_urls=https%3A%2F%2Fregistry.nlark.com%2Flodash%2Fdownload%2Flodash-4.17.21.tgz" + integrity sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw= + +log-symbols@^2.2.0: + version "2.2.0" + resolved "https://registry.nlark.com/log-symbols/download/log-symbols-2.2.0.tgz" + integrity sha1-V0Dhxdbw39pK2TI7UzIQfva0xAo= + dependencies: + chalk "^2.0.1" + +loglevel@^1.4.1, loglevel@^1.6.8: + version "1.7.1" + resolved "https://registry.nlark.com/loglevel/download/loglevel-1.7.1.tgz" + integrity sha1-AF/eL15uRwaPk1/yhXPhJe9y8Zc= + +longest@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz" + integrity sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc= + +loose-envify@^1.0.0: + version "1.4.0" + resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" + integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +loud-rejection@^1.0.0: + version "1.6.0" + resolved "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz" + integrity sha1-W0b4AUft7leIcPCG0Eghz5mOVR8= + dependencies: + currently-unhandled "^0.4.1" + signal-exit "^3.0.0" + +lower-case@^1.1.1: + version "1.1.4" + resolved "https://registry.nlark.com/lower-case/download/lower-case-1.1.4.tgz" + integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw= + +lru-cache@^4.0.1, lru-cache@^4.1.1, lru-cache@^4.1.2: + version "4.1.5" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz" + integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.nlark.com/lru-cache/download/lru-cache-5.1.1.tgz" + integrity sha1-HaJ+ZxAnGUdpXa9oSOhH8B2EuSA= + dependencies: + yallist "^3.0.2" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +make-dir@^1.0.0: + version "1.3.0" + resolved "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz" + integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ== + dependencies: + pify "^3.0.0" + +make-dir@^2.0.0, make-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.nlark.com/make-dir/download/make-dir-2.1.0.tgz" + integrity sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU= + dependencies: + pify "^4.0.1" + semver "^5.6.0" + +make-dir@^3.0.2, make-dir@^3.1.0: + version "3.1.0" + resolved "https://registry.nlark.com/make-dir/download/make-dir-3.1.0.tgz" + integrity sha1-QV6WcEazp/HRhSd9hKpYIDcmoT8= + dependencies: + semver "^6.0.0" + +map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.nlark.com/map-cache/download/map-cache-0.2.2.tgz" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + +map-obj@^1.0.0, map-obj@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz" + integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/map-visit/download/map-visit-1.0.0.tgz" + integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + dependencies: + object-visit "^1.0.0" + +math-expression-evaluator@^1.2.14: + version "1.3.8" + resolved "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.3.8.tgz" + integrity sha512-9FbRY3i6U+CbHgrdNbAUaisjWTozkm1ZfupYQJiZ87NtYHk2Zh9DvxMgp/fifxVhqTLpd5fCCLossUbpZxGeKw== + +md5.js@^1.3.4: + version "1.3.5" + resolved "https://registry.nlark.com/md5.js/download/md5.js-1.3.5.tgz" + integrity sha1-tdB7jjIW4+J81yjXL3DR5qNCAF8= + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +mdn-data@2.0.14: + version "2.0.14" + resolved "https://registry.nlark.com/mdn-data/download/mdn-data-2.0.14.tgz" + integrity sha1-cRP8QoGRfWPOKbQ0RvcB5owlulA= + +mdn-data@2.0.4: + version "2.0.4" + resolved "https://registry.nlark.com/mdn-data/download/mdn-data-2.0.4.tgz" + integrity sha1-aZs8OKxvHXKAkaZGULZdOIUC/Vs= + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.nlark.com/media-typer/download/media-typer-0.3.0.tgz" + integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= + +mem@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz" + integrity sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y= + dependencies: + mimic-fn "^1.0.0" + +memory-fs@^0.4.0, memory-fs@^0.4.1, memory-fs@~0.4.1: + version "0.4.1" + resolved "https://registry.nlark.com/memory-fs/download/memory-fs-0.4.1.tgz" + integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +memory-fs@^0.5.0: + version "0.5.0" + resolved "https://registry.nlark.com/memory-fs/download/memory-fs-0.5.0.tgz" + integrity sha1-MkwBKIuIZSlm0WHbd4OHIIRajjw= + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +meow@^3.3.0: + version "3.7.0" + resolved "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz" + integrity sha1-cstmi0JSKCkKu/qFaJJYcwioAfs= + dependencies: + camelcase-keys "^2.0.0" + decamelize "^1.1.2" + loud-rejection "^1.0.0" + map-obj "^1.0.1" + minimist "^1.1.3" + normalize-package-data "^2.3.4" + object-assign "^4.0.1" + read-pkg-up "^1.0.1" + redent "^1.0.0" + trim-newlines "^1.0.0" + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.nlark.com/merge-descriptors/download/merge-descriptors-1.0.1.tgz" + integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= + +merge-source-map@^1.1.0: + version "1.1.0" + resolved "https://registry.nlark.com/merge-source-map/download/merge-source-map-1.1.0.tgz" + integrity sha1-L93n5gIJOfcJBqaPLXrmheTIxkY= + dependencies: + source-map "^0.6.1" + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/merge-stream/download/merge-stream-2.0.0.tgz" + integrity sha1-UoI2KaFN0AyXcPtq1H3GMQ8sH2A= + +merge2@^1.2.3: + version "1.4.1" + resolved "https://registry.nlark.com/merge2/download/merge2-1.4.1.tgz" + integrity sha1-Q2iJL4hekHRVpv19xVwMnUBJkK4= + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.nlark.com/methods/download/methods-1.1.2.tgz" + integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= + +micromatch@^3.1.10, micromatch@^3.1.4: + version "3.1.10" + resolved "https://registry.nlark.com/micromatch/download/micromatch-3.1.10.tgz" + integrity sha1-cIWbyVyYQJUvNZoGij/En57PrCM= + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +micromatch@^4.0.2: + version "4.0.4" + resolved "https://registry.nlark.com/micromatch/download/micromatch-4.0.4.tgz" + integrity sha1-iW1Rnf6dsl/OlM63pQCRm/iB6/k= + dependencies: + braces "^3.0.1" + picomatch "^2.2.3" + +miller-rabin@^4.0.0: + version "4.0.1" + resolved "https://registry.nlark.com/miller-rabin/download/miller-rabin-4.0.1.tgz" + integrity sha1-8IA1HIZbDcViqEYpZtqlNUPHik0= + dependencies: + bn.js "^4.0.0" + brorand "^1.0.1" + +mime-db@1.49.0, "mime-db@>= 1.43.0 < 2": + version "1.49.0" + resolved "https://registry.nlark.com/mime-db/download/mime-db-1.49.0.tgz?cache=0&sync_timestamp=1627335450684&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmime-db%2Fdownload%2Fmime-db-1.49.0.tgz" + integrity sha1-89/eYMmenPO8lwHWh3ePU3ABy+0= + +mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24: + version "2.1.32" + resolved "https://registry.nlark.com/mime-types/download/mime-types-2.1.32.tgz" + integrity sha1-HQDonn3n/gIAjbYQAdngKFJnD9U= + dependencies: + mime-db "1.49.0" + +mime@1.6.0, mime@^1.4.1, mime@^1.5.0: + version "1.6.0" + resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +mime@^2.4.4: + version "2.5.2" + resolved "https://registry.nlark.com/mime/download/mime-2.5.2.tgz" + integrity sha1-bj3GzCuVEGQ4MOXxnVy3U9pe6r4= + +mimic-fn@^1.0.0: + version "1.2.0" + resolved "https://registry.nlark.com/mimic-fn/download/mimic-fn-1.2.0.tgz" + integrity sha1-ggyGo5M0ZA6ZUWkovQP8qIBX0CI= + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.nlark.com/mimic-fn/download/mimic-fn-2.1.0.tgz" + integrity sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs= + +mini-css-extract-plugin@^0.9.0: + version "0.9.0" + resolved "https://registry.nlark.com/mini-css-extract-plugin/download/mini-css-extract-plugin-0.9.0.tgz?cache=0&sync_timestamp=1625489047594&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmini-css-extract-plugin%2Fdownload%2Fmini-css-extract-plugin-0.9.0.tgz" + integrity sha1-R/LPB6oWWrNXM7H8l9TEbAVkM54= + dependencies: + loader-utils "^1.1.0" + normalize-url "1.9.1" + schema-utils "^1.0.0" + webpack-sources "^1.1.0" + +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.nlark.com/minimalistic-assert/download/minimalistic-assert-1.0.1.tgz" + integrity sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc= + +minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.nlark.com/minimalistic-crypto-utils/download/minimalistic-crypto-utils-1.0.1.tgz" + integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= + +minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.nlark.com/minimatch/download/minimatch-3.0.4.tgz" + integrity sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM= + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.nlark.com/minimist/download/minimist-1.2.5.tgz?cache=0&sync_timestamp=1622685831901&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fminimist%2Fdownload%2Fminimist-1.2.5.tgz" + integrity sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI= + +minipass-collect@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz" + integrity sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA== + dependencies: + minipass "^3.0.0" + +minipass-flush@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz" + integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== + dependencies: + minipass "^3.0.0" + +minipass-pipeline@^1.2.2: + version "1.2.4" + resolved "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz" + integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== + dependencies: + minipass "^3.0.0" + +minipass@^3.0.0, minipass@^3.1.1: + version "3.1.3" + resolved "https://registry.nlark.com/minipass/download/minipass-3.1.3.tgz" + integrity sha1-fUL/HzljVILhX5zbUxhN7r1YFf0= + dependencies: + yallist "^4.0.0" + +minizlib@^2.1.1: + version "2.1.2" + resolved "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz" + integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== + dependencies: + minipass "^3.0.0" + yallist "^4.0.0" + +mississippi@^3.0.0: + version "3.0.0" + resolved "https://registry.nlark.com/mississippi/download/mississippi-3.0.0.tgz" + integrity sha1-6goykfl+C16HdrNj1fChLZTGcCI= + dependencies: + concat-stream "^1.5.0" + duplexify "^3.4.2" + end-of-stream "^1.1.0" + flush-write-stream "^1.0.0" + from2 "^2.1.0" + parallel-transform "^1.1.0" + pump "^3.0.0" + pumpify "^1.3.3" + stream-each "^1.1.0" + through2 "^2.0.0" + +mixin-deep@^1.2.0: + version "1.3.2" + resolved "https://registry.nlark.com/mixin-deep/download/mixin-deep-1.3.2.tgz" + integrity sha1-ESC0PcNZp4Xc5ltVuC4lfM9HlWY= + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.5, mkdirp@~0.5.0, mkdirp@~0.5.1: + version "0.5.5" + resolved "https://registry.nlark.com/mkdirp/download/mkdirp-0.5.5.tgz" + integrity sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8= + dependencies: + minimist "^1.2.5" + +mkdirp@^1.0.3, mkdirp@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +moment@^2.21.0: + version "2.29.1" + resolved "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz" + integrity sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ== + +move-concurrently@^1.0.1: + version "1.0.1" + resolved "https://registry.nlark.com/move-concurrently/download/move-concurrently-1.0.1.tgz" + integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= + dependencies: + aproba "^1.1.1" + copy-concurrently "^1.0.0" + fs-write-stream-atomic "^1.0.8" + mkdirp "^0.5.1" + rimraf "^2.5.4" + run-queue "^1.0.3" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + +ms@2.1.1: + version "2.1.1" + resolved "https://registry.nlark.com/ms/download/ms-2.1.1.tgz" + integrity sha1-MKWGTrPrsKZvLr5tcnrwagnYbgo= + +ms@2.1.2, ms@^2.1.1: + version "2.1.2" + resolved "https://registry.nlark.com/ms/download/ms-2.1.2.tgz" + integrity sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk= + +multicast-dns-service-types@^1.1.0: + version "1.1.0" + resolved "https://registry.nlark.com/multicast-dns-service-types/download/multicast-dns-service-types-1.1.0.tgz" + integrity sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE= + +multicast-dns@^6.0.1: + version "6.2.3" + resolved "https://registry.nlark.com/multicast-dns/download/multicast-dns-6.2.3.tgz" + integrity sha1-oOx72QVcQoL3kMPIL04o2zsxsik= + dependencies: + dns-packet "^1.3.1" + thunky "^1.0.2" + +mutationobserver-shim@^0.3.2: + version "0.3.7" + resolved "https://registry.npmjs.org/mutationobserver-shim/-/mutationobserver-shim-0.3.7.tgz" + integrity sha512-oRIDTyZQU96nAiz2AQyngwx1e89iApl2hN5AOYwyxLUB47UYsU3Wv9lJWqH5y/QdiYkc5HQLi23ZNB3fELdHcQ== + +mute-stream@0.0.8: + version "0.0.8" + resolved "https://registry.nlark.com/mute-stream/download/mute-stream-0.0.8.tgz" + integrity sha1-FjDEKyJR/4HiooPelqVJfqkuXg0= + +mz@^2.4.0: + version "2.7.0" + resolved "https://registry.nlark.com/mz/download/mz-2.7.0.tgz" + integrity sha1-lQCAV6Vsr63CvGPd5/n/aVWUjjI= + dependencies: + any-promise "^1.0.0" + object-assign "^4.0.1" + thenify-all "^1.0.0" + +nan@^2.12.1: + version "2.17.0" + resolved "https://registry.npmmirror.com/nan/-/nan-2.17.0.tgz#c0150a2368a182f033e9aa5195ec76ea41a199cb" + integrity sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ== + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.nlark.com/nanomatch/download/nanomatch-1.2.13.tgz" + integrity sha1-uHqKpPwN6P5r6IiVs4mD/yZb0Rk= + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +nanopop@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/nanopop/-/nanopop-2.1.0.tgz" + integrity sha512-jGTwpFRexSH+fxappnGQtN9dspgE2ipa1aOjtR24igG0pv6JCxImIAmrLRHX+zUF5+1wtsFVbKyfP51kIGAVNw== + +native-request@^1.0.5: + version "1.0.8" + resolved "https://registry.nlark.com/native-request/download/native-request-1.0.8.tgz" + integrity sha1-j2a/YG4PfqJ8DlmV6y9dA+M65vs= + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.nlark.com/natural-compare/download/natural-compare-1.4.0.tgz" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + +negotiator@0.6.2: + version "0.6.2" + resolved "https://registry.nlark.com/negotiator/download/negotiator-0.6.2.tgz" + integrity sha1-/qz3zPUlp3rpY0Q2pkiD/+yjRvs= + +neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1: + version "2.6.2" + resolved "https://registry.nlark.com/neo-async/download/neo-async-2.6.2.tgz" + integrity sha1-tKr7k+OustgXTKU88WOrfXMIMF8= + +next-tick@~1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz" + integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.nlark.com/nice-try/download/nice-try-1.0.5.tgz" + integrity sha1-ozeKdpbOfSI+iPybdkvX7xCJ42Y= + +no-case@^2.2.0: + version "2.3.2" + resolved "https://registry.nlark.com/no-case/download/no-case-2.3.2.tgz" + integrity sha1-YLgTOWvjmz8SiKTB7V0efSi0ZKw= + dependencies: + lower-case "^1.1.1" + +node-emoji@^1.10.0: + version "1.10.0" + resolved "https://registry.npmjs.org/node-emoji/-/node-emoji-1.10.0.tgz" + integrity sha512-Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw== + dependencies: + lodash.toarray "^4.4.0" + +node-forge@^0.10.0: + version "0.10.0" + resolved "https://registry.nlark.com/node-forge/download/node-forge-0.10.0.tgz" + integrity sha1-Mt6ir7Ppkm8C7lzoeUkCaRpna/M= + +node-ipc@^9.1.1: + version "9.2.1" + resolved "https://registry.nlark.com/node-ipc/download/node-ipc-9.2.1.tgz?cache=0&sync_timestamp=1625689302753&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnode-ipc%2Fdownload%2Fnode-ipc-9.2.1.tgz" + integrity sha1-sy9mEV+dbOhB3E7CAJ1qcz+Yu2s= + dependencies: + event-pubsub "4.3.0" + js-message "1.0.7" + js-queue "2.0.2" + +node-libs-browser@^2.0.0, node-libs-browser@^2.2.1: + version "2.2.1" + resolved "https://registry.nlark.com/node-libs-browser/download/node-libs-browser-2.2.1.tgz" + integrity sha1-tk9RPRgzhiX5A0bSew0jXmMfZCU= + dependencies: + assert "^1.1.1" + browserify-zlib "^0.2.0" + buffer "^4.3.0" + console-browserify "^1.1.0" + constants-browserify "^1.0.0" + crypto-browserify "^3.11.0" + domain-browser "^1.1.1" + events "^3.0.0" + https-browserify "^1.0.0" + os-browserify "^0.3.0" + path-browserify "0.0.1" + process "^0.11.10" + punycode "^1.2.4" + querystring-es3 "^0.2.0" + readable-stream "^2.3.3" + stream-browserify "^2.0.1" + stream-http "^2.7.2" + string_decoder "^1.0.0" + timers-browserify "^2.0.4" + tty-browserify "0.0.0" + url "^0.11.0" + util "^0.11.0" + vm-browserify "^1.0.1" + +node-releases@^1.1.71: + version "1.1.73" + resolved "https://registry.nlark.com/node-releases/download/node-releases-1.1.73.tgz" + integrity sha1-3U6B3dUnf/hGuAtSu0DEnt96eyA= + +normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.5.0: + version "2.5.0" + resolved "https://registry.nlark.com/normalize-package-data/download/normalize-package-data-2.5.0.tgz" + integrity sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg= + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/normalize-path/download/normalize-path-1.0.0.tgz" + integrity sha1-MtDkcvkf80VwHBWoMRAY07CpA3k= + +normalize-path@^2.1.1: + version "2.1.1" + resolved "https://registry.nlark.com/normalize-path/download/normalize-path-2.1.1.tgz" + integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + dependencies: + remove-trailing-separator "^1.0.1" + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.nlark.com/normalize-path/download/normalize-path-3.0.0.tgz" + integrity sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU= + +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.nlark.com/normalize-range/download/normalize-range-0.1.2.tgz" + integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= + +normalize-url@1.9.1, normalize-url@^1.4.0: + version "1.9.1" + resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz" + integrity sha1-LMDWazHqIwNkWENuNiDYWVTGbDw= + dependencies: + object-assign "^4.0.1" + prepend-http "^1.0.0" + query-string "^4.1.0" + sort-keys "^1.0.0" + +normalize-url@^3.0.0: + version "3.3.0" + resolved "https://registry.nlark.com/normalize-url/download/normalize-url-3.3.0.tgz" + integrity sha1-suHE3E98bVd0PfczpPWXjRhlBVk= + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.nlark.com/npm-run-path/download/npm-run-path-2.0.2.tgz" + integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= + dependencies: + path-key "^2.0.0" + +npm-run-path@^4.0.0: + version "4.0.1" + resolved "https://registry.nlark.com/npm-run-path/download/npm-run-path-4.0.1.tgz" + integrity sha1-t+zR5e1T2o43pV4cImnguX7XSOo= + dependencies: + path-key "^3.0.0" + +nprogress@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz" + integrity sha1-y480xTIT2JVyP8urkH6UIq28r7E= + +nth-check@^1.0.2: + version "1.0.2" + resolved "https://registry.nlark.com/nth-check/download/nth-check-1.0.2.tgz" + integrity sha1-sr0pXDfj3VijvwcAN2Zjuk2c8Fw= + dependencies: + boolbase "~1.0.0" + +nth-check@^2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/nth-check/download/nth-check-2.0.0.tgz" + integrity sha1-G7T22scAcvwxPoyc0UF7UHTAoSU= + dependencies: + boolbase "^1.0.0" + +num2fraction@^1.2.2: + version "1.2.2" + resolved "https://registry.nlark.com/num2fraction/download/num2fraction-1.2.2.tgz" + integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4= + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz" + integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= + +oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.nlark.com/oauth-sign/download/oauth-sign-0.9.0.tgz" + integrity sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU= + +object-assign@4.x, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.nlark.com/object-assign/download/object-assign-4.1.1.tgz" + integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.nlark.com/object-copy/download/object-copy-0.1.0.tgz" + integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-hash@^1.1.4: + version "1.3.1" + resolved "https://registry.nlark.com/object-hash/download/object-hash-1.3.1.tgz" + integrity sha1-/eRSCYqVHLFF8Dm7fUVUSd3BJt8= + +object-inspect@^1.11.0, object-inspect@^1.9.0: + version "1.11.0" + resolved "https://registry.nlark.com/object-inspect/download/object-inspect-1.11.0.tgz" + integrity sha1-nc6xRs7dQUig2eUauI00z1CZIrE= + +object-is@^1.0.1: + version "1.1.5" + resolved "https://registry.nlark.com/object-is/download/object-is-1.1.5.tgz" + integrity sha1-ud7qpfx/GEag+uzc7sE45XePU6w= + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +object-keys@^1.0.12, object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.nlark.com/object-keys/download/object-keys-1.1.1.tgz" + integrity sha1-HEfyct8nfzsdrwYWd9nILiMixg4= + +object-path@^0.9.2: + version "0.9.2" + resolved "https://registry.npmjs.org/object-path/-/object-path-0.9.2.tgz" + integrity sha1-D9mnT8X60a45aLWGvaXGMr1sBaU= + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.nlark.com/object-visit/download/object-visit-1.0.1.tgz" + integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + dependencies: + isobject "^3.0.0" + +object.assign@^4.1.0, object.assign@^4.1.2: + version "4.1.2" + resolved "https://registry.nlark.com/object.assign/download/object.assign-4.1.2.tgz" + integrity sha1-DtVKNC7Os3s4/3brgxoOeIy2OUA= + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + has-symbols "^1.0.1" + object-keys "^1.1.1" + +object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0: + version "2.1.2" + resolved "https://registry.nlark.com/object.getownpropertydescriptors/download/object.getownpropertydescriptors-2.1.2.tgz" + integrity sha1-G9Y66s8NXS0vMbXjk7A6fGAaI/c= + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.2" + +object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.nlark.com/object.pick/download/object.pick-1.3.0.tgz" + integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + dependencies: + isobject "^3.0.1" + +object.values@^1.1.0: + version "1.1.4" + resolved "https://registry.nlark.com/object.values/download/object.values-1.1.4.tgz" + integrity sha1-DSc3YoM+gWtpOmN9MAc+cFFTWzA= + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.2" + +obuf@^1.0.0, obuf@^1.1.2: + version "1.1.2" + resolved "https://registry.nlark.com/obuf/download/obuf-1.1.2.tgz" + integrity sha1-Cb6jND1BhZ69RGKS0RydTbYZCE4= + +omit.js@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/omit.js/-/omit.js-1.0.2.tgz" + integrity sha512-/QPc6G2NS+8d4L/cQhbk6Yit1WTB6Us2g84A7A/1+w9d/eRGHyEqC5kkQtHVoHZ5NFWGG7tUGgrhVZwgZanKrQ== + dependencies: + babel-runtime "^6.23.0" + +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.nlark.com/on-finished/download/on-finished-2.3.0.tgz" + integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= + dependencies: + ee-first "1.1.1" + +on-headers@~1.0.2: + version "1.0.2" + resolved "https://registry.nlark.com/on-headers/download/on-headers-1.0.2.tgz" + integrity sha1-dysK5qqlJcOZ5Imt+tkMQD6zwo8= + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.nlark.com/once/download/once-1.4.0.tgz" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +onetime@^2.0.0: + version "2.0.1" + resolved "https://registry.nlark.com/onetime/download/onetime-2.0.1.tgz" + integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= + dependencies: + mimic-fn "^1.0.0" + +onetime@^5.1.0: + version "5.1.2" + resolved "https://registry.nlark.com/onetime/download/onetime-5.1.2.tgz" + integrity sha1-0Oluu1awdHbfHdnEgG5SN5hcpF4= + dependencies: + mimic-fn "^2.1.0" + +open@^6.3.0: + version "6.4.0" + resolved "https://registry.nlark.com/open/download/open-6.4.0.tgz" + integrity sha1-XBPpbQ3IlGhhZPGJZez+iJ7PyKk= + dependencies: + is-wsl "^1.1.0" + +opencollective-postinstall@^2.0.2: + version "2.0.3" + resolved "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz" + integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q== + +opener@^1.5.1: + version "1.5.2" + resolved "https://registry.nlark.com/opener/download/opener-1.5.2.tgz" + integrity sha1-XTfh81B3udysQwE3InGv3rKhNZg= + +opn@^5.1.0, opn@^5.5.0: + version "5.5.0" + resolved "https://registry.nlark.com/opn/download/opn-5.5.0.tgz" + integrity sha1-/HFk+rVtI1kExRw7J9pnWMo7m/w= + dependencies: + is-wsl "^1.1.0" + +optionator@^0.8.3: + version "0.8.3" + resolved "https://registry.nlark.com/optionator/download/optionator-0.8.3.tgz" + integrity sha1-hPodA2/p08fiHZmIS2ARZ+yPtJU= + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.6" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + word-wrap "~1.2.3" + +ora@^3.4.0: + version "3.4.0" + resolved "https://registry.nlark.com/ora/download/ora-3.4.0.tgz" + integrity sha1-vwdSSRBZo+8+1MhQl1Md6f280xg= + dependencies: + chalk "^2.4.2" + cli-cursor "^2.1.0" + cli-spinners "^2.0.0" + log-symbols "^2.2.0" + strip-ansi "^5.2.0" + wcwidth "^1.0.1" + +original@>=0.0.5, original@^1.0.0: + version "1.0.2" + resolved "https://registry.nlark.com/original/download/original-1.0.2.tgz" + integrity sha1-5EKmHP/hxf0gpl8yYcJmY7MD8l8= + dependencies: + url-parse "^1.4.3" + +os-browserify@^0.3.0: + version "0.3.0" + resolved "https://registry.nlark.com/os-browserify/download/os-browserify-0.3.0.tgz" + integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= + +os-homedir@^1.0.0, os-homedir@^1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz" + integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= + +os-locale@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz" + integrity sha1-IPnxeuKe00XoveWDsT0gCYA8FNk= + dependencies: + lcid "^1.0.0" + +os-locale@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz" + integrity sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA== + dependencies: + execa "^0.7.0" + lcid "^1.0.0" + mem "^1.1.0" + +os-tmpdir@^1.0.1, os-tmpdir@~1.0.2: + version "1.0.2" + resolved "https://registry.nlark.com/os-tmpdir/download/os-tmpdir-1.0.2.tgz" + integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/p-finally/download/p-finally-1.0.0.tgz" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= + +p-finally@^2.0.0: + version "2.0.1" + resolved "https://registry.nlark.com/p-finally/download/p-finally-2.0.1.tgz" + integrity sha1-vW/KqcVZoJa2gIBvTWV7Pw8kBWE= + +p-limit@^1.1.0: + version "1.3.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz" + integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== + dependencies: + p-try "^1.0.0" + +p-limit@^2.0.0, p-limit@^2.2.0, p-limit@^2.2.1: + version "2.3.0" + resolved "https://registry.nlark.com/p-limit/download/p-limit-2.3.0.tgz" + integrity sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE= + dependencies: + p-try "^2.0.0" + +p-locate@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz" + integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= + dependencies: + p-limit "^1.1.0" + +p-locate@^3.0.0: + version "3.0.0" + resolved "https://registry.nlark.com/p-locate/download/p-locate-3.0.0.tgz" + integrity sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ= + dependencies: + p-limit "^2.0.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.nlark.com/p-locate/download/p-locate-4.1.0.tgz" + integrity sha1-o0KLtwiLOmApL2aRkni3wpetTwc= + dependencies: + p-limit "^2.2.0" + +p-map@^1.1.1: + version "1.2.0" + resolved "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz" + integrity sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA== + +p-map@^2.0.0: + version "2.1.0" + resolved "https://registry.nlark.com/p-map/download/p-map-2.1.0.tgz?cache=0&sync_timestamp=1627082563421&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-map%2Fdownload%2Fp-map-2.1.0.tgz" + integrity sha1-MQko/u+cnsxltosXaTAYpmXOoXU= + +p-map@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz" + integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== + dependencies: + aggregate-error "^3.0.0" + +p-retry@^3.0.1: + version "3.0.1" + resolved "https://registry.nlark.com/p-retry/download/p-retry-3.0.1.tgz" + integrity sha1-MWtMiJPiyNwc+okfQGxLQivr8yg= + dependencies: + retry "^0.12.0" + +p-try@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz" + integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.nlark.com/p-try/download/p-try-2.2.0.tgz" + integrity sha1-yyhoVA4xPWHeWPr741zpAE1VQOY= + +pako@~1.0.5: + version "1.0.11" + resolved "https://registry.nlark.com/pako/download/pako-1.0.11.tgz" + integrity sha1-bJWZ00DVTf05RjgCUqNXBaa5kr8= + +parallel-transform@^1.1.0: + version "1.2.0" + resolved "https://registry.nlark.com/parallel-transform/download/parallel-transform-1.2.0.tgz" + integrity sha1-kEnKN9bLIYLDsdLHIL6U0UpYFPw= + dependencies: + cyclist "^1.0.1" + inherits "^2.0.3" + readable-stream "^2.1.5" + +param-case@2.1.x: + version "2.1.1" + resolved "https://registry.nlark.com/param-case/download/param-case-2.1.1.tgz" + integrity sha1-35T9jPZTHs915r75oIWPvHK+Ikc= + dependencies: + no-case "^2.2.0" + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.nlark.com/parent-module/download/parent-module-1.0.1.tgz" + integrity sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI= + dependencies: + callsites "^3.0.0" + +parse-asn1@^5.0.0, parse-asn1@^5.1.5: + version "5.1.6" + resolved "https://registry.nlark.com/parse-asn1/download/parse-asn1-5.1.6.tgz" + integrity sha1-OFCAo+wTy2KmLTlAnLPoiETNrtQ= + dependencies: + asn1.js "^5.2.0" + browserify-aes "^1.0.0" + evp_bytestokey "^1.0.0" + pbkdf2 "^3.0.3" + safe-buffer "^5.1.1" + +parse-json@^2.2.0: + version "2.2.0" + resolved "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz" + integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= + dependencies: + error-ex "^1.2.0" + +parse-json@^4.0.0: + version "4.0.0" + resolved "https://registry.nlark.com/parse-json/download/parse-json-4.0.0.tgz" + integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= + dependencies: + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + +parse-json@^5.0.0: + version "5.2.0" + resolved "https://registry.nlark.com/parse-json/download/parse-json-5.2.0.tgz" + integrity sha1-x2/Gbe5UIxyWKyK8yKcs8vmXU80= + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +parse5-htmlparser2-tree-adapter@^6.0.0: + version "6.0.1" + resolved "https://registry.nlark.com/parse5-htmlparser2-tree-adapter/download/parse5-htmlparser2-tree-adapter-6.0.1.tgz" + integrity sha1-LN+a2CMyEUA3DU2/XT6Sx8jdxuY= + dependencies: + parse5 "^6.0.1" + +parse5@^5.1.1: + version "5.1.1" + resolved "https://registry.nlark.com/parse5/download/parse5-5.1.1.tgz" + integrity sha1-9o5OW6GFKsLK3AD0VV//bCq7YXg= + +parse5@^6.0.1: + version "6.0.1" + resolved "https://registry.nlark.com/parse5/download/parse5-6.0.1.tgz" + integrity sha1-4aHAhcVps9wIMhGE8Zo5zCf3wws= + +parseurl@~1.3.2, parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.nlark.com/parseurl/download/parseurl-1.3.3.tgz" + integrity sha1-naGee+6NEt/wUT7Vt2lXeTvC6NQ= + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.nlark.com/pascalcase/download/pascalcase-0.1.1.tgz" + integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + +path-browserify@0.0.1: + version "0.0.1" + resolved "https://registry.nlark.com/path-browserify/download/path-browserify-0.0.1.tgz" + integrity sha1-5sTd1+06onxoogzE5Q4aTug7vEo= + +path-dirname@^1.0.0: + version "1.0.2" + resolved "https://registry.nlark.com/path-dirname/download/path-dirname-1.0.2.tgz" + integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= + +path-exists@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz" + integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= + dependencies: + pinkie-promise "^2.0.0" + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.nlark.com/path-exists/download/path-exists-3.0.0.tgz" + integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.nlark.com/path-exists/download/path-exists-4.0.0.tgz" + integrity sha1-UTvb4tO5XXdi6METfvoZXGxhtbM= + +path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: + version "1.0.1" + resolved "https://registry.nlark.com/path-is-absolute/download/path-is-absolute-1.0.1.tgz" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-is-inside@^1.0.1, path-is-inside@^1.0.2: + version "1.0.2" + resolved "https://registry.nlark.com/path-is-inside/download/path-is-inside-1.0.2.tgz" + integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= + +path-key@^2.0.0, path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.nlark.com/path-key/download/path-key-2.0.1.tgz" + integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.nlark.com/path-key/download/path-key-3.1.1.tgz" + integrity sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U= + +path-parse@^1.0.6: + version "1.0.7" + resolved "https://registry.nlark.com/path-parse/download/path-parse-1.0.7.tgz" + integrity sha1-+8EUtgykKzDZ2vWFjkvWi77bZzU= + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.nlark.com/path-to-regexp/download/path-to-regexp-0.1.7.tgz" + integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= + +path-type@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz" + integrity sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE= + dependencies: + graceful-fs "^4.1.2" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +path-type@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz" + integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= + dependencies: + pify "^2.0.0" + +path-type@^3.0.0: + version "3.0.0" + resolved "https://registry.nlark.com/path-type/download/path-type-3.0.0.tgz" + integrity sha1-zvMdyOCho7sNEFwM2Xzzv0f0428= + dependencies: + pify "^3.0.0" + +pbkdf2@^3.0.3: + version "3.1.2" + resolved "https://registry.nlark.com/pbkdf2/download/pbkdf2-3.1.2.tgz" + integrity sha1-3YIqoIh1gOUvGgOdw+2hCO+uMHU= + dependencies: + create-hash "^1.1.2" + create-hmac "^1.1.4" + ripemd160 "^2.0.1" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.nlark.com/performance-now/download/performance-now-2.1.0.tgz" + integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= + +photoswipe@^4.1.2: + version "4.1.3" + resolved "https://registry.npmjs.org/photoswipe/-/photoswipe-4.1.3.tgz" + integrity sha512-89Z43IRUyw7ycTolo+AaiDn3W1EEIfox54hERmm9bI12IB9cvRfHSHez3XhAyU8XW2EAFrC+2sKMhh7SJwn0bA== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: + version "2.3.0" + resolved "https://registry.nlark.com/picomatch/download/picomatch-2.3.0.tgz" + integrity sha1-8fBh3o9qS/AiiS4tEoI0+5gwKXI= + +pify@^2.0.0: + version "2.3.0" + resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" + integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.nlark.com/pify/download/pify-3.0.0.tgz" + integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= + +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.nlark.com/pify/download/pify-4.0.1.tgz" + integrity sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE= + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.nlark.com/pinkie-promise/download/pinkie-promise-2.0.1.tgz" + integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.nlark.com/pinkie/download/pinkie-2.0.4.tgz" + integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= + +pkg-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/pkg-dir/download/pkg-dir-1.0.0.tgz" + integrity sha1-ektQio1bstYp1EcFb/TpyTFM89Q= + dependencies: + find-up "^1.0.0" + +pkg-dir@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz" + integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= + dependencies: + find-up "^2.1.0" + +pkg-dir@^3.0.0: + version "3.0.0" + resolved "https://registry.nlark.com/pkg-dir/download/pkg-dir-3.0.0.tgz" + integrity sha1-J0kCDyOe2ZCIGx9xIQ1R62UjvqM= + dependencies: + find-up "^3.0.0" + +pkg-dir@^4.1.0: + version "4.2.0" + resolved "https://registry.nlark.com/pkg-dir/download/pkg-dir-4.2.0.tgz" + integrity sha1-8JkTPfft5CLoHR2ESCcO6z5CYfM= + dependencies: + find-up "^4.0.0" + +pnp-webpack-plugin@^1.6.4: + version "1.7.0" + resolved "https://registry.nlark.com/pnp-webpack-plugin/download/pnp-webpack-plugin-1.7.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpnp-webpack-plugin%2Fdownload%2Fpnp-webpack-plugin-1.7.0.tgz" + integrity sha1-ZXQThPbYBW824iVajWf/wghm9ck= + dependencies: + ts-pnp "^1.1.6" + +portfinder@^1.0.26, portfinder@^1.0.9: + version "1.0.28" + resolved "https://registry.nlark.com/portfinder/download/portfinder-1.0.28.tgz" + integrity sha1-Z8RiKFK9U3TdHdkA93n1NGL6x3g= + dependencies: + async "^2.6.2" + debug "^3.1.1" + mkdirp "^0.5.5" + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.nlark.com/posix-character-classes/download/posix-character-classes-0.1.1.tgz" + integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + +postcss-calc@^5.2.0: + version "5.3.1" + resolved "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz" + integrity sha1-d7rnypKK2FcW4v2kLyYb98HWW14= + dependencies: + postcss "^5.0.2" + postcss-message-helpers "^2.0.0" + reduce-css-calc "^1.2.6" + +postcss-calc@^7.0.1: + version "7.0.5" + resolved "https://registry.nlark.com/postcss-calc/download/postcss-calc-7.0.5.tgz" + integrity sha1-+KbpnxLmGcLrwjz2xIb9wVhgkz4= + dependencies: + postcss "^7.0.27" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.0.2" + +postcss-colormin@^2.1.8: + version "2.2.2" + resolved "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz" + integrity sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks= + dependencies: + colormin "^1.0.5" + postcss "^5.0.13" + postcss-value-parser "^3.2.3" + +postcss-colormin@^4.0.3: + version "4.0.3" + resolved "https://registry.nlark.com/postcss-colormin/download/postcss-colormin-4.0.3.tgz" + integrity sha1-rgYLzpPteUrHEmTwgTLVUJVr04E= + dependencies: + browserslist "^4.0.0" + color "^3.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-convert-values@^2.3.4: + version "2.6.1" + resolved "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz" + integrity sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0= + dependencies: + postcss "^5.0.11" + postcss-value-parser "^3.1.2" + +postcss-convert-values@^4.0.1: + version "4.0.1" + resolved "https://registry.nlark.com/postcss-convert-values/download/postcss-convert-values-4.0.1.tgz" + integrity sha1-yjgT7U2g+BL51DcDWE5Enr4Ymn8= + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-discard-comments@^2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz" + integrity sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0= + dependencies: + postcss "^5.0.14" + +postcss-discard-comments@^4.0.2: + version "4.0.2" + resolved "https://registry.nlark.com/postcss-discard-comments/download/postcss-discard-comments-4.0.2.tgz" + integrity sha1-H7q9LCRr/2qq15l7KwkY9NevQDM= + dependencies: + postcss "^7.0.0" + +postcss-discard-duplicates@^2.0.1: + version "2.1.0" + resolved "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz" + integrity sha1-uavye4isGIFYpesSq8riAmO5GTI= + dependencies: + postcss "^5.0.4" + +postcss-discard-duplicates@^4.0.2: + version "4.0.2" + resolved "https://registry.nlark.com/postcss-discard-duplicates/download/postcss-discard-duplicates-4.0.2.tgz" + integrity sha1-P+EzzTyCKC5VD8myORdqkge3hOs= + dependencies: + postcss "^7.0.0" + +postcss-discard-empty@^2.0.1: + version "2.1.0" + resolved "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz" + integrity sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU= + dependencies: + postcss "^5.0.14" + +postcss-discard-empty@^4.0.1: + version "4.0.1" + resolved "https://registry.nlark.com/postcss-discard-empty/download/postcss-discard-empty-4.0.1.tgz" + integrity sha1-yMlR6fc+2UKAGUWERKAq2Qu592U= + dependencies: + postcss "^7.0.0" + +postcss-discard-overridden@^0.1.1: + version "0.1.1" + resolved "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz" + integrity sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg= + dependencies: + postcss "^5.0.16" + +postcss-discard-overridden@^4.0.1: + version "4.0.1" + resolved "https://registry.nlark.com/postcss-discard-overridden/download/postcss-discard-overridden-4.0.1.tgz" + integrity sha1-ZSrvipZybwKfXj4AFG7npOdV/1c= + dependencies: + postcss "^7.0.0" + +postcss-discard-unused@^2.2.1: + version "2.2.3" + resolved "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz" + integrity sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM= + dependencies: + postcss "^5.0.14" + uniqs "^2.0.0" + +postcss-filter-plugins@^2.0.0: + version "2.0.3" + resolved "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.3.tgz" + integrity sha512-T53GVFsdinJhgwm7rg1BzbeBRomOg9y5MBVhGcsV0CxurUdVj1UlPdKtn7aqYA/c/QVkzKMjq2bSV5dKG5+AwQ== + dependencies: + postcss "^5.0.4" + +postcss-load-config@^1.1.0: + version "1.2.0" + resolved "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-1.2.0.tgz" + integrity sha1-U56a/J3chiASHr+djDZz4M5Q0oo= + dependencies: + cosmiconfig "^2.1.0" + object-assign "^4.1.0" + postcss-load-options "^1.2.0" + postcss-load-plugins "^2.3.0" + +postcss-load-config@^2.0.0: + version "2.1.2" + resolved "https://registry.nlark.com/postcss-load-config/download/postcss-load-config-2.1.2.tgz" + integrity sha1-xepQTyxK7zPHNZo03jVzdyrXUCo= + dependencies: + cosmiconfig "^5.0.0" + import-cwd "^2.0.0" + +postcss-load-options@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/postcss-load-options/-/postcss-load-options-1.2.0.tgz" + integrity sha1-sJixVZ3awt8EvAuzdfmaXP4rbYw= + dependencies: + cosmiconfig "^2.1.0" + object-assign "^4.1.0" + +postcss-load-plugins@^2.3.0: + version "2.3.0" + resolved "https://registry.npmjs.org/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz" + integrity sha1-dFdoEWWZrKLwCfrUJrABdQSdjZI= + dependencies: + cosmiconfig "^2.1.1" + object-assign "^4.1.0" + +postcss-loader@^3.0.0: + version "3.0.0" + resolved "https://registry.nlark.com/postcss-loader/download/postcss-loader-3.0.0.tgz?cache=0&sync_timestamp=1625142952652&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-loader%2Fdownload%2Fpostcss-loader-3.0.0.tgz" + integrity sha1-a5eUPkfHLYRfqeA/Jzdz1OjdbC0= + dependencies: + loader-utils "^1.1.0" + postcss "^7.0.0" + postcss-load-config "^2.0.0" + schema-utils "^1.0.0" + +postcss-merge-idents@^2.1.5: + version "2.1.7" + resolved "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz" + integrity sha1-TFUwMTwI4dWzu/PSu8dH4njuonA= + dependencies: + has "^1.0.1" + postcss "^5.0.10" + postcss-value-parser "^3.1.1" + +postcss-merge-longhand@^2.0.1: + version "2.0.2" + resolved "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz" + integrity sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg= + dependencies: + postcss "^5.0.4" + +postcss-merge-longhand@^4.0.11: + version "4.0.11" + resolved "https://registry.nlark.com/postcss-merge-longhand/download/postcss-merge-longhand-4.0.11.tgz" + integrity sha1-YvSaE+Sg7gTnuY9CuxYGLKJUniQ= + dependencies: + css-color-names "0.0.4" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + stylehacks "^4.0.0" + +postcss-merge-rules@^2.0.3: + version "2.1.2" + resolved "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz" + integrity sha1-0d9d+qexrMO+VT8OnhDofGG19yE= + dependencies: + browserslist "^1.5.2" + caniuse-api "^1.5.2" + postcss "^5.0.4" + postcss-selector-parser "^2.2.2" + vendors "^1.0.0" + +postcss-merge-rules@^4.0.3: + version "4.0.3" + resolved "https://registry.nlark.com/postcss-merge-rules/download/postcss-merge-rules-4.0.3.tgz" + integrity sha1-NivqT/Wh+Y5AdacTxsslrv75plA= + dependencies: + browserslist "^4.0.0" + caniuse-api "^3.0.0" + cssnano-util-same-parent "^4.0.0" + postcss "^7.0.0" + postcss-selector-parser "^3.0.0" + vendors "^1.0.0" + +postcss-message-helpers@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz" + integrity sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4= + +postcss-minify-font-values@^1.0.2: + version "1.0.5" + resolved "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz" + integrity sha1-S1jttWZB66fIR0qzUmyv17vey2k= + dependencies: + object-assign "^4.0.1" + postcss "^5.0.4" + postcss-value-parser "^3.0.2" + +postcss-minify-font-values@^4.0.2: + version "4.0.2" + resolved "https://registry.nlark.com/postcss-minify-font-values/download/postcss-minify-font-values-4.0.2.tgz" + integrity sha1-zUw0TM5HQ0P6xdgiBqssvLiv1aY= + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-minify-gradients@^1.0.1: + version "1.0.5" + resolved "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz" + integrity sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE= + dependencies: + postcss "^5.0.12" + postcss-value-parser "^3.3.0" + +postcss-minify-gradients@^4.0.2: + version "4.0.2" + resolved "https://registry.nlark.com/postcss-minify-gradients/download/postcss-minify-gradients-4.0.2.tgz" + integrity sha1-k7KcL/UJnFNe7NpWxKpuZlpmNHE= + dependencies: + cssnano-util-get-arguments "^4.0.0" + is-color-stop "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-minify-params@^1.0.4: + version "1.2.2" + resolved "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz" + integrity sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM= + dependencies: + alphanum-sort "^1.0.1" + postcss "^5.0.2" + postcss-value-parser "^3.0.2" + uniqs "^2.0.0" + +postcss-minify-params@^4.0.2: + version "4.0.2" + resolved "https://registry.nlark.com/postcss-minify-params/download/postcss-minify-params-4.0.2.tgz" + integrity sha1-a5zvAwwR41Jh+V9hjJADbWgNuHQ= + dependencies: + alphanum-sort "^1.0.0" + browserslist "^4.0.0" + cssnano-util-get-arguments "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + uniqs "^2.0.0" + +postcss-minify-selectors@^2.0.4: + version "2.1.1" + resolved "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz" + integrity sha1-ssapjAByz5G5MtGkllCBFDEXNb8= + dependencies: + alphanum-sort "^1.0.2" + has "^1.0.1" + postcss "^5.0.14" + postcss-selector-parser "^2.0.0" + +postcss-minify-selectors@^4.0.2: + version "4.0.2" + resolved "https://registry.nlark.com/postcss-minify-selectors/download/postcss-minify-selectors-4.0.2.tgz" + integrity sha1-4uXrQL/uUA0M2SQ1APX46kJi+9g= + dependencies: + alphanum-sort "^1.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-selector-parser "^3.0.0" + +postcss-modules-extract-imports@^1.2.0: + version "1.2.1" + resolved "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz" + integrity sha512-6jt9XZwUhwmRUhb/CkyJY020PYaPJsCyt3UjbaWo6XEbH/94Hmv6MP7fG2C5NDU/BcHzyGYxNtHvM+LTf9HrYw== + dependencies: + postcss "^6.0.1" + +postcss-modules-extract-imports@^2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/postcss-modules-extract-imports/download/postcss-modules-extract-imports-2.0.0.tgz" + integrity sha1-gYcZoa4doyX5gyRGsBE27rSTzX4= + dependencies: + postcss "^7.0.5" + +postcss-modules-local-by-default@^1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz" + integrity sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk= + dependencies: + css-selector-tokenizer "^0.7.0" + postcss "^6.0.1" + +postcss-modules-local-by-default@^3.0.2: + version "3.0.3" + resolved "https://registry.nlark.com/postcss-modules-local-by-default/download/postcss-modules-local-by-default-3.0.3.tgz" + integrity sha1-uxTgzHgnnVBNvcv9fgyiiZP/u7A= + dependencies: + icss-utils "^4.1.1" + postcss "^7.0.32" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.1.0" + +postcss-modules-scope@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz" + integrity sha1-1upkmUx5+XtipytCb75gVqGUu5A= + dependencies: + css-selector-tokenizer "^0.7.0" + postcss "^6.0.1" + +postcss-modules-scope@^2.2.0: + version "2.2.0" + resolved "https://registry.nlark.com/postcss-modules-scope/download/postcss-modules-scope-2.2.0.tgz" + integrity sha1-OFyuATzHdD9afXYC0Qc6iequYu4= + dependencies: + postcss "^7.0.6" + postcss-selector-parser "^6.0.0" + +postcss-modules-values@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz" + integrity sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA= + dependencies: + icss-replace-symbols "^1.1.0" + postcss "^6.0.1" + +postcss-modules-values@^3.0.0: + version "3.0.0" + resolved "https://registry.nlark.com/postcss-modules-values/download/postcss-modules-values-3.0.0.tgz" + integrity sha1-W1AA1uuuKbQlUwG0o6VFdEI+fxA= + dependencies: + icss-utils "^4.0.0" + postcss "^7.0.6" + +postcss-normalize-charset@^1.1.0: + version "1.1.1" + resolved "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz" + integrity sha1-757nEhLX/nWceO0WL2HtYrXLk/E= + dependencies: + postcss "^5.0.5" + +postcss-normalize-charset@^4.0.1: + version "4.0.1" + resolved "https://registry.nlark.com/postcss-normalize-charset/download/postcss-normalize-charset-4.0.1.tgz" + integrity sha1-izWt067oOhNrBHHg1ZvlilAoXdQ= + dependencies: + postcss "^7.0.0" + +postcss-normalize-display-values@^4.0.2: + version "4.0.2" + resolved "https://registry.nlark.com/postcss-normalize-display-values/download/postcss-normalize-display-values-4.0.2.tgz" + integrity sha1-Db4EpM6QY9RmftK+R2u4MMglk1o= + dependencies: + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-positions@^4.0.2: + version "4.0.2" + resolved "https://registry.nlark.com/postcss-normalize-positions/download/postcss-normalize-positions-4.0.2.tgz" + integrity sha1-BfdX+E8mBDc3g2ipH4ky1LECkX8= + dependencies: + cssnano-util-get-arguments "^4.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-repeat-style@^4.0.2: + version "4.0.2" + resolved "https://registry.nlark.com/postcss-normalize-repeat-style/download/postcss-normalize-repeat-style-4.0.2.tgz" + integrity sha1-xOu8KJ85kaAo1EdRy90RkYsXkQw= + dependencies: + cssnano-util-get-arguments "^4.0.0" + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-string@^4.0.2: + version "4.0.2" + resolved "https://registry.nlark.com/postcss-normalize-string/download/postcss-normalize-string-4.0.2.tgz" + integrity sha1-zUTECrB6DHo23F6Zqs4eyk7CaQw= + dependencies: + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-timing-functions@^4.0.2: + version "4.0.2" + resolved "https://registry.nlark.com/postcss-normalize-timing-functions/download/postcss-normalize-timing-functions-4.0.2.tgz" + integrity sha1-jgCcoqOUnNr4rSPmtquZy159KNk= + dependencies: + cssnano-util-get-match "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-unicode@^4.0.1: + version "4.0.1" + resolved "https://registry.nlark.com/postcss-normalize-unicode/download/postcss-normalize-unicode-4.0.1.tgz" + integrity sha1-hBvUj9zzAZrUuqdJOj02O1KuHPs= + dependencies: + browserslist "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-url@^3.0.7: + version "3.0.8" + resolved "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz" + integrity sha1-EI90s/L82viRov+j6kWSJ5/HgiI= + dependencies: + is-absolute-url "^2.0.0" + normalize-url "^1.4.0" + postcss "^5.0.14" + postcss-value-parser "^3.2.3" + +postcss-normalize-url@^4.0.1: + version "4.0.1" + resolved "https://registry.nlark.com/postcss-normalize-url/download/postcss-normalize-url-4.0.1.tgz" + integrity sha1-EOQ3+GvHx+WPe5ZS7YeNqqlfquE= + dependencies: + is-absolute-url "^2.0.0" + normalize-url "^3.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-normalize-whitespace@^4.0.2: + version "4.0.2" + resolved "https://registry.nlark.com/postcss-normalize-whitespace/download/postcss-normalize-whitespace-4.0.2.tgz" + integrity sha1-vx1AcP5Pzqh9E0joJdjMDF+qfYI= + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-ordered-values@^2.1.0: + version "2.2.3" + resolved "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz" + integrity sha1-7sbCpntsQSqNsgQud/6NpD+VwR0= + dependencies: + postcss "^5.0.4" + postcss-value-parser "^3.0.1" + +postcss-ordered-values@^4.1.2: + version "4.1.2" + resolved "https://registry.nlark.com/postcss-ordered-values/download/postcss-ordered-values-4.1.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-ordered-values%2Fdownload%2Fpostcss-ordered-values-4.1.2.tgz" + integrity sha1-DPdcgg7H1cTSgBiVWeC1ceusDu4= + dependencies: + cssnano-util-get-arguments "^4.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-reduce-idents@^2.2.2: + version "2.4.0" + resolved "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz" + integrity sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM= + dependencies: + postcss "^5.0.4" + postcss-value-parser "^3.0.2" + +postcss-reduce-initial@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz" + integrity sha1-aPgGlfBF0IJjqHmtJA343WT2ROo= + dependencies: + postcss "^5.0.4" + +postcss-reduce-initial@^4.0.3: + version "4.0.3" + resolved "https://registry.nlark.com/postcss-reduce-initial/download/postcss-reduce-initial-4.0.3.tgz" + integrity sha1-f9QuvqXpyBRgljniwuhK4nC6SN8= + dependencies: + browserslist "^4.0.0" + caniuse-api "^3.0.0" + has "^1.0.0" + postcss "^7.0.0" + +postcss-reduce-transforms@^1.0.3: + version "1.0.4" + resolved "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz" + integrity sha1-/3b02CEkN7McKYpC0uFEQCV3GuE= + dependencies: + has "^1.0.1" + postcss "^5.0.8" + postcss-value-parser "^3.0.1" + +postcss-reduce-transforms@^4.0.2: + version "4.0.2" + resolved "https://registry.nlark.com/postcss-reduce-transforms/download/postcss-reduce-transforms-4.0.2.tgz" + integrity sha1-F++kBerMbge+NBSlyi0QdGgdTik= + dependencies: + cssnano-util-get-match "^4.0.0" + has "^1.0.0" + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + +postcss-safe-parser@^1.0.1: + version "1.0.7" + resolved "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-1.0.7.tgz" + integrity sha1-Q70MjITV99hHTeglxpnk2ryscqg= + dependencies: + postcss "^5.0.18" + +postcss-selector-parser@^2.0.0, postcss-selector-parser@^2.2.2: + version "2.2.3" + resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz" + integrity sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A= + dependencies: + flatten "^1.0.2" + indexes-of "^1.0.1" + uniq "^1.0.1" + +postcss-selector-parser@^3.0.0: + version "3.1.2" + resolved "https://registry.nlark.com/postcss-selector-parser/download/postcss-selector-parser-3.1.2.tgz" + integrity sha1-sxD1xMD9r3b5SQK7qjDbaqhPUnA= + dependencies: + dot-prop "^5.2.0" + indexes-of "^1.0.1" + uniq "^1.0.1" + +postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: + version "6.0.6" + resolved "https://registry.nlark.com/postcss-selector-parser/download/postcss-selector-parser-6.0.6.tgz" + integrity sha1-LFu6gXSsL2mBq2MaQqsO5UrzMuo= + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-svgo@^2.1.1: + version "2.1.6" + resolved "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz" + integrity sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0= + dependencies: + is-svg "^2.0.0" + postcss "^5.0.14" + postcss-value-parser "^3.2.3" + svgo "^0.7.0" + +postcss-svgo@^4.0.3: + version "4.0.3" + resolved "https://registry.nlark.com/postcss-svgo/download/postcss-svgo-4.0.3.tgz" + integrity sha1-NDos26yVBdQWJD1Jb3JPOIlMlB4= + dependencies: + postcss "^7.0.0" + postcss-value-parser "^3.0.0" + svgo "^1.0.0" + +postcss-unique-selectors@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz" + integrity sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0= + dependencies: + alphanum-sort "^1.0.1" + postcss "^5.0.4" + uniqs "^2.0.0" + +postcss-unique-selectors@^4.0.1: + version "4.0.1" + resolved "https://registry.nlark.com/postcss-unique-selectors/download/postcss-unique-selectors-4.0.1.tgz" + integrity sha1-lEaRHzKJv9ZMbWgPBzwDsfnuS6w= + dependencies: + alphanum-sort "^1.0.0" + postcss "^7.0.0" + uniqs "^2.0.0" + +postcss-value-parser@^3.0.0, postcss-value-parser@^3.0.1, postcss-value-parser@^3.0.2, postcss-value-parser@^3.1.1, postcss-value-parser@^3.1.2, postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.0: + version "3.3.1" + resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz" + integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== + +postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0: + version "4.1.0" + resolved "https://registry.nlark.com/postcss-value-parser/download/postcss-value-parser-4.1.0.tgz" + integrity sha1-RD9qIM7WSBor2k+oUypuVdeJoss= + +postcss-zindex@^2.0.1: + version "2.2.0" + resolved "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz" + integrity sha1-0hCd3AVbka9n/EyzsCWUZjnSryI= + dependencies: + has "^1.0.1" + postcss "^5.0.4" + uniqs "^2.0.0" + +postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0.14, postcss@^5.0.16, postcss@^5.0.18, postcss@^5.0.2, postcss@^5.0.4, postcss@^5.0.5, postcss@^5.0.6, postcss@^5.0.8, postcss@^5.2.16: + version "5.2.18" + resolved "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz" + integrity sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg== + dependencies: + chalk "^1.1.3" + js-base64 "^2.1.9" + source-map "^0.5.6" + supports-color "^3.2.3" + +postcss@^6.0.1, postcss@^6.0.8: + version "6.0.23" + resolved "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz" + integrity sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag== + dependencies: + chalk "^2.4.1" + source-map "^0.6.1" + supports-color "^5.4.0" + +postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.27, postcss@^7.0.32, postcss@^7.0.36, postcss@^7.0.5, postcss@^7.0.6: + version "7.0.36" + resolved "https://registry.nlark.com/postcss/download/postcss-7.0.36.tgz?cache=0&sync_timestamp=1626882858066&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss%2Fdownload%2Fpostcss-7.0.36.tgz" + integrity sha1-BW+M/6k5ZiqPWQWVDAfVKFZE38s= + dependencies: + chalk "^2.4.2" + source-map "^0.6.1" + supports-color "^6.1.0" + +preact@^10.0.5: + version "10.17.1" + resolved "https://registry.npmmirror.com/preact/-/preact-10.17.1.tgz#0a1b3c658c019e759326b9648c62912cf5c2dde1" + integrity sha512-X9BODrvQ4Ekwv9GURm9AKAGaomqXmip7NQTZgY7gcNmr7XE83adOMJvd3N42id1tMFU7ojiynRsYnY6/BRFxLA== + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.nlark.com/prelude-ls/download/prelude-ls-1.1.2.tgz" + integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= + +prepend-http@^1.0.0: + version "1.0.4" + resolved "https://registry.nlark.com/prepend-http/download/prepend-http-1.0.4.tgz" + integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= + +prettier-linter-helpers@^1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/prettier-linter-helpers/download/prettier-linter-helpers-1.0.0.tgz" + integrity sha1-0j1B/hN1ZG3i0BBNNFSjAIgCz3s= + dependencies: + fast-diff "^1.1.2" + +prettier@^1.18.2, prettier@^1.7.0: + version "1.19.1" + resolved "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz" + integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== + +prettier@^2.2.1: + version "2.3.2" + resolved "https://registry.nlark.com/prettier/download/prettier-2.3.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fprettier%2Fdownload%2Fprettier-2.3.2.tgz" + integrity sha1-7ygKBewlNxLkhiM9tcbyNEHnNC0= + +pretty-error@^2.0.2: + version "2.1.2" + resolved "https://registry.nlark.com/pretty-error/download/pretty-error-2.1.2.tgz" + integrity sha1-von4LYGxyG7I/fvDhQRYgnJ/k7Y= + dependencies: + lodash "^4.17.20" + renderkid "^2.0.4" + +private@^0.1.6, private@^0.1.8: + version "0.1.8" + resolved "https://registry.npmjs.org/private/-/private-0.1.8.tgz" + integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.nlark.com/process-nextick-args/download/process-nextick-args-2.0.1.tgz" + integrity sha1-eCDZsWEgzFXKmud5JoCufbptf+I= + +process@^0.11.10: + version "0.11.10" + resolved "https://registry.nlark.com/process/download/process-0.11.10.tgz" + integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= + +progress@^2.0.0: + version "2.0.3" + resolved "https://registry.nlark.com/progress/download/progress-2.0.3.tgz" + integrity sha1-foz42PW48jnBvGi+tOt4Vn1XLvg= + +promise-inflight@^1.0.1: + version "1.0.1" + resolved "https://registry.nlark.com/promise-inflight/download/promise-inflight-1.0.1.tgz" + integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= + +proxy-addr@~2.0.5: + version "2.0.7" + resolved "https://registry.nlark.com/proxy-addr/download/proxy-addr-2.0.7.tgz" + integrity sha1-8Z/mnOqzEe65S0LnDowgcPm6ECU= + dependencies: + forwarded "0.2.0" + ipaddr.js "1.9.1" + +prr@~1.0.1: + version "1.0.1" + resolved "https://registry.nlark.com/prr/download/prr-1.0.1.tgz" + integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= + +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.nlark.com/pseudomap/download/pseudomap-1.0.2.tgz" + integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= + +psl@^1.1.28: + version "1.8.0" + resolved "https://registry.nlark.com/psl/download/psl-1.8.0.tgz" + integrity sha1-kyb4vPsBOtzABf3/BWrM4CDlHCQ= + +public-encrypt@^4.0.0: + version "4.0.3" + resolved "https://registry.nlark.com/public-encrypt/download/public-encrypt-4.0.3.tgz" + integrity sha1-T8ydd6B+SLp1J+fL4N4z0HATMeA= + dependencies: + bn.js "^4.1.0" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + parse-asn1 "^5.0.0" + randombytes "^2.0.1" + safe-buffer "^5.1.2" + +pump@^2.0.0: + version "2.0.1" + resolved "https://registry.nlark.com/pump/download/pump-2.0.1.tgz" + integrity sha1-Ejma3W5M91Jtlzy8i1zi4pCLOQk= + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.nlark.com/pump/download/pump-3.0.0.tgz" + integrity sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ= + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pumpify@^1.3.3: + version "1.5.1" + resolved "https://registry.nlark.com/pumpify/download/pumpify-1.5.1.tgz" + integrity sha1-NlE74karJ1cLGjdKXOJ4v9dDcM4= + dependencies: + duplexify "^3.6.0" + inherits "^2.0.3" + pump "^2.0.0" + +punycode@1.3.2: + version "1.3.2" + resolved "https://registry.nlark.com/punycode/download/punycode-1.3.2.tgz" + integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= + +punycode@^1.2.4: + version "1.4.1" + resolved "https://registry.nlark.com/punycode/download/punycode-1.4.1.tgz" + integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= + +punycode@^2.1.0, punycode@^2.1.1: + version "2.1.1" + resolved "https://registry.nlark.com/punycode/download/punycode-2.1.1.tgz" + integrity sha1-tYsBCsQMIsVldhbI0sLALHv0eew= + +q@^1.1.2: + version "1.5.1" + resolved "https://registry.nlark.com/q/download/q-1.5.1.tgz" + integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= + +qs@6.7.0: + version "6.7.0" + resolved "https://registry.nlark.com/qs/download/qs-6.7.0.tgz" + integrity sha1-QdwaAV49WB8WIXdr4xr7KHapsbw= + +qs@~6.5.2: + version "6.5.2" + resolved "https://registry.nlark.com/qs/download/qs-6.5.2.tgz" + integrity sha1-yzroBuh0BERYTvFUzo7pjUA/PjY= + +query-string@^4.1.0: + version "4.3.4" + resolved "https://registry.nlark.com/query-string/download/query-string-4.3.4.tgz?cache=0&sync_timestamp=1624297110017&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fquery-string%2Fdownload%2Fquery-string-4.3.4.tgz" + integrity sha1-u7aTucqRXCMlFbIosaArYJBD2+s= + dependencies: + object-assign "^4.1.0" + strict-uri-encode "^1.0.0" + +querystring-es3@^0.2.0: + version "0.2.1" + resolved "https://registry.nlark.com/querystring-es3/download/querystring-es3-0.2.1.tgz" + integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= + +querystring@0.2.0: + version "0.2.0" + resolved "https://registry.nlark.com/querystring/download/querystring-0.2.0.tgz" + integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= + +querystringify@^2.1.1: + version "2.2.0" + resolved "https://registry.nlark.com/querystringify/download/querystringify-2.2.0.tgz" + integrity sha1-M0WUG0FTy50ILY7uTNogFqmu9/Y= + +raf@^3.4.0: + version "3.4.1" + resolved "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz" + integrity sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA== + dependencies: + performance-now "^2.1.0" + +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.nlark.com/randombytes/download/randombytes-2.1.0.tgz" + integrity sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo= + dependencies: + safe-buffer "^5.1.0" + +randomfill@^1.0.3: + version "1.0.4" + resolved "https://registry.nlark.com/randomfill/download/randomfill-1.0.4.tgz" + integrity sha1-ySGW/IarQr6YPxvzF3giSTHWFFg= + dependencies: + randombytes "^2.0.5" + safe-buffer "^5.1.0" + +range-parser@^1.0.3, range-parser@^1.2.1, range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.nlark.com/range-parser/download/range-parser-1.2.1.tgz" + integrity sha1-PPNwI9GZ4cJNGlW4SADC8+ZGgDE= + +raw-body@2.4.0: + version "2.4.0" + resolved "https://registry.nlark.com/raw-body/download/raw-body-2.4.0.tgz" + integrity sha1-oc5vucm8NWylLoklarWQWeE9AzI= + dependencies: + bytes "3.1.0" + http-errors "1.7.2" + iconv-lite "0.4.24" + unpipe "1.0.0" + +read-pkg-up@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz" + integrity sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI= + dependencies: + find-up "^1.0.0" + read-pkg "^1.0.0" + +read-pkg-up@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz" + integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= + dependencies: + find-up "^2.0.0" + read-pkg "^2.0.0" + +read-pkg@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz" + integrity sha1-9f+qXs0pyzHAR0vKfXVra7KePyg= + dependencies: + load-json-file "^1.0.0" + normalize-package-data "^2.3.2" + path-type "^1.0.0" + +read-pkg@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz" + integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg= + dependencies: + load-json-file "^2.0.0" + normalize-package-data "^2.3.2" + path-type "^2.0.0" + +read-pkg@^5.1.1: + version "5.2.0" + resolved "https://registry.nlark.com/read-pkg/download/read-pkg-5.2.0.tgz" + integrity sha1-e/KVQ4yloz5WzTDgU7NO5yUMk8w= + dependencies: + "@types/normalize-package-data" "^2.4.0" + normalize-package-data "^2.5.0" + parse-json "^5.0.0" + type-fest "^0.6.0" + +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: + version "2.3.7" + resolved "https://registry.nlark.com/readable-stream/download/readable-stream-2.3.7.tgz" + integrity sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c= + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^3.0.6, readable-stream@^3.6.0: + version "3.6.0" + resolved "https://registry.nlark.com/readable-stream/download/readable-stream-3.6.0.tgz" + integrity sha1-M3u9o63AcGvT4CRCaihtS0sskZg= + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readdirp@^2.2.1: + version "2.2.1" + resolved "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz" + integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== + dependencies: + graceful-fs "^4.1.11" + micromatch "^3.1.10" + readable-stream "^2.0.2" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.nlark.com/readdirp/download/readdirp-3.6.0.tgz" + integrity sha1-dKNwvYVxFuJFspzJc0DNQxoCpsc= + dependencies: + picomatch "^2.2.1" + +redent@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz" + integrity sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94= + dependencies: + indent-string "^2.1.0" + strip-indent "^1.0.1" + +reduce-css-calc@^1.2.6: + version "1.3.0" + resolved "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz" + integrity sha1-dHyRTgSWFKTJz7umKYca0dKSdxY= + dependencies: + balanced-match "^0.4.2" + math-expression-evaluator "^1.2.14" + reduce-function-call "^1.0.1" + +reduce-function-call@^1.0.1: + version "1.0.3" + resolved "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.3.tgz" + integrity sha512-Hl/tuV2VDgWgCSEeWMLwxLZqX7OK59eU1guxXsRKTAyeYimivsKdtcV4fu3r710tpG5GmDKDhQ0HSZLExnNmyQ== + dependencies: + balanced-match "^1.0.0" + +regenerate-unicode-properties@^8.2.0: + version "8.2.0" + resolved "https://registry.nlark.com/regenerate-unicode-properties/download/regenerate-unicode-properties-8.2.0.tgz" + integrity sha1-5d5xEdZV57pgwFfb6f83yH5lzew= + dependencies: + regenerate "^1.4.0" + +regenerate@^1.2.1, regenerate@^1.4.0: + version "1.4.2" + resolved "https://registry.nlark.com/regenerate/download/regenerate-1.4.2.tgz" + integrity sha1-uTRtiCfo9aMve6KWN9OYtpAUhIo= + +regenerator-runtime@^0.11.0: + version "0.11.1" + resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz" + integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== + +regenerator-runtime@^0.13.4: + version "0.13.9" + resolved "https://registry.nlark.com/regenerator-runtime/download/regenerator-runtime-0.13.9.tgz" + integrity sha1-iSV0Kpj/2QgUmI11Zq0wyjsmO1I= + +regenerator-transform@^0.10.0: + version "0.10.1" + resolved "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz" + integrity sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q== + dependencies: + babel-runtime "^6.18.0" + babel-types "^6.19.0" + private "^0.1.6" + +regenerator-transform@^0.14.2: + version "0.14.5" + resolved "https://registry.nlark.com/regenerator-transform/download/regenerator-transform-0.14.5.tgz?cache=0&sync_timestamp=1627057533376&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fregenerator-transform%2Fdownload%2Fregenerator-transform-0.14.5.tgz" + integrity sha1-yY2hVGg2ccnE3LFuznNlF+G3/rQ= + dependencies: + "@babel/runtime" "^7.8.4" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.nlark.com/regex-not/download/regex-not-1.0.2.tgz" + integrity sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw= + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +regex-parser@^2.2.9: + version "2.2.11" + resolved "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz" + integrity sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q== + +regexp.prototype.flags@^1.2.0: + version "1.3.1" + resolved "https://registry.nlark.com/regexp.prototype.flags/download/regexp.prototype.flags-1.3.1.tgz" + integrity sha1-fvNSro0VnnWMDq3Kb4/LTu8HviY= + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +regexpp@^2.0.1: + version "2.0.1" + resolved "https://registry.nlark.com/regexpp/download/regexpp-2.0.1.tgz" + integrity sha1-jRnTHPYySCtYkEn4KB+T28uk0H8= + +regexpu-core@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz" + integrity sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA= + dependencies: + regenerate "^1.2.1" + regjsgen "^0.2.0" + regjsparser "^0.1.4" + +regexpu-core@^4.7.1: + version "4.7.1" + resolved "https://registry.nlark.com/regexpu-core/download/regexpu-core-4.7.1.tgz" + integrity sha1-LepamgcjMpj78NuR+pq8TG4PitY= + dependencies: + regenerate "^1.4.0" + regenerate-unicode-properties "^8.2.0" + regjsgen "^0.5.1" + regjsparser "^0.6.4" + unicode-match-property-ecmascript "^1.0.4" + unicode-match-property-value-ecmascript "^1.2.0" + +regjsgen@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz" + integrity sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc= + +regjsgen@^0.5.1: + version "0.5.2" + resolved "https://registry.nlark.com/regjsgen/download/regjsgen-0.5.2.tgz" + integrity sha1-kv8pX7He7L9uzaslQ9IH6RqjNzM= + +regjsparser@^0.1.4: + version "0.1.5" + resolved "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz" + integrity sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw= + dependencies: + jsesc "~0.5.0" + +regjsparser@^0.6.4: + version "0.6.9" + resolved "https://registry.nlark.com/regjsparser/download/regjsparser-0.6.9.tgz" + integrity sha1-tInu98mizkNydicBFCnPgzpxg+Y= + dependencies: + jsesc "~0.5.0" + +relateurl@0.2.x: + version "0.2.7" + resolved "https://registry.nlark.com/relateurl/download/relateurl-0.2.7.tgz" + integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.nlark.com/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz" + integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + +renderkid@^2.0.4: + version "2.0.7" + resolved "https://registry.nlark.com/renderkid/download/renderkid-2.0.7.tgz" + integrity sha1-Rk8namvc7mBvShWZP5sp/HTKhgk= + dependencies: + css-select "^4.1.3" + dom-converter "^0.2.0" + htmlparser2 "^6.1.0" + lodash "^4.17.21" + strip-ansi "^3.0.1" + +repeat-element@^1.1.2: + version "1.1.4" + resolved "https://registry.nlark.com/repeat-element/download/repeat-element-1.1.4.tgz" + integrity sha1-vmgVIIR6tYx1aKx1+/rSjtQtOek= + +repeat-string@^1.5.2, repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.nlark.com/repeat-string/download/repeat-string-1.6.1.tgz" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= + +repeating@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz" + integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo= + dependencies: + is-finite "^1.0.0" + +request@^2.88.2: + version "2.88.2" + resolved "https://registry.nlark.com/request/download/request-2.88.2.tgz" + integrity sha1-1zyRhzHLWofaBH4gcjQUb2ZNErM= + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.3" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.5.0" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.nlark.com/require-directory/download/require-directory-2.1.1.tgz" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +require-from-string@^1.1.0: + version "1.2.1" + resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz" + integrity sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg= + +require-main-filename@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz" + integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= + +require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/require-main-filename/download/require-main-filename-2.0.0.tgz" + integrity sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs= + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/requires-port/download/requires-port-1.0.0.tgz" + integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= + +resize-observer-polyfill@^1.5.1: + version "1.5.1" + resolved "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz" + integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg== + +resolve-cwd@^2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/resolve-cwd/download/resolve-cwd-2.0.0.tgz" + integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= + dependencies: + resolve-from "^3.0.0" + +resolve-from@^3.0.0: + version "3.0.0" + resolved "https://registry.nlark.com/resolve-from/download/resolve-from-3.0.0.tgz" + integrity sha1-six699nWiBvItuZTM17rywoYh0g= + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.nlark.com/resolve-from/download/resolve-from-4.0.0.tgz" + integrity sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY= + +resolve-url-loader@^2.1.1: + version "2.3.2" + resolved "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-2.3.2.tgz" + integrity sha512-sc/UVgiADdoTc+4cGPB7cUCnlEkzlxD1NXHw4oa9qA0fp30H8mAQ2ePJBP9MQ029DUuhEPouhNdvzT37pBCV0g== + dependencies: + adjust-sourcemap-loader "^1.1.0" + camelcase "^4.1.0" + convert-source-map "^1.5.1" + loader-utils "^1.1.0" + lodash.defaults "^4.0.0" + rework "^1.0.1" + rework-visit "^1.0.0" + source-map "^0.5.7" + urix "^0.1.0" + +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.nlark.com/resolve-url/download/resolve-url-0.2.1.tgz" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + +resolve@^1.10.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.4.0: + version "1.20.0" + resolved "https://registry.nlark.com/resolve/download/resolve-1.20.0.tgz" + integrity sha1-YpoBP7P3B1XW8LeTXMHCxTeLGXU= + dependencies: + is-core-module "^2.2.0" + path-parse "^1.0.6" + +restore-cursor@^2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/restore-cursor/download/restore-cursor-2.0.0.tgz" + integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= + dependencies: + onetime "^2.0.0" + signal-exit "^3.0.2" + +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.nlark.com/restore-cursor/download/restore-cursor-3.1.0.tgz" + integrity sha1-OfZ8VLOnpYzqUjbZXPADQjljH34= + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.nlark.com/ret/download/ret-0.1.15.tgz" + integrity sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w= + +retry@^0.12.0: + version "0.12.0" + resolved "https://registry.nlark.com/retry/download/retry-0.12.0.tgz" + integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= + +rework-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/rework-visit/-/rework-visit-1.0.0.tgz" + integrity sha1-mUWygD8hni96ygCtuLyfZA+ELJo= + +rework@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/rework/-/rework-1.0.1.tgz" + integrity sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc= + dependencies: + convert-source-map "^0.3.3" + css "^2.0.0" + +rgb-regex@^1.0.1: + version "1.0.1" + resolved "https://registry.nlark.com/rgb-regex/download/rgb-regex-1.0.1.tgz" + integrity sha1-wODWiC3w4jviVKR16O3UGRX+rrE= + +rgba-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/rgba-regex/download/rgba-regex-1.0.0.tgz" + integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= + +right-align@^0.1.1: + version "0.1.3" + resolved "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz" + integrity sha1-YTObci/mo1FWiSENJOFMlhSGE+8= + dependencies: + align-text "^0.1.1" + +rimraf@2.6.3: + version "2.6.3" + resolved "https://registry.nlark.com/rimraf/download/rimraf-2.6.3.tgz" + integrity sha1-stEE/g2Psnz54KHNqCYt04M8bKs= + dependencies: + glob "^7.1.3" + +rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3: + version "2.7.1" + resolved "https://registry.nlark.com/rimraf/download/rimraf-2.7.1.tgz" + integrity sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w= + dependencies: + glob "^7.1.3" + +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.2" + resolved "https://registry.nlark.com/ripemd160/download/ripemd160-2.0.2.tgz" + integrity sha1-ocGm9iR1FXe6XQeRTLyShQWFiQw= + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +run-async@^2.4.0: + version "2.4.1" + resolved "https://registry.nlark.com/run-async/download/run-async-2.4.1.tgz" + integrity sha1-hEDsz5nqPnC9QJ1JqriOEMGJpFU= + +run-queue@^1.0.0, run-queue@^1.0.3: + version "1.0.3" + resolved "https://registry.nlark.com/run-queue/download/run-queue-1.0.3.tgz" + integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= + dependencies: + aproba "^1.1.1" + +rxjs@^6.6.0: + version "6.6.7" + resolved "https://registry.nlark.com/rxjs/download/rxjs-6.6.7.tgz?cache=0&sync_timestamp=1627507026323&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frxjs%2Fdownload%2Frxjs-6.6.7.tgz" + integrity sha1-kKwBisq/SRv2UEQjXVhjxNq4BMk= + dependencies: + tslib "^1.9.0" + +safe-buffer@5.1.2, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.nlark.com/safe-buffer/download/safe-buffer-5.1.2.tgz" + integrity sha1-mR7GnSluAxN0fVm9/St0XDX4go0= + +safe-buffer@^5.2.0: + version "5.2.1" + resolved "https://registry.nlark.com/safe-buffer/download/safe-buffer-5.2.1.tgz" + integrity sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY= + +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.nlark.com/safe-regex/download/safe-regex-1.1.0.tgz" + integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + dependencies: + ret "~0.1.10" + +"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: + version "2.1.2" + resolved "https://registry.nlark.com/safer-buffer/download/safer-buffer-2.1.2.tgz" + integrity sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo= + +sax@~1.2.1, sax@~1.2.4: + version "1.2.4" + resolved "https://registry.nlark.com/sax/download/sax-1.2.4.tgz" + integrity sha1-KBYjTiN4vdxOU1T6tcqold9xANk= + +schema-utils@^0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz" + integrity sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8= + dependencies: + ajv "^5.0.0" + +schema-utils@^0.4.5: + version "0.4.7" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz" + integrity sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ== + dependencies: + ajv "^6.1.0" + ajv-keywords "^3.1.0" + +schema-utils@^1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/schema-utils/download/schema-utils-1.0.0.tgz?cache=0&sync_timestamp=1626694740261&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fschema-utils%2Fdownload%2Fschema-utils-1.0.0.tgz" + integrity sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A= + dependencies: + ajv "^6.1.0" + ajv-errors "^1.0.0" + ajv-keywords "^3.1.0" + +schema-utils@^2.0.0, schema-utils@^2.5.0, schema-utils@^2.6.5, schema-utils@^2.7.0: + version "2.7.1" + resolved "https://registry.nlark.com/schema-utils/download/schema-utils-2.7.1.tgz?cache=0&sync_timestamp=1626694740261&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fschema-utils%2Fdownload%2Fschema-utils-2.7.1.tgz" + integrity sha1-HKTzLRskxZDCA7jnpQvw6kzTlNc= + dependencies: + "@types/json-schema" "^7.0.5" + ajv "^6.12.4" + ajv-keywords "^3.5.2" + +select-hose@^2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/select-hose/download/select-hose-2.0.0.tgz" + integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= + +selfsigned@^1.10.8, selfsigned@^1.9.1: + version "1.10.11" + resolved "https://registry.nlark.com/selfsigned/download/selfsigned-1.10.11.tgz" + integrity sha1-JJKc2Qb+D0S20B+yOZmnOVN6y+k= + dependencies: + node-forge "^0.10.0" + +"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.5.0, semver@^5.6.0: + version "5.7.1" + resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@7.0.0: + version "7.0.0" + resolved "https://registry.nlark.com/semver/download/semver-7.0.0.tgz?cache=0&sync_timestamp=1622685835879&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-7.0.0.tgz" + integrity sha1-XzyjV2HkfgWyBsba/yz4FPAxa44= + +semver@^6.0.0, semver@^6.1.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: + version "6.3.0" + resolved "https://registry.nlark.com/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1622685835879&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz" + integrity sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0= + +semver@^7.3.5: + version "7.3.5" + resolved "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz" + integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== + dependencies: + lru-cache "^6.0.0" + +send@0.17.1: + version "0.17.1" + resolved "https://registry.nlark.com/send/download/send-0.17.1.tgz" + integrity sha1-wdiwWfeQD3Rm3Uk4vcROEd2zdsg= + dependencies: + debug "2.6.9" + depd "~1.1.2" + destroy "~1.0.4" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "~1.7.2" + mime "1.6.0" + ms "2.1.1" + on-finished "~2.3.0" + range-parser "~1.2.1" + statuses "~1.5.0" + +serialize-javascript@^4.0.0: + version "4.0.0" + resolved "https://registry.nlark.com/serialize-javascript/download/serialize-javascript-4.0.0.tgz" + integrity sha1-tSXhI4SJpez8Qq+sw/6Z5mb0sao= + dependencies: + randombytes "^2.1.0" + +serve-index@^1.9.1: + version "1.9.1" + resolved "https://registry.nlark.com/serve-index/download/serve-index-1.9.1.tgz" + integrity sha1-03aNabHn2C5c4FD/9bRTvqEqkjk= + dependencies: + accepts "~1.3.4" + batch "0.6.1" + debug "2.6.9" + escape-html "~1.0.3" + http-errors "~1.6.2" + mime-types "~2.1.17" + parseurl "~1.3.2" + +serve-static@1.14.1: + version "1.14.1" + resolved "https://registry.nlark.com/serve-static/download/serve-static-1.14.1.tgz" + integrity sha1-Zm5jbcTwEPfvKZcKiKZ0MgiYsvk= + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.17.1" + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/set-blocking/download/set-blocking-2.0.0.tgz" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + +set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.nlark.com/set-value/download/set-value-2.0.1.tgz" + integrity sha1-oY1AUw5vB95CKMfe/kInr4ytAFs= + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +setimmediate@^1.0.4: + version "1.0.5" + resolved "https://registry.nlark.com/setimmediate/download/setimmediate-1.0.5.tgz" + integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= + +setprototypeof@1.1.0: + version "1.1.0" + resolved "https://registry.nlark.com/setprototypeof/download/setprototypeof-1.1.0.tgz" + integrity sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY= + +setprototypeof@1.1.1: + version "1.1.1" + resolved "https://registry.nlark.com/setprototypeof/download/setprototypeof-1.1.1.tgz" + integrity sha1-fpWsskqpL1iF4KvvW6ExMw1K5oM= + +sha.js@^2.4.0, sha.js@^2.4.8: + version "2.4.11" + resolved "https://registry.nlark.com/sha.js/download/sha.js-2.4.11.tgz" + integrity sha1-N6XPC4HsvGlD3hCbopYNGyZYSuc= + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +shallow-equal@^1.0.0: + version "1.2.1" + resolved "https://registry.npmjs.org/shallow-equal/-/shallow-equal-1.2.1.tgz" + integrity sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA== + +shallowequal@^1.0.2: + version "1.1.0" + resolved "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz" + integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.nlark.com/shebang-command/download/shebang-command-1.2.0.tgz" + integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + dependencies: + shebang-regex "^1.0.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/shebang-command/download/shebang-command-2.0.0.tgz" + integrity sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo= + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/shebang-regex/download/shebang-regex-1.0.0.tgz" + integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.nlark.com/shebang-regex/download/shebang-regex-3.0.0.tgz" + integrity sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI= + +shell-quote@^1.6.1: + version "1.7.2" + resolved "https://registry.nlark.com/shell-quote/download/shell-quote-1.7.2.tgz" + integrity sha1-Z6fQLHbJ2iT5nSCAj8re0ODgS+I= + +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.nlark.com/side-channel/download/side-channel-1.0.4.tgz" + integrity sha1-785cj9wQTudRslxY1CkAEfpeos8= + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + +signal-exit@^3.0.0, signal-exit@^3.0.2: + version "3.0.3" + resolved "https://registry.nlark.com/signal-exit/download/signal-exit-3.0.3.tgz" + integrity sha1-oUEMLt2PB3sItOJTyOrPyvBXRhw= + +simple-swizzle@^0.2.2: + version "0.2.2" + resolved "https://registry.nlark.com/simple-swizzle/download/simple-swizzle-0.2.2.tgz" + integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= + dependencies: + is-arrayish "^0.3.1" + +slash@^1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/slash/download/slash-1.0.0.tgz" + integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= + +slash@^2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/slash/download/slash-2.0.0.tgz" + integrity sha1-3lUoUaF1nfOo8gZTVEL17E3eq0Q= + +slice-ansi@^2.1.0: + version "2.1.0" + resolved "https://registry.nlark.com/slice-ansi/download/slice-ansi-2.1.0.tgz" + integrity sha1-ys12k0YaY3pXiNkqfdT7oGjoFjY= + dependencies: + ansi-styles "^3.2.0" + astral-regex "^1.0.0" + is-fullwidth-code-point "^2.0.0" + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.nlark.com/snapdragon-node/download/snapdragon-node-2.1.1.tgz" + integrity sha1-bBdfhv8UvbByRWPo88GwIaKGhTs= + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.nlark.com/snapdragon-util/download/snapdragon-util-3.0.1.tgz" + integrity sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI= + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.nlark.com/snapdragon/download/snapdragon-0.8.2.tgz" + integrity sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0= + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +sockjs-client@1.1.5: + version "1.1.5" + resolved "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.1.5.tgz" + integrity sha1-G7fA9yIsQPQq3xT0RCy9Eml3GoM= + dependencies: + debug "^2.6.6" + eventsource "0.1.6" + faye-websocket "~0.11.0" + inherits "^2.0.1" + json3 "^3.3.2" + url-parse "^1.1.8" + +sockjs-client@^1.5.0: + version "1.5.1" + resolved "https://registry.nlark.com/sockjs-client/download/sockjs-client-1.5.1.tgz" + integrity sha1-JWkI9tWt+5Tau9vQLGY2LMoPnqY= + dependencies: + debug "^3.2.6" + eventsource "^1.0.7" + faye-websocket "^0.11.3" + inherits "^2.0.4" + json3 "^3.3.3" + url-parse "^1.5.1" + +sockjs@0.3.19: + version "0.3.19" + resolved "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz" + integrity sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw== + dependencies: + faye-websocket "^0.10.0" + uuid "^3.0.1" + +sockjs@^0.3.21: + version "0.3.21" + resolved "https://registry.nlark.com/sockjs/download/sockjs-0.3.21.tgz" + integrity sha1-s0/7mOeWkwtgoM+hGQTWozmn1Bc= + dependencies: + faye-websocket "^0.11.3" + uuid "^3.4.0" + websocket-driver "^0.7.4" + +sort-keys@^1.0.0: + version "1.1.2" + resolved "https://registry.nlark.com/sort-keys/download/sort-keys-1.1.2.tgz" + integrity sha1-RBttTTRnmPG05J6JIK37oOVD+a0= + dependencies: + is-plain-obj "^1.0.0" + +sortablejs@1.10.2: + version "1.10.2" + resolved "https://registry.npmjs.org/sortablejs/-/sortablejs-1.10.2.tgz" + integrity sha512-YkPGufevysvfwn5rfdlGyrGjt7/CRHwvRPogD/lC+TnvcN29jDpCifKP+rBqf+LRldfXSTh+0CGLcSg0VIxq3A== + +source-list-map@^2.0.0: + version "2.0.1" + resolved "https://registry.nlark.com/source-list-map/download/source-list-map-2.0.1.tgz" + integrity sha1-OZO9hzv8SEecyp6jpUeDXHwVSzQ= + +source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: + version "0.5.3" + resolved "https://registry.nlark.com/source-map-resolve/download/source-map-resolve-0.5.3.tgz" + integrity sha1-GQhmvs51U+H48mei7oLGBrVQmho= + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-support@^0.4.15: + version "0.4.18" + resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz" + integrity sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA== + dependencies: + source-map "^0.5.6" + +source-map-support@~0.5.12: + version "0.5.19" + resolved "https://registry.nlark.com/source-map-support/download/source-map-support-0.5.19.tgz" + integrity sha1-qYti+G3K9PZzmWSMCFKRq56P7WE= + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-url@^0.4.0: + version "0.4.1" + resolved "https://registry.nlark.com/source-map-url/download/source-map-url-0.4.1.tgz" + integrity sha1-CvZmBadFpaL5HPG7+KevvCg97FY= + +source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.1: + version "0.5.7" + resolved "https://registry.nlark.com/source-map/download/source-map-0.5.7.tgz" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.nlark.com/source-map/download/source-map-0.6.1.tgz" + integrity sha1-dHIq8y6WFOnCh6jQu95IteLxomM= + +source-map@^0.7.3: + version "0.7.3" + resolved "https://registry.nlark.com/source-map/download/source-map-0.7.3.tgz" + integrity sha1-UwL4FpAxc1ImVECS5kmB91F1A4M= + +spdx-correct@^3.0.0: + version "3.1.1" + resolved "https://registry.nlark.com/spdx-correct/download/spdx-correct-3.1.1.tgz" + integrity sha1-3s6BrJweZxPl99G28X1Gj6U9iak= + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.nlark.com/spdx-exceptions/download/spdx-exceptions-2.3.0.tgz" + integrity sha1-PyjOGnegA3JoPq3kpDMYNSeiFj0= + +spdx-expression-parse@^3.0.0: + version "3.0.1" + resolved "https://registry.nlark.com/spdx-expression-parse/download/spdx-expression-parse-3.0.1.tgz" + integrity sha1-z3D1BILu/cmOPOCmgz5KU87rpnk= + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.9" + resolved "https://registry.nlark.com/spdx-license-ids/download/spdx-license-ids-3.0.9.tgz" + integrity sha1-illRNd75WSvaaXCUdPHL7qfCRn8= + +spdy-transport@^3.0.0: + version "3.0.0" + resolved "https://registry.nlark.com/spdy-transport/download/spdy-transport-3.0.0.tgz" + integrity sha1-ANSGOmQArXXfkzYaFghgXl3NzzE= + dependencies: + debug "^4.1.0" + detect-node "^2.0.4" + hpack.js "^2.1.6" + obuf "^1.1.2" + readable-stream "^3.0.6" + wbuf "^1.7.3" + +spdy@^4.0.0, spdy@^4.0.2: + version "4.0.2" + resolved "https://registry.nlark.com/spdy/download/spdy-4.0.2.tgz" + integrity sha1-t09GYgOj7aRSwCSSuR+56EonZ3s= + dependencies: + debug "^4.1.0" + handle-thing "^2.0.0" + http-deceiver "^1.2.7" + select-hose "^2.0.0" + spdy-transport "^3.0.0" + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.nlark.com/split-string/download/split-string-3.1.0.tgz" + integrity sha1-fLCd2jqGWFcFxks5pkZgOGguj+I= + dependencies: + extend-shallow "^3.0.0" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.nlark.com/sprintf-js/download/sprintf-js-1.0.3.tgz" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +sshpk@^1.7.0: + version "1.16.1" + resolved "https://registry.nlark.com/sshpk/download/sshpk-1.16.1.tgz" + integrity sha1-+2YcC+8ps520B2nuOfpwCT1vaHc= + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + bcrypt-pbkdf "^1.0.0" + dashdash "^1.12.0" + ecc-jsbn "~0.1.1" + getpass "^0.1.1" + jsbn "~0.1.0" + safer-buffer "^2.0.2" + tweetnacl "~0.14.0" + +ssri@^6.0.1: + version "6.0.2" + resolved "https://registry.nlark.com/ssri/download/ssri-6.0.2.tgz" + integrity sha1-FXk5E08gRk5zAd26PpD/qPdyisU= + dependencies: + figgy-pudding "^3.5.1" + +ssri@^8.0.1: + version "8.0.1" + resolved "https://registry.nlark.com/ssri/download/ssri-8.0.1.tgz" + integrity sha1-Y45OQ54v+9LNKJd21cpFfE9Roq8= + dependencies: + minipass "^3.1.1" + +stable@^0.1.8: + version "0.1.8" + resolved "https://registry.nlark.com/stable/download/stable-0.1.8.tgz" + integrity sha1-g26zyDgv4pNv6vVEYxAXzn1Ho88= + +stackframe@^1.1.1: + version "1.2.0" + resolved "https://registry.nlark.com/stackframe/download/stackframe-1.2.0.tgz" + integrity sha1-UkKUktY8YuuYmATBFVLj0i53kwM= + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.nlark.com/static-extend/download/static-extend-0.1.2.tgz" + integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@~1.5.0: + version "1.5.0" + resolved "https://registry.nlark.com/statuses/download/statuses-1.5.0.tgz" + integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= + +stream-browserify@^2.0.1: + version "2.0.2" + resolved "https://registry.nlark.com/stream-browserify/download/stream-browserify-2.0.2.tgz" + integrity sha1-h1IdOKRKp+6RzhzSpH3wy0ndZgs= + dependencies: + inherits "~2.0.1" + readable-stream "^2.0.2" + +stream-each@^1.1.0: + version "1.2.3" + resolved "https://registry.nlark.com/stream-each/download/stream-each-1.2.3.tgz" + integrity sha1-6+J6DDibBPvMIzZClS4Qcxr6m64= + dependencies: + end-of-stream "^1.1.0" + stream-shift "^1.0.0" + +stream-http@^2.7.2: + version "2.8.3" + resolved "https://registry.nlark.com/stream-http/download/stream-http-2.8.3.tgz" + integrity sha1-stJCRpKIpaJ+xP6JM6z2I95lFPw= + dependencies: + builtin-status-codes "^3.0.0" + inherits "^2.0.1" + readable-stream "^2.3.6" + to-arraybuffer "^1.0.0" + xtend "^4.0.0" + +stream-shift@^1.0.0: + version "1.0.1" + resolved "https://registry.nlark.com/stream-shift/download/stream-shift-1.0.1.tgz" + integrity sha1-1wiCgVWasneEJCebCHfaPDktWj0= + +strict-uri-encode@^1.0.0: + version "1.1.0" + resolved "https://registry.nlark.com/strict-uri-encode/download/strict-uri-encode-1.1.0.tgz" + integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= + +string-convert@^0.2.0: + version "0.2.1" + resolved "https://registry.npmjs.org/string-convert/-/string-convert-0.2.1.tgz" + integrity sha1-aYLMMEn7tM2F+LJFaLnZvznu/5c= + +string-width@^1.0.1, string-width@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz" + integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +string-width@^2.0.0: + version "2.1.1" + resolved "https://registry.nlark.com/string-width/download/string-width-2.1.1.tgz" + integrity sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4= + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string-width@^3.0.0, string-width@^3.1.0: + version "3.1.0" + resolved "https://registry.nlark.com/string-width/download/string-width-3.1.0.tgz" + integrity sha1-InZ74htirxCBV0MG9prFG2IgOWE= + dependencies: + emoji-regex "^7.0.1" + is-fullwidth-code-point "^2.0.0" + strip-ansi "^5.1.0" + +string-width@^4.1.0, string-width@^4.2.0: + version "4.2.2" + resolved "https://registry.nlark.com/string-width/download/string-width-4.2.2.tgz" + integrity sha1-2v1PlVmnWFz7pSnGoKT3NIjr1MU= + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.0" + +string.prototype.trimend@^1.0.4: + version "1.0.4" + resolved "https://registry.nlark.com/string.prototype.trimend/download/string.prototype.trimend-1.0.4.tgz" + integrity sha1-51rpDClCxjUEaGwYsoe0oLGkX4A= + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +string.prototype.trimstart@^1.0.4: + version "1.0.4" + resolved "https://registry.nlark.com/string.prototype.trimstart/download/string.prototype.trimstart-1.0.4.tgz" + integrity sha1-s2OZr0qymZtMnGSL16P7K7Jv7u0= + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +string_decoder@^1.0.0, string_decoder@^1.1.1, string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.nlark.com/string_decoder/download/string_decoder-1.1.1.tgz" + integrity sha1-nPFhG6YmhdcDCunkujQUnDrwP8g= + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.nlark.com/strip-ansi/download/strip-ansi-3.0.1.tgz" + integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz" + integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= + dependencies: + ansi-regex "^3.0.0" + +strip-ansi@^5, strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: + version "5.2.0" + resolved "https://registry.nlark.com/strip-ansi/download/strip-ansi-5.2.0.tgz" + integrity sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4= + dependencies: + ansi-regex "^4.1.0" + +strip-ansi@^6.0.0: + version "6.0.0" + resolved "https://registry.nlark.com/strip-ansi/download/strip-ansi-6.0.0.tgz" + integrity sha1-CxVx3XZpzNTz4G4U7x7tJiJa5TI= + dependencies: + ansi-regex "^5.0.0" + +strip-bom@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz" + integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4= + dependencies: + is-utf8 "^0.2.0" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" + integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/strip-eof/download/strip-eof-1.0.0.tgz" + integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/strip-final-newline/download/strip-final-newline-2.0.0.tgz" + integrity sha1-ibhS+y/L6Tb29LMYevsKEsGrWK0= + +strip-indent@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz" + integrity sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI= + dependencies: + get-stdin "^4.0.1" + +strip-indent@^2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/strip-indent/download/strip-indent-2.0.0.tgz" + integrity sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g= + +strip-json-comments@^3.0.1: + version "3.1.1" + resolved "https://registry.nlark.com/strip-json-comments/download/strip-json-comments-3.1.1.tgz" + integrity sha1-MfEoGzgyYwQ0gxwxDAHMzajL4AY= + +style-loader@^0.19.0: + version "0.19.1" + resolved "https://registry.npmjs.org/style-loader/-/style-loader-0.19.1.tgz" + integrity sha512-IRE+ijgojrygQi3rsqT0U4dd+UcPCqcVvauZpCnQrGAlEe+FUIyrK93bUDScamesjP08JlQNsFJU+KmPedP5Og== + dependencies: + loader-utils "^1.0.2" + schema-utils "^0.3.0" + +stylehacks@^4.0.0: + version "4.0.3" + resolved "https://registry.nlark.com/stylehacks/download/stylehacks-4.0.3.tgz" + integrity sha1-Zxj8r00eB9ihMYaQiB6NlnJqcdU= + dependencies: + browserslist "^4.0.0" + postcss "^7.0.0" + postcss-selector-parser "^3.0.0" + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz" + integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= + +supports-color@^3.2.3: + version "3.2.3" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz" + integrity sha1-ZawFBLOVQXHYpklGsq48u4pfVPY= + dependencies: + has-flag "^1.0.0" + +supports-color@^4.2.1: + version "4.5.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz" + integrity sha1-vnoN5ITexcXN34s9WRJQRJEvY1s= + dependencies: + has-flag "^2.0.0" + +supports-color@^5.1.0, supports-color@^5.3.0, supports-color@^5.4.0: + version "5.5.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^6.1.0: + version "6.1.0" + resolved "https://registry.nlark.com/supports-color/download/supports-color-6.1.0.tgz?cache=0&sync_timestamp=1626703400240&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-6.1.0.tgz" + integrity sha1-B2Srxpxj1ayELdSGfo0CXogN+PM= + dependencies: + has-flag "^3.0.0" + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +svg-tags@^1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/svg-tags/download/svg-tags-1.0.0.tgz" + integrity sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q= + +svgo@^0.7.0: + version "0.7.2" + resolved "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz" + integrity sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U= + dependencies: + coa "~1.0.1" + colors "~1.1.2" + csso "~2.3.1" + js-yaml "~3.7.0" + mkdirp "~0.5.1" + sax "~1.2.1" + whet.extend "~0.9.9" + +svgo@^1.0.0: + version "1.3.2" + resolved "https://registry.nlark.com/svgo/download/svgo-1.3.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsvgo%2Fdownload%2Fsvgo-1.3.2.tgz" + integrity sha1-ttxRHAYzRsnkFbgeQ0ARRbltQWc= + dependencies: + chalk "^2.4.1" + coa "^2.0.2" + css-select "^2.0.0" + css-select-base-adapter "^0.1.1" + css-tree "1.0.0-alpha.37" + csso "^4.0.2" + js-yaml "^3.13.1" + mkdirp "~0.5.1" + object.values "^1.1.0" + sax "~1.2.4" + stable "^0.1.8" + unquote "~1.1.1" + util.promisify "~1.0.0" + +table@^5.2.3: + version "5.4.6" + resolved "https://registry.nlark.com/table/download/table-5.4.6.tgz" + integrity sha1-EpLRlQDOP4YFOwXw6Ofko7shB54= + dependencies: + ajv "^6.10.2" + lodash "^4.17.14" + slice-ansi "^2.1.0" + string-width "^3.0.0" + +tapable@^0.2.7: + version "0.2.9" + resolved "https://registry.npmjs.org/tapable/-/tapable-0.2.9.tgz" + integrity sha512-2wsvQ+4GwBvLPLWsNfLCDYGsW6xb7aeC6utq2Qh0PFwgEy7K7dsma9Jsmb2zSQj7GvYAyUGSntLtsv++GmgL1A== + +tapable@^1.0.0, tapable@^1.1.3: + version "1.1.3" + resolved "https://registry.nlark.com/tapable/download/tapable-1.1.3.tgz" + integrity sha1-ofzMBrWNth/XpF2i2kT186Pme6I= + +tar@^6.0.2: + version "6.1.11" + resolved "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz" + integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA== + dependencies: + chownr "^2.0.0" + fs-minipass "^2.0.0" + minipass "^3.0.0" + minizlib "^2.1.1" + mkdirp "^1.0.3" + yallist "^4.0.0" + +terser-webpack-plugin@^1.4.3, terser-webpack-plugin@^1.4.4: + version "1.4.5" + resolved "https://registry.nlark.com/terser-webpack-plugin/download/terser-webpack-plugin-1.4.5.tgz?cache=0&sync_timestamp=1624624486956&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fterser-webpack-plugin%2Fdownload%2Fterser-webpack-plugin-1.4.5.tgz" + integrity sha1-oheu+uozDnNP+sthIOwfoxLWBAs= + dependencies: + cacache "^12.0.2" + find-cache-dir "^2.1.0" + is-wsl "^1.1.0" + schema-utils "^1.0.0" + serialize-javascript "^4.0.0" + source-map "^0.6.1" + terser "^4.1.2" + webpack-sources "^1.4.0" + worker-farm "^1.7.0" + +terser@^4.1.2: + version "4.8.0" + resolved "https://registry.nlark.com/terser/download/terser-4.8.0.tgz" + integrity sha1-YwVjQ9fHC7KfOvZlhlpG/gOg3xc= + dependencies: + commander "^2.20.0" + source-map "~0.6.1" + source-map-support "~0.5.12" + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.nlark.com/text-table/download/text-table-0.2.0.tgz" + integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= + +thenify-all@^1.0.0: + version "1.6.0" + resolved "https://registry.nlark.com/thenify-all/download/thenify-all-1.6.0.tgz" + integrity sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY= + dependencies: + thenify ">= 3.1.0 < 4" + +"thenify@>= 3.1.0 < 4": + version "3.3.1" + resolved "https://registry.nlark.com/thenify/download/thenify-3.3.1.tgz" + integrity sha1-iTLmhqQGYDigFt2eLKRq3Zg4qV8= + dependencies: + any-promise "^1.0.0" + +thread-loader@^2.1.3: + version "2.1.3" + resolved "https://registry.nlark.com/thread-loader/download/thread-loader-2.1.3.tgz" + integrity sha1-y9LBOfwrLebp0o9iKGq3cMGsvdo= + dependencies: + loader-runner "^2.3.1" + loader-utils "^1.1.0" + neo-async "^2.6.0" + +through2@^2.0.0: + version "2.0.5" + resolved "https://registry.nlark.com/through2/download/through2-2.0.5.tgz" + integrity sha1-AcHjnrMdB8t9A6lqcIIyYLIxMs0= + dependencies: + readable-stream "~2.3.6" + xtend "~4.0.1" + +through@^2.3.6: + version "2.3.8" + resolved "https://registry.nlark.com/through/download/through-2.3.8.tgz" + integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + +thunky@^1.0.2: + version "1.1.0" + resolved "https://registry.nlark.com/thunky/download/thunky-1.1.0.tgz" + integrity sha1-Wrr3FKlAXbBQRzK7zNLO3Z75U30= + +time-stamp@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/time-stamp/-/time-stamp-2.2.0.tgz" + integrity sha512-zxke8goJQpBeEgD82CXABeMh0LSJcj7CXEd0OHOg45HgcofF7pxNwZm9+RknpxpDhwN4gFpySkApKfFYfRQnUA== + +timers-browserify@^2.0.4: + version "2.0.12" + resolved "https://registry.nlark.com/timers-browserify/download/timers-browserify-2.0.12.tgz" + integrity sha1-RKRcEfv0B/NPl7zNFXfGUjYbAO4= + dependencies: + setimmediate "^1.0.4" + +timsort@^0.3.0: + version "0.3.0" + resolved "https://registry.nlark.com/timsort/download/timsort-0.3.0.tgz" + integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= + +tinycolor2@^1.4.1: + version "1.4.2" + resolved "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.2.tgz" + integrity sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA== + +tinymce@^5.3.2: + version "5.10.2" + resolved "https://registry.npmjs.org/tinymce/-/tinymce-5.10.2.tgz" + integrity sha512-5QhnZ6c8F28fYucLLc00MM37fZoAZ4g7QCYzwIl38i5TwJR5xGqzOv6YMideyLM4tytCzLCRwJoQen2LI66p5A== + +tippy.js@^6.3.7: + version "6.3.7" + resolved "https://registry.npmmirror.com/tippy.js/-/tippy.js-6.3.7.tgz#8ccfb651d642010ed9a32ff29b0e9e19c5b8c61c" + integrity sha512-E1d3oP2emgJ9dRQZdf3Kkn0qJgI6ZLpyS5z6ZkY1DF3kaQaBsGZsndEpHwx+eC+tYM41HaSNvNtLx8tU57FzTQ== + dependencies: + "@popperjs/core" "^2.9.0" + +tmp@^0.0.33: + version "0.0.33" + resolved "https://registry.nlark.com/tmp/download/tmp-0.0.33.tgz" + integrity sha1-bTQzWIl2jSGyvNoKonfO07G/rfk= + dependencies: + os-tmpdir "~1.0.2" + +to-arraybuffer@^1.0.0: + version "1.0.1" + resolved "https://registry.nlark.com/to-arraybuffer/download/to-arraybuffer-1.0.1.tgz" + integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= + +to-fast-properties@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz" + integrity sha1-uDVx+k2MJbguIxsG46MFXeTKGkc= + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/to-fast-properties/download/to-fast-properties-2.0.0.tgz" + integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.nlark.com/to-object-path/download/to-object-path-0.3.0.tgz" + integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.nlark.com/to-regex-range/download/to-regex-range-2.1.1.tgz" + integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.nlark.com/to-regex-range/download/to-regex-range-5.0.1.tgz" + integrity sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ= + dependencies: + is-number "^7.0.0" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.nlark.com/to-regex/download/to-regex-3.0.2.tgz" + integrity sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4= + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +toidentifier@1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/toidentifier/download/toidentifier-1.0.0.tgz" + integrity sha1-fhvjRw8ed5SLxD2Uo8j013UrpVM= + +toposort@^1.0.0: + version "1.0.7" + resolved "https://registry.nlark.com/toposort/download/toposort-1.0.7.tgz" + integrity sha1-LmhELZ9k7HILjMieZEOsbKqVACk= + +tough-cookie@~2.5.0: + version "2.5.0" + resolved "https://registry.nlark.com/tough-cookie/download/tough-cookie-2.5.0.tgz" + integrity sha1-zZ+yoKodWhK0c72fuW+j3P9lreI= + dependencies: + psl "^1.1.28" + punycode "^2.1.1" + +trim-newlines@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz" + integrity sha1-WIeWa7WCpFA6QetST301ARgVphM= + +trim-right@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz" + integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= + +tryer@^1.0.1: + version "1.0.1" + resolved "https://registry.nlark.com/tryer/download/tryer-1.0.1.tgz" + integrity sha1-8shUBoALmw90yfdGW4HqrSQSUvg= + +ts-pnp@^1.1.6: + version "1.2.0" + resolved "https://registry.nlark.com/ts-pnp/download/ts-pnp-1.2.0.tgz" + integrity sha1-pQCtCEsHmPHDBxrzkeZZEshrypI= + +tslib@2.3.0: + version "2.3.0" + resolved "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz" + integrity sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg== + +tslib@^1.10.0, tslib@^1.9.0: + version "1.14.1" + resolved "https://registry.nlark.com/tslib/download/tslib-1.14.1.tgz?cache=0&sync_timestamp=1623450901878&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftslib%2Fdownload%2Ftslib-1.14.1.tgz" + integrity sha1-zy04vcNKE0vK8QkcQfZhni9nLQA= + +tslib@^2.1.0: + version "2.6.2" + resolved "https://registry.npmmirror.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" + integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== + +tty-browserify@0.0.0: + version "0.0.0" + resolved "https://registry.nlark.com/tty-browserify/download/tty-browserify-0.0.0.tgz" + integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.nlark.com/tunnel-agent/download/tunnel-agent-0.6.0.tgz" + integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + dependencies: + safe-buffer "^5.0.1" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.nlark.com/tweetnacl/download/tweetnacl-0.14.5.tgz" + integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.nlark.com/type-check/download/type-check-0.3.2.tgz" + integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= + dependencies: + prelude-ls "~1.1.2" + +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.nlark.com/type-fest/download/type-fest-0.21.3.tgz" + integrity sha1-0mCiSwGYQ24TP6JqUkptZfo7Ljc= + +type-fest@^0.6.0: + version "0.6.0" + resolved "https://registry.nlark.com/type-fest/download/type-fest-0.6.0.tgz" + integrity sha1-jSojcNPfiG61yQraHFv2GIrPg4s= + +type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.nlark.com/type-fest/download/type-fest-0.8.1.tgz" + integrity sha1-CeJJ696FHTseSNJ8EFREZn8XuD0= + +type-is@~1.6.17, type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.nlark.com/type-is/download/type-is-1.6.18.tgz" + integrity sha1-TlUs0F3wlGfcvE73Od6J8s83wTE= + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +type@^1.0.1: + version "1.2.0" + resolved "https://registry.npmjs.org/type/-/type-1.2.0.tgz" + integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== + +type@^2.0.0: + version "2.5.0" + resolved "https://registry.npmjs.org/type/-/type-2.5.0.tgz" + integrity sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw== + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.nlark.com/typedarray/download/typedarray-0.0.6.tgz" + integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= + +uglify-js@3.4.x: + version "3.4.10" + resolved "https://registry.nlark.com/uglify-js/download/uglify-js-3.4.10.tgz" + integrity sha1-mtlWPY6zrN+404WX0q8dgV9qdV8= + dependencies: + commander "~2.19.0" + source-map "~0.6.1" + +uglify-js@^2.8.29: + version "2.8.29" + resolved "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz" + integrity sha1-KcVzMUgFe7Th913zW3qcty5qWd0= + dependencies: + source-map "~0.5.1" + yargs "~3.10.0" + optionalDependencies: + uglify-to-browserify "~1.0.0" + +uglify-to-browserify@~1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz" + integrity sha1-bgkk1r2mta/jSeOabWMoUKD4grc= + +uglifyjs-webpack-plugin@^0.4.6: + version "0.4.6" + resolved "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz" + integrity sha1-uVH0q7a9YX5m9j64kUmOORdj4wk= + dependencies: + source-map "^0.5.6" + uglify-js "^2.8.29" + webpack-sources "^1.0.1" + +unbox-primitive@^1.0.1: + version "1.0.1" + resolved "https://registry.nlark.com/unbox-primitive/download/unbox-primitive-1.0.1.tgz" + integrity sha1-CF4hViXsMWJXTciFmr7nilmxRHE= + dependencies: + function-bind "^1.1.1" + has-bigints "^1.0.1" + has-symbols "^1.0.2" + which-boxed-primitive "^1.0.2" + +unicode-canonical-property-names-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.nlark.com/unicode-canonical-property-names-ecmascript/download/unicode-canonical-property-names-ecmascript-1.0.4.tgz" + integrity sha1-JhmADEyCWADv3YNDr33Zkzy+KBg= + +unicode-match-property-ecmascript@^1.0.4: + version "1.0.4" + resolved "https://registry.nlark.com/unicode-match-property-ecmascript/download/unicode-match-property-ecmascript-1.0.4.tgz" + integrity sha1-jtKjJWmWG86SJ9Cc0/+7j+1fAgw= + dependencies: + unicode-canonical-property-names-ecmascript "^1.0.4" + unicode-property-aliases-ecmascript "^1.0.4" + +unicode-match-property-value-ecmascript@^1.2.0: + version "1.2.0" + resolved "https://registry.nlark.com/unicode-match-property-value-ecmascript/download/unicode-match-property-value-ecmascript-1.2.0.tgz" + integrity sha1-DZH2AO7rMJaqlisdb8iIduZOpTE= + +unicode-property-aliases-ecmascript@^1.0.4: + version "1.1.0" + resolved "https://registry.nlark.com/unicode-property-aliases-ecmascript/download/unicode-property-aliases-ecmascript-1.1.0.tgz" + integrity sha1-3Vepn2IHvt/0Yoq++5TFDblByPQ= + +union-value@^1.0.0: + version "1.0.1" + resolved "https://registry.nlark.com/union-value/download/union-value-1.0.1.tgz" + integrity sha1-C2/nuDWuzaYcbqTU8CwUIh4QmEc= + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^2.0.1" + +uniq@^1.0.1: + version "1.0.1" + resolved "https://registry.nlark.com/uniq/download/uniq-1.0.1.tgz" + integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= + +uniqs@^2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/uniqs/download/uniqs-2.0.0.tgz" + integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI= + +unique-filename@^1.1.1: + version "1.1.1" + resolved "https://registry.nlark.com/unique-filename/download/unique-filename-1.1.1.tgz" + integrity sha1-HWl2k2mtoFgxA6HmrodoG1ZXMjA= + dependencies: + unique-slug "^2.0.0" + +unique-slug@^2.0.0: + version "2.0.2" + resolved "https://registry.nlark.com/unique-slug/download/unique-slug-2.0.2.tgz" + integrity sha1-uqvOkQg/xk6UWw861hPiZPfNTmw= + dependencies: + imurmurhash "^0.1.4" + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.nlark.com/universalify/download/universalify-0.1.2.tgz" + integrity sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY= + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/unpipe/download/unpipe-1.0.0.tgz" + integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= + +unquote@~1.1.1: + version "1.1.1" + resolved "https://registry.nlark.com/unquote/download/unquote-1.1.1.tgz" + integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ= + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/unset-value/download/unset-value-1.0.0.tgz" + integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +upath@^1.1.1: + version "1.2.0" + resolved "https://registry.nlark.com/upath/download/upath-1.2.0.tgz" + integrity sha1-j2bbzVWog6za5ECK+LA1pQRMGJQ= + +upper-case@^1.1.1: + version "1.1.3" + resolved "https://registry.nlark.com/upper-case/download/upper-case-1.1.3.tgz" + integrity sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg= + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.nlark.com/uri-js/download/uri-js-4.4.1.tgz" + integrity sha1-mxpSWVIlhZ5V9mnZKPiMbFfyp34= + dependencies: + punycode "^2.1.0" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.nlark.com/urix/download/urix-0.1.0.tgz" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + +url-loader@^2.2.0: + version "2.3.0" + resolved "https://registry.nlark.com/url-loader/download/url-loader-2.3.0.tgz" + integrity sha1-4OLvZY8APvuMpBsPP/v3a6uIZYs= + dependencies: + loader-utils "^1.2.3" + mime "^2.4.4" + schema-utils "^2.5.0" + +url-parse@^1.1.8, url-parse@^1.4.3, url-parse@^1.5.1: + version "1.5.3" + resolved "https://registry.nlark.com/url-parse/download/url-parse-1.5.3.tgz?cache=0&sync_timestamp=1627252196051&other_urls=https%3A%2F%2Fregistry.nlark.com%2Furl-parse%2Fdownload%2Furl-parse-1.5.3.tgz" + integrity sha1-ccEwPTj7Zjmt4YPCmSyMwGht+GI= + dependencies: + querystringify "^2.1.1" + requires-port "^1.0.0" + +url@^0.11.0: + version "0.11.0" + resolved "https://registry.nlark.com/url/download/url-0.11.0.tgz" + integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= + dependencies: + punycode "1.3.2" + querystring "0.2.0" + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.nlark.com/use/download/use-3.1.1.tgz" + integrity sha1-1QyMrHmhn7wg8pEfVuuXP04QBw8= + +util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.nlark.com/util-deprecate/download/util-deprecate-1.0.2.tgz" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +util.promisify@1.0.0: + version "1.0.0" + resolved "https://registry.nlark.com/util.promisify/download/util.promisify-1.0.0.tgz" + integrity sha1-RA9xZaRZyaFtwUXrjnLzVocJcDA= + dependencies: + define-properties "^1.1.2" + object.getownpropertydescriptors "^2.0.3" + +util.promisify@~1.0.0: + version "1.0.1" + resolved "https://registry.nlark.com/util.promisify/download/util.promisify-1.0.1.tgz" + integrity sha1-a693dLgO6w91INi4HQeYKlmruu4= + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.2" + has-symbols "^1.0.1" + object.getownpropertydescriptors "^2.1.0" + +util@0.10.3: + version "0.10.3" + resolved "https://registry.nlark.com/util/download/util-0.10.3.tgz" + integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= + dependencies: + inherits "2.0.1" + +util@^0.11.0: + version "0.11.1" + resolved "https://registry.nlark.com/util/download/util-0.11.1.tgz" + integrity sha1-MjZzNyDsZLsn9uJvQhqqLhtYjWE= + dependencies: + inherits "2.0.3" + +utila@~0.4: + version "0.4.0" + resolved "https://registry.nlark.com/utila/download/utila-0.4.0.tgz" + integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.nlark.com/utils-merge/download/utils-merge-1.0.1.tgz" + integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= + +uuid@^3.0.1, uuid@^3.3.2, uuid@^3.4.0: + version "3.4.0" + resolved "https://registry.nlark.com/uuid/download/uuid-3.4.0.tgz" + integrity sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4= + +v8-compile-cache@^2.0.3: + version "2.3.0" + resolved "https://registry.nlark.com/v8-compile-cache/download/v8-compile-cache-2.3.0.tgz" + integrity sha1-LeGWGMZtwkfc+2+ZM4A12CRaLO4= + +validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://registry.nlark.com/validate-npm-package-license/download/validate-npm-package-license-3.0.4.tgz" + integrity sha1-/JH2uce6FchX9MssXe/uw51PQQo= + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +vary@~1.1.2: + version "1.1.2" + resolved "https://registry.nlark.com/vary/download/vary-1.1.2.tgz" + integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= + +vendors@^1.0.0: + version "1.0.4" + resolved "https://registry.nlark.com/vendors/download/vendors-1.0.4.tgz" + integrity sha1-4rgApT56Kbk1BsPPQRANFsTErY4= + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.nlark.com/verror/download/verror-1.10.0.tgz" + integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +vm-browserify@^1.0.1: + version "1.1.2" + resolved "https://registry.nlark.com/vm-browserify/download/vm-browserify-1.1.2.tgz" + integrity sha1-eGQcSIuObKkadfUR56OzKobl3aA= + +vue-area-linkage@^5.1.0: + version "5.1.0" + resolved "https://registry.npmjs.org/vue-area-linkage/-/vue-area-linkage-5.1.0.tgz" + integrity sha512-86WD4O6PD9e2koWZ81Zlfcyey17U1+3B3fpWoyIZlBIe2V6qfvrg9BTozWdTpdF4CmKBiz138LBRTKhawl/UWw== + dependencies: + lodash.find "^4.6.0" + +vue-eslint-parser@^7.0.0: + version "7.10.0" + resolved "https://registry.nlark.com/vue-eslint-parser/download/vue-eslint-parser-7.10.0.tgz?cache=0&sync_timestamp=1627452620913&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fvue-eslint-parser%2Fdownload%2Fvue-eslint-parser-7.10.0.tgz" + integrity sha1-6k5LEP0QqjXIp5rHg0iNirzSm+g= + dependencies: + debug "^4.1.1" + eslint-scope "^5.1.1" + eslint-visitor-keys "^1.1.0" + espree "^6.2.1" + esquery "^1.4.0" + lodash "^4.17.21" + semver "^6.3.0" + +vue-hot-reload-api@^2.2.0, vue-hot-reload-api@^2.3.0: + version "2.3.4" + resolved "https://registry.nlark.com/vue-hot-reload-api/download/vue-hot-reload-api-2.3.4.tgz" + integrity sha1-UylVzB6yCKPZkLOp+acFdGV+CPI= + +"vue-loader-v16@npm:vue-loader@^16.1.0": + version "16.8.1" + resolved "https://registry.npmjs.org/vue-loader/-/vue-loader-16.8.1.tgz" + integrity sha512-V53TJbHmzjBhCG5OYI2JWy/aYDspz4oVHKxS43Iy212GjGIG1T3EsB3+GWXFm/1z5VwjdjLmdZUFYM70y77vtQ== + dependencies: + chalk "^4.1.0" + hash-sum "^2.0.0" + loader-utils "^2.0.0" + +vue-loader@^13.0.5: + version "13.7.3" + resolved "https://registry.npmjs.org/vue-loader/-/vue-loader-13.7.3.tgz" + integrity sha512-ACCwbfeC6HjY2pnDii+Zer+MZ6sdOtwvLmDXRK/BoD3WNR551V22R6KEagwHoTRJ0ZlIhpCBkptpCU6+Ri/05w== + dependencies: + consolidate "^0.14.0" + hash-sum "^1.0.2" + loader-utils "^1.1.0" + lru-cache "^4.1.1" + postcss "^6.0.8" + postcss-load-config "^1.1.0" + postcss-selector-parser "^2.0.0" + prettier "^1.7.0" + resolve "^1.4.0" + source-map "^0.6.1" + vue-hot-reload-api "^2.2.0" + vue-style-loader "^3.0.0" + vue-template-es2015-compiler "^1.6.0" + +vue-loader@^15.9.2: + version "15.9.7" + resolved "https://registry.nlark.com/vue-loader/download/vue-loader-15.9.7.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fvue-loader%2Fdownload%2Fvue-loader-15.9.7.tgz" + integrity sha1-FbBXdcPgw4QHZ5OTws5t9nOwEEQ= + dependencies: + "@vue/component-compiler-utils" "^3.1.0" + hash-sum "^1.0.2" + loader-utils "^1.1.0" + vue-hot-reload-api "^2.3.0" + vue-style-loader "^4.1.0" + +vue-ls@^3.2.2: + version "3.2.2" + resolved "https://registry.npmjs.org/vue-ls/-/vue-ls-3.2.2.tgz" + integrity sha512-xros9Zheckv+8x9PerHvWe5SMYud0+ZlPAMrKWKNtDN/usMOKRoluj6kBZyQo6BxwpmiBL8/EjKMYjxmCNXOMg== + dependencies: + opencollective-postinstall "^2.0.2" + +vue-photo-preview@^1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/vue-photo-preview/-/vue-photo-preview-1.1.3.tgz" + integrity sha512-L9JTQh62rYqLHNCdpy7zQdqVisks9dvkmUpM8+7kIKG7l+KkbRLzKWK7lCjCKc6OQT42o6/ngK6B13niXunS9Q== + dependencies: + autoprefixer-loader "^3.2.0" + babel-core "^6.26.0" + babel-loader "^7.1.2" + babel-preset-env "^1.6.0" + cross-env "^5.0.5" + css-loader "^0.28.7" + extract-text-webpack-plugin "^3.0.1" + file-loader "^1.1.4" + photoswipe "^4.1.2" + resolve-url-loader "^2.1.1" + style-loader "^0.19.0" + vue "^2.4.4" + vue-loader "^13.0.5" + vue-template-compiler "^2.4.4" + webpack "^3.6.0" + webpack-dev-server "^2.9.1" + +vue-print-nb-jeecg@^1.0.9: + version "1.0.9" + resolved "https://registry.npmjs.org/vue-print-nb-jeecg/-/vue-print-nb-jeecg-1.0.9.tgz" + integrity sha512-dWLbThjeq/hBo50wcKoHrJAxLEZcqiwoIFEjZQEvntVQs76PdDrWvpkC8F8tGZ5G9GXs9ihrddkXpaIltHJ1dQ== + dependencies: + babel-plugin-transform-runtime "^6.23.0" + +vue-ref@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/vue-ref/-/vue-ref-2.0.0.tgz" + integrity sha512-uKNKpFOVeWNqS2mrBZqnpLyXJo5Q+vnkex6JvpENvhXHFNBW/SJTP8vJywLuVT3DpxwXcF9N0dyIiZ4/NpTexQ== + +vue-router@^3.2.0: + version "3.5.2" + resolved "https://registry.nlark.com/vue-router/download/vue-router-3.5.2.tgz" + integrity sha1-X1Xj8lGXDjbD6NiKfNLWejUK3lw= + +vue-style-loader@^3.0.0: + version "3.1.2" + resolved "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-3.1.2.tgz" + integrity sha512-ICtVdK/p+qXWpdSs2alWtsXt9YnDoYjQe0w5616j9+/EhjoxZkbun34uWgsMFnC1MhrMMwaWiImz3K2jK1Yp2Q== + dependencies: + hash-sum "^1.0.2" + loader-utils "^1.0.2" + +vue-style-loader@^4.1.0, vue-style-loader@^4.1.2: + version "4.1.3" + resolved "https://registry.nlark.com/vue-style-loader/download/vue-style-loader-4.1.3.tgz" + integrity sha1-bVWGOlH6dXqyTonZNxRlByqnvDU= + dependencies: + hash-sum "^1.0.2" + loader-utils "^1.0.2" + +vue-template-compiler@^2.4.4, vue-template-compiler@^2.6.11: + version "2.6.14" + resolved "https://registry.nlark.com/vue-template-compiler/download/vue-template-compiler-2.6.14.tgz" + integrity sha1-ovDn2YVnDULJye4NBE/tdpD092M= + dependencies: + de-indent "^1.0.2" + he "^1.1.0" + +vue-template-es2015-compiler@^1.6.0, vue-template-es2015-compiler@^1.9.0: + version "1.9.1" + resolved "https://registry.nlark.com/vue-template-es2015-compiler/download/vue-template-es2015-compiler-1.9.1.tgz" + integrity sha1-HuO8mhbsv1EYvjNLsV+cRvgvWCU= + +vue@^2.4.4, vue@^2.5.17, vue@^2.6.11: + version "2.6.14" + resolved "https://registry.nlark.com/vue/download/vue-2.6.14.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fvue%2Fdownload%2Fvue-2.6.14.tgz" + integrity sha1-5RqlJQJQ1Wmj+606ilpofWA24jU= + +vuedraggable@^2.20.0: + version "2.24.3" + resolved "https://registry.npmjs.org/vuedraggable/-/vuedraggable-2.24.3.tgz" + integrity sha512-6/HDXi92GzB+Hcs9fC6PAAozK1RLt1ewPTLjK0anTYguXLAeySDmcnqE8IC0xa7shvSzRjQXq3/+dsZ7ETGF3g== + dependencies: + sortablejs "1.10.2" + +vuex@^3.4.0: + version "3.6.2" + resolved "https://registry.nlark.com/vuex/download/vuex-3.6.2.tgz?cache=0&sync_timestamp=1623945253165&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fvuex%2Fdownload%2Fvuex-3.6.2.tgz" + integrity sha1-I2vAhqhww655lG8QfxbeWdWJXnE= + +warning@^4.0.0: + version "4.0.3" + resolved "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz" + integrity sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w== + dependencies: + loose-envify "^1.0.0" + +watchpack-chokidar2@^2.0.1: + version "2.0.1" + resolved "https://registry.nlark.com/watchpack-chokidar2/download/watchpack-chokidar2-2.0.1.tgz" + integrity sha1-OFAAcu5uzmbzdpk2lQ6hdxvhyVc= + dependencies: + chokidar "^2.1.8" + +watchpack@^1.4.0, watchpack@^1.7.4: + version "1.7.5" + resolved "https://registry.nlark.com/watchpack/download/watchpack-1.7.5.tgz" + integrity sha1-EmfmxV4Lm1vkTCAjrtVDeiwmxFM= + dependencies: + graceful-fs "^4.1.2" + neo-async "^2.5.0" + optionalDependencies: + chokidar "^3.4.1" + watchpack-chokidar2 "^2.0.1" + +wbuf@^1.1.0, wbuf@^1.7.3: + version "1.7.3" + resolved "https://registry.nlark.com/wbuf/download/wbuf-1.7.3.tgz" + integrity sha1-wdjRSTFtPqhShIiVy2oL/oh7h98= + dependencies: + minimalistic-assert "^1.0.0" + +wcwidth@^1.0.1: + version "1.0.1" + resolved "https://registry.nlark.com/wcwidth/download/wcwidth-1.0.1.tgz" + integrity sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g= + dependencies: + defaults "^1.0.3" + +webpack-bundle-analyzer@^3.8.0: + version "3.9.0" + resolved "https://registry.nlark.com/webpack-bundle-analyzer/download/webpack-bundle-analyzer-3.9.0.tgz" + integrity sha1-9vlNsQj7V05BWtMT3kGicH0z7zw= + dependencies: + acorn "^7.1.1" + acorn-walk "^7.1.1" + bfj "^6.1.1" + chalk "^2.4.1" + commander "^2.18.0" + ejs "^2.6.1" + express "^4.16.3" + filesize "^3.6.1" + gzip-size "^5.0.0" + lodash "^4.17.19" + mkdirp "^0.5.1" + opener "^1.5.1" + ws "^6.0.0" + +webpack-chain@^6.4.0: + version "6.5.1" + resolved "https://registry.nlark.com/webpack-chain/download/webpack-chain-6.5.1.tgz" + integrity sha1-TycoTLu2N+PI+970Pu9YjU2GEgY= + dependencies: + deepmerge "^1.5.2" + javascript-stringify "^2.0.1" + +webpack-dev-middleware@1.12.2: + version "1.12.2" + resolved "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.12.2.tgz" + integrity sha512-FCrqPy1yy/sN6U/SaEZcHKRXGlqU0DUaEBL45jkUYoB8foVb6wCnbIJ1HKIx+qUFTW+3JpVcCJCxZ8VATL4e+A== + dependencies: + memory-fs "~0.4.1" + mime "^1.5.0" + path-is-absolute "^1.0.0" + range-parser "^1.0.3" + time-stamp "^2.0.0" + +webpack-dev-middleware@^3.7.2: + version "3.7.3" + resolved "https://registry.nlark.com/webpack-dev-middleware/download/webpack-dev-middleware-3.7.3.tgz" + integrity sha1-Bjk3KxQyYuK4SrldO5GnWXBhwsU= + dependencies: + memory-fs "^0.4.1" + mime "^2.4.4" + mkdirp "^0.5.1" + range-parser "^1.2.1" + webpack-log "^2.0.0" + +webpack-dev-server@^2.9.1: + version "2.11.5" + resolved "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-2.11.5.tgz" + integrity sha512-7TdOKKt7G3sWEhPKV0zP+nD0c4V9YKUJ3wDdBwQsZNo58oZIRoVIu66pg7PYkBW8A74msP9C2kLwmxGHndz/pw== + dependencies: + ansi-html "0.0.7" + array-includes "^3.0.3" + bonjour "^3.5.0" + chokidar "^2.1.2" + compression "^1.7.3" + connect-history-api-fallback "^1.3.0" + debug "^3.1.0" + del "^3.0.0" + express "^4.16.2" + html-entities "^1.2.0" + http-proxy-middleware "^0.19.1" + import-local "^1.0.0" + internal-ip "1.2.0" + ip "^1.1.5" + killable "^1.0.0" + loglevel "^1.4.1" + opn "^5.1.0" + portfinder "^1.0.9" + selfsigned "^1.9.1" + serve-index "^1.9.1" + sockjs "0.3.19" + sockjs-client "1.1.5" + spdy "^4.0.0" + strip-ansi "^3.0.0" + supports-color "^5.1.0" + webpack-dev-middleware "1.12.2" + yargs "6.6.0" + +webpack-dev-server@^3.11.0: + version "3.11.2" + resolved "https://registry.nlark.com/webpack-dev-server/download/webpack-dev-server-3.11.2.tgz?cache=0&sync_timestamp=1626726450781&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwebpack-dev-server%2Fdownload%2Fwebpack-dev-server-3.11.2.tgz" + integrity sha1-aV687Xakkp8NXef9c/r+GF/jNwg= + dependencies: + ansi-html "0.0.7" + bonjour "^3.5.0" + chokidar "^2.1.8" + compression "^1.7.4" + connect-history-api-fallback "^1.6.0" + debug "^4.1.1" + del "^4.1.1" + express "^4.17.1" + html-entities "^1.3.1" + http-proxy-middleware "0.19.1" + import-local "^2.0.0" + internal-ip "^4.3.0" + ip "^1.1.5" + is-absolute-url "^3.0.3" + killable "^1.0.1" + loglevel "^1.6.8" + opn "^5.5.0" + p-retry "^3.0.1" + portfinder "^1.0.26" + schema-utils "^1.0.0" + selfsigned "^1.10.8" + semver "^6.3.0" + serve-index "^1.9.1" + sockjs "^0.3.21" + sockjs-client "^1.5.0" + spdy "^4.0.2" + strip-ansi "^3.0.1" + supports-color "^6.1.0" + url "^0.11.0" + webpack-dev-middleware "^3.7.2" + webpack-log "^2.0.0" + ws "^6.2.1" + yargs "^13.3.2" + +webpack-log@^2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/webpack-log/download/webpack-log-2.0.0.tgz" + integrity sha1-W3ko4GN1k/EZ0y9iJ8HgrDHhtH8= + dependencies: + ansi-colors "^3.0.0" + uuid "^3.3.2" + +webpack-merge@^4.2.2: + version "4.2.2" + resolved "https://registry.nlark.com/webpack-merge/download/webpack-merge-4.2.2.tgz" + integrity sha1-onxS6ng9E5iv0gh/VH17nS9DY00= + dependencies: + lodash "^4.17.15" + +webpack-sources@^1.0.1, webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1, webpack-sources@^1.4.3: + version "1.4.3" + resolved "https://registry.nlark.com/webpack-sources/download/webpack-sources-1.4.3.tgz?cache=0&sync_timestamp=1627898061491&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwebpack-sources%2Fdownload%2Fwebpack-sources-1.4.3.tgz" + integrity sha1-7t2OwLko+/HL/plOItLYkPMwqTM= + dependencies: + source-list-map "^2.0.0" + source-map "~0.6.1" + +webpack@^3.6.0: + version "3.12.0" + resolved "https://registry.npmjs.org/webpack/-/webpack-3.12.0.tgz" + integrity sha512-Sw7MdIIOv/nkzPzee4o0EdvCuPmxT98+vVpIvwtcwcF1Q4SDSNp92vwcKc4REe7NItH9f1S4ra9FuQ7yuYZ8bQ== + dependencies: + acorn "^5.0.0" + acorn-dynamic-import "^2.0.0" + ajv "^6.1.0" + ajv-keywords "^3.1.0" + async "^2.1.2" + enhanced-resolve "^3.4.0" + escope "^3.6.0" + interpret "^1.0.0" + json-loader "^0.5.4" + json5 "^0.5.1" + loader-runner "^2.3.0" + loader-utils "^1.1.0" + memory-fs "~0.4.1" + mkdirp "~0.5.0" + node-libs-browser "^2.0.0" + source-map "^0.5.3" + supports-color "^4.2.1" + tapable "^0.2.7" + uglifyjs-webpack-plugin "^0.4.6" + watchpack "^1.4.0" + webpack-sources "^1.0.1" + yargs "^8.0.2" + +webpack@^4.0.0: + version "4.46.0" + resolved "https://registry.nlark.com/webpack/download/webpack-4.46.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwebpack%2Fdownload%2Fwebpack-4.46.0.tgz" + integrity sha1-v5tEBOogoHNgXgoBHRiNd8tq1UI= + dependencies: + "@webassemblyjs/ast" "1.9.0" + "@webassemblyjs/helper-module-context" "1.9.0" + "@webassemblyjs/wasm-edit" "1.9.0" + "@webassemblyjs/wasm-parser" "1.9.0" + acorn "^6.4.1" + ajv "^6.10.2" + ajv-keywords "^3.4.1" + chrome-trace-event "^1.0.2" + enhanced-resolve "^4.5.0" + eslint-scope "^4.0.3" + json-parse-better-errors "^1.0.2" + loader-runner "^2.4.0" + loader-utils "^1.2.3" + memory-fs "^0.4.1" + micromatch "^3.1.10" + mkdirp "^0.5.3" + neo-async "^2.6.1" + node-libs-browser "^2.2.1" + schema-utils "^1.0.0" + tapable "^1.1.3" + terser-webpack-plugin "^1.4.3" + watchpack "^1.7.4" + webpack-sources "^1.4.1" + +websocket-driver@>=0.5.1, websocket-driver@^0.7.4: + version "0.7.4" + resolved "https://registry.nlark.com/websocket-driver/download/websocket-driver-0.7.4.tgz" + integrity sha1-ia1Slbv2S0gKvLox5JU6ynBvV2A= + dependencies: + http-parser-js ">=0.5.1" + safe-buffer ">=5.1.0" + websocket-extensions ">=0.1.1" + +websocket-extensions@>=0.1.1: + version "0.1.4" + resolved "https://registry.nlark.com/websocket-extensions/download/websocket-extensions-0.1.4.tgz" + integrity sha1-f4RzvIOd/YdgituV1+sHUhFXikI= + +whet.extend@~0.9.9: + version "0.9.9" + resolved "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz" + integrity sha1-+HfVv2SMl+WqVC+twW1qJZucEaE= + +which-boxed-primitive@^1.0.2: + version "1.0.2" + resolved "https://registry.nlark.com/which-boxed-primitive/download/which-boxed-primitive-1.0.2.tgz" + integrity sha1-E3V7yJsgmwSf5dhkMOIc9AqJqOY= + dependencies: + is-bigint "^1.0.1" + is-boolean-object "^1.1.0" + is-number-object "^1.0.4" + is-string "^1.0.5" + is-symbol "^1.0.3" + +which-module@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz" + integrity sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8= + +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/which-module/download/which-module-2.0.0.tgz" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + +which@^1.2.9: + version "1.3.1" + resolved "https://registry.nlark.com/which/download/which-1.3.1.tgz" + integrity sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo= + dependencies: + isexe "^2.0.0" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.nlark.com/which/download/which-2.0.2.tgz" + integrity sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE= + dependencies: + isexe "^2.0.0" + +window-size@0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz" + integrity sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0= + +word-wrap@~1.2.3: + version "1.2.3" + resolved "https://registry.nlark.com/word-wrap/download/word-wrap-1.2.3.tgz" + integrity sha1-YQY29rH3A4kb00dxzLF/uTtHB5w= + +wordwrap@0.0.2: + version "0.0.2" + resolved "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz" + integrity sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8= + +worker-farm@^1.7.0: + version "1.7.0" + resolved "https://registry.nlark.com/worker-farm/download/worker-farm-1.7.0.tgz" + integrity sha1-JqlMU5G7ypJhUgAvabhKS/dy5ag= + dependencies: + errno "~0.1.7" + +wrap-ansi@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz" + integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + +wrap-ansi@^5.1.0: + version "5.1.0" + resolved "https://registry.nlark.com/wrap-ansi/download/wrap-ansi-5.1.0.tgz" + integrity sha1-H9H2cjXVttD+54EFYAG/tpTAOwk= + dependencies: + ansi-styles "^3.2.0" + string-width "^3.0.0" + strip-ansi "^5.0.0" + +wrap-ansi@^6.2.0: + version "6.2.0" + resolved "https://registry.nlark.com/wrap-ansi/download/wrap-ansi-6.2.0.tgz" + integrity sha1-6Tk7oHEC5skaOyIUePAlfNKFblM= + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.nlark.com/wrap-ansi/download/wrap-ansi-7.0.0.tgz" + integrity sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM= + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.nlark.com/wrappy/download/wrappy-1.0.2.tgz" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +write@1.0.3: + version "1.0.3" + resolved "https://registry.nlark.com/write/download/write-1.0.3.tgz" + integrity sha1-CADhRSO5I6OH5BUSPIZWFqrg9cM= + dependencies: + mkdirp "^0.5.1" + +ws@^6.0.0, ws@^6.2.1: + version "6.2.2" + resolved "https://registry.nlark.com/ws/download/ws-6.2.2.tgz?cache=0&sync_timestamp=1627496134545&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fws%2Fdownload%2Fws-6.2.2.tgz" + integrity sha1-3Vzb1XqZeZFgl2UtePHMX66gwy4= + dependencies: + async-limiter "~1.0.0" + +xtend@^4.0.0, xtend@~4.0.1: + version "4.0.2" + resolved "https://registry.nlark.com/xtend/download/xtend-4.0.2.tgz" + integrity sha1-u3J3n1+kZRhrH0OPZ0+jR/2121Q= + +y18n@^3.2.1: + version "3.2.2" + resolved "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz" + integrity sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ== + +y18n@^4.0.0: + version "4.0.3" + resolved "https://registry.nlark.com/y18n/download/y18n-4.0.3.tgz" + integrity sha1-tfJZyCzW4zaSHv17/Yv1YN6e7t8= + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.nlark.com/y18n/download/y18n-5.0.8.tgz" + integrity sha1-f0k00PfKjFb5UxSTndzS3ZHOHVU= + +yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.nlark.com/yallist/download/yallist-2.1.2.tgz" + integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.nlark.com/yallist/download/yallist-3.1.1.tgz" + integrity sha1-27fa+b/YusmrRev2ArjLrQ1dCP0= + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yargs-parser@^13.1.2: + version "13.1.2" + resolved "https://registry.nlark.com/yargs-parser/download/yargs-parser-13.1.2.tgz" + integrity sha1-Ew8JcC667vJlDVTObj5XBvek+zg= + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-parser@^20.2.2: + version "20.2.9" + resolved "https://registry.nlark.com/yargs-parser/download/yargs-parser-20.2.9.tgz" + integrity sha1-LrfcOwKJcY/ClfNidThFxBoMlO4= + +yargs-parser@^4.2.0: + version "4.2.1" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz" + integrity sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw= + dependencies: + camelcase "^3.0.0" + +yargs-parser@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz" + integrity sha1-jQrELxbqVd69MyyvTEA4s+P139k= + dependencies: + camelcase "^4.1.0" + +yargs@6.6.0: + version "6.6.0" + resolved "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz" + integrity sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg= + dependencies: + camelcase "^3.0.0" + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + os-locale "^1.4.0" + read-pkg-up "^1.0.1" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^1.0.2" + which-module "^1.0.0" + y18n "^3.2.1" + yargs-parser "^4.2.0" + +yargs@^13.3.2: + version "13.3.2" + resolved "https://registry.nlark.com/yargs/download/yargs-13.3.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fyargs%2Fdownload%2Fyargs-13.3.2.tgz" + integrity sha1-rX/+/sGqWVZayRX4Lcyzipwxot0= + dependencies: + cliui "^5.0.0" + find-up "^3.0.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^3.0.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^13.1.2" + +yargs@^16.0.0: + version "16.2.0" + resolved "https://registry.nlark.com/yargs/download/yargs-16.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fyargs%2Fdownload%2Fyargs-16.2.0.tgz" + integrity sha1-HIK/D2tqZur85+8w43b0mhJHf2Y= + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" + +yargs@^8.0.2: + version "8.0.2" + resolved "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz" + integrity sha1-YpmpBVsc78lp/355wdkY3Osiw2A= + dependencies: + camelcase "^4.1.0" + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + os-locale "^2.0.0" + read-pkg-up "^2.0.0" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^2.0.0" + which-module "^2.0.0" + y18n "^3.2.1" + yargs-parser "^7.0.0" + +yargs@~3.10.0: + version "3.10.0" + resolved "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz" + integrity sha1-9+572FfdfB0tOMDnTvvWgdFDH9E= + dependencies: + camelcase "^1.0.2" + cliui "^2.1.0" + decamelize "^1.0.0" + window-size "0.1.0" + +yorkie@^2.0.0: + version "2.0.0" + resolved "https://registry.nlark.com/yorkie/download/yorkie-2.0.0.tgz" + integrity sha1-kkEZEtQ1IU4SxRwq4Qk+VLa7g9k= + dependencies: + execa "^0.8.0" + is-ci "^1.0.10" + normalize-path "^1.0.0" + strip-indent "^2.0.0" + +zrender@5.2.1: + version "5.2.1" + resolved "https://registry.npmjs.org/zrender/-/zrender-5.2.1.tgz" + integrity sha512-M3bPGZuyLTNBC6LiNKXJwSCtglMp8XUEqEBG+2MdICDI3d1s500Y4P0CzldQGsqpRVB7fkvf3BKQQRxsEaTlsw== + dependencies: + tslib "2.3.0"