bkui-vue 0.0.1-beta.23 → 0.0.1-beta.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/dist/bkui-vue.cjs.js +659 -335
  2. package/dist/bkui-vue.esm.js +660 -337
  3. package/dist/bkui-vue.umd.js +659 -335
  4. package/dist/style.css +450 -50
  5. package/lib/components.d.ts +1 -0
  6. package/lib/loading/index.js +1 -1
  7. package/lib/loading/loading.css +2 -0
  8. package/lib/loading/loading.d.ts +1 -0
  9. package/lib/loading/loading.less +2 -0
  10. package/lib/loading/loading.variable.css +2 -0
  11. package/lib/popover/index.js +1 -1
  12. package/lib/resize-layout/index.d.ts +336 -0
  13. package/lib/resize-layout/index.js +1 -0
  14. package/lib/resize-layout/resize-layout.css +189 -0
  15. package/lib/resize-layout/resize-layout.d.ts +127 -0
  16. package/lib/resize-layout/resize-layout.less +233 -0
  17. package/lib/resize-layout/resize-layout.variable.css +282 -0
  18. package/lib/select/common.d.ts +23 -27
  19. package/lib/select/index.d.ts +530 -145
  20. package/lib/select/index.js +12 -12
  21. package/lib/select/optionGroup.d.ts +0 -76
  22. package/lib/select/select.css +154 -44
  23. package/lib/select/select.d.ts +150 -39
  24. package/lib/select/select.less +131 -75
  25. package/lib/select/select.variable.css +154 -44
  26. package/lib/select/type.d.ts +31 -0
  27. package/lib/shared/{bk-helper-core.d.ts → helper.d.ts} +0 -0
  28. package/lib/shared/index.d.ts +4 -4
  29. package/lib/shared/{bk-mask-manager.d.ts → mask-manager.d.ts} +0 -0
  30. package/lib/shared/{bk-pop-manager.d.ts → pop-manager.d.ts} +0 -0
  31. package/lib/shared/{bk-popover.d.ts → popover.d.ts} +0 -0
  32. package/lib/styles/index.d.ts +2 -0
  33. package/lib/styles/index.js +1 -1
  34. package/lib/swiper/index.d.ts +181 -0
  35. package/lib/swiper/index.js +1 -0
  36. package/lib/swiper/swiper.css +91 -0
  37. package/lib/swiper/swiper.d.ts +65 -0
  38. package/lib/swiper/swiper.less +107 -0
  39. package/lib/swiper/swiper.variable.css +91 -0
  40. package/lib/table/index.d.ts +1 -1
  41. package/lib/table/index.js +2 -2
  42. package/lib/table/table.css +1 -1
  43. package/lib/table/table.d.ts +1 -1
  44. package/lib/table/table.less +1 -1
  45. package/lib/table/table.variable.css +1 -1
  46. package/lib/tag/tag.css +1 -1
  47. package/lib/tag/tag.less +1 -1
  48. package/lib/tag/tag.variable.css +1 -1
  49. package/lib/transfer/index.d.ts +325 -1
  50. package/lib/transfer/index.js +1 -1
  51. package/lib/tree/index.d.ts +4 -1
  52. package/lib/tree/index.js +1 -1
  53. package/lib/tree/tree.css +13 -5
  54. package/lib/tree/tree.d.ts +18 -9
  55. package/lib/tree/tree.less +20 -9
  56. package/lib/tree/tree.variable.css +106 -5
  57. package/lib/tree/util.d.ts +1 -1
  58. package/lib/virtual-render/index.js +1 -1
  59. package/lib/virtual-render/virtual-render.d.ts +2 -2
  60. package/package.json +3 -3
@@ -33,7 +33,7 @@ var __publicField = (obj, key, value) => {
33
33
  __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
34
34
  return value;
35
35
  };
36
- import { createVNode, h as h$1, mergeProps, defineComponent, reactive, ref, computed, watch, onMounted, onBeforeUnmount, Transition, getCurrentInstance, provide, inject, nextTick, isVNode, Fragment, createTextVNode, toRefs, customRef, watchEffect, onBeforeMount, withDirectives, vShow, toRef, unref, vModelText, resolveDirective, onUpdated, render, onUnmounted, Teleport } from "vue";
36
+ import { createVNode, h as h$1, mergeProps, defineComponent, reactive, ref, computed, watch, onMounted, onBeforeUnmount, Transition, getCurrentInstance, provide, inject, nextTick, isVNode, Fragment, createTextVNode, toRefs, customRef, onBeforeMount, withDirectives, vShow, toRef, unref, resolveDirective, vModelText, watchEffect, onUpdated, render, onUnmounted, Teleport } from "vue";
37
37
  var reset = "";
38
38
  var alert = "";
39
39
  var backtop = "";
@@ -56,6 +56,7 @@ var progress = "";
56
56
  var radio = "";
57
57
  var rate = "";
58
58
  var star$1 = "";
59
+ var swiper = "";
59
60
  var select = "";
60
61
  var sideslider = "";
61
62
  var switcher = "";
@@ -77,6 +78,7 @@ var virtualRender$1 = "";
77
78
  var transfer = "";
78
79
  var pagination = "";
79
80
  var timeline = "";
81
+ var resizeLayout = "";
80
82
  const BKLAYERD_INDEX_EFAULT_VALUE = {
81
83
  ["bottom"]: 0,
82
84
  ["content"]: 1,
@@ -330,7 +332,7 @@ function contains(parent, child) {
330
332
  }
331
333
  return false;
332
334
  }
333
- function getComputedStyle(element) {
335
+ function getComputedStyle$1(element) {
334
336
  return getWindow(element).getComputedStyle(element);
335
337
  }
336
338
  function isTableElement(element) {
@@ -346,7 +348,7 @@ function getParentNode(element) {
346
348
  return element.assignedSlot || element.parentNode || (isShadowRoot(element) ? element.host : null) || getDocumentElement(element);
347
349
  }
348
350
  function getTrueOffsetParent(element) {
349
- if (!isHTMLElement(element) || getComputedStyle(element).position === "fixed") {
351
+ if (!isHTMLElement(element) || getComputedStyle$1(element).position === "fixed") {
350
352
  return null;
351
353
  }
352
354
  return element.offsetParent;
@@ -355,7 +357,7 @@ function getContainingBlock(element) {
355
357
  var isFirefox2 = navigator.userAgent.toLowerCase().indexOf("firefox") !== -1;
356
358
  var isIE = navigator.userAgent.indexOf("Trident") !== -1;
357
359
  if (isIE && isHTMLElement(element)) {
358
- var elementCss = getComputedStyle(element);
360
+ var elementCss = getComputedStyle$1(element);
359
361
  if (elementCss.position === "fixed") {
360
362
  return null;
361
363
  }
@@ -365,7 +367,7 @@ function getContainingBlock(element) {
365
367
  currentNode = currentNode.host;
366
368
  }
367
369
  while (isHTMLElement(currentNode) && ["html", "body"].indexOf(getNodeName(currentNode)) < 0) {
368
- var css = getComputedStyle(currentNode);
370
+ var css = getComputedStyle$1(currentNode);
369
371
  if (css.transform !== "none" || css.perspective !== "none" || css.contain === "paint" || ["transform", "perspective"].indexOf(css.willChange) !== -1 || isFirefox2 && css.willChange === "filter" || isFirefox2 && css.filter && css.filter !== "none") {
370
372
  return currentNode;
371
373
  } else {
@@ -377,10 +379,10 @@ function getContainingBlock(element) {
377
379
  function getOffsetParent(element) {
378
380
  var window2 = getWindow(element);
379
381
  var offsetParent = getTrueOffsetParent(element);
380
- while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === "static") {
382
+ while (offsetParent && isTableElement(offsetParent) && getComputedStyle$1(offsetParent).position === "static") {
381
383
  offsetParent = getTrueOffsetParent(offsetParent);
382
384
  }
383
- if (offsetParent && (getNodeName(offsetParent) === "html" || getNodeName(offsetParent) === "body" && getComputedStyle(offsetParent).position === "static")) {
385
+ if (offsetParent && (getNodeName(offsetParent) === "html" || getNodeName(offsetParent) === "body" && getComputedStyle$1(offsetParent).position === "static")) {
384
386
  return window2;
385
387
  }
386
388
  return offsetParent || getContainingBlock(element) || window2;
@@ -514,7 +516,7 @@ function mapToStyles(_ref2) {
514
516
  var widthProp = "clientWidth";
515
517
  if (offsetParent === getWindow(popper2)) {
516
518
  offsetParent = getDocumentElement(popper2);
517
- if (getComputedStyle(offsetParent).position !== "static" && position === "absolute") {
519
+ if (getComputedStyle$1(offsetParent).position !== "static" && position === "absolute") {
518
520
  heightProp = "scrollHeight";
519
521
  widthProp = "scrollWidth";
520
522
  }
@@ -689,7 +691,7 @@ function getDocumentRect(element) {
689
691
  var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);
690
692
  var x2 = -winScroll.scrollLeft + getWindowScrollBarX(element);
691
693
  var y2 = -winScroll.scrollTop;
692
- if (getComputedStyle(body || html).direction === "rtl") {
694
+ if (getComputedStyle$1(body || html).direction === "rtl") {
693
695
  x2 += max(html.clientWidth, body ? body.clientWidth : 0) - width;
694
696
  }
695
697
  return {
@@ -700,7 +702,7 @@ function getDocumentRect(element) {
700
702
  };
701
703
  }
702
704
  function isScrollParent(element) {
703
- var _getComputedStyle = getComputedStyle(element), overflow = _getComputedStyle.overflow, overflowX = _getComputedStyle.overflowX, overflowY = _getComputedStyle.overflowY;
705
+ var _getComputedStyle = getComputedStyle$1(element), overflow = _getComputedStyle.overflow, overflowX = _getComputedStyle.overflowX, overflowY = _getComputedStyle.overflowY;
704
706
  return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);
705
707
  }
706
708
  function getScrollParent(node) {
@@ -749,7 +751,7 @@ function getClientRectFromMixedType(element, clippingParent) {
749
751
  }
750
752
  function getClippingParents(element) {
751
753
  var clippingParents2 = listScrollParents(getParentNode(element));
752
- var canEscapeClipping = ["absolute", "fixed"].indexOf(getComputedStyle(element).position) >= 0;
754
+ var canEscapeClipping = ["absolute", "fixed"].indexOf(getComputedStyle$1(element).position) >= 0;
753
755
  var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;
754
756
  if (!isElement$2(clipperElement)) {
755
757
  return [];
@@ -2714,7 +2716,7 @@ const warn = (props, context) => {
2714
2716
  warn.displayName = "warn";
2715
2717
  warn.inheritAttrs = false;
2716
2718
  JSON.parse('{"type":"element","name":"svg","attributes":{"xmlns":"http://www.w3.org/2000/svg","viewBox":"0 0 1024 1024","style":"width: 1em; height: 1em; vertical-align: middle;fill: currentColor;overflow: hidden;"},"elements":[{"type":"element","name":"path","attributes":{"d":"M603.52 348.8c0 26.496-22.357333333333333 48-49.919999999999995 48s-49.919999999999995-21.503999999999998-49.919999999999995-48c0-26.496 22.357333333333333-48 49.919999999999995-48s49.919999999999995 21.503999999999998 49.919999999999995 48z"}},{"type":"element","name":"path","attributes":{"d":"M357.11999999999995 348.8c0 26.496-22.357333333333333 48-49.919999999999995 48s-49.919999999999995-21.503999999999998-49.919999999999995-48c0-26.496 22.357333333333333-48 49.919999999999995-48s49.919999999999995 21.503999999999998 49.919999999999995 48z"}},{"type":"element","name":"path","attributes":{"d":"M693.12 604.16c0 15.914666666666665-13.184 28.8-29.439999999999998 28.8s-29.439999999999998-12.885333333333332-29.439999999999998-28.8c0-15.914666666666665 13.184-28.8 29.439999999999998-28.8s29.439999999999998 12.885333333333332 29.439999999999998 28.8z"}},{"type":"element","name":"path","attributes":{"d":"M951.68 832c43.775999999999996-42.410666666666664 71.29599999999999-101.41866666666665 72.32-166.86933333333332-4.608-109.696-77.35466666666666-201.0453333333333-176.72533333333334-233.30133333333333 5.674666666666667-12.117333333333331 10.154666666666666-26.282666666666664 10.154666666666666-41.471999999999994 0-4.522666666666666-0.38399999999999995-8.959999999999999-1.152-13.226666666666667-33.834666666666664-181.29066666666665-212.39466666666664-313.1306666666667-425.5146666666667-313.1306666666667-238.71999999999997 0-430.72 167.04-430.72 372.48 1.2799999999999998 107.56266666666666 50.56 203.30666666666664 127.40266666666668 267.05066666666664l-16.682666666666666 55.50933333333333c-2.1759999999999997 6.784-3.456 14.634666666666668-3.456 22.741333333333333 0 42.410666666666664 34.38933333333333 76.8 76.8 76.8 12.458666666666666 0 24.191999999999997-2.944 34.602666666666664-8.234666666666666l101.33333333333333-52.906666666666666c32.81066666666666 7.722666666666666 70.52799999999999 12.159999999999998 109.22666666666666 12.159999999999998 0.08533333333333333 0 0.17066666666666666 0 0.21333333333333332 0h28.16c13.098666666666666-0.7679999999999999 25.130666666666663-4.693333333333333 35.54133333333333-11.050666666666666 54.22933333333333 73.55733333333333 140.672 120.53333333333333 238.07999999999998 120.53333333333333 1.664 0 3.3706666666666667 0 5.034666666666666-0.042666666666666665 21.077333333333332-0.08533333333333333 41.855999999999995-2.1759999999999997 61.99466666666667-6.101333333333333l49.10933333333333 26.581333333333333c9.941333333333333 5.034666666666666 21.717333333333332 8.021333333333333 34.176 8.021333333333333 42.410666666666664 0 76.8-34.38933333333333 76.8-76.8 0-8.106666666666666-1.2799999999999998-15.957333333333333-3.584-23.296zM430.72 752.64c-0.17066666666666666 0-0.38399999999999995 0-0.5973333333333333 0-40.831999999999994 0-80.29866666666666-5.8453333333333335-117.58933333333331-16.72533333333333l-3.456 0.7253333333333334-131.2 67.19999999999999 35.199999999999996-113.27999999999999h-3.1999999999999997c-86.10133333333332-52.05333333333333-143.40266666666668-144.17066666666665-145.92-249.89866666666666 0-172.50133333333332 165.76-312.66133333333335 366.72-312.66133333333335 5.717333333333333-0.3413333333333333 12.415999999999999-0.512 19.157333333333334-0.512 163.32799999999997 0 300.58666666666664 111.40266666666668 340.0106666666667 262.4l-14.805333333333332 2.432c-183.04 0-327.03999999999996 112-327.03999999999996 285.44 0.512 26.709333333333333 5.1626666666666665 52.181333333333335 13.312 75.98933333333332zM872.96 812.8v0l21.759999999999998 67.84-81.28-40.959999999999994h-3.84c-21.119999999999997 6.101333333333333-45.397333333333336 9.6-70.48533333333333 9.6-0.17066666666666666 0-0.38399999999999995 0-0.5546666666666666 0-5.888 0.5973333333333333-12.757333333333332 0.9386666666666665-19.712 0.9386666666666665-107.09333333333332 0-195.2853333333333-80.93866666666666-206.71999999999997-184.95999999999998 10.367999999999999-106.96533333333333 99.072-189.1413333333333 206.976-189.1413333333333 5.973333333333334 0 11.861333333333334 0.256 17.706666666666663 0.7253333333333334 4.309333333333333-0.512 10.197333333333333-0.7253333333333334 16.170666666666666-0.7253333333333334 107.904 0 196.60799999999998 82.17599999999999 206.976 187.34933333333333-1.7066666666666666 63.82933333333333-35.79733333333333 118.44266666666665-86.18666666666667 148.90666666666667z"}},{"type":"element","name":"path","attributes":{"d":"M839.68 604.16c0 15.914666666666665-13.184 28.8-29.439999999999998 28.8s-29.439999999999998-12.885333333333332-29.439999999999998-28.8c0-15.914666666666665 13.184-28.8 29.439999999999998-28.8s29.439999999999998 12.885333333333332 29.439999999999998 28.8z"}}]}');
2717
- var Component$u = defineComponent({
2719
+ var Component$w = defineComponent({
2718
2720
  name: "Alert",
2719
2721
  props: {
2720
2722
  theme: PropTypes.theme(["info", "success", "warning", "error"]).def("info"),
@@ -2770,8 +2772,8 @@ var Component$u = defineComponent({
2770
2772
  }, [this.closeText])])]);
2771
2773
  }
2772
2774
  });
2773
- const BkAlert = withInstall(Component$u);
2774
- var Component$t = defineComponent({
2775
+ const BkAlert = withInstall(Component$w);
2776
+ var Component$v = defineComponent({
2775
2777
  name: "AnimateNumber",
2776
2778
  props: {
2777
2779
  value: PropTypes.number.def(0),
@@ -2819,7 +2821,7 @@ var Component$t = defineComponent({
2819
2821
  return () => createVNode("span", null, [formatValue.value]);
2820
2822
  }
2821
2823
  });
2822
- const BkAnimateNumber = withInstall(Component$t);
2824
+ const BkAnimateNumber = withInstall(Component$v);
2823
2825
  var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
2824
2826
  var lodash = { exports: {} };
2825
2827
  /**
@@ -8232,7 +8234,7 @@ var lodash = { exports: {} };
8232
8234
  }
8233
8235
  }).call(commonjsGlobal);
8234
8236
  })(lodash, lodash.exports);
8235
- var Component$s = defineComponent({
8237
+ var Component$u = defineComponent({
8236
8238
  name: "Backtop",
8237
8239
  props: {
8238
8240
  visibilityHeight: PropTypes.number.def(200),
@@ -8299,8 +8301,8 @@ var Component$s = defineComponent({
8299
8301
  });
8300
8302
  }
8301
8303
  });
8302
- const BkBacktop = withInstall(Component$s);
8303
- var Component$r = defineComponent({
8304
+ const BkBacktop = withInstall(Component$u);
8305
+ var Component$t = defineComponent({
8304
8306
  name: "Badge",
8305
8307
  props: {
8306
8308
  theme: PropTypes.string.def("primary"),
@@ -8334,8 +8336,8 @@ var Component$r = defineComponent({
8334
8336
  }, [(_f = (_e = (_d = this.$slots).icon) == null ? void 0 : _e.call(_d)) != null ? _f : number]) : ""]);
8335
8337
  }
8336
8338
  });
8337
- const BkBadge = withInstall(Component$r);
8338
- var Component$q = defineComponent({
8339
+ const BkBadge = withInstall(Component$t);
8340
+ var Component$s = defineComponent({
8339
8341
  name: "Breadcrumb",
8340
8342
  props: {
8341
8343
  extCls: PropTypes.string,
@@ -8434,7 +8436,7 @@ var BreadcrumbItem = defineComponent({
8434
8436
  };
8435
8437
  }
8436
8438
  });
8437
- const BkBreadcrumb = withInstallProps(Component$q, { Item: BreadcrumbItem });
8439
+ const BkBreadcrumb = withInstallProps(Component$s, { Item: BreadcrumbItem });
8438
8440
  let BkLoadingMode;
8439
8441
  (function(BkLoadingMode2) {
8440
8442
  BkLoadingMode2["Default"] = "default";
@@ -8442,6 +8444,7 @@ let BkLoadingMode;
8442
8444
  })(BkLoadingMode || (BkLoadingMode = {}));
8443
8445
  let BkLoadingSize;
8444
8446
  (function(BkLoadingSize2) {
8447
+ BkLoadingSize2["Normal"] = "";
8445
8448
  BkLoadingSize2["Mini"] = "mini";
8446
8449
  BkLoadingSize2["Small"] = "small";
8447
8450
  BkLoadingSize2["Large"] = "large";
@@ -8457,10 +8460,10 @@ const loadingTypes = {
8457
8460
  loading: PropTypes.bool,
8458
8461
  theme: PropTypes.theme(["white", "primary", "warning", "success", "danger"]),
8459
8462
  title: PropTypes.string.def(""),
8460
- size: PropTypes.commonType(Object.values(BkLoadingSize)).def("small"),
8463
+ size: PropTypes.commonType(Object.values(BkLoadingSize)).def(BkLoadingSize.Normal),
8461
8464
  mode: PropTypes.commonType(Object.values(BkLoadingMode)).def("default")
8462
8465
  };
8463
- var Component$p = defineComponent({
8466
+ var Component$r = defineComponent({
8464
8467
  name: "Loading",
8465
8468
  props: loadingTypes,
8466
8469
  setup(props, ctx) {
@@ -8505,7 +8508,7 @@ var Component$p = defineComponent({
8505
8508
  };
8506
8509
  }
8507
8510
  });
8508
- const BkLoading = withInstallProps(Component$p, { setDefaultIndicator, BkLoadingMode, BkLoadingSize }, true);
8511
+ const BkLoading = withInstallProps(Component$r, { setDefaultIndicator, BkLoadingMode, BkLoadingSize }, true);
8509
8512
  const buttonProps = {
8510
8513
  theme: PropTypes.theme().def(""),
8511
8514
  hoverTheme: PropTypes.theme(["primary", "warning", "success", "danger"]).def(""),
@@ -8522,7 +8525,7 @@ const buttonProps = {
8522
8525
  type: String
8523
8526
  }
8524
8527
  };
8525
- var Component$o = defineComponent({
8528
+ var Component$q = defineComponent({
8526
8529
  name: "Button",
8527
8530
  props: buttonProps,
8528
8531
  emits: ["click", "mouseover"],
@@ -8605,8 +8608,8 @@ var ButtonGroup = defineComponent({
8605
8608
  };
8606
8609
  }
8607
8610
  });
8608
- const BkButton = withInstallProps(Component$o, { ButtonGroup });
8609
- var Component$n = defineComponent({
8611
+ const BkButton = withInstallProps(Component$q, { ButtonGroup });
8612
+ var Component$p = defineComponent({
8610
8613
  name: "Card",
8611
8614
  props: {
8612
8615
  title: PropTypes.string,
@@ -8645,7 +8648,7 @@ var Component$n = defineComponent({
8645
8648
  }, [(_i = (_h = (_g = this.$slots).footer) == null ? void 0 : _h.call(_g)) != null ? _i : "Footer"]) : ""]) : ""]);
8646
8649
  }
8647
8650
  });
8648
- const BkCard = withInstall(Component$n);
8651
+ const BkCard = withInstall(Component$p);
8649
8652
  const checkboxGroupKey = Symbol("CheckboxGroup");
8650
8653
  function useFocus$2() {
8651
8654
  const isFocus = ref(false);
@@ -8747,7 +8750,7 @@ const checkboxProps = {
8747
8750
  beforeChange: PropTypes.func,
8748
8751
  size: PropTypes.size()
8749
8752
  };
8750
- var Component$m = defineComponent({
8753
+ var Component$o = defineComponent({
8751
8754
  name: "Checkbox",
8752
8755
  props: checkboxProps,
8753
8756
  emits: ["update:modelValue", "change"],
@@ -8863,8 +8866,8 @@ var CheckboxGroup = defineComponent({
8863
8866
  }, [this.$slots.default()]);
8864
8867
  }
8865
8868
  });
8866
- const BkCheckbox = withInstallProps(Component$m, { Group: CheckboxGroup });
8867
- var Component$l = defineComponent({
8869
+ const BkCheckbox = withInstallProps(Component$o, { Group: CheckboxGroup });
8870
+ var Component$n = defineComponent({
8868
8871
  name: "Collapse",
8869
8872
  props: {
8870
8873
  list: PropTypes.arrayOf(PropTypes.any).def([]),
@@ -8953,7 +8956,7 @@ var Component$l = defineComponent({
8953
8956
  }, [renderItems()]);
8954
8957
  }
8955
8958
  });
8956
- const BkCollaspe = withInstall(Component$l);
8959
+ const BkCollaspe = withInstall(Component$n);
8957
8960
  const propsMixin$1 = {
8958
8961
  isShow: {
8959
8962
  type: Boolean,
@@ -8980,7 +8983,7 @@ const propsMixin$1 = {
8980
8983
  default: true
8981
8984
  }
8982
8985
  };
8983
- var Component$k = defineComponent({
8986
+ var Component$m = defineComponent({
8984
8987
  name: "Modal",
8985
8988
  props: __spreadValues({}, propsMixin$1),
8986
8989
  data() {
@@ -9042,11 +9045,11 @@ var Component$k = defineComponent({
9042
9045
  }, [(_i = (_h = (_g = this.$slots).footer) == null ? void 0 : _h.call(_g)) != null ? _i : ""])]) : ""]);
9043
9046
  }
9044
9047
  });
9045
- const BkModal = withInstallProps(Component$k, { propsMixin: propsMixin$1 }, true);
9048
+ const BkModal = withInstallProps(Component$m, { propsMixin: propsMixin$1 }, true);
9046
9049
  function _isSlot$3(s2) {
9047
9050
  return typeof s2 === "function" || Object.prototype.toString.call(s2) === "[object Object]" && !isVNode(s2);
9048
9051
  }
9049
- var Component$j = defineComponent({
9052
+ var Component$l = defineComponent({
9050
9053
  name: "Dialog",
9051
9054
  components: {
9052
9055
  BkModal,
@@ -9142,7 +9145,7 @@ var Component$j = defineComponent({
9142
9145
  });
9143
9146
  }
9144
9147
  });
9145
- const BkDialog = withInstall(Component$j);
9148
+ const BkDialog = withInstall(Component$l);
9146
9149
  var permissions = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIyLjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IuWbvuWxgl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgNDgwIDI0MCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDgwIDI0MDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOm5vbmU7fQoJLnN0MXtmaWxsOiNDNEM2Q0M7fQoJLnN0MntmaWxsOnVybCgjRmlsbC0xXzFfKTt9Cgkuc3Qze2ZpbGw6dXJsKCPnn6nlvaJfNF8pO30KCS5zdDR7ZmlsbDojOTc5QkE1O30KCS5zdDV7ZmlsbDp1cmwoI1NWR0lEXzFfKTt9Cgkuc3Q2e2ZpbGw6I0Y4RjlGQTt9Cgkuc3Q3e2ZpbGw6dXJsKCPlvaLnirbnu5PlkIhfMV8pO30KCS5zdDh7ZmlsbDp1cmwoI+W9oueKtue7k+WQiF82Xyk7fQoJLnN0OXtmaWxsOiNEQ0RFRTA7fQo8L3N0eWxlPgo8ZyBpZD0i6aG16Z2iLTEiPgoJPGcgaWQ9IkV4Y2VwdGlvbl94MkZf5byC5bi45o+Q56S6IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtODcwLjAwMDAwMCwgLTIzODEuMDAwMDAwKSI+CgkJPGcgaWQ9IuaXoOadg+mZkOexuyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzU3LjAwMDAwMCwgMjI4Ny4wMDAwMDApIj4KCQkJPGcgaWQ9Iue8lue7hC0xMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsIDczLjAwMDAwMCkiPgoJCQkJPGcgaWQ9IuaXoOadg+mZkOexuy3mj5Llm74iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUxMy4wMDAwMDAsIDIxLjAwMDAwMCkiPgoJCQkJCTxnIGlkPSLmsqHmnInmnYPpmZAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyOC4wMDAwMDAsIDQyLjAwMDAwMCkiPgoJCQkJCQk8cmVjdCBpZD0i55+p5b2iXzFfIiBjbGFzcz0ic3QwIiB3aWR0aD0iMjI0IiBoZWlnaHQ9IjE4MyIvPgoJCQkJCQk8Y2lyY2xlIGlkPSLmpK3lnIblvaIiIGNsYXNzPSJzdDEiIGN4PSIxMzIiIGN5PSIxMSIgcj0iMSIvPgoJCQkJCQk8Y2lyY2xlIGlkPSLmpK3lnIblvaJfMV8iIGNsYXNzPSJzdDEiIGN4PSIxNzMiIGN5PSI5NCIgcj0iMiIvPgoJCQkJCQk8Y2lyY2xlIGlkPSLmpK3lnIblvaJfMl8iIGNsYXNzPSJzdDEiIGN4PSI1OSIgY3k9IjY2IiByPSIyIi8+CgkJCQkJCTxsaW5lYXJHcmFkaWVudCBpZD0iRmlsbC0xXzFfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjExNi4zNTg3IiB5MT0iMTI5LjQwNzUiIHgyPSIxMTkuMzMxNCIgeTI9IjE1Ny42OTA2Ij4KCQkJCQkJCTxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNGQkZDRkQiLz4KCQkJCQkJCTxzdG9wICBvZmZzZXQ9IjAuOTk4OCIgc3R5bGU9InN0b3AtY29sb3I6I0YyRjRGNyIvPgoJCQkJCQk8L2xpbmVhckdyYWRpZW50PgoJCQkJCQk8cGF0aCBpZD0iRmlsbC0xIiBjbGFzcz0ic3QyIiBkPSJNNjAuNSwxMzYuMWMxNi4yLTMuNSw0MC42LTQuNyw1Ni41LTMuOWMxNS44LDAuOCwzMy4xLDMuMSwzMy4xLDMuMXM0LjUtMS45LDQuMS0xLjIKCQkJCQkJCWMtMC4zLDAuOC0yLjQsMS45LTEsMi4zYzEuNCwwLjQsMTUuNSwxLjksMjEuNCwzLjFzOC42LDIuMyw4LjYsMi4zczMuOC02LjYsMTIuMy01LjhjMCwwLjYtMy4xLDEuNC00LjIsMy4xUzE4OCwxNDIsMTg4LDE0MgoJCQkJCQkJczEuOC0xLDQuOSwwLjVzNi4xLDIsNi4xLDIuMnMtMS40LDMuNS0xMi43LDEuMmMtNC42LTEuMi02LjksNS4xLTI5LjMsNi42cy02MC4zLDIuNy02MC4zLDIuN3MxLjcsMi4zLDUuMiwzLjEKCQkJCQkJCWMwLDAtMi40LDIuMy03LjIsMS42Yy00LjgtMC44LTEwLTQuNy0xMC00LjdzLTEyLjctMC44LTE3LjYtMS42cy0xMC4zLTIuNy0xNC4xLTMuMWMtMy44LTAuNC0yMS0yLjMtMTQuNS02LjYKCQkJCQkJCUMzOC41LDE0My45LDQ0LjMsMTM5LjYsNjAuNSwxMzYuMXoiLz4KCgkJCQkJCQk8bGluZWFyR3JhZGllbnQgaWQ9IuefqeW9ol80XyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIxNTYuMTY2NyIgeTE9Ii0yLjUxNDMiIHgyPSIxNTYuMTY2NyIgeTI9Ii0xLjUxNDMiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoOTYgMCAwIDcwIC0xNDg3OSAyNTIpIj4KCQkJCQkJCTxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNGMkYzRjUiLz4KCQkJCQkJCTxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNFNUU4RUIiLz4KCQkJCQkJPC9saW5lYXJHcmFkaWVudD4KCQkJCQkJPHBhdGggaWQ9IuefqeW9ol8yXyIgY2xhc3M9InN0MyIgZD0iTTcwLDc2aDg2YzIuOCwwLDUsMi4yLDUsNXY2MGMwLDIuOC0yLjIsNS01LDVINzBjLTIuOCwwLTUtMi4yLTUtNVY4MQoJCQkJCQkJQzY1LDc4LjIsNjcuMiw3Niw3MCw3NnoiLz4KCQkJCQkJPHBhdGggaWQ9IuW9oueKtue7k+WQiCIgY2xhc3M9InN0MSIgZD0iTTU5LjMsMTM4djExLjdINzF2Mi4zSDU5LjNsMCwwSDU3di0xNEg1OS4zeiIvPgoJCQkJCQk8cGF0aCBpZD0i5b2i54q257uT5ZCI5aSH5Lu9LTQiIGNsYXNzPSJzdDEiIGQ9Ik0xNjYuNywxMzh2MTEuN0gxNTV2Mi4zaDExLjdsMCwwaDIuM3YtMTRIMTY2Ljd6Ii8+CgkJCQkJCTxnPgoJCQkJCQkJPHBhdGggaWQ9IuW9oueKtue7k+WQiF81XyIgY2xhc3M9InN0NCIgZD0iTTExNi41LDExNi44bDEuNiw3LjljMC4yLDAuOC0wLjQsMS42LTEuMiwxLjhjLTAuMSwwLTAuMiwwLTAuMywwaC03LjIKCQkJCQkJCQljLTAuOCwwLTEuNS0wLjctMS41LTEuNWMwLTAuMSwwLTAuMiwwLTAuM2wxLjYtNy45Yy0zLTEuMy01LTQuMS01LTcuM2MwLTQuNCwzLjgtOCw4LjUtOHM4LjUsMy42LDguNSw4CgkJCQkJCQkJQzEyMS41LDExMi43LDExOS41LDExNS41LDExNi41LDExNi44eiIvPgoKCQkJCQkJCQk8bGluZWFyR3JhZGllbnQgaWQ9IlNWR0lEXzFfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjEzNi4wMjk0IiB5MT0iLTYuODAxMSIgeDI9IjEzNi4wMjk0IiB5Mj0iLTYuMjc4OSIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxNyAwIDAgMjUgLTIxOTkuNSAyNzcuNSkiPgoJCQkJCQkJCTxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNFMUUyRTYiLz4KCQkJCQkJCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojRUVGMEYyIi8+CgkJCQkJCQk8L2xpbmVhckdyYWRpZW50PgoJCQkJCQkJPHBhdGggY2xhc3M9InN0NSIgZD0iTTExNywxMjcuNWgtNy42Yy0xLjQsMC0yLjUtMS4xLTIuNS0yLjVsMC0wLjVsMS40LTcuMWMtMy0xLjYtNC45LTQuNi00LjktNy45YzAtNSw0LjMtOSw5LjUtOQoJCQkJCQkJCXM5LjUsNCw5LjUsOWMwLDMuMy0xLjksNi4zLTQuOSw3LjlsMS40LDcuMWMwLjMsMS4yLTAuNiwyLjYtMS45LDNMMTE3LDEyNy41eiBNMTA4LjksMTI0Ljh2MC4yYzAsMC4yLDAuMywwLjUsMC41LDAuNWg3LjMKCQkJCQkJCQljMC4yLTAuMSwwLjQtMC40LDAuNC0wLjZsLTEuOC04LjdsMC43LTAuM2MyLjctMS4yLDQuNC0zLjYsNC40LTYuNGMwLTMuOS0zLjQtNy03LjUtN3MtNy41LDMuMS03LjUsN2MwLDIuOCwxLjcsNS4yLDQuNCw2LjQKCQkJCQkJCQlsMC43LDAuM0wxMDguOSwxMjQuOHoiLz4KCQkJCQkJPC9nPgoJCQkJCQk8cGF0aCBpZD0i55+p5b2iXzNfIiBjbGFzcz0ic3Q2IiBkPSJNNzAsNzZoODZjMi44LDAsNSwyLjIsNSw1bDAsMGMwLDIuOC0yLjIsNS01LDVINzBjLTIuOCwwLTUtMi4yLTUtNWwwLDAKCQkJCQkJCUM2NSw3OC4yLDY3LjIsNzYsNzAsNzZ6Ii8+CgoJCQkJCQkJPGxpbmVhckdyYWRpZW50IGlkPSLlvaLnirbnu5PlkIhfMV8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMTU1LjAyNjMiIHkxPSItMi42NjY3IiB4Mj0iMTU1LjAyNjMiIHkyPSItMS42NzI3IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDc2IDAgMCA2NiAtMTE2NjkgMTkyKSI+CgkJCQkJCQk8c3RvcCAgb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojRjNGNEY1Ii8+CgkJCQkJCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojRTZFOEVCIi8+CgkJCQkJCTwvbGluZWFyR3JhZGllbnQ+CgkJCQkJCTxwYXRoIGlkPSLlvaLnirbnu5PlkIhfMl8iIGNsYXNzPSJzdDciIGQ9Ik0xNDEuNSw1NC42YzAtMTYtMTIuOC0yOS0yOC41LTI5cy0yOC41LDEzLTI4LjUsMjlsMCwwdjI1LjhjMCwwLjktMi4xLDEuNi00LjgsMS42CgkJCQkJCQljLTIuNSwwLTQuNi0wLjctNC43LTEuNXYtMC4xVjU0LjZDNzUsMzMuMyw5MiwxNiwxMTMsMTZzMzgsMTcuMywzOCwzOC42bDAsMHYyNS44YzAsMC45LTIuMSwxLjYtNC44LDEuNnMtNC44LTAuNy00LjgtMS42CgkJCQkJCQlsMCwwVjU0LjZIMTQxLjV6Ii8+CgoJCQkJCQkJPGxpbmVhckdyYWRpZW50IGlkPSLlvaLnirbnu5PlkIhfNl8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMTUzLjc5MDMiIHkxPSItMy4yMzg1IiB4Mj0iMTUzLjc5MDMiIHkyPSItMi4yNTkyIiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDYyIDAgMCA1NCAtOTQyMiAyMDEpIj4KCQkJCQkJCTxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNFN0U5RUIiLz4KCQkJCQkJCTxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNFN0U5RUIiLz4KCQkJCQkJPC9saW5lYXJHcmFkaWVudD4KCQkJCQkJPHBhdGggaWQ9IuW9oueKtue7k+WQiF8zXyIgY2xhc3M9InN0OCIgZD0iTTgyLDU0LjVDODIuMywzOC4yLDk2LDI1LDExMywyNWMxNy4xLDAsMzEsMTMuNCwzMSwzMGgtMy4xYzAtMTQuOS0xMi41LTI3LTI3LjktMjcKCQkJCQkJCVM4NS4xLDQwLjEsODUuMSw1NXYyNEg4MlY1NVY1NC41eiBNMTQ0LDU1djI0aC0zLjFWNTVIMTQ0eiIvPgoJCQkJCQk8cGF0aCBpZD0i5b2i54q257uT5ZCIXzRfIiBjbGFzcz0ic3Q5IiBkPSJNODAsNzhjMi43LDAsNC45LTAuOCw1LTEuOVY3NnY0YzAsMS4xLTIuMiwyLTUsMmMtMi43LDAtNC45LTAuOC01LTEuOVY4MHYtNAoJCQkJCQkJQzc1LDc3LjEsNzcuMiw3OCw4MCw3OHoiLz4KCQkJCQkJPHBhdGggaWQ9IuW9oueKtue7k+WQiOWkh+S7vS0zIiBjbGFzcz0ic3Q5IiBkPSJNMTQ2LDc4YzIuNywwLDQuOS0wLjgsNS0xLjlWNzZ2NGMwLDEuMS0yLjIsMi01LDJjLTIuNywwLTQuOS0wLjgtNS0xLjlWODB2LTQKCQkJCQkJCUMxNDEsNzcuMSwxNDMuMiw3OCwxNDYsNzh6Ii8+CgkJCQkJPC9nPgoJCQkJPC9nPgoJCQk8L2c+CgkJPC9nPgoJPC9nPgo8L2c+Cjwvc3ZnPgo=";
9147
9150
  var notFound = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIyLjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IuWbvuWxgl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgNDgwIDI0MCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDgwIDI0MDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOnVybCgjRmlsbC0xXzFfKTt9Cgkuc3Qxe2ZpbGw6dXJsKCPnn6nlvaJfOV8pO30KCS5zdDJ7ZmlsbDp1cmwoI+efqeW9ol8xMF8pO30KCS5zdDN7ZmlsbDojRjBGMkY1O3N0cm9rZTp1cmwoI+efqeW9ol8xMV8pO30KCS5zdDR7ZmlsbDojOTc5QkE1O3N0cm9rZTp1cmwoI+efqeW9ol8xMl8pO30KCS5zdDV7ZmlsbDojOTc5QkE1O3N0cm9rZTp1cmwoI+efqeW9ouWkh+S7vS05XzFfKTt9Cgkuc3Q2e2ZpbGw6Izk3OUJBNTtzdHJva2U6dXJsKCPlvaLnirbnu5PlkIhfNl8pO30KCS5zdDd7ZmlsbDp1cmwoI+W9oueKtue7k+WQiF84Xyk7fQoJLnN0OHtmaWxsOnVybCgj5b2i54q257uT5ZCI5aSH5Lu9LTNfMV8pO30KCS5zdDl7ZmlsbDp1cmwoI+W9oueKtue7k+WQiF85Xyk7fQoJLnN0MTB7ZmlsbDojRTFFM0U2O30KCS5zdDExe2ZpbGw6I0YwRjJGNTt9Cgkuc3QxMntmaWxsOiNGNEY0RjQ7fQoJLnN0MTN7ZmlsbDp1cmwoI+i3r+W+hC01XzFfKTt9Cgkuc3QxNHtmaWxsOnVybCgj5b2i54q257uT5ZCIXzEwXyk7fQoJLnN0MTV7ZmlsbDp1cmwoI+W9oueKtue7k+WQiOWkh+S7vS00XzFfKTt9Cgkuc3QxNntmaWxsOiNDN0M5Q0M7fQoJLnN0MTd7ZmlsbDojRTVFN0U5O30KCS5zdDE4e2ZpbGw6I0VDRUVGMDt9Cgkuc3QxOXtmaWxsOiNDNEM2Q0M7fQoJLnN0MjB7ZmlsbDojRURFRUYzO30KCS5zdDIxe2ZpbGw6IzM0MzQzNDtmaWxsLW9wYWNpdHk6My4wMDAwMDBlLTAyO30KPC9zdHlsZT4KPGcgaWQ9IkV4Y2VwdGlvbl94MkZf5byC5bi45o+Q56S6IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtODcwLjAwMDAwMCwgLTEzMzUuMDAwMDAwKSI+Cgk8ZyBpZD0iX3gzNF8wNCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzU3LjAwMDAwMCwgMTIxNi4wMDAwMDApIj4KCQk8ZyBpZD0iX3gzNF8wNC3mj5Llm74iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUxMy4wMDAwMDAsIDExOS4wMDAwMDApIj4KCQkJPGcgaWQ9Iue8lue7hC0xMyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTAuMDAwMDAwLCAxMS4wMzY2NDgpIj4KCQkJCTxnIGlkPSJfeDM0XzA05Li75L2TIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg5NC4zMjQwMjIsIDQyLjUzODc3MSkiPgoJCQkJCTxsaW5lYXJHcmFkaWVudCBpZD0iRmlsbC0xXzFfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjE0MS4zOTEyIiB5MT0iNTUuNjg2OSIgeDI9IjE1Mi4zMzA3IiB5Mj0iMTE3LjcyNzciPgoJCQkJCQk8c3RvcCAgb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojRjhGQ0ZEIi8+CgkJCQkJCTxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNGMkY0RjciLz4KCQkJCQk8L2xpbmVhckdyYWRpZW50PgoJCQkJCTxwYXRoIGlkPSJGaWxsLTEiIGNsYXNzPSJzdDAiIGQ9Ik00NS4zLDcyLjljMjkuMy02LjYsNzEuNS05LjYsMTAwLjItOC4xczUyLjQsNi41LDU0LjEsNS4zYzUuNy0zLjgsMTcuOS01LjUsMTcuMy00CgkJCQkJCXMtOC41LDYuMS02LDYuOGMyLjUsMC43LDI4LDMuNywzOC42LDUuOWMxMC42LDIuMiwxNy40LDQuNCwxOS43LDQuNGMyLjMsMCw1LjktMy4xLDIxLjMtMS42YzAuMywwLjYtMy40LDAuOC02LjgsMi41CgkJCQkJCXMtNS45LDEuNi01LjksMnMxLjktMC42LDUuOSwyYzQsMi41LDExLDMuNCwxMSw0cy04LjksMy42LTIzLjgtMS4xYy0zLjgtMS4yLTEyLjYsOS4yLTUzLjEsMTIuMXMtMTA5LjEsNS4yLTEwOS4xLDUuMgoJCQkJCQlzNC4xLDUuMywxMC4xLDYuOGMwLjMsMC41LTIuNCwyLjUtMTQsMC4zcy0xNy45LTcuMS0xNy45LTcuMXMtMjMuMS0xLjUtMzEuOC0yLjlzLTE4LjctNS4yLTI1LjYtNS45Uy04LjUsOTUsMy4zLDg2LjkKCQkJCQkJQzMuMyw4Ni45LDE2LDc5LjUsNDUuMyw3Mi45eiIvPgoKCQkJCQkJPGxpbmVhckdyYWRpZW50IGlkPSLnn6nlvaJfOV8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMzA0Ljg0NjciIHkxPSIxMDEuMjQ5MiIgeDI9IjMwNC44NDY3IiB5Mj0iMTAwLjI1NDYiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoOTMuMzkwNyAwIDAgLTkzLjQ2MjcgLTI4MzM1Ljk0NTMgOTQ2My4wMjczKSI+CgkJCQkJCTxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNFQ0VFRjAiLz4KCQkJCQkJPHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6I0Q3RDlEQiIvPgoJCQkJCTwvbGluZWFyR3JhZGllbnQ+CgkJCQkJPHBhdGggaWQ9IuefqeW9ol8xXyIgY2xhc3M9InN0MSIgZD0iTTg5LjIsMGg4OS40YzEuMSwwLDIsMC45LDIsMnY4OS41YzAsMS4xLTAuOSwyLTIsMkg4OS4yYy0xLjEsMC0yLTAuOS0yLTJWMgoJCQkJCQlDODcuMiwwLjksODguMSwwLDg5LjIsMHoiLz4KCgkJCQkJCTxsaW5lYXJHcmFkaWVudCBpZD0i55+p5b2iXzEwXyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIzMDMuODkxNSIgeTE9IjEwMS42NTMyIiB4Mj0iMzAzLjg5MTUiIHkyPSIxMDAuNjUzIiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDgxLjcxNjkgMCAwIC04MS43Nzk5IC0yNDY5OS4yMjQ2IDgzMTguOTkwMikiPgoJCQkJCQk8c3RvcCAgb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojRjVGN0ZBIi8+CgkJCQkJCTxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNFQkVERjAiLz4KCQkJCQk8L2xpbmVhckdyYWRpZW50PgoJCQkJCTxwYXRoIGlkPSLnn6nlvaJfMl8iIGNsYXNzPSJzdDIiIGQ9Ik05NCw1LjhoNzkuN2MwLjYsMCwxLDAuNCwxLDF2NzkuOGMwLDAuNi0wLjQsMS0xLDFIOTRjLTAuNiwwLTEtMC40LTEtMVY2LjgKCQkJCQkJQzkzLDYuMyw5My41LDUuOCw5NCw1Ljh6Ii8+CgoJCQkJCQk8bGluZWFyR3JhZGllbnQgaWQ9IuefqeW9ol8xMV8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMjk5LjQxODYiIHkxPSIxMDMuNTA1MiIgeDI9IjI5OS40MTg2IiB5Mj0iMTAyLjU1OTkiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoNTEuNTMyMyAwIDAgLTUxLjU3MjggLTE1Mjk1Ljg3NyA1MzYwLjk3MzYpIj4KCQkJCQkJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6I0UxRTJFNiIvPgoJCQkJCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojRjdGOUZDIi8+CgkJCQkJPC9saW5lYXJHcmFkaWVudD4KCQkJCQk8cGF0aCBpZD0i55+p5b2iXzNfIiBjbGFzcz0ic3QzIiBkPSJNMTA5LjEsMjAuOWg0OS41YzAuNiwwLDEsMC40LDEsMXY0OS42YzAsMC42LTAuNCwxLTEsMWgtNDkuNWMtMC42LDAtMS0wLjQtMS0xVjIxLjkKCQkJCQkJQzEwOC4xLDIxLjQsMTA4LjYsMjAuOSwxMDkuMSwyMC45eiIvPgoKCQkJCQkJPGxpbmVhckdyYWRpZW50IGlkPSLnn6nlvaJfMTJfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjE5NS40ODc5IiB5MT0iMTE5LjIyMzciIHgyPSIxOTUuNDg3OSIgeTI9IjExOC4yNTY2IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDUuMzc3NyAwIDAgLTEyLjY4MjggLTkyOC4zNzU1IDE1NDYuODUxNikiPgoJCQkJCQk8c3RvcCAgb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojRTFFMkU2Ii8+CgkJCQkJCTxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNGMEYyRjUiLz4KCQkJCQk8L2xpbmVhckdyYWRpZW50PgoJCQkJCTxyZWN0IGlkPSLnn6nlvaJfNF8iIHg9IjEyMC4yIiB5PSIzNC41IiBjbGFzcz0ic3Q0IiB3aWR0aD0iNS40IiBoZWlnaHQ9IjEyLjciLz4KCgkJCQkJCTxsaW5lYXJHcmFkaWVudCBpZD0i55+p5b2i5aSH5Lu9LTlfMV8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMTk1LjQ5MDEiIHkxPSIxMTkuMjIzNyIgeDI9IjE5NS40OTAxIiB5Mj0iMTE4LjI1NjYiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoNS4zNzc3IDAgMCAtMTIuNjgyOCAtOTA2LjQ4NzEgMTU0Ni44NTE2KSI+CgkJCQkJCTxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNFMUUyRTYiLz4KCQkJCQkJPHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6I0YwRjJGNSIvPgoJCQkJCTwvbGluZWFyR3JhZGllbnQ+CgkJCQkJPHJlY3QgaWQ9IuefqeW9ouWkh+S7vS05IiB4PSIxNDIuMSIgeT0iMzQuNSIgY2xhc3M9InN0NSIgd2lkdGg9IjUuNCIgaGVpZ2h0PSIxMi43Ii8+CgoJCQkJCQk8bGluZWFyR3JhZGllbnQgaWQ9IuW9oueKtue7k+WQiF82XyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIyNDcuNTY2IiB5MT0iMTI1LjQ1MTQiIHgyPSIyNDcuNTY2IiB5Mj0iMTI0LjQ4NDQiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoOS43NTU0IDAgMCAtOS43NjIxIC0yMjgxLjIwNTEgMTI3Ni45MDYpIj4KCQkJCQkJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6I0UxRTJFNiIvPgoJCQkJCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojRjBGMkY1Ii8+CgkJCQkJPC9saW5lYXJHcmFkaWVudD4KCQkJCQk8cGF0aCBpZD0i5b2i54q257uT5ZCIIiBjbGFzcz0ic3Q2IiBkPSJNMTI5LDU2LjdMMTI5LDU2LjdjMC4xLTIuNiwyLjMtNC43LDQuOS00LjdjMi42LDAsNC43LDIsNC45LDQuN3YwLjJ2NC45SDEyOXYtMC41di00LjQKCQkJCQkJVjU2Ljd6Ii8+CgoJCQkJCQk8bGluZWFyR3JhZGllbnQgaWQ9IuW9oueKtue7k+WQiF84XyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIzMDIuOTc2MSIgeTE9IjEwMS4yMzc1IiB4Mj0iMzAyLjk3NjEiIHkyPSIxMDAuMzAxNiIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCg3Mi45NjE1IDAgMCAtOTMuNDYyNyAtMjE4NzkuNzQ0MSA5NDYzLjAyNzMpIj4KCQkJCQkJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6I0VCRURGMDtzdG9wLW9wYWNpdHk6MC45OTE3Ii8+CgkJCQkJCTxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNFMUUzRTYiLz4KCQkJCQk8L2xpbmVhckdyYWRpZW50PgoJCQkJCTxwYXRoIGlkPSLlvaLnirbnu5PlkIhfMV8iIGNsYXNzPSJzdDciIGQ9Ik0yNDQuOCwwaDIuOXY1OC40aDE0LjZ2MTcuNWgtMTQuNnYxNy41aC0yMC40Vjc1LjloLTM3LjlWNTguNEwyMjcuMywwSDI0NC44egoJCQkJCQkgTTIyNy4zLDI4LjJsLTE4LjgsMzAuM2gxOC44VjI4LjJ6Ii8+CgoJCQkJCQk8bGluZWFyR3JhZGllbnQgaWQ9IuW9oueKtue7k+WQiOWkh+S7vS0zXzFfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjMwMi45NzU2IiB5MT0iMTAxLjIzNzUiIHgyPSIzMDIuOTc1NiIgeTI9IjEwMC4zMDE2IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDcyLjk2MTUgMCAwIC05My40NjI3IC0yMjA2My42MDc0IDk0NjMuMDI3MykiPgoJCQkJCQk8c3RvcCAgb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojRUJFREYwO3N0b3Atb3BhY2l0eTowLjk5MTciLz4KCQkJCQkJPHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6I0UxRTNFNiIvPgoJCQkJCTwvbGluZWFyR3JhZGllbnQ+CgkJCQkJPHBhdGggaWQ9IuW9oueKtue7k+WQiOWkh+S7vS0zIiBjbGFzcz0ic3Q4IiBkPSJNNjAuOSwwaDIuOXY1OC40aDE0LjZ2MTcuNUg2My44djE3LjVINDMuNFY3NS45SDUuNVY1OC40TDQzLjQsMEg2MC45egoJCQkJCQkgTTQzLjQsMjguMkwyNC42LDU4LjRoMTguOFYyOC4yeiIvPgoKCQkJCQkJPGxpbmVhckdyYWRpZW50IGlkPSLlvaLnirbnu5PlkIhfOV8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMjk5LjA0NjYiIHkxPSIxMDcuMjgyNyIgeDI9IjI5OS4wNTM1IiB5Mj0iMTA3LjAxMSIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCg1MC4wMDM1IDAgMCAtMjguNjA1MyAtMTQ4NTcuNzUyOSAzMjE2LjczOTUpIj4KCQkJCQkJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6I0ZCRkNGRCIvPgoJCQkJCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojRjBGMkY1Ii8+CgkJCQkJPC9saW5lYXJHcmFkaWVudD4KCQkJCQk8cGF0aCBpZD0i5b2i54q257uT5ZCIXzJfIiBjbGFzcz0ic3Q5IiBkPSJNOTkuNiwxMzcuM2MxMS43LDAsMjEuMiw1LjYsMjEuMiwxMi40YzAsNi45LTkuNSwxMi40LTIxLjIsMTIuNAoJCQkJCQljLTQuNCwwLTguNS0wLjgtMTEuOS0yLjFsLTcsNS45bC0xLjktMi4ybDYtNS4xYy0zLjktMi4zLTYuNC01LjQtNi40LTguOWMwLTAuMiwwLTAuNSwwLTAuN2wtNS44LDUuMWwtMS45LTIuMmwxNS40LTEzLjQKCQkJCQkJbDEuMSwxLjJDOTAuNywxMzguMSw5NSwxMzcuMyw5OS42LDEzNy4zeiIvPgoJCQkJCTxyZWN0IGlkPSLnn6nlvaJfNV8iIHg9IjIyNS44IiB5PSI4Ny42IiBjbGFzcz0ic3QxMCIgd2lkdGg9IjIzLjMiIGhlaWdodD0iNS44Ii8+CgkJCQkJPHJlY3QgaWQ9IuefqeW9ol82XyIgeD0iMjI3LjMiIHk9Ijg2LjIiIGNsYXNzPSJzdDExIiB3aWR0aD0iMjAuNCIgaGVpZ2h0PSIxLjUiLz4KCQkJCQk8cmVjdCBpZD0i55+p5b2iXzdfIiB4PSI0MS45IiB5PSI4Ny42IiBjbGFzcz0ic3QxMCIgd2lkdGg9IjIzLjMiIGhlaWdodD0iNS44Ii8+CgkJCQkJPHJlY3QgaWQ9IuefqeW9ol84XyIgeD0iNDMuNCIgeT0iODYuMiIgY2xhc3M9InN0MTEiIHdpZHRoPSIyMC40IiBoZWlnaHQ9IjEuNSIvPgoJCQkJCTxwYXRoIGlkPSLot6/lvoQtNCIgY2xhc3M9InN0MTEiIGQ9Ik0wLDAiLz4KCQkJCQk8cGF0aCBpZD0i6Lev5b6ELTgiIGNsYXNzPSJzdDEyIiBkPSJNMTE1LjYsMTM0LjljMi40LTIuMiw5LjctMy40LDIxLjktMy40YzYuNCwwLDExLDAuNywzOS45LDUuN2MyLjksMC41LDUuMywwLjksNy43LDEuMwoJCQkJCQljMjUuOCw0LjMsNDAuOCw1LjcsNDguNiwzLjNsLTAuNC0xLjRjLTcuNSwyLjItMjIuNSwwLjktNDgtMy40Yy0yLjMtMC40LTQuOC0wLjgtNy42LTEuM2MtMjkuMS01LjEtMzMuNi01LjgtNDAuMi01LjgKCQkJCQkJYy0xMi42LDAtMjAuMSwxLjItMjIuOSwzLjhMMTE1LjYsMTM0Ljl6Ii8+CgoJCQkJCQk8bGluZWFyR3JhZGllbnQgaWQ9Iui3r+W+hC01XzFfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjMwNy4xMTA1IiB5MT0iMTAzLjQ4MSIgeDI9IjMwNy4xMTA1IiB5Mj0iMTAyLjQ5MjIiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMTQxLjI1IDAgMCAtNTIuMDk2MiAtNDMyMDEuNzIyNyA1NDgxLjM2MTMpIj4KCQkJCQkJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6I0RDREVFNSIvPgoJCQkJCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojOTc5QkE1Ii8+CgkJCQkJPC9saW5lYXJHcmFkaWVudD4KCQkJCQk8cGF0aCBpZD0i6Lev5b6ELTUiIGNsYXNzPSJzdDEzIiBkPSJNMjI1LjgsODkuOGgtMjBjLTYuOSwwLTEwLjcsMy4xLTgsNy41YzIuNyw0LjYsMTEuOSw5LjcsMjcuMSwxNC40CgkJCQkJCWMxNS41LDQuOCwyNC45LDE1LjUsMjEsMjIuNWMtNC41LDguMS0yNC40LDguOS01Ni4zLTAuOGMtNDguNC0xNC42LTc1LjgtMTYuMS04Mi42LTQuMWwxLjMsMC43YzYuMi0xMS4xLDMzLjItOS43LDgwLjksNC43CgkJCQkJCWMzMi41LDkuOCw1Myw5LjEsNTgsMC4xYzQuNS04LTUuNi0xOS41LTIxLjktMjQuNmMtMTQuOC00LjYtMjMuOC05LjYtMjYuMi0xMy43Yy0xLjgtMy4xLDAuOC01LjMsNi44LTUuM2gyMHYtMS40SDIyNS44eiIvPgoKCQkJCQkJPGxpbmVhckdyYWRpZW50IGlkPSLlvaLnirbnu5PlkIhfMTBfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjI5NC4xODM1IiB5MT0iMTAxLjQ1NzgiIHgyPSIyOTQuNzA3NCIgeTI9IjEwMS40MDIyIiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDM3Ljc5OTMgNy4zNDc0IDcuNjMzNyAtMzkuMjcyIC0xMTgwMy44MjUyIDE5NTkuNDUyKSI+CgkJCQkJCTxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNFN0U5RUI7c3RvcC1vcGFjaXR5OjAuOTM2NSIvPgoJCQkJCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojQ0RDRkQxIi8+CgkJCQkJPC9saW5lYXJHcmFkaWVudD4KCQkJCQk8cGF0aCBpZD0i5b2i54q257uT5ZCIXzNfIiBjbGFzcz0ic3QxNCIgZD0iTTExMS43LDEyNS4yYzQsNC45LDQuNywxMS4zLDIuNCwxMy41bC0wLjEsMC4xbC01LjUsNS42YzAuNiwyLjksMC41LDUuMy0xLjEsNi43CgkJCQkJCWwwLDBsMCwwbC04LjIsOC43bC0yMS44LTMwLjZsOC4zLTQuOHYwLjFjMS43LTAuOSw0LjEtMC42LDYuNywwLjRsNi44LTQuMmwwLjEtMC4xQzEwMiwxMTguNywxMDcuOCwxMjAuMywxMTEuNywxMjUuMnoiLz4KCgkJCQkJCTxsaW5lYXJHcmFkaWVudCBpZD0i5b2i54q257uT5ZCI5aSH5Lu9LTRfMV8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMjk1LjQwNTQiIHkxPSI4Mi4zMTk3IiB4Mj0iMjk2LjEyODciIHkyPSI4Mi4yOTk0IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDIzLjgyNDMgMjkuNDIwNiAxNS44NjE0IC0xMi44NDQzIC04MjU1Ljg0MzggLTc1MDQuODQ1NykiPgoJCQkJCQk8c3RvcCAgb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojRUJFREVGIi8+CgkJCQkJCTxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNEOERBREMiLz4KCQkJCQk8L2xpbmVhckdyYWRpZW50PgoJCQkJCTxwYXRoIGlkPSLlvaLnirbnu5PlkIjlpIfku70tNCIgY2xhc3M9InN0MTUiIGQ9Ik0xMDMuMywxMzIuNGM1LjksNy4yLDcuMiwxNS40LDQsMTguOWwwLDBsLTguMSw4LjVMNzYsMTI5LjlsOS40LTUuNWwwLDAKCQkJCQkJQzg5LjUsMTIyLjEsOTcuNSwxMjUuMiwxMDMuMywxMzIuNHoiLz4KCgkJCQkJCTxlbGxpcHNlIGlkPSLmpK3lnIblvaLlpIfku70tMiIgdHJhbnNmb3JtPSJtYXRyaXgoMC43NzcxIC0wLjYyOTMgMC42MjkzIDAuNzc3MSAtNzEuNzU3MyA4Ny4zODA5KSIgY2xhc3M9InN0MTYiIGN4PSI4Ny41IiBjeT0iMTQ1IiByeD0iOS41IiByeT0iMTkiLz4KCgkJCQkJCTxnIGlkPSLnvJbnu4QtNSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoODUuMjg4NzA1LCAxNTUuNjk1NDY1KSByb3RhdGUoNi4wMDAwMDApIHRyYW5zbGF0ZSgtODUuMjg4NzA1LCAtMTU1LjY5NTQ2NSkgdHJhbnNsYXRlKDc5LjE0MzQ1MywgMTQ2Ljc1NjkxNykiPgoJCQkJCQk8cG9seWdvbiBpZD0i6Lev5b6ELTkiIGNsYXNzPSJzdDE3IiBwb2ludHM9IjEyLjIsMS4xIDEyLjIsNi4xIDEuMiwxNy41IDEuMiwxMi41IAkJCQkJCSIvPgoJCQkJCQk8cG9seWdvbiBpZD0i6Lev5b6ELTEwIiBjbGFzcz0ic3QxMSIgcG9pbnRzPSIxMi4yLDEuMSAxMS4zLDAgMC4zLDExLjEgMS4yLDEyLjUgCQkJCQkJIi8+CgkJCQkJCTxwb2x5Z29uIGlkPSLot6/lvoQtMTEiIGNsYXNzPSJzdDE4IiBwb2ludHM9IjAuMywxMS4xIDEuMiwxMi41IDEuMiwxNy41IDAuMywxNi4xIAkJCQkJCSIvPgoJCQkJCTwvZz4KCgkJCQkJCTxnIGlkPSLnvJbnu4QtNeWkh+S7vSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNzYuODI2Mjc3LCAxNDMuODg1MTA1KSByb3RhdGUoNi4wMDAwMDApIHRyYW5zbGF0ZSgtNzYuODI2Mjc3LCAtMTQzLjg4NTEwNSkgdHJhbnNsYXRlKDcwLjY4MTAyNSwgMTM0Ljk0NjU1OCkiPgoJCQkJCQk8cG9seWdvbiBpZD0i6Lev5b6ELTlfMV8iIGNsYXNzPSJzdDE3IiBwb2ludHM9IjEyLjIsMS4xIDEyLjIsNi4xIDEuMiwxNy41IDEuMiwxMi41IAkJCQkJCSIvPgoJCQkJCQk8cG9seWdvbiBpZD0i6Lev5b6ELTEwXzFfIiBjbGFzcz0ic3QxMSIgcG9pbnRzPSIxMi4yLDEuMSAxMS4zLDAgMC4zLDExLjEgMS4yLDEyLjUgCQkJCQkJIi8+CgkJCQkJCTxwb2x5Z29uIGlkPSLot6/lvoQtMTFfMV8iIGNsYXNzPSJzdDE4IiBwb2ludHM9IjAuMywxMS4xIDEuMiwxMi41IDEuMiwxNy41IDAuMywxNi4xIAkJCQkJCSIvPgoJCQkJCTwvZz4KCgkJCQkJCTxnIGlkPSLnvJbnu4QtNV8xXyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoODQuNjQzMzQ5LCAxNTYuMjAzMTgzKSByb3RhdGUoNi4wMDAwMDApIHRyYW5zbGF0ZSgtODQuNjQzMzQ5LCAtMTU2LjIwMzE4MykgdHJhbnNsYXRlKDc4LjEzNjYxMiwgMTQ2LjYyOTc5NikiPgoJCQkJCTwvZz4KCgkJCQkJCTxnIGlkPSLnvJbnu4QtNeWkh+S7vV8xXyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNzYuMjU3OTg1LCAxNDQuMjkxOTQyKSByb3RhdGUoNi4wMDAwMDApIHRyYW5zbGF0ZSgtNzYuMjU3OTg1LCAtMTQ0LjI5MTk0MikgdHJhbnNsYXRlKDY5Ljc1MTI0OCwgMTM0LjcxODU1NSkiPgoJCQkJCTwvZz4KCQkJCTwvZz4KCQkJCTxjaXJjbGUgaWQ9IuakreWchuW9oiIgY2xhc3M9InN0MTkiIGN4PSIxLjciIGN5PSI4MCIgcj0iMS43Ii8+CgkJCQk8cGF0aCBpZD0i5b2i54q257uT5ZCIXzRfIiBjbGFzcz0ic3QyMCIgZD0iTTEyMy43LDYyLjlsLTEuMiwxLjhjLTU4LjQsMTQuNi05Ny4zLDM0LjgtOTUuMiw1MS44YzEuMiwxMCwxNi41LDE3LjYsNDEsMjIuMgoJCQkJCWM3LjktOC42LDE4LjMtMTcuOSwzMC43LTI3LjV2MS45Qzg3LjQsMTIyLjIsNzcuNiwxMzEsNzAsMTM5YzkuMiwxLjYsMTkuNywyLjksMzEuMiwzLjdjMS41LDAuNywzLjQsMS4zLDUuNSwxLjgKCQkJCQljLTE0LjEtMC44LTI2LjktMi4yLTM3LjgtNC4yQzU1LDE1NS4xLDQ5LDE2Ny41LDUzLDE3NS40YzguNiwxNi45LDYxLjIsOC44LDEyNi44LTE3LjZjMC41LDAuMywxLDAuNiwxLjYsMQoJCQkJCWMtNjYuOCwyNy0xMjAuNSwzNS4yLTEyOS42LDE3LjNjLTQuMi04LjMsMS43LTIxLjEsMTUuNC0zNi4yYy0yNC43LTQuOC00MC0xMi43LTQxLjMtMjMuMkMyMy42LDk4LjUsNjMuNyw3Ny43LDEyMy43LDYyLjl6CgkJCQkJIE0zMTMuMywxMTguNGg1LjFjLTYuOCwyLjEtMTMuOSw0LjEtMjEuNCw2Yy0xLjQtMC4yLTIuOC0wLjQtMy45LTAuNUMzMDAuMiwxMjIuMSwzMDYuOSwxMjAuMywzMTMuMywxMTguNHogTTI4My4xLDEwNS44djEuNwoJCQkJCWMtMi45LDEuOC01LjgsMy41LTguOCw1LjN2LTEuN0MyNzcuMywxMDkuMywyODAuMiwxMDcuNiwyODMuMSwxMDUuOHogTTM3OC41LDkuNmM0LjcsOS4yLTMuMSwyNC0yMC4yLDQxLjMKCQkJCQljMTguOSw0LjksMzAuNCwxMiwzMS42LDIxYzEuMywxMC40LTExLjQsMjEuNi0zMy43LDMyLjJ2LTEuNmMyMS40LTEwLjEsMzMuNC0yMC44LDMyLjMtMzAuNGMtMS4xLTguNi0xMi41LTE1LjQtMzEuMy0yMC4xCgkJCQkJbC0wLjMsMC4zYy00LjUsNC41LTkuNiw5LjEtMTUuMywxMy45di0xLjljNS00LjMsOS42LTguNCwxMy43LTEyLjRsMC4zLTAuM2MtNC4zLTEtOS0xLjktMTQtMi43di0xLjVjNS40LDAuOSwxMC41LDEuOSwxNS4xLDMKCQkJCQljMTcuMS0xNy4xLDI1LTMxLjUsMjAuNi00MC4zYy0xMC0xOS43LTc5LjktNS40LTE2MC40LDMyLjJoLTMuNEMyOTUuOSwzLjQsMzY3LjgtMTEuNSwzNzguNSw5LjZ6IE0xMzYuOSw4NC41djEuOAoJCQkJCWMtNS44LDMuNy0xMS40LDcuNC0xNi43LDExLjFsMi0zLjFDMTI3LDkwLjksMTMxLjksODcuNywxMzYuOSw4NC41eiBNMzIxLjEsODAuNHYxLjhjLTQuMiwzLTguNSw2LjEtMTMsOS4ybDItMy4xCgkJCQkJQzMxMy45LDg1LjYsMzE3LjUsODMsMzIxLjEsODAuNHogTTE4MC44LDU4Ljl2MS43Yy04LjEsNC4zLTE1LjksOC43LTIzLjQsMTMuMVY3MkMxNjQuOSw2Ny42LDE3Mi43LDYzLjIsMTgwLjgsNTguOXoKCQkJCQkgTTE4MC44LDUxLjZ2MS41Yy04LDEuMi0xNS44LDIuNi0yMy40LDR2LTEuNUMxNjUsNTQuMSwxNzIuOCw1Mi44LDE4MC44LDUxLjZ6IE0zMTkuNSw0NC45bC0wLjksMS40CgkJCQkJYy0xMy40LTEuMS0yOC4zLTEuNS00NC4zLTEuM3YtMC41YzAtMC4zLTAuMS0wLjctMC4yLTAuOUMyOTAuNSw0My4zLDMwNS44LDQzLjcsMzE5LjUsNDQuOXoiLz4KCQkJCTxwYXRoIGlkPSLlvaLnirbnu5PlkIhfNV8iIGNsYXNzPSJzdDIxIiBkPSJNMzc4LjUsOS42YzQuNyw5LjItMy4xLDI0LTIwLjIsNDEuM2MxOC45LDQuOSwzMC40LDEyLDMxLjYsMjEKCQkJCQljMi45LDI0LTY4LjYsNTIuOC0xNjIuNCw2Ni4xYy04Ni45LDQyLjktMTY0LjYsNTkuOS0xNzUuOCwzOGMtNC4yLTguMywxLjctMjEuMSwxNS40LTM2LjJjLTI0LjctNC44LTQwLTEyLjctNDEuMy0yMy4yCgkJCQkJYy0xLjctMTMuOCwyMS4xLTI5LjEsNTguNS00Mi4ybDAuMywxLjRjLTM2LjYsMTIuOC01OSwyNy42LTU3LjQsNDAuNmMxLjIsMTAsMTYuNSwxNy42LDQxLDIyLjJjNi44LTcuMywxNS40LTE1LjIsMjUuNS0yMy40CgkJCQkJbDAuMywxLjJsMC44LTAuMmMtOS44LDcuOS0xOC4yLDE1LjUtMjQuOSwyMi42YzM0LjQsNi4xLDg2LjIsNi42LDE0My4zLTAuNGM0LjctMC42LDkuMy0xLjIsMTMuOC0xLjhjMi43LTEuNCw1LjUtMi43LDguMy00LjEKCQkJCQljNTEuOC0yNi40LDk1LTU2LjEsMTE5LjktODAuNmwwLjMtMC4zYy0yLjctMC42LTUuNS0xLjItOC40LTEuOGwtMC40LTEuNWMzLjUsMC42LDYuOCwxLjQsMTAsMi4xYzE3LjEtMTcuMSwyNS0zMS41LDIwLjYtNDAuMwoJCQkJCWMtNC4yLTguMy0xOS4yLTEwLjYtNDEuMS03LjZsLTAuMy0xLjRDMzU4LjUtMS44LDM3NCwwLjcsMzc4LjUsOS42eiBNMjIyLjksMTM4LjdsLTAuNCwwLjFjLTMsMC40LTYsMC44LTksMS4yCgkJCQkJYy01Ny43LDcuMS0xMTAsNi43LTE0NC43LDAuMkM1NSwxNTUuMSw0OSwxNjcuNSw1MywxNzUuNEM2My40LDE5NS45LDEzOC40LDE3OS43LDIyMi45LDEzOC43eiBNMzU3LjEsNTJsLTAuMywwLjMKCQkJCQljLTI1LDI0LjgtNjguNSw1NC44LTEyMC44LDgxLjRjLTEuNCwwLjctMi45LDEuNS00LjMsMi4yYzkwLjYtMTMuNSwxNTkuNS00MS41LDE1Ni43LTYzLjlDMzg3LjQsNjMuNSwzNzUuOSw1Ni43LDM1Ny4xLDUyeiIvPgoJCQkJPGNpcmNsZSBpZD0i5qSt5ZyG5b2iXzFfIiBjbGFzcz0ic3QxOSIgY3g9IjEzNS4yIiBjeT0iMTQ0LjIiIHI9IjIuMiIvPgoJCQkJPGNpcmNsZSBpZD0i5qSt5ZyG5b2i5aSH5Lu9LTQiIGNsYXNzPSJzdDE5IiBjeD0iMzU3IiBjeT0iNTAuOSIgcj0iMy45Ii8+CgkJCQk8Y2lyY2xlIGlkPSLmpK3lnIblvaLlpIfku70iIGNsYXNzPSJzdDE5IiBjeD0iNDMuNiIgY3k9IjkzLjkiIHI9IjIuMiIvPgoJCQkJPGNpcmNsZSBpZD0i5qSt5ZyG5b2iXzJfIiBjbGFzcz0ic3QxOSIgY3g9IjM3Mi4xIiBjeT0iMy40IiByPSIyLjIiLz4KCQkJCTxjaXJjbGUgaWQ9IuakreWchuW9ol8zXyIgY2xhc3M9InN0MTkiIGN4PSI3My4yIiBjeT0iNTAuOSIgcj0iMS43Ii8+CgkJCQk8Y2lyY2xlIGlkPSLmpK3lnIblvaJfNF8iIGNsYXNzPSJzdDE5IiBjeD0iMjkzLjMiIGN5PSIxNjkuNCIgcj0iMS43Ii8+CgkJCQk8Y2lyY2xlIGlkPSLmpK3lnIblvaJfNV8iIGNsYXNzPSJzdDE5IiBjeD0iMzk4LjMiIGN5PSIxNS4yIiByPSIxLjciLz4KCQkJPC9nPgoJCTwvZz4KCTwvZz4KPC9nPgo8L3N2Zz4K";
9148
9151
  var maintain = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIyLjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IuWbvuWxgl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgNDgwIDI0MCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDgwIDI0MDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOnVybCgjRmlsbC0xXzFfKTt9Cgkuc3Qxe2ZpbGw6I0M0QzZDQzt9Cgkuc3Qye2ZpbGw6dXJsKCPnn6nlvaItMl8xXyk7fQoJLnN0M3tmaWxsOnVybCgj55+p5b2iXzZfKTt9Cgkuc3Q0e2ZpbGw6I0RDREVFMDt9Cgkuc3Q1e2ZpbGw6I0QxRDNENjt9Cgkuc3Q2e2ZpbGw6dXJsKCPnn6nlvaItM18xXyk7fQoJLnN0N3tmaWxsOiNFNUU3RUM7fQoJLnN0OHtmaWxsOnVybCgj5LiJ6KeS5b2iXzFfKTt9Cgkuc3Q5e2ZpbGw6Izk3OUJBNTt9Cjwvc3R5bGU+CjxnIGlkPSLpobXpnaItMSI+Cgk8ZyBpZD0iRXhjZXB0aW9uX3gyRl/lvILluLjmj5DnpLoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC04NjkuMDAwMDAwLCAtMjkxOC4wMDAwMDApIj4KCQk8ZyBpZD0i5byC5bi45aSx6LSl57G7IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNTcuMDAwMDAwLCAyODIzLjAwMDAwMCkiPgoJCQk8ZyBpZD0i5byC5bi45aSx6LSl57G7LeaPkuWbviIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNTEyLjAwMDAwMCwgOTUuMDAwMDAwKSI+CgkJCQk8ZyBpZD0i57yW57uELTIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyMy4wMDAwMDAsIDMzLjAwMDAwMCkiPgoJCQkJCTxsaW5lYXJHcmFkaWVudCBpZD0iRmlsbC0xXzFfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjEyNi41Njk5IiB5MT0iMTM0Ljk4ODkiIHgyPSIxMzAuMTYzOCIgeTI9IjE2OS4xODI3Ij4KCQkJCQkJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6I0ZCRkNGRCIvPgoJCQkJCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojRjJGNEY3Ii8+CgkJCQkJPC9saW5lYXJHcmFkaWVudD4KCQkJCQk8cGF0aCBpZD0iRmlsbC0xIiBjbGFzcz0ic3QwIiBkPSJNNjAsMTQzYzE5LjMtNC4yLDQ4LjQtNS43LDY3LjMtNC43czM5LjQsMy44LDM5LjQsMy44czUuMy0yLjQsNC45LTEuNAoJCQkJCQljLTAuNCwwLjktMi45LDIuNC0xLjIsMi44YzEuNiwwLjUsMTguNSwyLjQsMjUuNCwzLjhjNywxLjQsMTAuMywyLjgsMTAuMywyLjhzNC42LTgsMTQuNy03LjFjMCwwLjgtMy43LDEuNy01LDMuOAoJCQkJCQljLTEuMiwyLjEtNCwzLjMtNCwzLjNzMi4yLTEuMiw1LjksMC42czcuMywyLjQsNy4zLDIuN3MtMS42LDQuMi0xNS4yLDEuNGMtNS41LTEuNC04LjIsNi4xLTM0LjksOHMtNzEuOCwzLjMtNzEuOCwzLjMKCQkJCQkJczIuMSwyLjgsNi4yLDMuOGMwLDAtMi45LDIuOC04LjYsMS45Yy01LjctMC45LTExLjktNS43LTExLjktNS43cy0xNS4yLTAuOS0yMC45LTEuOXMtMTIuMy0zLjMtMTYuOC0zLjhzLTI1LTIuOC0xNy4yLTgKCQkJCQkJQzMzLjgsMTUyLjQsNDAuNywxNDcuMyw2MCwxNDN6Ii8+CgkJCQkJPHBhdGggaWQ9IuW9oueKtue7k+WQiCIgY2xhc3M9InN0MSIgZD0iTTYwLjgsMTQ3djkuMkg3MHYxLjhINTl2LTExSDYwLjh6Ii8+CgkJCQkJPHBhdGggaWQ9IuW9oueKtue7k+WQiOWkh+S7vSIgY2xhc3M9InN0MSIgZD0iTTY2LDMxLjhoLTkuMlY0MUg1NXYtOS4ybDAsMFYzMGgxMVYzMS44eiIvPgoJCQkJCTxwYXRoIGlkPSLlvaLnirbnu5PlkIjlpIfku70tMiIgY2xhc3M9InN0MSIgZD0iTTE1Ny4yLDQxdi05LjJIMTQ4VjMwaDkuMmwwLDBoMS44djExSDE1Ny4yeiIvPgoKCQkJCQkJPGxpbmVhckdyYWRpZW50IGlkPSLnn6nlvaItMl8xXyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIxNjUuNzcyNyIgeTE9Ii0xLjU1OTciIHgyPSIxNjUuNzcyNyIgeTI9Ii0wLjYyMzgiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoODggMCAwIDExMiAtMTQ0ODAgMjE0KSI+CgkJCQkJCTxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNFQkVERjA7c3RvcC1vcGFjaXR5OjAuOTkxNyIvPgoJCQkJCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojRTFFM0U2Ii8+CgkJCQkJPC9saW5lYXJHcmFkaWVudD4KCQkJCQk8cGF0aCBpZD0i55+p5b2iLTIiIGNsYXNzPSJzdDIiIGQ9Ik02NSwzOGg4NmMwLjYsMCwxLDAuNCwxLDF2MTEwYzAsMC42LTAuNCwxLTEsMUg2NWMtMC42LDAtMS0wLjQtMS0xVjM5CgkJCQkJCUM2NCwzOC40LDY0LjQsMzgsNjUsMzh6Ii8+CgoJCQkJCQk8bGluZWFyR3JhZGllbnQgaWQ9IuefqeW9ol82XyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIxNjQuODAxNCIgeTE9Ii0xLjgxNDQiIHgyPSIxNjQuODAxNCIgeTI9Ii0wLjgyNTkiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoNzMgMCAwIDk3IC0xMTkyMyAyMjEpIj4KCQkJCQkJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6I0ZGRkZGRiIvPgoJCQkJCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojRjJGNEY3Ii8+CgkJCQkJPC9saW5lYXJHcmFkaWVudD4KCQkJCQk8cmVjdCBpZD0i55+p5b2iXzFfIiB4PSI3MSIgeT0iNDUiIGNsYXNzPSJzdDMiIHdpZHRoPSI3MyIgaGVpZ2h0PSI5NyIvPgoJCQkJCTxyZWN0IGlkPSLnn6nlvaJfMl8iIHg9Ijg2IiB5PSI0OSIgY2xhc3M9InN0NCIgd2lkdGg9IjQzIiBoZWlnaHQ9IjIiLz4KCQkJCQk8cmVjdCBpZD0i55+p5b2iXzNfIiB4PSI3MSIgeT0iMTQwIiBjbGFzcz0ic3Q1IiB3aWR0aD0iNzMiIGhlaWdodD0iMiIvPgoKCQkJCQkJPGxpbmVhckdyYWRpZW50IGlkPSLnn6nlvaItM18xXyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIxNjAuODI1NiIgeTE9Ii0xMS43MzMzIiB4Mj0iMTYwLjgyNTYiIHkyPSItMTAuNzQxMiIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCg0MyAwIDAgMTUgLTY4MDggMjEwKSI+CgkJCQkJCTxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNFREVGRjIiLz4KCQkJCQkJPHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6I0U4RUFFRCIvPgoJCQkJCTwvbGluZWFyR3JhZGllbnQ+CgkJCQkJPHJlY3QgaWQ9IuefqeW9oi0zIiB4PSI4NiIgeT0iMzQiIGNsYXNzPSJzdDYiIHdpZHRoPSI0MyIgaGVpZ2h0PSIxNSIvPgoJCQkJCTxwYXRoIGlkPSLlvaLnirbnu5PlkIhfMV8iIGNsYXNzPSJzdDUiIGQ9Ik0xNTIsMTA1djQ0YzAsMC42LTAuNCwxLTEsMWgtMjQuNkwxNTIsMTA1eiIvPgoJCQkJCTxwYXRoIGlkPSLlvaLnirbnu5PlkIhfMl8iIGNsYXNzPSJzdDciIGQ9Ik0xNDQsMTE5LjJWMTQwaC0xMkwxNDQsMTE5LjJ6Ii8+CgoJCQkJCQk8bGluZWFyR3JhZGllbnQgaWQ9IuS4ieinkuW9ol8xXyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIxNjMuOTE0MyIgeTE9Ii0zLjA4MTIiIHgyPSIxNjMuOTE0MyIgeTI9Ii0yLjE0NTMiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoNjMuMTc5OSAwIDAgNTYuOTAzMyAtMTAxOTguMTcxOSAyNzcuMDk0NSkiPgoJCQkJCQk8c3RvcCAgb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojRTZFOEVCO3N0b3Atb3BhY2l0eTowLjk5MTciLz4KCQkJCQkJPHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6I0Q0RDZEOSIvPgoJCQkJCTwvbGluZWFyR3JhZGllbnQ+CgkJCQkJPHBhdGggaWQ9IuS4ieinkuW9oiIgY2xhc3M9InN0OCIgZD0iTTE1OS43LDEwMi4xbDEuNSwyLjZsMCwwbDI4LjEsNTAuM2MwLjUsMSwwLjIsMi4yLTAuOCwyLjdjLTAuMywwLjItMC42LDAuMy0xLDAuM2gtNTkuMgoJCQkJCQljLTEuMSwwLTItMC45LTItMmMwLTAuMywwLjEtMC43LDAuMy0xbDI5LjYtNTIuOWMwLjUtMSwxLjgtMS4zLDIuNy0wLjhDMTU5LjMsMTAxLjUsMTU5LjYsMTAxLjgsMTU5LjcsMTAyLjF6Ii8+CgkJCQkJPHBhdGggaWQ9Il94MjFfIiBjbGFzcz0ic3Q5IiBkPSJNMTYwLjcsMTI0bC0wLjYsMTYuNGgtNC4ybC0wLjYtMTYuNEMxNTUuMywxMjQsMTYwLjcsMTI0LDE2MC43LDEyNHogTTE1NSwxNDUuOAoJCQkJCQljMC0wLjksMC4zLTEuNiwwLjktMi4yczEuMy0wLjgsMi4xLTAuOGMwLjksMCwxLjYsMC4zLDIuMSwwLjhjMC42LDAuNiwwLjgsMS4zLDAuOCwyLjFzLTAuMywxLjYtMC44LDIuMQoJCQkJCQljLTAuNiwwLjYtMS4yLDAuOS0yLDAuOWMtMSwwLTEuNy0wLjMtMi4zLTAuOUMxNTUuMywxNDcuMywxNTUsMTQ2LjYsMTU1LDE0NS44eiIvPgoJCQkJCTxnIGlkPSLnvJbnu4QtMyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTAxLjAwMDAwMCwgNzQuMDAwMDAwKSI+CgkJCQkJCTxyZWN0IGlkPSLnn6nlvaJfNF8iIGNsYXNzPSJzdDEiIHdpZHRoPSIzLjgiIGhlaWdodD0iMSIvPgoJCQkJCQk8cmVjdCBpZD0i55+p5b2i5aSH5Lu9IiB4PSI3LjYiIGNsYXNzPSJzdDEiIHdpZHRoPSIzLjgiIGhlaWdodD0iMSIvPgoJCQkJCQk8cmVjdCBpZD0i55+p5b2i5aSH5Lu9LTIiIHg9IjE1LjEiIGNsYXNzPSJzdDEiIHdpZHRoPSIzLjgiIGhlaWdodD0iMSIvPgoJCQkJCQk8cmVjdCBpZD0i55+p5b2i5aSH5Lu9LTMiIHg9IjIyLjciIGNsYXNzPSJzdDEiIHdpZHRoPSIzLjgiIGhlaWdodD0iMSIvPgoJCQkJCQk8cmVjdCBpZD0i55+p5b2i5aSH5Lu9LTQiIHg9IjMwLjIiIGNsYXNzPSJzdDEiIHdpZHRoPSIzLjgiIGhlaWdodD0iMSIvPgoJCQkJCTwvZz4KCQkJCQk8ZyBpZD0i57yW57uELTNfMV8iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyNC4wMDAwMDAsIDkxLjAwMDAwMCkiPgoJCQkJCQk8cmVjdCBpZD0i55+p5b2iXzVfIiB4PSI3LjgiIGNsYXNzPSJzdDEiIHdpZHRoPSIzLjkiIGhlaWdodD0iMSIvPgoJCQkJCQk8cmVjdCBpZD0i55+p5b2i5aSH5Lu9LTUiIGNsYXNzPSJzdDEiIHdpZHRoPSIzLjkiIGhlaWdodD0iMSIvPgoJCQkJCQk8cmVjdCBpZD0i55+p5b2i5aSH5Lu9XzFfIiB4PSIxNS42IiBjbGFzcz0ic3QxIiB3aWR0aD0iMy45IiBoZWlnaHQ9IjEiLz4KCQkJCQkJPHJlY3QgaWQ9IuefqeW9ouWkh+S7vS0yXzFfIiB4PSIyMy41IiBjbGFzcz0ic3QxIiB3aWR0aD0iMy45IiBoZWlnaHQ9IjEiLz4KCQkJCQkJPHJlY3QgaWQ9IuefqeW9ouWkh+S7vS0zXzFfIiB4PSIzMS4zIiBjbGFzcz0ic3QxIiB3aWR0aD0iMy45IiBoZWlnaHQ9IjEiLz4KCQkJCQkJPHJlY3QgaWQ9IuefqeW9ouWkh+S7vS00XzFfIiB4PSIzOS4xIiBjbGFzcz0ic3QxIiB3aWR0aD0iMy45IiBoZWlnaHQ9IjEiLz4KCQkJCQk8L2c+CgkJCQk8L2c+CgkJCTwvZz4KCQk8L2c+Cgk8L2c+CjwvZz4KPC9zdmc+Cg==";
@@ -9150,7 +9153,7 @@ var Building = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz
9150
9153
  var empty = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIyLjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IuWbvuWxgl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgNDgwIDI0MCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDgwIDI0MDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOnVybCgjRmlsbC0xXzFfKTt9Cgkuc3Qxe2ZpbGw6dXJsKCPot6/lvoQtM18xXyk7fQoJLnN0MntmaWxsOnVybCgj5b2i54q257uT5ZCIXzJfKTt9Cgkuc3Qze2ZpbGw6I0M0QzZDQzt9Cjwvc3R5bGU+CjxsaW5lYXJHcmFkaWVudCBpZD0iRmlsbC0xXzFfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjI0MS40NDI3IiB5MT0iODQuOTYwMSIgeDI9IjI0Ny41MTg0IiB5Mj0iNTAuNTAyOCIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAwIDI0MCkiPgoJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6I0ZCRkNGRCIvPgoJPHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6I0YwRjJGNSIvPgo8L2xpbmVhckdyYWRpZW50Pgo8cGF0aCBpZD0iRmlsbC0xIiBjbGFzcz0ic3QwIiBkPSJNMTg4LDE2NC43YzE2LjMtMy43LDM5LjctNS4zLDU1LjYtNC41czI5LjEsMy42LDMwLDIuOWMzLjItMi4xLDEwLTMsOS42LTIuMgoJYy0wLjMsMC44LTQuNywzLjQtMy4zLDMuOGMxLjQsMC40LDE1LjYsMiwyMS41LDMuM2M1LjksMS4yLDkuNywyLjQsMTEsMi40czMuMy0xLjcsMTEuOC0wLjljMC4yLDAuMy0xLjksMC40LTMuOCwxLjQKCXMtMy4zLDAuOS0zLjMsMS4xczEuMS0wLjMsMy4zLDEuMWMyLjIsMS40LDYuMSwxLjksNi4xLDIuMnMtNC45LDItMTMuMi0wLjZjLTIuMS0wLjctNyw1LjEtMjkuNSw2LjdzLTYwLjUsMi45LTYwLjUsMi45CglzMi4zLDIuOSw1LjYsMy44YzAuMiwwLjMtMS4zLDEuNC03LjgsMC4ycy05LjktMy45LTkuOS0zLjlzLTEyLjgtMC44LTE3LjYtMS42cy0xMC40LTIuOS0xNC4yLTMuM2MtMy44LTAuNC0yMS4xLTIuNC0xNC41LTYuOQoJQzE2NC43LDE3Mi41LDE3MS43LDE2OC40LDE4OCwxNjQuN3oiLz4KPGxpbmVhckdyYWRpZW50IGlkPSLot6/lvoQtM18xXyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSI0MTIuNTYwNiIgeTE9Ii0zLjExMzMiIHgyPSI0MTIuNTYwNiIgeTI9Ii0yLjE3NzMiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMTA1LjYgMCAwIDU2LjMyIC00MzMyNi40MDIzIDI3OC40MDAxKSI+Cgk8c3RvcCAgb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojRTZFOEVCO3N0b3Atb3BhY2l0eTowLjk5MTciLz4KCTxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNENEQ2RDkiLz4KPC9saW5lYXJHcmFkaWVudD4KPHBvbHlnb24gaWQ9Iui3r+W+hC0zIiBjbGFzcz0ic3QxIiBwb2ludHM9IjE4Ny4yLDEzNy42IDIxMC43LDEwMi40IDI2OS4zLDEwMi40IDI5Mi44LDEzNy42IDI5Mi44LDE1OC43IDE4Ny4yLDE1OC43ICIvPgo8bGluZWFyR3JhZGllbnQgaWQ9IuW9oueKtue7k+WQiF8yXyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSI0MTIuNTYwNiIgeTE9Ii01IiB4Mj0iNDEyLjU2MDYiIHkyPSItNC4wMDc5IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEwNS42IDAgMCAzNS4yIC00MzMyNi40MDIzIDMxMy42MDA0KSI+Cgk8c3RvcCAgb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojRURFRkYyIi8+Cgk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojRThFQUVEIi8+CjwvbGluZWFyR3JhZGllbnQ+CjxwYXRoIGlkPSLlvaLnirbnu5PlkIgiIGNsYXNzPSJzdDIiIGQ9Ik0yMTIuNiwxNzIuOGgtMjMuNGMtMS4xLDAtMi0wLjktMi0ydi0zMy4yaDIzLjRjMS4xLDAsMiwwLjksMiwydjcuNGMwLDEuMSwwLjgsMS45LDEuOSwyCgloMC4xaDUwLjhjMS4xLDAsMS45LTAuOCwyLTEuOVYxNDd2LTcuNGMwLTEuMSwwLjktMiwyLTJoMjMuNHYzMy4yYzAsMS4xLTAuOSwyLTIsMmgtMjMuNEgyMTIuNnoiLz4KPHBhdGggaWQ9IuW9oueKtue7k+WQiF8xXyIgY2xhc3M9InN0MyIgZD0iTTE4Mi40LDE2OS42djhoOHYxLjZoLTkuNnYtOS42SDE4Mi40eiIvPgo8cGF0aCBpZD0i5b2i54q257uT5ZCI5aSH5Lu9IiBjbGFzcz0ic3QzIiBkPSJNMjg5LjYsMTc3LjZoOHYtOGgxLjZ2OS42aC05LjZWMTc3LjZ6Ii8+CjxnIGlkPSLnvJbnu4QtNCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOTEuNjg4ODkwLCAxMS44NzQ5MzYpIHJvdGF0ZSgyMS4wMDAwMDApIHRyYW5zbGF0ZSgtOTEuNjg4ODkwLCAtMTEuODc0OTM2KSB0cmFuc2xhdGUoOTAuODg4ODkwLCAwLjY3NDkzNikiPgoKCQk8cmVjdCBpZD0i55+p5b2iXzFfIiB4PSIxODMuMSIgeT0iMjQuNSIgdHJhbnNmb3JtPSJtYXRyaXgoNS40NDk4OTllLTA2IDEgLTEgNS40NDk4OTllLTA2IDIwOS45Mzc5IC0xNTkuMzkzOCkiIGNsYXNzPSJzdDMiIHdpZHRoPSIzLjIiIGhlaWdodD0iMS42Ii8+CgoJCTxyZWN0IGlkPSLnn6nlvaLlpIfku70tNiIgeD0iMTgzLjEiIHk9IjMwLjkiIHRyYW5zZm9ybT0ibWF0cml4KDUuNDQ5ODk4ZS0wNiAxIC0xIDUuNDQ5ODk4ZS0wNiAyMTYuMzM3OCAtMTUyLjk5MzkpIiBjbGFzcz0ic3QzIiB3aWR0aD0iMy4yIiBoZWlnaHQ9IjEuNiIvPgoKCQk8cmVjdCBpZD0i55+p5b2i5aSH5Lu9LTciIHg9IjE4My4xIiB5PSIzNy4zIiB0cmFuc2Zvcm09Im1hdHJpeCg1LjQ0OTg5OGUtMDYgMSAtMSA1LjQ0OTg5OGUtMDYgMjIyLjczNzkgLTE0Ni41OTM5KSIgY2xhc3M9InN0MyIgd2lkdGg9IjMuMiIgaGVpZ2h0PSIxLjYiLz4KCgkJPHJlY3QgaWQ9IuefqeW9ouWkh+S7vS04IiB4PSIxODMuMSIgeT0iNDMuNyIgdHJhbnNmb3JtPSJtYXRyaXgoNS40NDk4OTllLTA2IDEgLTEgNS40NDk4OTllLTA2IDIyOS4xMzc5IC0xNDAuMTkzOSkiIGNsYXNzPSJzdDMiIHdpZHRoPSIzLjIiIGhlaWdodD0iMS42Ii8+CjwvZz4KPGcgaWQ9Iue8lue7hC0zIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNi4wMDAwMDAsIDI3LjIwMDAwMCkgcm90YXRlKC0zMi4wMDAwMDApIHRyYW5zbGF0ZSgtMzYuMDAwMDAwLCAtMjcuMjAwMDAwKSB0cmFuc2xhdGUoMzUuMjAwMDAwLCAxMi44MDAwMDApIj4KCgkJPHJlY3QgaWQ9IuefqeW9ol8yXyIgeD0iOTEuNyIgeT0iMTYxLjEiIHRyYW5zZm9ybT0ibWF0cml4KC0xIDUuNDI2MzM3ZS0wNiAtNS40MjYzMzdlLTA2IC0xIDE4NS4wNzUzIDMyNS40NDM4KSIgY2xhc3M9InN0MyIgd2lkdGg9IjEuNiIgaGVpZ2h0PSIzLjIiLz4KCgkJPHJlY3QgaWQ9IuefqeW9ouWkh+S7vS0yIiB4PSI5MS43IiB5PSIxNjcuNSIgdHJhbnNmb3JtPSJtYXRyaXgoLTEgNS40MjYzMzZlLTA2IC01LjQyNjMzNmUtMDYgLTEgMTg1LjA3NTUgMzM4LjI0MzgpIiBjbGFzcz0ic3QzIiB3aWR0aD0iMS42IiBoZWlnaHQ9IjMuMiIvPgoKCQk8cmVjdCBpZD0i55+p5b2i5aSH5Lu9LTMiIHg9IjkxLjciIHk9IjE3My45IiB0cmFuc2Zvcm09Im1hdHJpeCgtMSA1LjQyNjMzNmUtMDYgLTUuNDI2MzM2ZS0wNiAtMSAxODUuMDc1NSAzNTEuMDQzOSkiIGNsYXNzPSJzdDMiIHdpZHRoPSIxLjYiIGhlaWdodD0iMy4yIi8+CgoJCTxyZWN0IGlkPSLnn6nlvaLlpIfku70tNCIgeD0iOTEuNyIgeT0iMTgwLjMiIHRyYW5zZm9ybT0ibWF0cml4KC0xIDUuNDI2MzM2ZS0wNiAtNS40MjYzMzZlLTA2IC0xIDE4NS4wNzU1IDM2My44NDM4KSIgY2xhc3M9InN0MyIgd2lkdGg9IjEuNiIgaGVpZ2h0PSIzLjIiLz4KCgkJPHJlY3QgaWQ9IuefqeW9ouWkh+S7vS01IiB4PSI5MS43IiB5PSIxODYuNyIgdHJhbnNmb3JtPSJtYXRyaXgoLTEgNS40MjYzMzdlLTA2IC01LjQyNjMzN2UtMDYgLTEgMTg1LjA3NTUgMzc2LjY0MzgpIiBjbGFzcz0ic3QzIiB3aWR0aD0iMS42IiBoZWlnaHQ9IjMuMiIvPgo8L2c+CjxjaXJjbGUgaWQ9IuakreWchuW9oiIgY2xhc3M9InN0MyIgY3g9IjI2OC44IiBjeT0iOTQuNCIgcj0iMS42Ii8+CjxjaXJjbGUgaWQ9IuakreWchuW9ouWkh+S7vSIgY2xhc3M9InN0MyIgY3g9IjIyNy4yIiBjeT0iMTIwIiByPSIxLjYiLz4KPC9zdmc+Cg==";
9151
9154
  var login = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIyLjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IuWbvuWxgl8yXzFfIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiCgkgeT0iMHB4IiB2aWV3Qm94PSIwIDAgNDgwIDI0MCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDgwIDI0MDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOnVybCgj5b2i54q257uT5ZCIXzNfKTt9Cgkuc3Qxe2ZpbGw6dXJsKCPlvaLnirbnu5PlkIhfN18pO30KCS5zdDJ7ZmlsbDojQzRDNkNDO30KCS5zdDN7ZmlsbDp1cmwoI+W9oueKtue7k+WQiF85Xyk7fQoJLnN0NHtmaWxsOnVybCgj5b2i54q257uT5ZCIXzEwXyk7ZmlsbC1vcGFjaXR5OjAuNjt9Cgkuc3Q1e2ZpbGw6dXJsKCPlvaLnirbnu5PlkIhfMTFfKTt9Cgkuc3Q2e2ZpbGw6dXJsKCPot6/lvoQtM18xXyk7fQoJLnN0N3tmaWxsOnVybCgj5b2i54q257uT5ZCIXzEyXyk7fQoJLnN0OHtmaWxsOnVybCgj6Lev5b6ELTNfNF8pO30KCS5zdDl7ZmlsbDp1cmwoI+W9oueKtue7k+WQiF8xM18pO30KCS5zdDEwe2ZpbGw6dXJsKCPlvaLnirbnu5PlkIhfMTVfKTt9Cgkuc3QxMXtmaWxsOiM5NzlCQTU7fQoJLnN0MTJ7ZmlsbDp1cmwoI1NWR0lEXzFfKTt9Cgkuc3QxM3tmaWxsOnVybCgjU1ZHSURfMl8pO30KCS5zdDE0e2ZpbGw6dXJsKCPlvaLnirbnu5PlkIhfMTZfKTt9Cgkuc3QxNXtmaWxsOnVybCgj5b2i54q257uT5ZCI5aSH5Lu9LTJfMl8pO30KCS5zdDE2e2ZpbGw6IzM0MzQzNDtmaWxsLW9wYWNpdHk6MC4xO30KPC9zdHlsZT4KPGcgaWQ9Iumhtemdoi0xIj4KCTxnIGlkPSJFeGNlcHRpb25feDJGX+W8guW4uOaPkOekul94MkZf54Gw55m95a+55q+UIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtOTI0LjAwMDAwMCwgLTcwNy4wMDAwMDApIj4KCQk8ZyBpZD0i6ZyA6KaB55m75b2VIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg5MjQuMDAwMDAwLCA3MDcuMDAwMDAwKSI+CgoJCQkJPGxpbmVhckdyYWRpZW50IGlkPSLlvaLnirbnu5PlkIhfM18iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMTAxOS45MDA2IiB5MT0iLTguMzM1NCIgeDI9IjEwMTkuOTAwNiIgeTI9Ii03LjMzNjciIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMjAwLjAyNTcgMCAwIDU4LjMwNDcgLTIwMzc1OS41NDY5IDY2My45OTQ0KSI+CgkJCQk8c3RvcCAgb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojRjVGNkY3Ii8+CgkJCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojRjdGOUZDIi8+CgkJCTwvbGluZWFyR3JhZGllbnQ+CgkJCTxwYXRoIGlkPSLlvaLnirbnu5PlkIhfMzBfIiBjbGFzcz0ic3QwIiBkPSJNMjQ5LjYsMTc4djguN2MwLDIuNSwyLjEsNC42LDQuNiw0LjZzNC41LDEuOSw0LjYsNC40djAuMnYwLjkKCQkJCWMxLjEtMC41LDIuMy0wLjgsMy41LTAuOGM0LjMsMCw3LjgsMy4yLDguNCw3LjNjMS0wLjgsMi4yLTEuMywzLjYtMS4zYzEuMiwwLDIuMywwLjQsMy4yLDFjMi4zLTQuMiw2LjctNywxMS44LTcKCQkJCWM3LjIsMCwxMyw1LjYsMTMuNSwxMi43YzQuOSwwLjcsMTAuMSwxLjUsMTMuMywyLjFjNy4yLDEuNSwxMS44LDMsMTMuNCwzczQtMi4xLDE0LjUtMS4xYzAuMiwwLjQtMi4zLDAuNS00LjcsMS43cy00LDEuMS00LDEuNAoJCQkJczEuMy0wLjQsNCwxLjNzNy41LDIuMyw3LjUsMi44cy02LjEsMi40LTE2LjItMC44Yy0yLjYtMC44LTguNiw2LjItMzYuMSw4LjJjLTI3LjYsMi03NC4yLDMuNS03NC4yLDMuNXMyLjgsMy42LDYuOSw0LjYKCQkJCWMwLjIsMC40LTEuNiwxLjctOS42LDAuMmMtNy45LTEuNS0xMi4yLTQuOC0xMi4yLTQuOHMtMTUuNy0xLTIxLjYtMmMtNS45LTEtMTIuNy0zLjUtMTcuNC00cy0yNS45LTMtMTcuOC04LjUKCQkJCWMwLDAsNy4yLTQuMiwyMy42LTguM2MyLTMuNSw1LjctNS45LDEwLjEtNS45YzIuNywwLDUuMiwwLjksNy4xLDIuNWMxLjQtMC4yLDIuOS0wLjQsNC40LTAuNmMxLjItMS4xLDIuOC0xLjgsNC41LTEuOAoJCQkJYzEuMiwwLDIuMywwLjMsMy4yLDAuOWwwLjUtMC4xYzEtMy45LDQuNS02LjgsOC43LTYuOGMyLjgsMCw1LjQsMS4zLDcsMy4zdi0yLjhjMC0yLjksMi40LTUuMyw1LjMtNS4zYzIuOCwwLDUuMi0yLjIsNS4zLTUuMQoJCQkJdi0wLjJ2LThMMjQ5LjYsMTc4TDI0OS42LDE3OHoiLz4KCgkJCQk8bGluZWFyR3JhZGllbnQgaWQ9IuW9oueKtue7k+WQiF83XyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIxMDAzLjIzODQiIHkxPSItNDMuNjgxOCIgeDI9IjEwMDMuOTQ2MSIgeTI9Ii00My42ODE4IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDQ0IDAgMCAxMSAtNDM5MTkuMTk5MiA2NTUuNSkiPgoJCQkJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6I0UyRTNFNiIvPgoJCQkJPHN0b3AgIG9mZnNldD0iMC40NTQzIiBzdHlsZT0ic3RvcC1jb2xvcjojRUNFRUYwIi8+CgkJCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojRTJFNEU2Ii8+CgkJCTwvbGluZWFyR3JhZGllbnQ+CgkJCTxwYXRoIGlkPSLlvaLnirbnu5PlkIhfMjlfIiBjbGFzcz0ic3QxIiBkPSJNMjE2LjgsMTY5LjVoNDR2NmMwLDIuOC05LjgsNS0yMiw1cy0yMi0yLjItMjItNWwwLDBMMjE2LjgsMTY5LjVMMjE2LjgsMTY5LjV6Ii8+CgkJCTxwYXRoIGlkPSLlvaLnirbnu5PlkIjlpIfku71fMV8iIGNsYXNzPSJzdDIiIGQ9Ik0yMTYuOCwxNjVoNDR2NmMwLDIuOC05LjgsNS0yMiw1cy0yMi0yLjItMjItNWwwLDBMMjE2LjgsMTY1TDIxNi44LDE2NXoiLz4KCgkJCQk8bGluZWFyR3JhZGllbnQgaWQ9IuW9oueKtue7k+WQiF85XyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSI5NDcuNDg4OCIgeTE9Ii04LjM4NDgiIHgyPSI5NDguMTg2MyIgeTI9Ii04LjM4NDgiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMTIgMCAwIDU0LjcgLTExMTc3LjIwMDIgNTgxLjI5OTEpIj4KCQkJCTxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNGMUYzRjUiLz4KCQkJCTxzdG9wICBvZmZzZXQ9IjAuNDU3NiIgc3R5bGU9InN0b3AtY29sb3I6I0Y0RjVGNyIvPgoJCQkJPHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6I0VDRUVGMCIvPgoJCQk8L2xpbmVhckdyYWRpZW50PgoJCQk8cGF0aCBpZD0i5b2i54q257uT5ZCIXzI4XyIgY2xhc3M9InN0MyIgZD0iTTE5Ni44LDk1LjNjMS44LDAsNiw4LjMsNiwxMS43bDAsMHY0M2gtMTJ2LTQzdi0wLjJDMTkwLjksMTAzLjQsMTk1LDk1LjMsMTk2LjgsOTUuMwoJCQkJeiIvPgoKCQkJCTxsaW5lYXJHcmFkaWVudCBpZD0i5b2i54q257uT5ZCIXzEwXyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSI5NDcuODQ2NCIgeTE9Ii0xOS44MjgyIiB4Mj0iOTQ3LjgyNyIgeTI9Ii0xOS42NDE4IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEyIDAgMCAyNC4yIC0xMTA5My4yMDAyIDYwMi45OTkzKSI+CgkJCQk8c3RvcCAgb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojQ0REMEQyO3N0b3Atb3BhY2l0eTowIi8+CgkJCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojQ0REMEQyIi8+CgkJCTwvbGluZWFyR3JhZGllbnQ+CgkJCTxwb2x5Z29uIGlkPSLlvaLnirbnu5PlkIhfMjZfIiBjbGFzcz0ic3Q0IiBwb2ludHM9IjI3NC44LDExNyAyNzQuOCwxMzIuNiAyNzkuNywxNDEuMiAyODYuOCwxMzUuNCAyODYuOCwxMjYgCQkJIi8+CgoJCQkJPGxpbmVhckdyYWRpZW50IGlkPSLlvaLnirbnu5PlkIhfMTFfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9Ijk0OC4xNzE2IiB5MT0iLTguMzg0OCIgeDI9Ijk0Ny40NzQxIiB5Mj0iLTguMzg0OCIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxMiAwIDAgNTQuNyAtMTEwOTMuMjAwMiA1ODEuMjk5MSkiPgoJCQkJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6I0YxRjNGNSIvPgoJCQkJPHN0b3AgIG9mZnNldD0iMC40NTc2IiBzdHlsZT0ic3RvcC1jb2xvcjojRjRGNUY3Ii8+CgkJCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojRUNFRUYwIi8+CgkJCTwvbGluZWFyR3JhZGllbnQ+CgkJCTxwYXRoIGlkPSLlvaLnirbnu5PlkIhfMjVfIiBjbGFzcz0ic3Q1IiBkPSJNMjgwLjgsOTUuM2MtMS44LDAtNiw4LjMtNiwxMS43bDAsMHY0M2gxMnYtNDN2LTAuMgoJCQkJQzI4Ni42LDEwMy40LDI4Mi41LDk1LjMsMjgwLjgsOTUuM3oiLz4KCQkJPGcgaWQ9Iue8lue7hF8zXyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoODAuNzYwNDk5LCA3Ny4wMDAwMDApIj4KCgkJCQkJPGxpbmVhckdyYWRpZW50IGlkPSLot6/lvoQtM18xXyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSI1MTQuMzE0MSIgeTE9Ii02Ljg5MDUiIHgyPSI1MTQuMzk0MyIgeTI9Ii02LjUyMDQiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMzYgMCAwIDY2IC0xODM5NS43MzI0IDUwNikiPgoJCQkJCTxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNFOEU5RUIiLz4KCQkJCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojRDdEOERCIi8+CgkJCQk8L2xpbmVhckdyYWRpZW50PgoJCQkJPHBhdGggaWQ9Iui3r+W+hC0zXzNfIiBjbGFzcz0ic3Q2IiBkPSJNMTM1LDIwYy0xLjQsNy00LjUsMTMuMy05LjQsMTkuMWMtNy4zLDguNy0xNS4yLDEzLjYtMTguNCwyMy44CgkJCQkJYy0yLjEsNi44LTMuMiwxMi45LTMuMiwxOC4zbDMyLjEsNC44bDMuOS00LjhMMTM1LDIweiIvPgoKCQkJCQk8bGluZWFyR3JhZGllbnQgaWQ9IuW9oueKtue7k+WQiF8xMl8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iNDY5LjEyNSIgeTE9Ii02Ljk4IiB4Mj0iNDY5LjEyNjMiIHkyPSItNi45NjgxIiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEzIDAgMCA2NC41IC01OTY1LjY4MTYgNTA3LjUpIj4KCQkJCQk8c3RvcCAgb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojRUJFREVGO3N0b3Atb3BhY2l0eTowIi8+CgkJCQkJPHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6I0M4Q0FDQyIvPgoJCQkJPC9saW5lYXJHcmFkaWVudD4KCQkJCTxwYXRoIGlkPSLlvaLnirbnu5PlkIhfMjRfIiBjbGFzcz0ic3Q3IiBkPSJNMTM1LjIsMjEuNWw0LjgsNTkuN2wtMy45LDQuOGwtOS4xLTEuNGwzLjMtNTIuMmMyLTMuNSwzLjQtNy4xLDQuNC0xMC45CgkJCQkJQzEzNC43LDIxLjUsMTM1LjIsMjEuNSwxMzUuMiwyMS41eiIvPgoJCQk8L2c+CgoJCQkJPGcgaWQ9Iue8lue7hF8yXyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTcxLjAwMDAwMCwgMTEwLjAwMDAwMCkgc2NhbGUoLTEsIDEpIHRyYW5zbGF0ZSgtMTcxLjAwMDAwMCwgLTExMC4wMDAwMDApIHRyYW5zbGF0ZSgxNTMuMDAwMDAwLCA3Ny4wMDAwMDApIj4KCgkJCQkJPGxpbmVhckdyYWRpZW50IGlkPSLot6/lvoQtM180XyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIyNi4xMTk1IiB5MT0iLTYuNzUwNiIgeDI9IjI2LjE5OTgiIHkyPSItNi4zODA1IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDM2IDAgMCA2NiAtMTAyNCA1MDYpIj4KCQkJCQk8c3RvcCAgb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojRThFOUVCIi8+CgkJCQkJPHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6I0Q3RDhEQiIvPgoJCQkJPC9saW5lYXJHcmFkaWVudD4KCQkJCTxwYXRoIGlkPSLot6/lvoQtM18yXyIgY2xhc3M9InN0OCIgZD0iTS03MywyMGMtMS40LDctNC41LDEzLjMtOS40LDE5LjFjLTcuMyw4LjctMTUuMiwxMy42LTE4LjQsMjMuOAoJCQkJCWMtMi4xLDYuOC0zLjIsMTIuOS0zLjIsMTguM2wzMi4xLDQuOGwzLjktNC44TC03MywyMHoiLz4KCQkJPC9nPgoKCQkJCTxsaW5lYXJHcmFkaWVudCBpZD0i5b2i54q257uT5ZCIXzEzXyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSI2NTkuNjQ1MyIgeTE9Ii02Ljk4IiB4Mj0iNjU5LjY0NjUiIHkyPSItNi45NjgiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoLTEzIDAgMCA2NC41IDg4MzkuMjE0OCA1ODQuNSkiPgoJCQkJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6I0VCRURFRjtzdG9wLW9wYWNpdHk6MCIvPgoJCQkJPHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6I0M4Q0FDQyIvPgoJCQk8L2xpbmVhckdyYWRpZW50PgoJCQk8cGF0aCBpZD0i5b2i54q257uT5ZCIXzJfIiBjbGFzcz0ic3Q5IiBkPSJNMjYxLjYsOTguNWwtNC44LDU5LjdsMy45LDQuOGw5LjEtMS40bC0zLjMtNTIuMmMtMi0zLjUtMy40LTcuMS00LjQtMTAuOQoJCQkJQzI2Mi4xLDk4LjUsMjYxLjYsOTguNSwyNjEuNiw5OC41eiIvPgoKCQkJCTxsaW5lYXJHcmFkaWVudCBpZD0i5b2i54q257uT5ZCIXzE1XyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIxMDA0Ljk4MTEiIHkxPSItMi42NTU4IiB4Mj0iMTAwNS42ODg3IiB5Mj0iLTIuNjU1OCIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCg0OCAwIDAgMTU0IC00ODAxNy4xOTkyIDUwNikiPgoJCQkJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6I0VBRUJFRCIvPgoJCQkJPHN0b3AgIG9mZnNldD0iMC40NTQzIiBzdHlsZT0ic3RvcC1jb2xvcjojRjRGNUY3Ii8+CgkJCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojRUVGMEYyIi8+CgkJCTwvbGluZWFyR3JhZGllbnQ+CgkJCTxwYXRoIGlkPSLlvaLnirbnu5PlkIhfMThfIiBjbGFzcz0ic3QxMCIgZD0iTTIzOC44LDIwYzcsMCwyNCwyNy43LDI0LDQxbDAsMHYxMDZjMCwwLjEsMCwwLjIsMCwwLjNzMCwwLjIsMCwwLjIKCQkJCWMwLDMuNi0xMC43LDYuNS0yNCw2LjVzLTI0LTIuOS0yNC02LjVjMC0wLjEsMC0wLjIsMC0wLjJjMC0wLjEsMC0wLjIsMC0wLjNWNjF2LTAuNEMyMTUuMSw0Ny4yLDIzMS44LDIwLDIzOC44LDIweiIvPgoJCQk8Zz4KCQkJCTxjaXJjbGUgaWQ9IuakreWchuW9ol83XyIgY2xhc3M9InN0MTEiIGN4PSIyMzguOCIgY3k9IjcxIiByPSI5LjUiLz4KCgkJCQkJPGxpbmVhckdyYWRpZW50IGlkPSJTVkdJRF8xXyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSI5NzYuMDc5IiB5MT0iLTI1LjMzMzQiIHgyPSI5NzYuMDc5IiB5Mj0iLTI0LjgyNDQiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMTkgMCAwIDE5IC0xODMwNi42OTkyIDU0Ny41KSI+CgkJCQkJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6I0UxRTJFNiIvPgoJCQkJCTxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNGMEYyRjUiLz4KCQkJCTwvbGluZWFyR3JhZGllbnQ+CgkJCQk8cGF0aCBjbGFzcz0ic3QxMiIgZD0iTTIzOC44LDgxYy01LjUsMC0xMC00LjUtMTAtMTBzNC41LTEwLDEwLTEwczEwLDQuNSwxMCwxMFMyNDQuMyw4MSwyMzguOCw4MXogTTIzOC44LDYyYy01LDAtOSw0LTksOQoJCQkJCXM0LDksOSw5czktNCw5LTlTMjQzLjgsNjIsMjM4LjgsNjJ6Ii8+CgkJCTwvZz4KCQkJPGc+CgkJCQk8Y2lyY2xlIGlkPSLmpK3lnIblvaLlpIfku70tMTFfMV8iIGNsYXNzPSJzdDExIiBjeD0iMjM4LjgiIGN5PSI4OSIgcj0iMy41Ii8+CgoJCQkJCTxsaW5lYXJHcmFkaWVudCBpZD0iU1ZHSURfMl8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iODkzLjA3MTUiIHkxPSItNjkuMjA0OCIgeDI9Ijg5My4wNzE1IiB5Mj0iLTY4LjY1MjIiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoNyAwIDAgNyAtNjAxMi43MDAyIDU3MS41KSI+CgkJCQkJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6I0UxRTJFNiIvPgoJCQkJCTxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNGMEYyRjUiLz4KCQkJCTwvbGluZWFyR3JhZGllbnQ+CgkJCQk8cGF0aCBjbGFzcz0ic3QxMyIgZD0iTTIzOC44LDkzYy0yLjIsMC00LTEuOC00LTRzMS44LTQsNC00czQsMS44LDQsNFMyNDEsOTMsMjM4LjgsOTN6IE0yMzguOCw4NmMtMS43LDAtMywxLjMtMywzczEuMywzLDMsMwoJCQkJCXMzLTEuMywzLTNTMjQwLjUsODYsMjM4LjgsODZ6Ii8+CgkJCTwvZz4KCgkJCQk8bGluZWFyR3JhZGllbnQgaWQ9IuW9oueKtue7k+WQiF8xNl8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMTAwNC45ODExIiB5MT0iLTcwLjk3MDYiIHgyPSIxMDA1LjY4NTQiIHkyPSItNzAuOTcwNiIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCg0OCAwIDAgNi44IC00ODAxNy4xOTkyIDYyNC4wMDA0KSI+CgkJCQk8c3RvcCAgb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojRTJFM0U2Ii8+CgkJCQk8c3RvcCAgb2Zmc2V0PSIwLjQ3NjYiIHN0eWxlPSJzdG9wLWNvbG9yOiNGQkZERkYiLz4KCQkJCTxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNFMkU0RTYiLz4KCQkJPC9saW5lYXJHcmFkaWVudD4KCQkJPHBhdGggaWQ9IuW9oueKtue7k+WQiF8xNF8iIGNsYXNzPSJzdDE0IiBkPSJNMjYyLjgsMTM4djIuNWMtMy45LDIuNS0xMy4yLDQuMy0yNCw0LjNzLTIwLjEtMS44LTI0LTQuM1YxMzhsMCwwCgkJCQljMC42LDIuOCwxMS4xLDUuNSwyNCw1LjVTMjYyLjIsMTQwLjgsMjYyLjgsMTM4TDI2Mi44LDEzOHoiLz4KCgkJCQk8bGluZWFyR3JhZGllbnQgaWQ9IuW9oueKtue7k+WQiOWkh+S7vS0yXzJfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjEwMDQuOTgxMSIgeTE9Ii03MC45NzA2IiB4Mj0iMTAwNS42ODU0IiB5Mj0iLTcwLjk3MDYiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoNDggMCAwIDYuOCAtNDgwMTcuMTk5MiA2MjkuMDAwNCkiPgoJCQkJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6I0UyRTNFNiIvPgoJCQkJPHN0b3AgIG9mZnNldD0iMC40NzY2IiBzdHlsZT0ic3RvcC1jb2xvcjojRkJGREZGIi8+CgkJCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojRTJFNEU2Ii8+CgkJCTwvbGluZWFyR3JhZGllbnQ+CgkJCTxwYXRoIGlkPSLlvaLnirbnu5PlkIjlpIfku70tMl8xXyIgY2xhc3M9InN0MTUiIGQ9Ik0yNjIuOCwxNDN2Mi41Yy0zLjksMi41LTEzLjIsNC4zLTI0LDQuM3MtMjAuMS0xLjgtMjQtNC4zVjE0M2wwLDAKCQkJCWMwLjYsMi44LDExLjEsNS41LDI0LDUuNVMyNjIuMiwxNDUuOCwyNjIuOCwxNDNMMjYyLjgsMTQzeiIvPgoJCQk8cGF0aCBpZD0i5b2i54q257uT5ZCIXzhfIiBjbGFzcz0ic3QxNiIgZD0iTTI2Mi44LDczYzQzLjItOC42LDc3LjEtNi4zLDgwLjksNi43YzQuNiwxNS45LTM3LjQsNDEuOS05My42LDU4LjEKCQkJCXMtMTA1LjYsMTYuMy0xMTAuMiwwLjRjLTQtMTQuMSwyOC40LTM2LjEsNzQuOS01Mi4xdjEuMWMtNDUuOCwxNS45LTc3LjcsMzcuNS03My45LDUwLjhjNC4zLDE1LjEsNTMuMiwxNC45LDEwOC45LTEuMQoJCQkJczk3LjMtNDEuNyw5Mi45LTU2LjhjLTMuNS0xMi40LTM3LjItMTQuNS03OS45LTZWNzNMMjYyLjgsNzN6Ii8+CgkJCTxwYXRoIGlkPSLlvaLnirbnu5PlkIhfMV8iIGNsYXNzPSJzdDE2IiBkPSJNMTA1LjIsNzZjMy44LTE0LDUwLjctMTQsMTA5LjUtMS4xdjFjLTU4LjMtMTIuOC0xMDUtMTIuOS0xMDguNiwwLjMKCQkJCWMtNCwxNS4xLDQ5LjEsNDMuMiwxMTguNSw2MS44czEyOS41LDIwLjksMTMzLjYsNS44YzMuNi0xMy40LTM3LjctMzctOTUuNi01NS4xdi0xLjFjNTguNiwxOC4zLDEwMC4zLDQyLjIsOTYuNSw1Ni40CgkJCQljLTQuMywxNi02NC42LDEzLjctMTM0LjgtNS4xUzEwMSw5MiwxMDUuMiw3NnoiLz4KCQkJPGNpcmNsZSBpZD0i5qSt5ZyG5b2iXzZfIiBjbGFzcz0ic3QyIiBjeD0iMzE3LjgiIGN5PSIxMDkiIHI9IjIiLz4KCQkJPGNpcmNsZSBpZD0i5qSt5ZyG5b2iXzVfIiBjbGFzcz0ic3QyIiBjeD0iMTE3LjMiIGN5PSIxMjEuNSIgcj0iMS41Ii8+CgkJCTxjaXJjbGUgaWQ9IuakreWchuW9ol80XyIgY2xhc3M9InN0MiIgY3g9IjI4MS44IiBjeT0iNTgiIHI9IjEiLz4KCQkJPGNpcmNsZSBpZD0i5qSt5ZyG5b2iXzNfIiBjbGFzcz0ic3QyIiBjeD0iMTkxLjgiIGN5PSIxNjQiIHI9IjEiLz4KCQkJPGNpcmNsZSBpZD0i5qSt5ZyG5b2iXzFfIiBjbGFzcz0ic3QyIiBjeD0iMzUxLjgiIGN5PSIxNTAiIHI9IjIiLz4KCQk8L2c+Cgk8L2c+CjwvZz4KPC9zdmc+Cg==";
9152
9155
  var searchEmpty = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIyLjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IuWbvuWxgl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgNDgwIDI0MCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDgwIDI0MDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOnVybCgjRmlsbC0xXzFfKTt9Cgkuc3Qxe2ZpbGw6I0M0QzZDQzt9Cgkuc3Qye2ZpbGw6dXJsKCPnn6nlvaItMl8xXyk7fQoJLnN0M3tmaWxsOnVybCgj55+p5b2iXzZfKTt9Cgkuc3Q0e2ZpbGw6I0RDREVFMDt9Cgkuc3Q1e2ZpbGw6I0QxRDNENjt9Cgkuc3Q2e2ZpbGw6dXJsKCPnn6nlvaItM18xXyk7fQoJLnN0N3tmaWxsOiNFNUU3RUM7fQoJLnN0OHtmaWxsOiNEQ0RERTA7fQoJLnN0OXtmaWxsOnVybCgj6Lev5b6ELTEzXzFfKTt9Cgkuc3QxMHtmaWxsOnVybCgj5qSt5ZyG5b2iXzNfKTtzdHJva2U6dXJsKCPmpK3lnIblvaJfNF8pO30KCS5zdDExe2ZpbGw6dXJsKCPmpK3lnIblvaJfNV8pO3N0cm9rZTp1cmwoI+akreWchuW9ol82Xyk7fQoJLnN0MTJ7ZmlsbDojRkZGRkZGO30KPC9zdHlsZT4KPGcgaWQ9Iumhtemdoi0xIj4KCTxnIGlkPSJFeGNlcHRpb25feDJGX+W8guW4uOaPkOekuiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTg2OS4wMDAwMDAsIC0yOTE4LjAwMDAwMCkiPgoJCTxnIGlkPSLmkJzntKLkuLrnqboiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDg2OS4wMDAwMDAsIDI5MTguMDAwMDAwKSI+CgkJCTxsaW5lYXJHcmFkaWVudCBpZD0iRmlsbC0xXzFfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjI0My4wNDY0IiB5MT0iMTY3Ljk3OTMiIHgyPSIyNDUuODA3MSIgeTI9IjE5NC4yNDU2Ij4KCQkJCTxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNGQkZDRkQiLz4KCQkJCTxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNGMkY0RjciLz4KCQkJPC9saW5lYXJHcmFkaWVudD4KCQkJPHBhdGggaWQ9IkZpbGwtMSIgY2xhc3M9InN0MCIgZD0iTTE5My4xLDE3NC4yYzE0LjgtMy4zLDM2LTQuOCw1MC41LTQuMWMxNC40LDAuNywyNi40LDMuMywyNy4zLDIuN2MyLjktMS45LDktMi44LDguNy0yCgkJCQljLTAuMywwLjctNC4zLDMuMS0zLDMuNGMxLjMsMC40LDE0LjEsMS45LDE5LjUsM2M1LjMsMS4xLDguOCwyLjIsOS45LDIuMmMxLjIsMCwzLTEuNiwxMC43LTAuOGMwLjEsMC4zLTEuNywwLjQtMy40LDEuMwoJCQkJYy0xLjcsMC45LTMsMC44LTMsMXMxLTAuMywzLDFzNS41LDEuNyw1LjUsMnMtNC41LDEuOC0xMi0wLjZjLTEuOS0wLjYtNi4zLDQuNi0yNi44LDYuMXMtNTUsMi42LTU1LDIuNnMyLjEsMi43LDUuMSwzLjQKCQkJCWMwLjIsMC4zLTEuMiwxLjMtNy4xLDAuMmMtNS45LTEuMS05LTMuNi05LTMuNnMtMTEuNi0wLjctMTYtMS41Yy00LjQtMC43LTkuNC0yLjYtMTIuOS0zcy0xOS4yLTIuMi0xMy4yLTYuMwoJCQkJQzE3MiwxODEuMiwxNzguMywxNzcuNSwxOTMuMSwxNzQuMnoiLz4KCQkJPHBhdGggaWQ9IuW9oueKtue7k+WQiCIgY2xhc3M9InN0MSIgZD0iTTE5My4xLDE3Ny40djkuNGg5LjR2MS45aC0xMS4ydi0xMS4yTDE5My4xLDE3Ny40TDE5My4xLDE3Ny40eiIvPgoJCQk8cGF0aCBpZD0i5b2i54q257uT5ZCI5aSH5Lu9IiBjbGFzcz0ic3QxIiBkPSJNMjAwLjYsNjQuOWgtOS40djkuNGgtMS45di05LjRsMCwwVjYzaDExLjJMMjAwLjYsNjQuOUwyMDAuNiw2NC45eiIvPgoJCQk8cGF0aCBpZD0i5b2i54q257uT5ZCI5aSH5Lu9LTIiIGNsYXNzPSJzdDEiIGQ9Ik0yODguOCw3NC4ydi05LjRoLTkuNFY2M2g5LjRsMCwwaDEuOXYxMS4ySDI4OC44eiIvPgoKCQkJCTxsaW5lYXJHcmFkaWVudCBpZD0i55+p5b2iLTJfMV8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iNDExLjY3NjgiIHkxPSItMS42MDY2IiB4Mj0iNDExLjY3NjgiIHkyPSItMC42NzA3IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDg2LjI1IDAgMCAxMDguNzUgLTM1MjY3LjEyNSAyNDYuNSkiPgoJCQkJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6I0VCRURGMDtzdG9wLW9wYWNpdHk6MC45OTE3Ii8+CgkJCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojRTFFM0U2Ii8+CgkJCTwvbGluZWFyR3JhZGllbnQ+CgkJCTxwYXRoIGlkPSLnn6nlvaItMiIgY2xhc3M9InN0MiIgZD0iTTE5Ny45LDcwLjVoODQuMmMwLjYsMCwxLDAuNCwxLDF2MTA2LjhjMCwwLjYtMC40LDEtMSwxaC04NC4yYy0wLjYsMC0xLTAuNC0xLTFWNzEuNQoJCQkJQzE5Ni45LDcwLjksMTk3LjMsNzAuNSwxOTcuOSw3MC41eiIvPgoKCQkJCTxsaW5lYXJHcmFkaWVudCBpZD0i55+p5b2iXzZfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjQxMC42NjE0IiB5MT0iLTEuODc3MyIgeDI9IjQxMC42NjE0IiB5Mj0iLTAuODg4OCIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCg3MS4yNSAwIDAgOTMuNzUgLTI5MDE5LjYyNSAyNTQpIj4KCQkJCTxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNGRkZGRkYiLz4KCQkJCTxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNGMkY0RjciLz4KCQkJPC9saW5lYXJHcmFkaWVudD4KCQkJPHJlY3QgaWQ9IuefqeW9ol8xXyIgeD0iMjA0LjQiIHk9Ijc4IiBjbGFzcz0ic3QzIiB3aWR0aD0iNzEuMiIgaGVpZ2h0PSI5My44Ii8+CgkJCTxyZWN0IGlkPSLnn6nlvaJfMl8iIHg9IjIxOS40IiB5PSI4MS44IiBjbGFzcz0ic3Q0IiB3aWR0aD0iNDEuMiIgaGVpZ2h0PSIxLjkiLz4KCQkJPHJlY3QgaWQ9IuefqeW9ol8zXyIgeD0iMjA0LjQiIHk9IjE3MS44IiBjbGFzcz0ic3Q1IiB3aWR0aD0iNzEuMiIgaGVpZ2h0PSIxLjkiLz4KCgkJCQk8bGluZWFyR3JhZGllbnQgaWQ9IuefqeW9oi0zXzFfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjQwNi40MTUyIiB5MT0iLTExLjczMzQiIHgyPSI0MDYuNDE1MiIgeTI9Ii0xMC43NDEzIiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDQxLjI1IDAgMCAxNSAtMTY1MjQuNjI1IDI0Mi43NSkiPgoJCQkJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6I0VERUZGMiIvPgoJCQkJPHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6I0U4RUFFRCIvPgoJCQk8L2xpbmVhckdyYWRpZW50PgoJCQk8cmVjdCBpZD0i55+p5b2iLTMiIHg9IjIxOS40IiB5PSI2Ni44IiBjbGFzcz0ic3Q2IiB3aWR0aD0iNDEuMiIgaGVpZ2h0PSIxNSIvPgoJCQk8ZyBpZD0i57yW57uELTMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIyMy4xMjUwMDAsIDk4LjYyNTAwMCkiPgoJCQkJPHJlY3QgaWQ9IuefqeW9ol80XyIgY2xhc3M9InN0MSIgd2lkdGg9IjMuOCIgaGVpZ2h0PSIxLjkiLz4KCQkJCTxyZWN0IGlkPSLnn6nlvaLlpIfku70iIHg9IjcuNSIgY2xhc3M9InN0MSIgd2lkdGg9IjMuOCIgaGVpZ2h0PSIxLjkiLz4KCQkJCTxyZWN0IGlkPSLnn6nlvaLlpIfku70tMiIgeD0iMTUiIGNsYXNzPSJzdDEiIHdpZHRoPSIzLjgiIGhlaWdodD0iMS45Ii8+CgkJCQk8cmVjdCBpZD0i55+p5b2i5aSH5Lu9LTMiIHg9IjIyLjUiIGNsYXNzPSJzdDEiIHdpZHRoPSIzLjgiIGhlaWdodD0iMS45Ii8+CgkJCQk8cmVjdCBpZD0i55+p5b2i5aSH5Lu9LTQiIHg9IjMwIiBjbGFzcz0ic3QxIiB3aWR0aD0iMy44IiBoZWlnaHQ9IjEuOSIvPgoJCQk8L2c+CgkJCTxnIGlkPSLnvJbnu4QtNiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjI4Ljc1MDAwMCwgMTEzLjYyNTAwMCkiPgoJCQkJPGNpcmNsZSBpZD0i5qSt5ZyG5b2iIiBjbGFzcz0ic3Q3IiBjeD0iMjQuNCIgY3k9IjI2LjIiIHI9IjI0LjQiLz4KCQkJCTxwYXRoIGlkPSLot6/lvoQtMTIiIGNsYXNzPSJzdDciIGQ9Ik0zOSw0NWwzLjEsMy4yYy0wLjYsMC44LTAuNiwxLjUsMCwyLjJzMi4yLDIuNSw0LjcsNS4zdi03LjVsLTYuMS01TDM5LDQ1eiIvPgoKCQkJCQk8ZyBpZD0i57yW57uELTQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUwLjIyNjMxNywgNTEuNzA5MDc3KSByb3RhdGUoLTQ1LjAwMDAwMCkgdHJhbnNsYXRlKC01MC4yMjYzMTcsIC01MS43MDkwNzcpIHRyYW5zbGF0ZSg0NC42MDEzMTcsIDM2LjcwOTA3NykiPgoKCQkJCQkJPHJlY3QgaWQ9IuefqeW9ol81XyIgeD0iMy44IiB5PSIwIiB0cmFuc2Zvcm09Im1hdHJpeCgtMSA1LjA3MDM2M2UtMDYgLTUuMDcwMzYzZS0wNiAtMSAxMS40IDkuMzUpIiBjbGFzcz0ic3Q4IiB3aWR0aD0iMy43IiBoZWlnaHQ9IjkuNCIvPgoKCQkJCQkJPGxpbmVhckdyYWRpZW50IGlkPSLot6/lvoQtMTNfMV8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iLTEwOS4zOTE1IiB5MT0iLTU1LjkzODMiIHgyPSItMTA5LjU1NzgiIHkyPSItNTUuODkwNSIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCg5LjIxMjkgMCAwIDIyLjUgMTAxMy45Mjg1IDEyNzcuMjgxKSI+CgkJCQkJCTxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiNEN0Q4REIiLz4KCQkJCQkJPHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6I0JFQkZDMiIvPgoJCQkJCTwvbGluZWFyR3JhZGllbnQ+CgkJCQkJPHBhdGggaWQ9Iui3r+W+hC0xMyIgY2xhc3M9InN0OSIgZD0iTTMuNyw1LjdoNGMwLjUsMCwxLDAuNCwxLDAuOWwxLjUsMjAuNWMwLDAuNi0wLjQsMS0wLjksMS4xYzAsMCwwLDAtMC4xLDBIMgoJCQkJCQljLTAuNiwwLTEtMC40LTEtMXYtMC4xTDIuNyw2LjZDMi43LDYuMSwzLjIsNS43LDMuNyw1Ljd6Ii8+CgkJCQk8L2c+CgkJCQk8ZyBpZD0i57yW57uELTUiPgoKCQkJCQkJPGxpbmVhckdyYWRpZW50IGlkPSLmpK3lnIblvaJfM18iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iLTQ5LjcxMTUiIHkxPSItMy42ODU5IiB4Mj0iLTQ5LjcxMTUiIHkyPSItMi42ODU5IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDQ3Ljc1IDAgMCA0Ny43NSAyMzk4LjEyNSAxNzYuNSkiPgoJCQkJCQk8c3RvcCAgb2Zmc2V0PSIxLjUzMDgyOGUtMDMiIHN0eWxlPSJzdG9wLWNvbG9yOiNERERFRTAiLz4KCQkJCQkJPHN0b3AgIG9mZnNldD0iMC45OTgiIHN0eWxlPSJzdG9wLWNvbG9yOiNDM0M1QzciLz4KCQkJCQk8L2xpbmVhckdyYWRpZW50PgoKCQkJCQkJPGxpbmVhckdyYWRpZW50IGlkPSLmpK3lnIblvaJfNF8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iLTQ5LjcxMTUiIHkxPSItMy42ODU4IiB4Mj0iLTQ5LjcxMTUiIHkyPSItMi43MDU0IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDQ3Ljc1IDAgMCA0Ny43NSAyMzk4LjEyNSAxNzYuNSkiPgoJCQkJCQk8c3RvcCAgb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojRERERUUwIi8+CgkJCQkJCTxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNCRUMwQzIiLz4KCQkJCQk8L2xpbmVhckdyYWRpZW50PgoJCQkJCTxjaXJjbGUgaWQ9IuakreWchuW9ol8xXyIgY2xhc3M9InN0MTAiIGN4PSIyNC40IiBjeT0iMjQuNCIgcj0iMjMuOSIvPgoKCQkJCQkJPGxpbmVhckdyYWRpZW50IGlkPSLmpK3lnIblvaJfNV8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iLTUyLjM5NjYiIHkxPSItNC44MjIiIHgyPSItNTIuMzk2NiIgeTI9Ii0zLjgzOCIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgzNi41IDAgMCAzNi41IDE5MzYuODc1IDE4Mi4xMjUpIj4KCQkJCQkJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6I0ZFRkVGRSIvPgoJCQkJCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojRjJGNEY3Ii8+CgkJCQkJPC9saW5lYXJHcmFkaWVudD4KCgkJCQkJCTxsaW5lYXJHcmFkaWVudCBpZD0i5qSt5ZyG5b2iXzZfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9Ii01Mi4zOTY2IiB5MT0iLTQuODIyIiB4Mj0iLTUyLjM5NjYiIHkyPSItMy44Mzk4IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDM2LjUgMCAwIDM2LjUgMTkzNi44NzUgMTgyLjEyNSkiPgoJCQkJCQk8c3RvcCAgb2Zmc2V0PSIwIiBzdHlsZT0ic3RvcC1jb2xvcjojRjNGNEY1Ii8+CgkJCQkJCTxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNGM0Y1RjciLz4KCQkJCQk8L2xpbmVhckdyYWRpZW50PgoJCQkJCTxjaXJjbGUgaWQ9IuakreWchuW9ol8yXyIgY2xhc3M9InN0MTEiIGN4PSIyNC40IiBjeT0iMjQuNCIgcj0iMTguMiIvPgoJCQkJCTxwYXRoIGlkPSLlvaLnirbnu5PlkIhfMV8iIGNsYXNzPSJzdDEyIiBkPSJNMjMuNSwxMi4zYzUuOCwwLDEwLjksMy4zLDEzLjQsOC4yYy0yLjUtMS42LTUuNS0yLjYtOC43LTIuNmMtNCwwLTcuNywxLjUtMTAuNSw0CgkJCQkJCUwxNCwxNS43QzE2LjYsMTMuNiwxOS45LDEyLjMsMjMuNSwxMi4zeiIvPgoJCQkJPC9nPgoJCQkJPHBvbHlnb24gaWQ9Iui3r+W+hC0xNCIgY2xhc3M9InN0NSIgcG9pbnRzPSI0Ni45LDUzLjQgNDYuOSw1NS42IDU0LjQsNjQuNCA1NC40LDYyLjMgCQkJCSIvPgoJCQk8L2c+CgkJPC9nPgoJPC9nPgo8L2c+Cjwvc3ZnPgo=";
9153
- var Component$i = defineComponent({
9156
+ var Component$k = defineComponent({
9154
9157
  name: "Exception",
9155
9158
  props: {
9156
9159
  type: PropTypes.commonType(["404", "403", "500", "building", "empty", "search-empty", "login"], "type").def("404"),
@@ -9194,8 +9197,8 @@ var Component$i = defineComponent({
9194
9197
  };
9195
9198
  }
9196
9199
  });
9197
- const BkException = withInstall(Component$i);
9198
- var Component$h = defineComponent({
9200
+ const BkException = withInstall(Component$k);
9201
+ var Component$j = defineComponent({
9199
9202
  name: "FixedNavbar",
9200
9203
  props: {
9201
9204
  navItems: PropTypes.array.def([]),
@@ -9234,7 +9237,7 @@ var Component$h = defineComponent({
9234
9237
  }, [item.text]) : ""]))]);
9235
9238
  }
9236
9239
  });
9237
- const BkFixedNavbar = withInstall(Component$h);
9240
+ const BkFixedNavbar = withInstall(Component$j);
9238
9241
  const inputType = {
9239
9242
  type: PropTypes.string.def("text"),
9240
9243
  clearable: PropTypes.bool,
@@ -9259,7 +9262,7 @@ const inputType = {
9259
9262
  };
9260
9263
  const inputEvents = ["update:modelValue", "focus", "blur", "change", "clear", "input", "keypress", "keydown", "keyup", "enter", "paste"];
9261
9264
  const EventEnum = stringEnum([...inputEvents]);
9262
- var Component$g = defineComponent({
9265
+ var Component$i = defineComponent({
9263
9266
  name: "Input",
9264
9267
  inheritAttrs: false,
9265
9268
  props: inputType,
@@ -9422,8 +9425,8 @@ var Component$g = defineComponent({
9422
9425
  };
9423
9426
  }
9424
9427
  });
9425
- const BkInput = withInstall(Component$g);
9426
- var Component$f = defineComponent({
9428
+ const BkInput = withInstall(Component$i);
9429
+ var Component$h = defineComponent({
9427
9430
  name: "Link",
9428
9431
  props: {
9429
9432
  theme: PropTypes.theme(["danger", "success", "primary", "warning", "default"]).def("default"),
@@ -9460,7 +9463,7 @@ var Component$f = defineComponent({
9460
9463
  }, [createVNode("span", null, [(_b = (_a = this.$slots).default) == null ? void 0 : _b.call(_a)])]);
9461
9464
  }
9462
9465
  });
9463
- const BkLink = withInstall(Component$f);
9466
+ const BkLink = withInstall(Component$h);
9464
9467
  const placements = ["auto", "auto-start", "auto-end", "top", "top-start", "top-end", "bottom", "bottom-start", "bottom-end", "right", "right-start", "right-end", "left", "left-start", "left-end"];
9465
9468
  const PopoverProps = {
9466
9469
  isShow: PropTypes.bool,
@@ -9488,7 +9491,7 @@ const PopoverProps = {
9488
9491
  boundary: PropTypes.oneOfType([PropTypes.string.def("parent"), PropTypes.instanceOf(HTMLElement)]),
9489
9492
  fixOnBoundary: PropTypes.bool.def(false)
9490
9493
  };
9491
- var Component$e = defineComponent({
9494
+ var Component$g = defineComponent({
9492
9495
  name: "Popover",
9493
9496
  props: PopoverProps,
9494
9497
  setup(props, ctx) {
@@ -9524,8 +9527,9 @@ var Component$e = defineComponent({
9524
9527
  };
9525
9528
  });
9526
9529
  const handleManualShow = (val) => {
9530
+ var _a, _b;
9527
9531
  if (trigger.value === "manual" && isPopInstance) {
9528
- val ? popoverInstance.show() : popoverInstance.hide();
9532
+ val ? (_a = popoverInstance.show) == null ? void 0 : _a.call(popoverInstance) : (_b = popoverInstance.hide) == null ? void 0 : _b.call(popoverInstance);
9529
9533
  }
9530
9534
  };
9531
9535
  watch(() => props.isShow, (val) => {
@@ -9602,7 +9606,7 @@ var Component$e = defineComponent({
9602
9606
  "ref": refContent,
9603
9607
  "class": contentClass,
9604
9608
  "style": compStyle.value
9605
- }, customTheme), [(_c = (_b2 = (_a2 = ctx.slots).content) == null ? void 0 : _b2.call(_a2)) != null ? _c : content.value, arrow2 && createVNode("div", {
9609
+ }, customTheme), [(_c = (_b2 = (_a2 = ctx.slots).content) == null ? void 0 : _b2.call(_a2)) != null ? _c : content.value, arrow2.value && createVNode("div", {
9606
9610
  "class": "arrow",
9607
9611
  "data-popper-arrow": true
9608
9612
  }, null)])];
@@ -9611,7 +9615,7 @@ var Component$e = defineComponent({
9611
9615
  };
9612
9616
  }
9613
9617
  });
9614
- const BkPopover = withInstall(Component$e);
9618
+ const BkPopover = withInstall(Component$g);
9615
9619
  const Circle = (_2, {
9616
9620
  attrs,
9617
9621
  slots
@@ -9734,7 +9738,7 @@ const Line = (_2, {
9734
9738
  function _isSlot$2(s2) {
9735
9739
  return typeof s2 === "function" || Object.prototype.toString.call(s2) === "[object Object]" && !isVNode(s2);
9736
9740
  }
9737
- var Component$d = defineComponent({
9741
+ var Component$f = defineComponent({
9738
9742
  name: "Progress",
9739
9743
  props: {
9740
9744
  extCls: PropTypes.string,
@@ -9812,7 +9816,7 @@ var Component$d = defineComponent({
9812
9816
  return createVNode("div", progressProps, [progress2]);
9813
9817
  }
9814
9818
  });
9815
- const BkProgress = withInstall(Component$d);
9819
+ const BkProgress = withInstall(Component$f);
9816
9820
  const radioGroupKey = Symbol("RadioGroup");
9817
9821
  function useFocus$1() {
9818
9822
  const isFocus = ref(false);
@@ -9886,7 +9890,7 @@ const radioProps = {
9886
9890
  checked: PropTypes.bool.def(false),
9887
9891
  disabled: PropTypes.bool.def(false)
9888
9892
  };
9889
- var Component$c = defineComponent({
9893
+ var Component$e = defineComponent({
9890
9894
  name: "Radio",
9891
9895
  props: radioProps,
9892
9896
  emits: ["change", "update:modelValue"],
@@ -10029,7 +10033,7 @@ var RadioGroup = defineComponent({
10029
10033
  }, [this.$slots.default()]);
10030
10034
  }
10031
10035
  });
10032
- const BkRadio = withInstallProps(Component$c, { Group: RadioGroup, Button: RadioButton });
10036
+ const BkRadio = withInstallProps(Component$e, { Group: RadioGroup, Button: RadioButton });
10033
10037
  var star = defineComponent({
10034
10038
  name: "Star",
10035
10039
  props: {
@@ -10091,7 +10095,7 @@ var star = defineComponent({
10091
10095
  }, null)])])])])]))]);
10092
10096
  }
10093
10097
  });
10094
- var Component$b = defineComponent({
10098
+ var Component$d = defineComponent({
10095
10099
  name: "Rate",
10096
10100
  components: {
10097
10101
  star
@@ -10163,7 +10167,167 @@ var Component$b = defineComponent({
10163
10167
  }, commonAttrs), null)])]);
10164
10168
  }
10165
10169
  });
10166
- const BkRate = withInstall(Component$b);
10170
+ const BkRate = withInstall(Component$d);
10171
+ var Component$c = defineComponent({
10172
+ name: "Swiper",
10173
+ props: {
10174
+ isLoop: PropTypes.bool.def(true),
10175
+ loopTime: PropTypes.number.def(8e3),
10176
+ pics: PropTypes.array.def([]),
10177
+ list: PropTypes.array.def([]),
10178
+ height: PropTypes.number,
10179
+ width: PropTypes.number
10180
+ },
10181
+ emits: ["index-change"],
10182
+ setup(props, {
10183
+ emit,
10184
+ slots
10185
+ }) {
10186
+ const {
10187
+ isLoop,
10188
+ loopTime,
10189
+ pics,
10190
+ list,
10191
+ height,
10192
+ width
10193
+ } = toRefs(props);
10194
+ const swiperRef = ref();
10195
+ const swiperIndex = ref(0);
10196
+ const renderWidth = ref(0);
10197
+ const renderHeight = ref(0);
10198
+ const loopId = ref(0);
10199
+ let resizeObserver;
10200
+ const computedRenderDataList = computed(() => {
10201
+ var _a;
10202
+ return ((_a = list.value) == null ? void 0 : _a.length) > 0 ? list.value : pics.value;
10203
+ });
10204
+ const computedSwiperTranslateStyle = computed(() => ({
10205
+ width: `${renderWidth.value * computedRenderDataList.value.length}px`,
10206
+ transform: `translateX(-${renderWidth.value * swiperIndex.value}px)`
10207
+ }));
10208
+ const computedSwiperRenderStyle = computed(() => ({
10209
+ width: `${renderWidth.value}px`,
10210
+ height: `${renderHeight.value}px`
10211
+ }));
10212
+ const changeIndex = (index) => {
10213
+ let showIndex = index;
10214
+ if (index >= computedRenderDataList.value.length) {
10215
+ showIndex = 0;
10216
+ }
10217
+ if (index < 0) {
10218
+ showIndex = computedRenderDataList.value.length - 1;
10219
+ }
10220
+ swiperIndex.value = showIndex;
10221
+ emit("index-change", showIndex);
10222
+ };
10223
+ const goToLink = (link2) => {
10224
+ if (!link2)
10225
+ return;
10226
+ window.open(link2, "_blank");
10227
+ };
10228
+ const getRenderItemClass = (renderData) => ["bk-swiper-img", {
10229
+ "bk-swiper-link": renderData.link
10230
+ }, renderData.class];
10231
+ const getRenderItemStyle = (renderData) => ({
10232
+ "background-image": `url(${renderData.url})`,
10233
+ "background-color": renderData.color
10234
+ });
10235
+ const getRenderIndexStyle = (index) => ({
10236
+ "bk-current-index": swiperIndex.value === index
10237
+ });
10238
+ const startLoop = () => {
10239
+ if (isLoop.value) {
10240
+ loopId.value = window.setTimeout(() => {
10241
+ changeIndex(swiperIndex.value + 1);
10242
+ startLoop();
10243
+ }, loopTime.value);
10244
+ }
10245
+ };
10246
+ const endLoop = () => {
10247
+ window.clearTimeout(loopId.value);
10248
+ };
10249
+ const watchParentSizeChange = () => {
10250
+ var _a;
10251
+ const parentEle = (_a = swiperRef.value) == null ? void 0 : _a.parentElement;
10252
+ if (!parentEle || !window.ResizeObserver) {
10253
+ return;
10254
+ }
10255
+ resizeObserver = new ResizeObserver(() => {
10256
+ calcSize();
10257
+ });
10258
+ resizeObserver.observe(parentEle);
10259
+ };
10260
+ const endWatchParentSizeChange = () => {
10261
+ var _a;
10262
+ (_a = resizeObserver.disconnect) == null ? void 0 : _a.call(resizeObserver);
10263
+ };
10264
+ const getElementSize = (node) => {
10265
+ if (node === void 0) {
10266
+ return {
10267
+ height: 0,
10268
+ width: 0
10269
+ };
10270
+ }
10271
+ const computedStyle = getComputedStyle(node);
10272
+ const width2 = node.clientWidth - parseFloat(computedStyle.paddingTop) - parseFloat(computedStyle.paddingBottom);
10273
+ const height2 = node.clientHeight - parseFloat(computedStyle.paddingLeft) - parseFloat(computedStyle.paddingRight);
10274
+ return {
10275
+ height: height2,
10276
+ width: width2
10277
+ };
10278
+ };
10279
+ const calcSize = () => {
10280
+ var _a;
10281
+ const swiperParentSize = getElementSize((_a = swiperRef.value) == null ? void 0 : _a.parentElement);
10282
+ renderWidth.value = +width.value > 0 ? width.value : swiperParentSize.width;
10283
+ renderHeight.value = +height.value > 0 ? height.value : swiperParentSize.height;
10284
+ };
10285
+ watch([height, width], calcSize);
10286
+ onMounted(() => {
10287
+ calcSize();
10288
+ startLoop();
10289
+ watchParentSizeChange();
10290
+ });
10291
+ onBeforeUnmount(() => {
10292
+ endLoop();
10293
+ endWatchParentSizeChange();
10294
+ });
10295
+ return () => createVNode("section", {
10296
+ "class": "bk-swiper-home",
10297
+ "ref": swiperRef,
10298
+ "style": computedSwiperRenderStyle.value
10299
+ }, [createVNode("hgroup", {
10300
+ "style": computedSwiperTranslateStyle.value,
10301
+ "class": "bk-transition bk-swiper-main"
10302
+ }, [computedRenderDataList.value.map((renderData) => {
10303
+ var _a, _b;
10304
+ return createVNode("h3", {
10305
+ "class": "bk-swiper-card",
10306
+ "style": computedSwiperRenderStyle.value
10307
+ }, [(_b = (_a = slots.default) == null ? void 0 : _a.call(slots, renderData)) != null ? _b : createVNode("span", {
10308
+ "class": getRenderItemClass(renderData),
10309
+ "style": getRenderItemStyle(renderData),
10310
+ "onClick": () => goToLink(renderData.link)
10311
+ }, null)]);
10312
+ })]), createVNode("ul", {
10313
+ "class": "bk-swiper-index"
10314
+ }, [computedRenderDataList.value.map((_2, index) => createVNode("li", {
10315
+ "class": getRenderIndexStyle(index),
10316
+ "onMouseover": () => changeIndex(index)
10317
+ }, null))]), createVNode("span", {
10318
+ "class": "bk-swiper-nav bk-nav-prev",
10319
+ "onClick": () => changeIndex(swiperIndex.value - 1)
10320
+ }, [createVNode("i", {
10321
+ "class": "bk-swiper-nav-icon"
10322
+ }, null)]), createVNode("span", {
10323
+ "class": "bk-swiper-nav bk-nav-next",
10324
+ "onClick": () => changeIndex(swiperIndex.value + 1)
10325
+ }, [createVNode("i", {
10326
+ "class": "bk-swiper-nav-icon"
10327
+ }, null)])]);
10328
+ }
10329
+ });
10330
+ const BkSwiper = withInstall(Component$c);
10167
10331
  const selectKey = Symbol("BkSelect");
10168
10332
  const optionGroupKey = Symbol("BkOptionGroup");
10169
10333
  function useFocus() {
@@ -10194,22 +10358,79 @@ function useHover() {
10194
10358
  cancelHover
10195
10359
  };
10196
10360
  }
10361
+ function useRegistry(data2) {
10362
+ const register = (item) => {
10363
+ if (!item)
10364
+ return;
10365
+ return data2.value.add(item);
10366
+ };
10367
+ const unregister = (item) => data2.value.delete(item);
10368
+ return {
10369
+ register,
10370
+ unregister
10371
+ };
10372
+ }
10197
10373
  function useDebouncedRef(value, delay = 200) {
10198
10374
  let timeout;
10375
+ let innerValue = value;
10199
10376
  return customRef((track, trigger) => ({
10200
10377
  get() {
10201
10378
  track();
10202
- return value;
10379
+ return innerValue;
10203
10380
  },
10204
10381
  set(newValue) {
10205
10382
  clearTimeout(timeout);
10206
10383
  timeout = setTimeout(() => {
10207
- value = newValue;
10384
+ innerValue = newValue;
10208
10385
  trigger();
10209
10386
  }, delay);
10210
10387
  }
10211
10388
  }));
10212
10389
  }
10390
+ function usePopover(config) {
10391
+ const { popoverMinWidth } = config;
10392
+ const popperWidth = ref("auto");
10393
+ const isPopoverShow = ref(false);
10394
+ const onPopoverFirstUpdate = (instance) => {
10395
+ const { reference: reference2 } = instance.elements;
10396
+ popperWidth.value = Math.max(reference2.offsetWidth, popoverMinWidth);
10397
+ };
10398
+ const togglePopover = () => {
10399
+ isPopoverShow.value = !isPopoverShow.value;
10400
+ };
10401
+ const hidePopover = () => {
10402
+ isPopoverShow.value = false;
10403
+ };
10404
+ const showPopover = () => {
10405
+ isPopoverShow.value = true;
10406
+ };
10407
+ return {
10408
+ isPopoverShow,
10409
+ popperWidth,
10410
+ togglePopover,
10411
+ onPopoverFirstUpdate,
10412
+ hidePopover,
10413
+ showPopover
10414
+ };
10415
+ }
10416
+ function useRemoteSearch(method) {
10417
+ const searchKey = useDebouncedRef("");
10418
+ const searchLoading = ref(false);
10419
+ watch(searchKey, async () => {
10420
+ searchLoading.value = true;
10421
+ await method(searchKey.value);
10422
+ searchLoading.value = false;
10423
+ });
10424
+ return {
10425
+ searchKey,
10426
+ searchLoading
10427
+ };
10428
+ }
10429
+ function toLowerCase(value = "") {
10430
+ if (!value)
10431
+ return value;
10432
+ return String(value).trim().toLowerCase();
10433
+ }
10213
10434
  var BkOption = defineComponent({
10214
10435
  name: "Option",
10215
10436
  props: {
@@ -10225,28 +10446,12 @@ var BkOption = defineComponent({
10225
10446
  visible: true
10226
10447
  });
10227
10448
  const {
10228
- disabled,
10229
- label
10449
+ disabled
10230
10450
  } = toRefs(props);
10231
10451
  const select2 = inject(selectKey, null);
10232
10452
  const group = inject(optionGroupKey, null);
10233
10453
  const selected = computed(() => select2.selectedOptions.has(proxy));
10234
10454
  const multiple = computed(() => select2 == null ? void 0 : select2.props.multiple);
10235
- watchEffect(() => {
10236
- var _a;
10237
- if (group == null ? void 0 : group.groupCollapse) {
10238
- states.visible = false;
10239
- } else if (!(select2 == null ? void 0 : select2.isRemoteSearch) && (select2 == null ? void 0 : select2.searchKey)) {
10240
- states.visible = (_a = toLowerCase(String(label.value))) == null ? void 0 : _a.includes(toLowerCase(select2 == null ? void 0 : select2.searchKey));
10241
- } else {
10242
- states.visible = true;
10243
- }
10244
- });
10245
- const toLowerCase = (value = "") => {
10246
- if (!value)
10247
- return value;
10248
- return String(value).trim().toLowerCase();
10249
- };
10250
10455
  const handleOptionClick = () => {
10251
10456
  if (disabled.value)
10252
10457
  return;
@@ -10254,9 +10459,11 @@ var BkOption = defineComponent({
10254
10459
  };
10255
10460
  onBeforeMount(() => {
10256
10461
  select2 == null ? void 0 : select2.register(proxy);
10462
+ group == null ? void 0 : group.register(proxy);
10257
10463
  });
10258
10464
  onBeforeUnmount(() => {
10259
10465
  select2 == null ? void 0 : select2.unregister(proxy);
10466
+ group == null ? void 0 : group.unregister(proxy);
10260
10467
  });
10261
10468
  return __spreadProps(__spreadValues({}, toRefs(states)), {
10262
10469
  selected,
@@ -10290,41 +10497,38 @@ var OptionGroup = defineComponent({
10290
10497
  setup(props, {
10291
10498
  emit
10292
10499
  }) {
10293
- const children = ref([]);
10294
- const instance = getCurrentInstance();
10500
+ const {
10501
+ proxy
10502
+ } = getCurrentInstance();
10503
+ const select2 = inject(selectKey, null);
10295
10504
  const states = reactive({
10296
10505
  groupCollapse: props.collapse,
10297
10506
  visible: true
10298
10507
  });
10299
- const groupLabel = computed(() => `${props.label} (${children.value.filter((option) => option.visible).length})`);
10300
- provide(optionGroupKey, reactive(__spreadProps(__spreadValues({}, toRefs(props)), {
10301
- groupCollapse: toRef(states, "groupCollapse")
10302
- })));
10303
- const flattedChildren = (node) => {
10304
- const children2 = [];
10305
- if (Array.isArray(node.children)) {
10306
- node.children.forEach((child) => {
10307
- var _a;
10308
- if (child.type && child.type.name === "Option" && child.component && child.component.proxy) {
10309
- children2.push(child.component.proxy);
10310
- } else if ((_a = child.children) == null ? void 0 : _a.length) {
10311
- children2.push(...flattedChildren(child));
10312
- }
10313
- });
10314
- }
10315
- return children2;
10316
- };
10508
+ const options = ref(/* @__PURE__ */ new Set());
10509
+ const {
10510
+ register,
10511
+ unregister
10512
+ } = useRegistry(options);
10513
+ const groupLabel = computed(() => `${props.label} (${[...options.value.values()].filter((option) => option.visible).length})`);
10317
10514
  const handleToggleCollapse = () => {
10318
- if (!props.collapsible)
10515
+ if (!props.collapsible || props.disabled)
10319
10516
  return;
10320
10517
  states.groupCollapse = !states.groupCollapse;
10321
10518
  emit("update:collapse", states.groupCollapse);
10322
10519
  };
10323
- onMounted(() => {
10324
- children.value = flattedChildren(instance.subTree);
10520
+ provide(optionGroupKey, reactive(__spreadProps(__spreadValues({}, toRefs(props)), {
10521
+ register,
10522
+ unregister,
10523
+ groupCollapse: toRef(states, "groupCollapse")
10524
+ })));
10525
+ onBeforeMount(() => {
10526
+ select2 == null ? void 0 : select2.registerGroup(proxy);
10527
+ });
10528
+ onBeforeUnmount(() => {
10529
+ select2 == null ? void 0 : select2.unregisterGroup(proxy);
10325
10530
  });
10326
10531
  return __spreadProps(__spreadValues({}, toRefs(states)), {
10327
- children,
10328
10532
  groupLabel,
10329
10533
  handleToggleCollapse
10330
10534
  });
@@ -10333,7 +10537,8 @@ var OptionGroup = defineComponent({
10333
10537
  var _a, _b;
10334
10538
  const groupClass = classes({
10335
10539
  "bk-option-group": true,
10336
- collapsible: this.collapsible
10540
+ collapsible: this.collapsible,
10541
+ disabled: this.disabled
10337
10542
  });
10338
10543
  const groupLabelClass = classes({
10339
10544
  "bk-option-group-label": true,
@@ -10350,13 +10555,13 @@ var OptionGroup = defineComponent({
10350
10555
  "onClick": this.handleToggleCollapse
10351
10556
  }, [this.$slots.label ? this.$slots.label() : createVNode("span", {
10352
10557
  "class": "default-group-label"
10353
- }, [this.collapsible ? createVNode(angleUpFill, {
10558
+ }, [this.collapsible && createVNode(angleUpFill, {
10354
10559
  "class": groupLabelIconClass
10355
- }, null) : null, createVNode("span", {
10560
+ }, null), createVNode("span", {
10356
10561
  "class": "default-group-label-title"
10357
- }, [this.groupLabel])])]), createVNode("ul", {
10562
+ }, [this.groupLabel])])]), withDirectives(createVNode("ul", {
10358
10563
  "class": "bk-option-group-content"
10359
- }, [(_b = (_a = this.$slots).default) == null ? void 0 : _b.call(_a)])]), [[vShow, this.visible]]);
10564
+ }, [(_b = (_a = this.$slots).default) == null ? void 0 : _b.call(_a)]), [[vShow, !this.groupCollapse]])]), [[vShow, this.visible]]);
10360
10565
  }
10361
10566
  });
10362
10567
  var _populated = false;
@@ -10757,6 +10962,67 @@ function createPopperInstance(el, popper2, options) {
10757
10962
  }));
10758
10963
  }
10759
10964
  }
10965
+ var Component$b = defineComponent({
10966
+ name: "Tag",
10967
+ props: {
10968
+ theme: PropTypes.theme(["success", "info", "warning", "danger"]).def(""),
10969
+ closable: PropTypes.bool.def(false),
10970
+ type: PropTypes.commonType(["", "filled", "stroke"]).def(""),
10971
+ checkable: PropTypes.bool.def(false),
10972
+ checked: PropTypes.bool.def(false),
10973
+ radius: PropTypes.string.def("2px"),
10974
+ extCls: PropTypes.string.def("")
10975
+ },
10976
+ emits: ["change", "close"],
10977
+ slots: ["icon"],
10978
+ setup(props, {
10979
+ emit
10980
+ }) {
10981
+ const wrapperCls = computed(() => classes({
10982
+ "bk-tag-closable": props.closable,
10983
+ "bk-tag-checkable": props.checkable,
10984
+ "bk-tag-check": props.checked,
10985
+ [`bk-tag-${props.type}`]: props.type,
10986
+ [`bk-tag-${props.theme}`]: props.theme,
10987
+ [props.extCls]: !!props.extCls
10988
+ }, "bk-tag"));
10989
+ const wrapperStyle = computed(() => ({
10990
+ borderRadius: props.radius
10991
+ }));
10992
+ const handleClose = (e) => {
10993
+ e.preventDefault();
10994
+ e.stopPropagation();
10995
+ emit("close", e);
10996
+ };
10997
+ const handleClick = (e) => {
10998
+ e.preventDefault();
10999
+ e.stopPropagation();
11000
+ if (props.checkable) {
11001
+ emit("change", !props.checked);
11002
+ }
11003
+ };
11004
+ return {
11005
+ wrapperCls,
11006
+ wrapperStyle,
11007
+ handleClose,
11008
+ handleClick
11009
+ };
11010
+ },
11011
+ render() {
11012
+ var _a, _b;
11013
+ return createVNode("div", {
11014
+ "class": this.wrapperCls,
11015
+ "style": this.wrapperStyle,
11016
+ "onClick": this.handleClick
11017
+ }, [this.$slots.icon ? createVNode("span", {
11018
+ "class": "bk-tag-icon"
11019
+ }, [this.$slots.icon()]) : "", createVNode("span", null, [(_b = (_a = this.$slots).default) == null ? void 0 : _b.call(_a)]), this.closable ? createVNode(error, {
11020
+ "class": "bk-tag-close",
11021
+ "onClick": this.handleClose
11022
+ }, null) : ""]);
11023
+ }
11024
+ });
11025
+ const BkTag = withInstall(Component$b);
10760
11026
  var Component$a = defineComponent({
10761
11027
  name: "Select",
10762
11028
  directives: {
@@ -10765,43 +11031,84 @@ var Component$a = defineComponent({
10765
11031
  props: {
10766
11032
  modelValue: PropTypes.any,
10767
11033
  multiple: PropTypes.bool.def(false),
10768
- placeholder: PropTypes.string.def("\u8BF7\u9009\u62E9"),
10769
11034
  disabled: PropTypes.bool.def(false),
10770
- size: PropTypes.size().def("small"),
11035
+ size: PropTypes.size().def("default"),
10771
11036
  clearable: PropTypes.bool.def(true),
10772
11037
  loading: PropTypes.bool.def(false),
10773
11038
  filterable: PropTypes.bool.def(false),
10774
11039
  remoteMethod: PropTypes.func,
10775
- scrollHeight: PropTypes.number.def(216)
11040
+ scrollHeight: PropTypes.number.def(216),
11041
+ showSelectAll: PropTypes.bool.def(false),
11042
+ popoverMinWidth: PropTypes.number.def(0),
11043
+ showOnInit: PropTypes.bool.def(false),
11044
+ multipleMode: PropTypes.oneOf(["default", "tag"]).def("default"),
11045
+ tagTheme: PropTypes.theme(["success", "info", "warning", "danger"]).def(""),
11046
+ behavior: PropTypes.oneOf(["normal", "simplicity"]).def("normal"),
11047
+ collapseTags: PropTypes.bool.def(false),
11048
+ noDataText: PropTypes.string.def("\u65E0\u6570\u636E"),
11049
+ noMatchText: PropTypes.string.def("\u65E0\u5339\u914D\u6570\u636E"),
11050
+ loadingText: PropTypes.string.def("\u52A0\u8F7D\u4E2D..."),
11051
+ placeholder: PropTypes.string.def("\u8BF7\u9009\u62E9"),
11052
+ selectAllText: PropTypes.string.def("\u5168\u90E8")
10776
11053
  },
10777
- emits: ["update:modelValue", "change", "toggle"],
11054
+ emits: ["update:modelValue", "change", "toggle", "clear"],
10778
11055
  setup(props, {
10779
11056
  emit
10780
11057
  }) {
10781
11058
  const {
10782
11059
  modelValue,
10783
11060
  disabled,
10784
- size,
10785
11061
  filterable,
10786
11062
  placeholder,
10787
11063
  multiple,
10788
11064
  remoteMethod,
10789
- loading: loading2
11065
+ loading: loading2,
11066
+ loadingText,
11067
+ noDataText,
11068
+ noMatchText,
11069
+ popoverMinWidth,
11070
+ showOnInit
10790
11071
  } = toRefs(props);
10791
11072
  const states = reactive({
10792
11073
  currentPlaceholder: placeholder.value,
10793
- options: /* @__PURE__ */ new Set(),
10794
11074
  selectedOptions: /* @__PURE__ */ new Set(),
10795
11075
  currentSelectedLabel: ""
10796
11076
  });
10797
- const selectTriggerRef = ref();
10798
11077
  const inputRef = ref();
10799
- const register = (option) => {
10800
- if (!option)
10801
- return;
10802
- return states.options.add(option);
10803
- };
10804
- const unregister = (option) => states.options.delete(option);
11078
+ const popoverRef = ref();
11079
+ const options = ref(/* @__PURE__ */ new Set());
11080
+ const groups = ref(/* @__PURE__ */ new Set());
11081
+ const isDisabled = computed(() => disabled.value || loading2.value);
11082
+ const selectedLabel = computed(() => [...states.selectedOptions.values()].map((option) => option.label));
11083
+ const isAllSelected = computed(() => [...options.value.values()].filter((option) => !option.disabled).every((option) => states.selectedOptions.has(option)));
11084
+ const isGroup = computed(() => !!groups.value.size);
11085
+ const isOptionsEmpty = computed(() => !options.value.size);
11086
+ const isSearchEmpty = computed(() => {
11087
+ const data2 = [...options.value.values()];
11088
+ return data2.length && data2.every((option) => !option.visible);
11089
+ });
11090
+ const isRemoteSearch = computed(() => typeof remoteMethod.value === "function");
11091
+ const isShowSelectContent = computed(() => !(searchLoading.value || isOptionsEmpty.value || isSearchEmpty.value));
11092
+ const curContentText = computed(() => {
11093
+ if (searchLoading.value) {
11094
+ return loadingText.value;
11095
+ }
11096
+ if (isOptionsEmpty.value) {
11097
+ return noDataText.value;
11098
+ }
11099
+ if (isSearchEmpty.value) {
11100
+ return noMatchText.value;
11101
+ }
11102
+ return "";
11103
+ });
11104
+ const {
11105
+ register,
11106
+ unregister
11107
+ } = useRegistry(options);
11108
+ const {
11109
+ register: registerGroup,
11110
+ unregister: unregisterGroup
11111
+ } = useRegistry(groups);
10805
11112
  const {
10806
11113
  isHover,
10807
11114
  setHover,
@@ -10812,63 +11119,63 @@ var Component$a = defineComponent({
10812
11119
  handleFocus,
10813
11120
  handleBlur
10814
11121
  } = useFocus();
10815
- const handleInput = (e) => {
10816
- searchKey.value = e.target.value;
10817
- };
10818
- const isDisabled = computed(() => disabled.value || loading2.value);
10819
- const selectClass = computed(() => ({
10820
- "bk-select": true,
10821
- "popover-show": isPopoverShow.value,
10822
- "is-disabled": isDisabled.value,
10823
- "is-focus": isFocus.value,
10824
- [size.value]: true
10825
- }));
10826
- const selectedLabel = computed(() => [...states.selectedOptions.values()].map((option) => option.label).join(","));
10827
- const popperWidth = ref("auto");
10828
- const onPopoverFirstUpdate = (instance) => {
10829
- const {
10830
- reference: reference2
10831
- } = instance.elements;
10832
- popperWidth.value = reference2.offsetWidth;
10833
- };
10834
- const isPopoverShow = ref(false);
10835
- const toggleMenu = () => {
10836
- if (isDisabled.value)
10837
- return;
10838
- isPopoverShow.value = !isPopoverShow.value;
10839
- emit("toggle", isPopoverShow.value);
10840
- };
10841
- const hidePopover = () => {
10842
- isPopoverShow.value = false;
10843
- handleBlur();
10844
- };
10845
- const showPopover = () => {
10846
- isPopoverShow.value = true;
10847
- };
10848
- watch(isPopoverShow, () => {
10849
- handleResetState();
11122
+ const {
11123
+ popperWidth,
11124
+ isPopoverShow,
11125
+ onPopoverFirstUpdate,
11126
+ hidePopover,
11127
+ showPopover,
11128
+ togglePopover
11129
+ } = usePopover({
11130
+ popoverMinWidth: popoverMinWidth.value
10850
11131
  });
10851
- const handleResetState = () => {
10852
- if (!isRemoteSearch.value || isRemoteSearch.value && !isPopoverShow.value) {
10853
- searchKey.value = "";
10854
- }
11132
+ const defaultSearchMethod = (value) => {
11133
+ options.value.forEach((option) => {
11134
+ var _a;
11135
+ option.visible = (_a = toLowerCase(String(option.label))) == null ? void 0 : _a.includes(toLowerCase(value));
11136
+ });
11137
+ };
11138
+ const {
11139
+ searchKey,
11140
+ searchLoading
11141
+ } = useRemoteSearch(isRemoteSearch.value ? remoteMethod.value : defaultSearchMethod);
11142
+ const handleResetInputValue = () => {
11143
+ const label = selectedLabel.value.join(",");
10855
11144
  if (filterable.value && isPopoverShow.value) {
10856
- states.currentPlaceholder = selectedLabel.value || placeholder.value;
11145
+ states.currentPlaceholder = label || placeholder.value;
10857
11146
  states.currentSelectedLabel = "";
10858
11147
  } else {
10859
11148
  states.currentPlaceholder = placeholder.value;
10860
- states.currentSelectedLabel = selectedLabel.value;
11149
+ states.currentSelectedLabel = label;
11150
+ searchKey.value = "";
10861
11151
  }
10862
11152
  };
11153
+ watch(isPopoverShow, () => {
11154
+ handleResetInputValue();
11155
+ });
10863
11156
  const emitChange = (val) => {
10864
11157
  if (val === modelValue.value)
10865
11158
  return;
10866
11159
  emit("change", val);
10867
11160
  emit("update:modelValue", val);
10868
11161
  };
10869
- const handleOptionSelected = (option) => {
11162
+ const handleTogglePopover = () => {
10870
11163
  if (isDisabled.value)
10871
11164
  return;
11165
+ togglePopover();
11166
+ emit("toggle", isPopoverShow.value);
11167
+ };
11168
+ const handleInput = (e) => {
11169
+ searchKey.value = e.target.value;
11170
+ };
11171
+ const selectedCallback = () => {
11172
+ inputRef.value.focus();
11173
+ popoverRef.value.update();
11174
+ !searchKey.value && handleResetInputValue();
11175
+ };
11176
+ const handleOptionSelected = (option) => {
11177
+ if (isDisabled.value || !option)
11178
+ return;
10872
11179
  if (multiple.value) {
10873
11180
  if (states.selectedOptions.has(option)) {
10874
11181
  states.selectedOptions.delete(option);
@@ -10882,129 +11189,195 @@ var Component$a = defineComponent({
10882
11189
  emitChange(option.value);
10883
11190
  hidePopover();
10884
11191
  }
10885
- inputRef.value.focus();
10886
- handleResetState();
11192
+ selectedCallback();
10887
11193
  };
10888
11194
  const handleClear = (e) => {
10889
11195
  e.stopPropagation();
10890
11196
  states.selectedOptions.clear();
10891
- emitChange(multiple.value ? [] : "");
10892
11197
  hidePopover();
10893
- handleResetState();
11198
+ handleResetInputValue();
11199
+ emitChange(multiple.value ? [] : "");
11200
+ emit("clear", multiple.value ? [] : "");
10894
11201
  };
10895
- const searchKey = useDebouncedRef("");
10896
- const isRemoteSearch = computed(() => typeof remoteMethod.value === "function");
10897
- const searchLoading = ref(false);
10898
- watchEffect(async () => {
10899
- if (!isRemoteSearch.value || !isPopoverShow.value || !searchKey.value)
10900
- return;
10901
- try {
10902
- searchLoading.value = true;
10903
- await remoteMethod.value(searchKey.value);
10904
- } catch (e) {
10905
- console.error(e);
10906
- } finally {
10907
- searchLoading.value = false;
11202
+ const handleToggleAll = () => {
11203
+ if (isAllSelected.value) {
11204
+ states.selectedOptions.clear();
11205
+ } else {
11206
+ options.value.forEach((option) => {
11207
+ if (option.disabled || states.selectedOptions.has(option))
11208
+ return;
11209
+ states.selectedOptions.add(option);
11210
+ });
10908
11211
  }
10909
- });
10910
- const isEmpty2 = computed(() => [...states.options.values()].every((option) => !option.visible));
11212
+ selectedCallback();
11213
+ emitChange([...states.selectedOptions.values()].map((option) => option.value));
11214
+ };
11215
+ const handleClickOutside = () => {
11216
+ hidePopover();
11217
+ handleBlur();
11218
+ };
10911
11219
  provide(selectKey, reactive({
10912
11220
  props,
10913
- searchKey,
10914
11221
  selectedOptions: unref(states.selectedOptions),
10915
- isRemoteSearch,
10916
11222
  register,
10917
11223
  unregister,
11224
+ registerGroup,
11225
+ unregisterGroup,
10918
11226
  handleOptionSelected
10919
11227
  }));
10920
11228
  onMounted(() => {
10921
11229
  const initializeValue = Array.isArray(modelValue.value) ? modelValue.value : [modelValue.value];
10922
- states.options.forEach((option) => {
11230
+ options.value.forEach((option) => {
10923
11231
  if (initializeValue.includes(option.value)) {
10924
11232
  states.selectedOptions.add(option);
10925
11233
  }
10926
11234
  });
10927
- handleResetState();
11235
+ handleResetInputValue();
11236
+ setTimeout(() => {
11237
+ showOnInit.value && showPopover();
11238
+ });
10928
11239
  });
10929
11240
  return __spreadProps(__spreadValues({}, toRefs(states)), {
11241
+ options,
11242
+ isDisabled,
10930
11243
  selectedLabel,
10931
- selectClass,
10932
11244
  isPopoverShow,
10933
11245
  isHover,
10934
11246
  popperWidth,
10935
- selectTriggerRef,
11247
+ popoverRef,
10936
11248
  inputRef,
10937
- searchKey,
10938
11249
  searchLoading,
10939
- isEmpty: isEmpty2,
11250
+ isOptionsEmpty,
11251
+ isSearchEmpty,
10940
11252
  isFocus,
11253
+ isShowSelectContent,
11254
+ curContentText,
11255
+ isGroup,
11256
+ searchKey,
10941
11257
  setHover,
10942
11258
  cancelHover,
10943
11259
  handleFocus,
10944
11260
  handleInput,
10945
- toggleMenu,
11261
+ handleTogglePopover,
10946
11262
  handleClear,
10947
11263
  onPopoverFirstUpdate,
10948
11264
  hidePopover,
10949
- showPopover
11265
+ showPopover,
11266
+ handleToggleAll,
11267
+ handleOptionSelected,
11268
+ handleClickOutside
10950
11269
  });
10951
11270
  },
10952
11271
  render() {
11272
+ const selectClass = classes({
11273
+ "bk-select": true,
11274
+ "popover-show": this.isPopoverShow,
11275
+ "is-disabled": this.isDisabled,
11276
+ "is-focus": this.isFocus,
11277
+ "is-filterable": this.filterable,
11278
+ [this.size]: true,
11279
+ [this.behavior]: true
11280
+ });
10953
11281
  const modifiers = [{
10954
11282
  name: "offset",
10955
11283
  options: {
10956
11284
  offset: [0, 4]
10957
11285
  }
10958
11286
  }];
10959
- const renderSelectRightIcon = () => {
10960
- if (this.loading) {
10961
- return createVNode(spinner, {
10962
- "class": "spinner"
10963
- }, null);
10964
- }
10965
- if (this.clearable && this.isHover) {
10966
- return createVNode(close$1, {
10967
- "class": "clear-icon",
10968
- "onClick": this.handleClear
11287
+ const renderSelectTrigger = () => {
11288
+ var _a, _b;
11289
+ const suffixIcon = () => {
11290
+ if (this.loading) {
11291
+ return createVNode(BkLoading, {
11292
+ "class": "spinner",
11293
+ "mode": "spin",
11294
+ "size": "mini"
11295
+ }, null);
11296
+ }
11297
+ if (this.clearable && this.isHover) {
11298
+ return createVNode(close$1, {
11299
+ "class": "clear-icon",
11300
+ "onClick": this.handleClear
11301
+ }, null);
11302
+ }
11303
+ return createVNode(angleUp, {
11304
+ "class": "angle-up"
10969
11305
  }, null);
10970
- }
10971
- return createVNode(angleUp, {
10972
- "class": "angle-up"
10973
- }, null);
10974
- };
10975
- const renderEmptySelect = () => {
10976
- if (this.searchLoading) {
10977
- return withDirectives(createVNode("div", {
10978
- "class": "bk-select-empty"
10979
- }, [createVNode(spinner, {
10980
- "class": "spinner"
10981
- }, null), createTextVNode("\u52A0\u8F7D\u4E2D...")]), [[vShow, this.searchLoading]]);
10982
- }
10983
- if (this.isEmpty) {
10984
- return withDirectives(createVNode("div", {
10985
- "class": "bk-select-empty"
10986
- }, [createTextVNode("\u65E0\u5339\u914D\u6570\u636E")]), [[vShow, this.isEmpty]]);
10987
- }
10988
- return null;
11306
+ };
11307
+ const renderTriggerInput = () => {
11308
+ if (this.multipleMode === "tag") {
11309
+ return createVNode("div", {
11310
+ "class": "bk-select-tag"
11311
+ }, [[...this.selectedOptions.values()].map((option) => createVNode(BkTag, {
11312
+ "closable": true,
11313
+ "style": {
11314
+ marginTop: "3px"
11315
+ },
11316
+ "theme": this.tagTheme,
11317
+ "onClose": () => this.handleOptionSelected(option)
11318
+ }, {
11319
+ default: () => [option.label]
11320
+ })), withDirectives(createVNode("input", {
11321
+ "class": "bk-select-tag-input",
11322
+ "ref": "inputRef",
11323
+ "type": "text",
11324
+ "placeholder": !this.selectedOptions.size ? this.placeholder : "",
11325
+ "readonly": !this.filterable || !this.isPopoverShow,
11326
+ "onUpdate:modelValue": ($event) => this.searchKey = $event,
11327
+ "onFocus": this.handleFocus
11328
+ }, null), [[vModelText, this.searchKey]])]);
11329
+ }
11330
+ return withDirectives(createVNode("input", {
11331
+ "ref": "inputRef",
11332
+ "type": "text",
11333
+ "class": "bk-select-input",
11334
+ "style": {
11335
+ paddingLeft: this.$slots.prefixIcon ? "20px" : "10px"
11336
+ },
11337
+ "onUpdate:modelValue": ($event) => this.currentSelectedLabel = $event,
11338
+ "placeholder": this.currentPlaceholder,
11339
+ "readonly": !this.filterable || !this.isPopoverShow,
11340
+ "onFocus": this.handleFocus,
11341
+ "onInput": this.handleInput
11342
+ }, null), [[vModelText, this.currentSelectedLabel]]);
11343
+ };
11344
+ return createVNode("div", {
11345
+ "class": "bk-select-trigger",
11346
+ "onClick": this.handleTogglePopover,
11347
+ "onMouseenter": this.setHover,
11348
+ "onMouseleave": this.cancelHover
11349
+ }, [this.$slots.prefixIcon ? createVNode("span", {
11350
+ "class": "bk-select-prefix"
11351
+ }, [(_b = (_a = this.$slots).prefixIcon) == null ? void 0 : _b.call(_a)]) : null, renderTriggerInput(), suffixIcon()]);
10989
11352
  };
10990
11353
  const renderSelectContent = () => {
10991
11354
  var _a, _b;
10992
- return createVNode("div", null, [renderEmptySelect(), withDirectives(createVNode("div", {
11355
+ return createVNode("div", null, [!this.isShowSelectContent && createVNode("div", {
11356
+ "class": "bk-select-empty"
11357
+ }, [this.searchLoading && createVNode(BkLoading, {
11358
+ "class": "mr5",
11359
+ "mode": "spin",
11360
+ "size": "mini"
11361
+ }, null), this.curContentText]), createVNode("div", {
10993
11362
  "class": "bk-select-content"
10994
11363
  }, [createVNode("div", {
10995
11364
  "class": "bk-select-dropdown",
10996
11365
  "style": {
10997
11366
  maxHeight: `${this.scrollHeight}px`
10998
11367
  }
10999
- }, [createVNode("ul", {
11368
+ }, [withDirectives(createVNode("ul", {
11000
11369
  "class": "bk-select-options"
11001
- }, [(_b = (_a = this.$slots).default) == null ? void 0 : _b.call(_a)])]), this.$slots.extension ? createVNode("div", {
11370
+ }, [this.multiple && this.showSelectAll && !this.searchKey && createVNode("li", {
11371
+ "class": "bk-select-option",
11372
+ "onClick": this.handleToggleAll
11373
+ }, [this.selectAllText]), (_b = (_a = this.$slots).default) == null ? void 0 : _b.call(_a)]), [[vShow, this.isShowSelectContent]])]), this.$slots.extension && createVNode("div", {
11002
11374
  "class": "bk-select-extension"
11003
- }, [this.$slots.extension()]) : null]), [[vShow, !this.searchLoading && !this.isEmpty]])]);
11375
+ }, [this.$slots.extension()])])]);
11004
11376
  };
11005
11377
  return withDirectives(createVNode("div", {
11006
- "class": this.selectClass
11378
+ "class": selectClass
11007
11379
  }, [createVNode(BkPopover, {
11380
+ "ref": "popoverRef",
11008
11381
  "theme": "light",
11009
11382
  "trigger": "manual",
11010
11383
  "width": this.popperWidth,
@@ -11014,32 +11387,9 @@ var Component$a = defineComponent({
11014
11387
  "modifiers": modifiers,
11015
11388
  "handleFirstUpdate": this.onPopoverFirstUpdate
11016
11389
  }, {
11017
- default: () => {
11018
- var _a, _b;
11019
- return createVNode("div", {
11020
- "class": "bk-select-trigger",
11021
- "ref": "selectTriggerRef",
11022
- "onClick": this.toggleMenu,
11023
- "onMouseenter": this.setHover,
11024
- "onMouseleave": this.cancelHover
11025
- }, [this.$slots.prefixIcon ? createVNode("span", {
11026
- "class": "bk-select-prefix"
11027
- }, [(_b = (_a = this.$slots).prefixIcon) == null ? void 0 : _b.call(_a)]) : null, withDirectives(createVNode("input", {
11028
- "ref": "inputRef",
11029
- "type": "text",
11030
- "class": "bk-select-input",
11031
- "style": {
11032
- paddingLeft: this.$slots.prefixIcon ? "20px" : "10px"
11033
- },
11034
- "onUpdate:modelValue": ($event) => this.currentSelectedLabel = $event,
11035
- "placeholder": this.currentPlaceholder,
11036
- "readonly": !this.filterable || !this.isPopoverShow,
11037
- "onFocus": this.handleFocus,
11038
- "onInput": this.handleInput
11039
- }, null), [[vModelText, this.currentSelectedLabel]]), renderSelectRightIcon()]);
11040
- },
11390
+ default: () => renderSelectTrigger(),
11041
11391
  content: () => renderSelectContent()
11042
- })]), [[resolveDirective("clickoutside"), this.hidePopover]]);
11392
+ })]), [[resolveDirective("clickoutside"), this.handleClickOutside]]);
11043
11393
  }
11044
11394
  });
11045
11395
  const BkSelect = withInstallProps(Component$a, { Option: BkOption, Group: OptionGroup });
@@ -11459,7 +11809,7 @@ var virtualRender = {
11459
11809
  }
11460
11810
  };
11461
11811
  var Component$6 = defineComponent({
11462
- name: "BkVirtualRender",
11812
+ name: "VirtualRender",
11463
11813
  directives: {
11464
11814
  bkVirtualRender: virtualRender
11465
11815
  },
@@ -11527,8 +11877,8 @@ var Component$6 = defineComponent({
11527
11877
  const handleChangeListConfig = () => {
11528
11878
  handleListChanged(props.list);
11529
11879
  };
11530
- const listLength = reactive(ref(0));
11531
- const innerHeight = reactive(ref(0));
11880
+ const listLength = ref(0);
11881
+ const innerHeight = ref(0);
11532
11882
  const handleListChanged = (list) => {
11533
11883
  listLength.value = Math.ceil((list || []).length / props.groupItemCount);
11534
11884
  pagination2.count = listLength.value;
@@ -11558,7 +11908,7 @@ var Component$6 = defineComponent({
11558
11908
  const el = (_a = refRoot.value) == null ? void 0 : _a.parentNode;
11559
11909
  computedVirtualIndex(props.lineHeight, handleScrollCallback, pagination2, el, null);
11560
11910
  };
11561
- const localList = computed(() => (props.list || []).map((item, index) => Object.assign(item, {
11911
+ const localList = computed(() => (props.list || []).map((item, index) => __spreadProps(__spreadValues({}, item), {
11562
11912
  $index: index
11563
11913
  })));
11564
11914
  const calcList = computed(() => localList.value.slice(pagination2.startIndex * props.groupItemCount, (pagination2.endIndex + props.preloadItemCount) * props.groupItemCount));
@@ -12339,6 +12689,7 @@ class TableRender {
12339
12689
  var Component$4 = defineComponent({
12340
12690
  name: "Table",
12341
12691
  props: tableProps,
12692
+ emits: ["column-pick", "row-click", "page-limit-change", "page-value-change"],
12342
12693
  setup(props, ctx) {
12343
12694
  const activeCols = reactive(resolveActiveColumns(props));
12344
12695
  const colgroups = reactive(props.columns.map((col) => __spreadProps(__spreadValues({}, col), {
@@ -12373,7 +12724,7 @@ var Component$4 = defineComponent({
12373
12724
  activeColumns: getActiveColumns(),
12374
12725
  scrollTranslateY: 0
12375
12726
  });
12376
- watch(() => [props.activeColumn, props.columns, props.pagination], () => {
12727
+ watch(() => [props.activeColumn, props.columns], () => {
12377
12728
  nextTick(() => {
12378
12729
  reactiveProp.activeColumns = getActiveColumns();
12379
12730
  const cols = resolveActiveColumns(props);
@@ -12382,8 +12733,6 @@ var Component$4 = defineComponent({
12382
12733
  active: cols.some((colIndex) => colIndex === index)
12383
12734
  });
12384
12735
  });
12385
- pagination2 = resolvePaginationOption(props.pagination, pagination2);
12386
- resetStartEndIndex();
12387
12736
  });
12388
12737
  }, {
12389
12738
  deep: true
@@ -12392,6 +12741,10 @@ var Component$4 = defineComponent({
12392
12741
  const wrapperStyle = computed(() => ({
12393
12742
  minHeight: resolveNumberOrStringToPix(props.minHeight, "auto")
12394
12743
  }));
12744
+ watchEffect(() => {
12745
+ pagination2 = resolvePaginationOption(props.pagination, pagination2);
12746
+ resetStartEndIndex();
12747
+ });
12395
12748
  const pageData = computed(() => props.data.slice(startIndex.value, endIndex.value));
12396
12749
  const localPagination = computed(() => {
12397
12750
  if (!props.pagination) {
@@ -12469,67 +12822,6 @@ var Component$4 = defineComponent({
12469
12822
  }
12470
12823
  });
12471
12824
  const BkTable = withInstall(Component$4);
12472
- var Component$3 = defineComponent({
12473
- name: "Tag",
12474
- props: {
12475
- theme: PropTypes.theme(["success", "info", "warning", "danger"]).def(""),
12476
- closable: PropTypes.bool.def(false),
12477
- type: PropTypes.commonType(["", "filled", "stroke"]).def(""),
12478
- checkable: PropTypes.bool.def(false),
12479
- checked: PropTypes.bool.def(false),
12480
- radius: PropTypes.string.def("2px"),
12481
- extCls: PropTypes.string.def("")
12482
- },
12483
- emits: ["change", "close"],
12484
- slots: ["icon"],
12485
- setup(props, {
12486
- emit
12487
- }) {
12488
- const wrapperCls = computed(() => classes({
12489
- "bk-tag-closable": props.closable,
12490
- "bk-tag-checkable": props.checkable,
12491
- "bk-tag-check": props.checked,
12492
- [`bk-tag-${props.type}`]: props.type,
12493
- [`bk-tag-${props.theme}`]: props.theme,
12494
- [props.extCls]: !!props.extCls
12495
- }, "bk-tag"));
12496
- const wrapperStyle = computed(() => ({
12497
- borderRadius: props.radius
12498
- }));
12499
- const handleClose = (e) => {
12500
- e.preventDefault();
12501
- e.stopPropagation();
12502
- emit("close", e);
12503
- };
12504
- const handleClick = (e) => {
12505
- e.preventDefault();
12506
- e.stopPropagation();
12507
- if (props.checkable) {
12508
- emit("change", !props.checked);
12509
- }
12510
- };
12511
- return {
12512
- wrapperCls,
12513
- wrapperStyle,
12514
- handleClose,
12515
- handleClick
12516
- };
12517
- },
12518
- render() {
12519
- var _a, _b;
12520
- return createVNode("div", {
12521
- "class": this.wrapperCls,
12522
- "style": this.wrapperStyle,
12523
- "onClick": this.handleClick
12524
- }, [this.$slots.icon ? createVNode("span", {
12525
- "class": "bk-tag-icon"
12526
- }, [this.$slots.icon()]) : "", createVNode("span", null, [(_b = (_a = this.$slots).default) == null ? void 0 : _b.call(_a)]), this.closable ? createVNode(error, {
12527
- "class": "bk-tag-close",
12528
- "onClick": this.handleClose
12529
- }, null) : ""]);
12530
- }
12531
- });
12532
- const BkTag = withInstall(Component$3);
12533
12825
  var bkDivider = defineComponent({
12534
12826
  name: "Divider",
12535
12827
  props: {
@@ -13379,7 +13671,7 @@ const menuProps = {
13379
13671
  default: true
13380
13672
  }
13381
13673
  };
13382
- var Component$2 = defineComponent({
13674
+ var Component$3 = defineComponent({
13383
13675
  name: "Menu",
13384
13676
  props: menuProps,
13385
13677
  emits: ["update:activeKey", "update:openKeys", "click", "openChange"],
@@ -13620,7 +13912,7 @@ var Submenu = defineComponent({
13620
13912
  };
13621
13913
  }
13622
13914
  });
13623
- const BkMenu = withInstallProps(Component$2, { Item, Submenu, Group });
13915
+ const BkMenu = withInstallProps(Component$3, { Item, Submenu, Group });
13624
13916
  const TitleProps = {
13625
13917
  sideTitle: {
13626
13918
  type: String,
@@ -17069,7 +17361,7 @@ const datePickerProps = {
17069
17361
  },
17070
17362
  disableDate: Function
17071
17363
  };
17072
- var Component$1 = defineComponent({
17364
+ var Component$2 = defineComponent({
17073
17365
  name: "DatePicker",
17074
17366
  directives: {
17075
17367
  clickoutside: ClickOutside
@@ -17580,7 +17872,7 @@ var Component$1 = defineComponent({
17580
17872
  })]), [[resolveDirective("clickoutside"), this.handleClose]]);
17581
17873
  }
17582
17874
  });
17583
- const BkDatePicker = withInstall(Component$1);
17875
+ const BkDatePicker = withInstall(Component$2);
17584
17876
  ({
17585
17877
  title: Array,
17586
17878
  extCls: PropTypes.string,
@@ -17595,7 +17887,7 @@ const BkDatePicker = withInstall(Component$1);
17595
17887
  targetList: Array,
17596
17888
  emptyContent: Array
17597
17889
  });
17598
- var Transfer = defineComponent({
17890
+ var Component$1 = defineComponent({
17599
17891
  name: "Transfer",
17600
17892
  props: {
17601
17893
  title: {
@@ -18003,9 +18295,7 @@ var Transfer = defineComponent({
18003
18295
  }, [getHeaderHtml("right-header"), getListContentHtml("right")])]);
18004
18296
  }
18005
18297
  });
18006
- Transfer.install = (Vue) => {
18007
- Vue.component(Transfer.name, Transfer);
18008
- };
18298
+ const Transfer = withInstall(Component$1);
18009
18299
  const treeProps = {
18010
18300
  data: PropTypes.arrayOf(PropTypes.any).def([]),
18011
18301
  label: PropTypes.oneOfType([PropTypes.func.def(void 0), PropTypes.string.def("label")]),
@@ -18027,7 +18317,7 @@ const treeProps = {
18027
18317
  callback: PropTypes.func.def(null),
18028
18318
  cache: PropTypes.bool.def(true)
18029
18319
  }),
18030
- offsetLeft: PropTypes.number.def(15)
18320
+ offsetLeft: PropTypes.number.def(5)
18031
18321
  };
18032
18322
  var rngBrowser = { exports: {} };
18033
18323
  var getRandomValues = typeof crypto != "undefined" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto != "undefined" && typeof window.msCrypto.getRandomValues == "function" && msCrypto.getRandomValues.bind(msCrypto);
@@ -18173,8 +18463,12 @@ const getFlatdata = (props, treeData = void 0, cachedSchema = []) => {
18173
18463
  const outputData = [];
18174
18464
  let order2 = 0;
18175
18465
  const schema = /* @__PURE__ */ new Map();
18176
- function isCachedTreeNodeOpened(uuid2) {
18177
- return (cachedSchema || []).some((item) => item.__uuid === uuid2 && item.__isOpen);
18466
+ function isCachedTreeNodeOpened(uuid2, node) {
18467
+ const cached = (cachedSchema || []).find((item) => item.__uuid === uuid2);
18468
+ if (cached) {
18469
+ return cached.__isOpen;
18470
+ }
18471
+ return node.isOpen;
18178
18472
  }
18179
18473
  function flatten(array, depth = 0, parent = null, path = null) {
18180
18474
  for (let i = 0; i < array.length; i++) {
@@ -18184,7 +18478,7 @@ const getFlatdata = (props, treeData = void 0, cachedSchema = []) => {
18184
18478
  } else {
18185
18479
  if (typeof item === "object" && item !== null) {
18186
18480
  const uuid2 = item.__uuid || uuid_1.v4();
18187
- const isOpen = isCachedTreeNodeOpened(uuid2);
18481
+ const isOpen = isCachedTreeNodeOpened(uuid2, item);
18188
18482
  const currentPath = path !== null ? `${path}-${i}` : `${i}`;
18189
18483
  const attrs = {
18190
18484
  __depth: depth,
@@ -18197,7 +18491,7 @@ const getFlatdata = (props, treeData = void 0, cachedSchema = []) => {
18197
18491
  __isRoot: parent === null,
18198
18492
  __order: order2,
18199
18493
  __isOpen: isOpen,
18200
- __checked: false,
18494
+ __checked: !!item.checked,
18201
18495
  [children]: null
18202
18496
  };
18203
18497
  Object.assign(item, { __uuid: uuid2 });
@@ -18284,7 +18578,7 @@ const getNodeRowClass = (item, schema) => {
18284
18578
  const { __checked } = getSchemaVal(schema, item.__uuid) || {};
18285
18579
  return {
18286
18580
  "is-checked": __checked,
18287
- "bk-node-row": true
18581
+ [resolveClassName("node-row")]: true
18288
18582
  };
18289
18583
  };
18290
18584
  const updateTreeNode = (path, treeData, childKey, nodekey, nodeValue) => {
@@ -18301,6 +18595,7 @@ const assignTreeNode = (path, treeData, childKey, assignVal) => {
18301
18595
  var Component = defineComponent({
18302
18596
  name: "Tree",
18303
18597
  props: treeProps,
18598
+ emits: ["check"],
18304
18599
  setup(props, ctx) {
18305
18600
  const formatData = getFlatdata(props);
18306
18601
  const checkedNodes = [];
@@ -18341,9 +18636,9 @@ var Component = defineComponent({
18341
18636
  return false;
18342
18637
  };
18343
18638
  const getRootIcon = (item) => isItemOpen(item) ? createVNode(folderShapeOpen, {
18344
- "class": "bk-tree-icon"
18639
+ "class": resolveClassName("tree-icon")
18345
18640
  }, null) : createVNode(folder, {
18346
- "class": "bk-tree-icon"
18641
+ "class": resolveClassName("tree-icon")
18347
18642
  }, null);
18348
18643
  const renderPrefixVal = (val) => {
18349
18644
  if (typeof val === "string") {
@@ -18391,7 +18686,7 @@ var Component = defineComponent({
18391
18686
  }
18392
18687
  if (prefixFnVal === "default" || typeof props.prefixIcon === "boolean" && props.prefixIcon) {
18393
18688
  return isRootNode(item) || hasChildNode(item) ? getRootIcon(item) : createVNode(textFile, {
18394
- "class": "bk-tree-icon"
18689
+ "class": resolveClassName("tree-icon")
18395
18690
  }, null);
18396
18691
  }
18397
18692
  return null;
@@ -18484,9 +18779,32 @@ var Component = defineComponent({
18484
18779
  "style": getNodeLineStyle(maxDeep - index)
18485
18780
  }, null));
18486
18781
  };
18782
+ const root = ref();
18783
+ const setNodeTextStyle = () => {
18784
+ var _a;
18785
+ if ((_a = root.value) == null ? void 0 : _a.$el) {
18786
+ const selector = `.${resolveClassName("tree-node")}`;
18787
+ const ctxSelector = `.${resolveClassName("node-content")}`;
18788
+ Array.prototype.forEach.call(root.value.$el.querySelectorAll(selector), (nodeEl) => {
18789
+ const txtSpans = nodeEl.querySelectorAll(`${ctxSelector} span`);
18790
+ const lastSpan = Array.prototype.slice.call(txtSpans, -1)[0];
18791
+ if (lastSpan) {
18792
+ const maxWidth = nodeEl.offsetWidth - lastSpan.offsetLeft;
18793
+ lastSpan.style.setProperty("max-width", `${maxWidth}px`);
18794
+ }
18795
+ });
18796
+ }
18797
+ };
18798
+ onMounted(() => {
18799
+ setNodeTextStyle();
18800
+ });
18801
+ onUpdated(() => {
18802
+ setNodeTextStyle();
18803
+ });
18487
18804
  return {
18488
18805
  renderData,
18489
18806
  flatData,
18807
+ root,
18490
18808
  hanldeTreeNodeClick,
18491
18809
  handleNodeContentClick,
18492
18810
  handleNodeActionClick,
@@ -18505,19 +18823,23 @@ var Component = defineComponent({
18505
18823
  "class": getNodeItemClass(item, this.flatData.schema, props),
18506
18824
  "style": getNodeItemStyle(item, props, this.flatData)
18507
18825
  }, [createVNode("span", {
18508
- "class": "node-action",
18826
+ "class": resolveClassName("node-action"),
18509
18827
  "onClick": () => this.handleNodeActionClick(item)
18510
18828
  }, [this.getActionIcon(item)]), createVNode("span", {
18511
- "class": "node-content",
18829
+ "class": resolveClassName("node-content"),
18512
18830
  "onClick": () => this.handleNodeContentClick(item)
18513
- }, [[this.getNodePrefixIcon(item), this.getLoadingIcon(item)], createVNode("span", null, [getLabel(item, props)])]), this.getVirtualLines(item)])]);
18831
+ }, [[this.getNodePrefixIcon(item), this.getLoadingIcon(item)], createVNode("span", {
18832
+ "class": resolveClassName("node-text")
18833
+ }, [getLabel(item, props)])]), this.getVirtualLines(item)])]);
18514
18834
  return createVNode(BkVirtualRender, {
18515
- "class": "bk-tree",
18835
+ "class": resolveClassName("tree"),
18516
18836
  "style": getTreeStyle(null, props),
18517
18837
  "list": this.renderData,
18518
18838
  "lineHeight": props.lineHeight,
18519
18839
  "enabled": props.virtualRender,
18520
- "throttleDelay": 0
18840
+ "contentClassName": resolveClassName("container"),
18841
+ "throttleDelay": 0,
18842
+ "ref": "root"
18521
18843
  }, {
18522
18844
  default: (scoped) => (scoped.data || []).map(renderTreeNode)
18523
18845
  });
@@ -18846,6 +19168,7 @@ var components = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProp
18846
19168
  RadioButton,
18847
19169
  RadioGroup,
18848
19170
  Rate: BkRate,
19171
+ Swiper: BkSwiper,
18849
19172
  Select: BkSelect,
18850
19173
  BkOption,
18851
19174
  BkOptionGroup: OptionGroup,
@@ -18884,4 +19207,4 @@ var preset = {
18884
19207
  install: createInstall(),
18885
19208
  version: "0.0.1"
18886
19209
  };
18887
- export { BkAlert as Alert, BkAnimateNumber as AnimateNumber, BkBacktop as Backtop, BkBadge as Badge, BkOption, OptionGroup as BkOptionGroup, BkBreadcrumb as Breadcrumb, BreadcrumbItem, BkButton as Button, ButtonGroup, BkCard as Card, BkCheckbox as Checkbox, CheckboxGroup, BkCollaspe as Collapse, BkDatePicker as DatePicker, BkDialog as Dialog, BkDivider as Divider, BkException as Exception, BkFixedNavbar as FixedNavbar, BkForm as Form, FormItem, BkInput as Input, BkLink as Link, BkLoading as Loading, BkMenu as Menu, Message, BkModal as Modal, Navigation, Notify, BkPopover as Popover, BkProgress as Progress, BkRadio as Radio, RadioButton, RadioGroup, BkRate as Rate, BkSelect as Select, BkSideslider as Sideslider, BkSteps as Steps, BkSwitcher as Switcher, BKTab as Tab, BKTabPanel as TabPanel, BkTable as Table, BkTag as Tag, Transfer, BkTree as Tree, BkVirtualRender as VirtualRender, tooltips as bkTooltips, ClickOutside as clickoutside, preset as default, mousewheel };
19210
+ export { BkAlert as Alert, BkAnimateNumber as AnimateNumber, BkBacktop as Backtop, BkBadge as Badge, BkOption, OptionGroup as BkOptionGroup, BkBreadcrumb as Breadcrumb, BreadcrumbItem, BkButton as Button, ButtonGroup, BkCard as Card, BkCheckbox as Checkbox, CheckboxGroup, BkCollaspe as Collapse, BkDatePicker as DatePicker, BkDialog as Dialog, BkDivider as Divider, BkException as Exception, BkFixedNavbar as FixedNavbar, BkForm as Form, FormItem, BkInput as Input, BkLink as Link, BkLoading as Loading, BkMenu as Menu, Message, BkModal as Modal, Navigation, Notify, BkPopover as Popover, BkProgress as Progress, BkRadio as Radio, RadioButton, RadioGroup, BkRate as Rate, BkSelect as Select, BkSideslider as Sideslider, BkSteps as Steps, BkSwiper as Swiper, BkSwitcher as Switcher, BKTab as Tab, BKTabPanel as TabPanel, BkTable as Table, BkTag as Tag, Transfer, BkTree as Tree, BkVirtualRender as VirtualRender, tooltips as bkTooltips, ClickOutside as clickoutside, preset as default, mousewheel };