mapboxgl-tools 2.2.2 → 2.2.4

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.
package/dist/ui.es.js CHANGED
@@ -18,9 +18,9 @@ var namespaces = {
18
18
  xmlns: "http://www.w3.org/2000/xmlns/"
19
19
  };
20
20
  function namespace(name) {
21
- var prefix = name += "", i2 = prefix.indexOf(":");
22
- if (i2 >= 0 && (prefix = name.slice(0, i2)) !== "xmlns")
23
- name = name.slice(i2 + 1);
21
+ var prefix = name += "", i = prefix.indexOf(":");
22
+ if (i >= 0 && (prefix = name.slice(0, i)) !== "xmlns")
23
+ name = name.slice(i + 1);
24
24
  return namespaces.hasOwnProperty(prefix) ? { space: namespaces[prefix], local: name } : name;
25
25
  }
26
26
  function creatorInherit(name) {
@@ -48,19 +48,19 @@ function selector(selector2) {
48
48
  function selection_select(select) {
49
49
  if (typeof select !== "function")
50
50
  select = selector(select);
51
- for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {
52
- for (var group = groups[j], n2 = group.length, subgroup = subgroups[j] = new Array(n2), node, subnode, i2 = 0; i2 < n2; ++i2) {
53
- if ((node = group[i2]) && (subnode = select.call(node, node.__data__, i2, group))) {
51
+ for (var groups = this._groups, m2 = groups.length, subgroups = new Array(m2), j2 = 0; j2 < m2; ++j2) {
52
+ for (var group = groups[j2], n2 = group.length, subgroup = subgroups[j2] = new Array(n2), node, subnode, i = 0; i < n2; ++i) {
53
+ if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {
54
54
  if ("__data__" in node)
55
55
  subnode.__data__ = node.__data__;
56
- subgroup[i2] = subnode;
56
+ subgroup[i] = subnode;
57
57
  }
58
58
  }
59
59
  }
60
60
  return new Selection(subgroups, this._parents);
61
61
  }
62
- function array(x) {
63
- return x == null ? [] : Array.isArray(x) ? x : Array.from(x);
62
+ function array(x2) {
63
+ return x2 == null ? [] : Array.isArray(x2) ? x2 : Array.from(x2);
64
64
  }
65
65
  function empty() {
66
66
  return [];
@@ -80,10 +80,10 @@ function selection_selectAll(select) {
80
80
  select = arrayAll(select);
81
81
  else
82
82
  select = selectorAll(select);
83
- for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {
84
- for (var group = groups[j], n2 = group.length, node, i2 = 0; i2 < n2; ++i2) {
85
- if (node = group[i2]) {
86
- subgroups.push(select.call(node, node.__data__, i2, group));
83
+ for (var groups = this._groups, m2 = groups.length, subgroups = [], parents = [], j2 = 0; j2 < m2; ++j2) {
84
+ for (var group = groups[j2], n2 = group.length, node, i = 0; i < n2; ++i) {
85
+ if (node = group[i]) {
86
+ subgroups.push(select.call(node, node.__data__, i, group));
87
87
  parents.push(node);
88
88
  }
89
89
  }
@@ -127,9 +127,9 @@ function selection_selectChildren(match) {
127
127
  function selection_filter(match) {
128
128
  if (typeof match !== "function")
129
129
  match = matcher(match);
130
- for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {
131
- for (var group = groups[j], n2 = group.length, subgroup = subgroups[j] = [], node, i2 = 0; i2 < n2; ++i2) {
132
- if ((node = group[i2]) && match.call(node, node.__data__, i2, group)) {
130
+ for (var groups = this._groups, m2 = groups.length, subgroups = new Array(m2), j2 = 0; j2 < m2; ++j2) {
131
+ for (var group = groups[j2], n2 = group.length, subgroup = subgroups[j2] = [], node, i = 0; i < n2; ++i) {
132
+ if ((node = group[i]) && match.call(node, node.__data__, i, group)) {
133
133
  subgroup.push(node);
134
134
  }
135
135
  }
@@ -164,52 +164,52 @@ EnterNode.prototype = {
164
164
  return this._parent.querySelectorAll(selector2);
165
165
  }
166
166
  };
167
- function constant(x) {
167
+ function constant(x2) {
168
168
  return function() {
169
- return x;
169
+ return x2;
170
170
  };
171
171
  }
172
172
  function bindIndex(parent, group, enter, update, exit, data) {
173
- var i2 = 0, node, groupLength = group.length, dataLength = data.length;
174
- for (; i2 < dataLength; ++i2) {
175
- if (node = group[i2]) {
176
- node.__data__ = data[i2];
177
- update[i2] = node;
173
+ var i = 0, node, groupLength = group.length, dataLength = data.length;
174
+ for (; i < dataLength; ++i) {
175
+ if (node = group[i]) {
176
+ node.__data__ = data[i];
177
+ update[i] = node;
178
178
  } else {
179
- enter[i2] = new EnterNode(parent, data[i2]);
179
+ enter[i] = new EnterNode(parent, data[i]);
180
180
  }
181
181
  }
182
- for (; i2 < groupLength; ++i2) {
183
- if (node = group[i2]) {
184
- exit[i2] = node;
182
+ for (; i < groupLength; ++i) {
183
+ if (node = group[i]) {
184
+ exit[i] = node;
185
185
  }
186
186
  }
187
187
  }
188
188
  function bindKey(parent, group, enter, update, exit, data, key) {
189
- var i2, node, nodeByKeyValue = /* @__PURE__ */ new Map(), groupLength = group.length, dataLength = data.length, keyValues = new Array(groupLength), keyValue;
190
- for (i2 = 0; i2 < groupLength; ++i2) {
191
- if (node = group[i2]) {
192
- keyValues[i2] = keyValue = key.call(node, node.__data__, i2, group) + "";
189
+ var i, node, nodeByKeyValue = /* @__PURE__ */ new Map(), groupLength = group.length, dataLength = data.length, keyValues = new Array(groupLength), keyValue;
190
+ for (i = 0; i < groupLength; ++i) {
191
+ if (node = group[i]) {
192
+ keyValues[i] = keyValue = key.call(node, node.__data__, i, group) + "";
193
193
  if (nodeByKeyValue.has(keyValue)) {
194
- exit[i2] = node;
194
+ exit[i] = node;
195
195
  } else {
196
196
  nodeByKeyValue.set(keyValue, node);
197
197
  }
198
198
  }
199
199
  }
200
- for (i2 = 0; i2 < dataLength; ++i2) {
201
- keyValue = key.call(parent, data[i2], i2, data) + "";
200
+ for (i = 0; i < dataLength; ++i) {
201
+ keyValue = key.call(parent, data[i], i, data) + "";
202
202
  if (node = nodeByKeyValue.get(keyValue)) {
203
- update[i2] = node;
204
- node.__data__ = data[i2];
203
+ update[i] = node;
204
+ node.__data__ = data[i];
205
205
  nodeByKeyValue.delete(keyValue);
206
206
  } else {
207
- enter[i2] = new EnterNode(parent, data[i2]);
207
+ enter[i] = new EnterNode(parent, data[i]);
208
208
  }
209
209
  }
210
- for (i2 = 0; i2 < groupLength; ++i2) {
211
- if ((node = group[i2]) && nodeByKeyValue.get(keyValues[i2]) === node) {
212
- exit[i2] = node;
210
+ for (i = 0; i < groupLength; ++i) {
211
+ if ((node = group[i]) && nodeByKeyValue.get(keyValues[i]) === node) {
212
+ exit[i] = node;
213
213
  }
214
214
  }
215
215
  }
@@ -222,8 +222,8 @@ function selection_data(value, key) {
222
222
  var bind = key ? bindKey : bindIndex, parents = this._parents, groups = this._groups;
223
223
  if (typeof value !== "function")
224
224
  value = constant(value);
225
- for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) {
226
- var parent = parents[j], group = groups[j], groupLength = group.length, data = arraylike(value.call(parent, parent && parent.__data__, j, parents)), dataLength = data.length, enterGroup = enter[j] = new Array(dataLength), updateGroup = update[j] = new Array(dataLength), exitGroup = exit[j] = new Array(groupLength);
225
+ for (var m2 = groups.length, update = new Array(m2), enter = new Array(m2), exit = new Array(m2), j2 = 0; j2 < m2; ++j2) {
226
+ var parent = parents[j2], group = groups[j2], groupLength = group.length, data = arraylike(value.call(parent, parent && parent.__data__, j2, parents)), dataLength = data.length, enterGroup = enter[j2] = new Array(dataLength), updateGroup = update[j2] = new Array(dataLength), exitGroup = exit[j2] = new Array(groupLength);
227
227
  bind(parent, group, enterGroup, updateGroup, exitGroup, data, key);
228
228
  for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) {
229
229
  if (previous = enterGroup[i0]) {
@@ -268,22 +268,22 @@ function selection_join(onenter, onupdate, onexit) {
268
268
  }
269
269
  function selection_merge(context) {
270
270
  var selection = context.selection ? context.selection() : context;
271
- for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {
272
- for (var group0 = groups0[j], group1 = groups1[j], n2 = group0.length, merge = merges[j] = new Array(n2), node, i2 = 0; i2 < n2; ++i2) {
273
- if (node = group0[i2] || group1[i2]) {
274
- merge[i2] = node;
271
+ for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m2 = Math.min(m0, m1), merges = new Array(m0), j2 = 0; j2 < m2; ++j2) {
272
+ for (var group0 = groups0[j2], group1 = groups1[j2], n2 = group0.length, merge = merges[j2] = new Array(n2), node, i = 0; i < n2; ++i) {
273
+ if (node = group0[i] || group1[i]) {
274
+ merge[i] = node;
275
275
  }
276
276
  }
277
277
  }
278
- for (; j < m0; ++j) {
279
- merges[j] = groups0[j];
278
+ for (; j2 < m0; ++j2) {
279
+ merges[j2] = groups0[j2];
280
280
  }
281
281
  return new Selection(merges, this._parents);
282
282
  }
283
283
  function selection_order() {
284
- for (var groups = this._groups, j = -1, m = groups.length; ++j < m; ) {
285
- for (var group = groups[j], i2 = group.length - 1, next = group[i2], node; --i2 >= 0; ) {
286
- if (node = group[i2]) {
284
+ for (var groups = this._groups, j2 = -1, m2 = groups.length; ++j2 < m2; ) {
285
+ for (var group = groups[j2], i = group.length - 1, next = group[i], node; --i >= 0; ) {
286
+ if (node = group[i]) {
287
287
  if (next && node.compareDocumentPosition(next) ^ 4)
288
288
  next.parentNode.insertBefore(node, next);
289
289
  next = node;
@@ -295,21 +295,21 @@ function selection_order() {
295
295
  function selection_sort(compare) {
296
296
  if (!compare)
297
297
  compare = ascending;
298
- function compareNode(a2, b) {
299
- return a2 && b ? compare(a2.__data__, b.__data__) : !a2 - !b;
298
+ function compareNode(a2, b2) {
299
+ return a2 && b2 ? compare(a2.__data__, b2.__data__) : !a2 - !b2;
300
300
  }
301
- for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) {
302
- for (var group = groups[j], n2 = group.length, sortgroup = sortgroups[j] = new Array(n2), node, i2 = 0; i2 < n2; ++i2) {
303
- if (node = group[i2]) {
304
- sortgroup[i2] = node;
301
+ for (var groups = this._groups, m2 = groups.length, sortgroups = new Array(m2), j2 = 0; j2 < m2; ++j2) {
302
+ for (var group = groups[j2], n2 = group.length, sortgroup = sortgroups[j2] = new Array(n2), node, i = 0; i < n2; ++i) {
303
+ if (node = group[i]) {
304
+ sortgroup[i] = node;
305
305
  }
306
306
  }
307
307
  sortgroup.sort(compareNode);
308
308
  }
309
309
  return new Selection(sortgroups, this._parents).order();
310
310
  }
311
- function ascending(a2, b) {
312
- return a2 < b ? -1 : a2 > b ? 1 : a2 >= b ? 0 : NaN;
311
+ function ascending(a2, b2) {
312
+ return a2 < b2 ? -1 : a2 > b2 ? 1 : a2 >= b2 ? 0 : NaN;
313
313
  }
314
314
  function selection_call() {
315
315
  var callback = arguments[0];
@@ -321,9 +321,9 @@ function selection_nodes() {
321
321
  return Array.from(this);
322
322
  }
323
323
  function selection_node() {
324
- for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {
325
- for (var group = groups[j], i2 = 0, n2 = group.length; i2 < n2; ++i2) {
326
- var node = group[i2];
324
+ for (var groups = this._groups, j2 = 0, m2 = groups.length; j2 < m2; ++j2) {
325
+ for (var group = groups[j2], i = 0, n2 = group.length; i < n2; ++i) {
326
+ var node = group[i];
327
327
  if (node)
328
328
  return node;
329
329
  }
@@ -340,10 +340,10 @@ function selection_empty() {
340
340
  return !this.node();
341
341
  }
342
342
  function selection_each(callback) {
343
- for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {
344
- for (var group = groups[j], i2 = 0, n2 = group.length, node; i2 < n2; ++i2) {
345
- if (node = group[i2])
346
- callback.call(node, node.__data__, i2, group);
343
+ for (var groups = this._groups, j2 = 0, m2 = groups.length; j2 < m2; ++j2) {
344
+ for (var group = groups[j2], i = 0, n2 = group.length, node; i < n2; ++i) {
345
+ if (node = group[i])
346
+ callback.call(node, node.__data__, i, group);
347
347
  }
348
348
  }
349
349
  return this;
@@ -456,16 +456,16 @@ function ClassList(node) {
456
456
  }
457
457
  ClassList.prototype = {
458
458
  add: function(name) {
459
- var i2 = this._names.indexOf(name);
460
- if (i2 < 0) {
459
+ var i = this._names.indexOf(name);
460
+ if (i < 0) {
461
461
  this._names.push(name);
462
462
  this._node.setAttribute("class", this._names.join(" "));
463
463
  }
464
464
  },
465
465
  remove: function(name) {
466
- var i2 = this._names.indexOf(name);
467
- if (i2 >= 0) {
468
- this._names.splice(i2, 1);
466
+ var i = this._names.indexOf(name);
467
+ if (i >= 0) {
468
+ this._names.splice(i, 1);
469
469
  this._node.setAttribute("class", this._names.join(" "));
470
470
  }
471
471
  },
@@ -474,14 +474,14 @@ ClassList.prototype = {
474
474
  }
475
475
  };
476
476
  function classedAdd(node, names) {
477
- var list = classList(node), i2 = -1, n2 = names.length;
478
- while (++i2 < n2)
479
- list.add(names[i2]);
477
+ var list = classList(node), i = -1, n2 = names.length;
478
+ while (++i < n2)
479
+ list.add(names[i]);
480
480
  }
481
481
  function classedRemove(node, names) {
482
- var list = classList(node), i2 = -1, n2 = names.length;
483
- while (++i2 < n2)
484
- list.remove(names[i2]);
482
+ var list = classList(node), i = -1, n2 = names.length;
483
+ while (++i < n2)
484
+ list.remove(names[i]);
485
485
  }
486
486
  function classedTrue(names) {
487
487
  return function() {
@@ -501,9 +501,9 @@ function classedFunction(names, value) {
501
501
  function selection_classed(name, value) {
502
502
  var names = classArray(name + "");
503
503
  if (arguments.length < 2) {
504
- var list = classList(this.node()), i2 = -1, n2 = names.length;
505
- while (++i2 < n2)
506
- if (!list.contains(names[i2]))
504
+ var list = classList(this.node()), i = -1, n2 = names.length;
505
+ while (++i < n2)
506
+ if (!list.contains(names[i]))
507
507
  return false;
508
508
  return true;
509
509
  }
@@ -600,11 +600,11 @@ function contextListener(listener) {
600
600
  };
601
601
  }
602
602
  function parseTypenames(typenames) {
603
- return typenames.trim().split(/^|\s+/).map(function(t2) {
604
- var name = "", i2 = t2.indexOf(".");
605
- if (i2 >= 0)
606
- name = t2.slice(i2 + 1), t2 = t2.slice(0, i2);
607
- return { type: t2, name };
603
+ return typenames.trim().split(/^|\s+/).map(function(t) {
604
+ var name = "", i = t.indexOf(".");
605
+ if (i >= 0)
606
+ name = t.slice(i + 1), t = t.slice(0, i);
607
+ return { type: t, name };
608
608
  });
609
609
  }
610
610
  function onRemove(typename) {
@@ -612,56 +612,56 @@ function onRemove(typename) {
612
612
  var on = this.__on;
613
613
  if (!on)
614
614
  return;
615
- for (var j = 0, i2 = -1, m = on.length, o; j < m; ++j) {
616
- if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) {
617
- this.removeEventListener(o.type, o.listener, o.options);
615
+ for (var j2 = 0, i = -1, m2 = on.length, o2; j2 < m2; ++j2) {
616
+ if (o2 = on[j2], (!typename.type || o2.type === typename.type) && o2.name === typename.name) {
617
+ this.removeEventListener(o2.type, o2.listener, o2.options);
618
618
  } else {
619
- on[++i2] = o;
619
+ on[++i] = o2;
620
620
  }
621
621
  }
622
- if (++i2)
623
- on.length = i2;
622
+ if (++i)
623
+ on.length = i;
624
624
  else
625
625
  delete this.__on;
626
626
  };
627
627
  }
628
628
  function onAdd(typename, value, options2) {
629
629
  return function() {
630
- var on = this.__on, o, listener = contextListener(value);
630
+ var on = this.__on, o2, listener = contextListener(value);
631
631
  if (on)
632
- for (var j = 0, m = on.length; j < m; ++j) {
633
- if ((o = on[j]).type === typename.type && o.name === typename.name) {
634
- this.removeEventListener(o.type, o.listener, o.options);
635
- this.addEventListener(o.type, o.listener = listener, o.options = options2);
636
- o.value = value;
632
+ for (var j2 = 0, m2 = on.length; j2 < m2; ++j2) {
633
+ if ((o2 = on[j2]).type === typename.type && o2.name === typename.name) {
634
+ this.removeEventListener(o2.type, o2.listener, o2.options);
635
+ this.addEventListener(o2.type, o2.listener = listener, o2.options = options2);
636
+ o2.value = value;
637
637
  return;
638
638
  }
639
639
  }
640
640
  this.addEventListener(typename.type, listener, options2);
641
- o = { type: typename.type, name: typename.name, value, listener, options: options2 };
641
+ o2 = { type: typename.type, name: typename.name, value, listener, options: options2 };
642
642
  if (!on)
643
- this.__on = [o];
643
+ this.__on = [o2];
644
644
  else
645
- on.push(o);
645
+ on.push(o2);
646
646
  };
647
647
  }
648
648
  function selection_on(typename, value, options2) {
649
- var typenames = parseTypenames(typename + ""), i2, n2 = typenames.length, t2;
649
+ var typenames = parseTypenames(typename + ""), i, n2 = typenames.length, t;
650
650
  if (arguments.length < 2) {
651
651
  var on = this.node().__on;
652
652
  if (on)
653
- for (var j = 0, m = on.length, o; j < m; ++j) {
654
- for (i2 = 0, o = on[j]; i2 < n2; ++i2) {
655
- if ((t2 = typenames[i2]).type === o.type && t2.name === o.name) {
656
- return o.value;
653
+ for (var j2 = 0, m2 = on.length, o2; j2 < m2; ++j2) {
654
+ for (i = 0, o2 = on[j2]; i < n2; ++i) {
655
+ if ((t = typenames[i]).type === o2.type && t.name === o2.name) {
656
+ return o2.value;
657
657
  }
658
658
  }
659
659
  }
660
660
  return;
661
661
  }
662
662
  on = value ? onAdd : onRemove;
663
- for (i2 = 0; i2 < n2; ++i2)
664
- this.each(on(typenames[i2], value, options2));
663
+ for (i = 0; i < n2; ++i)
664
+ this.each(on(typenames[i], value, options2));
665
665
  return this;
666
666
  }
667
667
  function dispatchEvent(node, type, params) {
@@ -691,9 +691,9 @@ function selection_dispatch(type, params) {
691
691
  return this.each((typeof params === "function" ? dispatchFunction : dispatchConstant)(type, params));
692
692
  }
693
693
  function* selection_iterator() {
694
- for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {
695
- for (var group = groups[j], i2 = 0, n2 = group.length, node; i2 < n2; ++i2) {
696
- if (node = group[i2])
694
+ for (var groups = this._groups, j2 = 0, m2 = groups.length; j2 < m2; ++j2) {
695
+ for (var group = groups[j2], i = 0, n2 = group.length, node; i < n2; ++i) {
696
+ if (node = group[i])
697
697
  yield node;
698
698
  }
699
699
  }
@@ -744,72 +744,245 @@ Selection.prototype = {
744
744
  dispatch: selection_dispatch,
745
745
  [Symbol.iterator]: selection_iterator
746
746
  };
747
- function e$1(selector2) {
747
+ function n(selector2) {
748
748
  return typeof selector2 === "string" ? new Selection([[document.querySelector(selector2)]], [document.documentElement]) : new Selection([[selector2]], root$1);
749
749
  }
750
- const t = { "\u21E7": 16, shift: 16, "\u2303": 17, ctrl: 17, "\u2325": 18, alt: 18, option: 18, "\u2318": 91, meta: 91, cmd: 91, super: 91, win: 91 }, r = { 16: "shiftKey", 17: "ctrlKey", 18: "altKey", 91: "metaKey" }, n = { "\u232B": "Backspace", backspace: "Backspace", "\u21E5": "Tab", "\u21C6": "Tab", tab: "Tab", "\u21A9": "Enter", "\u21B5": "Enter", "\u23CE": "Enter", return: "Enter", enter: "Enter", "\u2305": "Enter", pause: "Pause", "pause-break": "Pause", "\u21EA": "CapsLock", caps: "CapsLock", "caps-lock": "CapsLock", "\u238B": ["Escape", "Esc"], escape: ["Escape", "Esc"], esc: ["Escape", "Esc"], space: [" ", "Spacebar"], "": "PageUp", pgup: "PageUp", "page-up": "PageUp", "": "PageDown", pgdown: "PageDown", "page-down": "PageDown", "\u21DF": "End", end: "End", "\u21DE": "Home", home: "Home", ins: "Insert", insert: "Insert", "\u2326": ["Delete", "Del"], del: ["Delete", "Del"], delete: ["Delete", "Del"], "\u2190": ["ArrowLeft", "Left"], left: ["ArrowLeft", "Left"], "arrow-left": ["ArrowLeft", "Left"], "\u2191": ["ArrowUp", "Up"], up: ["ArrowUp", "Up"], "arrow-up": ["ArrowUp", "Up"], "\u2192": ["ArrowRight", "Right"], right: ["ArrowRight", "Right"], "arrow-right": ["ArrowRight", "Right"], "\u2193": ["ArrowDown", "Down"], down: ["ArrowDown", "Down"], "arrow-down": ["ArrowDown", "Down"], "*": ["*", "Multiply"], star: ["*", "Multiply"], asterisk: ["*", "Multiply"], multiply: ["*", "Multiply"], "+": ["+", "Add"], plus: ["+", "Add"], "-": ["-", "Subtract"], subtract: ["-", "Subtract"], dash: ["-", "Subtract"], semicolon: ";", equals: "=", comma: ",", period: ".", "full-stop": ".", slash: "/", "forward-slash": "/", tick: "`", "back-quote": "`", "open-bracket": "[", "back-slash": "\\", "close-bracket": "]", quote: "'", apostrophe: "'", "num-0": "0", "num-1": "1", "num-2": "2", "num-3": "3", "num-4": "4", "num-5": "5", "num-6": "6", "num-7": "7", "num-8": "8", "num-9": "9", f1: "F1", f2: "F2", f3: "F3", f4: "F4", f5: "F5", f6: "F6", f7: "F7", f8: "F8", f9: "F9", f10: "F10", f11: "F11", f12: "F12", f13: "F13", f14: "F14", f15: "F15", f16: "F16", f17: "F17", f18: "F18", f19: "F19", f20: "F20", f21: "F21", f22: "F22", f23: "F23", f24: "F24", f25: "F25" }, s = { "\u232B": 8, backspace: 8, "\u21E5": 9, "\u21C6": 9, tab: 9, "\u21A9": 13, "\u21B5": 13, "\u23CE": 13, return: 13, enter: 13, "\u2305": 13, pause: 19, "pause-break": 19, "\u21EA": 20, caps: 20, "caps-lock": 20, "\u238B": 27, escape: 27, esc: 27, space: 32, "": 33, pgup: 33, "page-up": 33, "": 34, pgdown: 34, "page-down": 34, "\u21DF": 35, end: 35, "\u21DE": 36, home: 36, ins: 45, insert: 45, "\u2326": 46, del: 46, delete: 46, "\u2190": 37, left: 37, "arrow-left": 37, "\u2191": 38, up: 38, "arrow-up": 38, "\u2192": 39, right: 39, "arrow-right": 39, "\u2193": 40, down: 40, "arrow-down": 40, ffequals: 61, "*": 106, star: 106, asterisk: 106, multiply: 106, "+": 107, plus: 107, "-": 109, subtract: 109, "|": 124, ffplus: 171, ffminus: 173, ";": 186, semicolon: 186, "=": 187, equals: 187, ",": 188, comma: 188, dash: 189, ".": 190, period: 190, "full-stop": 190, "/": 191, slash: 191, "forward-slash": 191, "`": 192, tick: 192, "back-quote": 192, "[": 219, "open-bracket": 219, "\\": 220, "back-slash": 220, "]": 221, "close-bracket": 221, "'": 222, quote: 222, apostrophe: 222 };
751
- function a(e2) {
752
- return Array.from(new Set(e2));
753
- }
754
- class i {
755
- constructor(t2 = "global", r2 = document, n2 = "keydown") {
756
- if ("keydown" !== n2 && "keyup" !== n2)
757
- throw new Error(n2, "\u4E8B\u4EF6\u7C7B\u578B\u4EC5\u652F\u6301keydown\u3001keyup");
758
- this.eventType = n2, this.namespace = t2, this.selection = e$1(r2), this.bindedKeys = [], this.bindings = this.bindings.bind(this), this.capture = this.capture.bind(this), this.bubble = this.bubble.bind(this), this.init();
750
+ let D;
751
+ function L(A) {
752
+ const B = typeof A;
753
+ if (B == "number" || B == "boolean" || A == null)
754
+ return `${A}`;
755
+ if (B == "string")
756
+ return `"${A}"`;
757
+ if (B == "symbol") {
758
+ const C = A.description;
759
+ return C == null ? "Symbol" : `Symbol(${C})`;
760
+ }
761
+ if (B == "function") {
762
+ const C = A.name;
763
+ return typeof C == "string" && C.length > 0 ? `Function(${C})` : "Function";
764
+ }
765
+ if (Array.isArray(A)) {
766
+ const C = A.length;
767
+ let E = "[";
768
+ C > 0 && (E += L(A[0]));
769
+ for (let I = 1; I < C; I++)
770
+ E += ", " + L(A[I]);
771
+ return E += "]", E;
772
+ }
773
+ const Q = /\[object ([^\]]+)\]/.exec(toString.call(A));
774
+ let g;
775
+ if (Q && Q.length > 1)
776
+ g = Q[1];
777
+ else
778
+ return toString.call(A);
779
+ if (g == "Object")
780
+ try {
781
+ return "Object(" + JSON.stringify(A) + ")";
782
+ } catch {
783
+ return "Object";
784
+ }
785
+ return A instanceof Error ? `${A.name}: ${A.message}
786
+ ${A.stack}` : g;
787
+ }
788
+ let o = 0, F = null;
789
+ function y() {
790
+ return (F === null || F.byteLength === 0) && (F = new Uint8Array(D.memory.buffer)), F;
791
+ }
792
+ const s = new TextEncoder();
793
+ "encodeInto" in s || (s.encodeInto = function(A, B) {
794
+ const Q = s.encode(A);
795
+ return B.set(Q), { read: A.length, written: Q.length };
796
+ });
797
+ function k(A, B, Q) {
798
+ if (Q === void 0) {
799
+ const i = s.encode(A), N = B(i.length, 1) >>> 0;
800
+ return y().subarray(N, N + i.length).set(i), o = i.length, N;
801
+ }
802
+ let g = A.length, C = B(g, 1) >>> 0;
803
+ const E = y();
804
+ let I = 0;
805
+ for (; I < g; I++) {
806
+ const i = A.charCodeAt(I);
807
+ if (i > 127)
808
+ break;
809
+ E[C + I] = i;
810
+ }
811
+ if (I !== g) {
812
+ I !== 0 && (A = A.slice(I)), C = Q(C, g, g = I + A.length * 3, 1) >>> 0;
813
+ const i = y().subarray(C + I, C + g), N = s.encodeInto(A, i);
814
+ I += N.written, C = Q(C, g, I, 1) >>> 0;
815
+ }
816
+ return o = I, C;
817
+ }
818
+ let M = null;
819
+ function j() {
820
+ return (M === null || M.buffer.detached === true || M.buffer.detached === void 0 && M.buffer !== D.memory.buffer) && (M = new DataView(D.memory.buffer)), M;
821
+ }
822
+ let J = new TextDecoder("utf-8", { ignoreBOM: true, fatal: true });
823
+ J.decode();
824
+ const l = 2146435072;
825
+ let h = 0;
826
+ function X(A, B) {
827
+ return h += B, h >= l && (J = new TextDecoder("utf-8", { ignoreBOM: true, fatal: true }), J.decode(), h = B), J.decode(y().subarray(A, A + B));
828
+ }
829
+ function a(A, B) {
830
+ return A = A >>> 0, X(A, B);
831
+ }
832
+ function d(A) {
833
+ const B = k(A, D.__wbindgen_malloc, D.__wbindgen_realloc), Q = o, g = D.get_modifier_code(B, Q);
834
+ let C;
835
+ return g[0] !== 0 && (C = a(g[0], g[1]).slice(), D.__wbindgen_free(g[0], g[1] * 1, 1)), C;
836
+ }
837
+ function p(A) {
838
+ const B = k(A, D.__wbindgen_malloc, D.__wbindgen_realloc), Q = o, g = D.get_key_code(B, Q);
839
+ return g === 16777215 ? void 0 : g;
840
+ }
841
+ function S(A) {
842
+ const B = k(A, D.__wbindgen_malloc, D.__wbindgen_realloc), Q = o;
843
+ return D.get_key_value(B, Q);
844
+ }
845
+ const f = /* @__PURE__ */ new Set(["basic", "cors", "default"]);
846
+ async function W(A, B) {
847
+ if (typeof Response == "function" && A instanceof Response) {
848
+ if (typeof WebAssembly.instantiateStreaming == "function")
849
+ try {
850
+ return await WebAssembly.instantiateStreaming(A, B);
851
+ } catch (g) {
852
+ if (A.ok && f.has(A.type) && A.headers.get("Content-Type") !== "application/wasm")
853
+ console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", g);
854
+ else
855
+ throw g;
856
+ }
857
+ const Q = await A.arrayBuffer();
858
+ return await WebAssembly.instantiate(Q, B);
859
+ } else {
860
+ const Q = await WebAssembly.instantiate(A, B);
861
+ return Q instanceof WebAssembly.Instance ? { instance: Q, module: A } : Q;
862
+ }
863
+ }
864
+ function x() {
865
+ const A = {};
866
+ return A.wbg = {}, A.wbg.__wbg___wbindgen_debug_string_df47ffb5e35e6763 = function(B, Q) {
867
+ const g = L(Q), C = k(g, D.__wbindgen_malloc, D.__wbindgen_realloc), E = o;
868
+ j().setInt32(B + 4 * 1, E, true), j().setInt32(B + 4 * 0, C, true);
869
+ }, A.wbg.__wbg___wbindgen_throw_b855445ff6a94295 = function(B, Q) {
870
+ throw new Error(a(B, Q));
871
+ }, A.wbg.__wbg_new_1acc0b6eea89d040 = function() {
872
+ return new Object();
873
+ }, A.wbg.__wbg_new_e17d9f43105b08be = function() {
874
+ return new Array();
875
+ }, A.wbg.__wbg_set_3f1d0b984ed272ed = function(B, Q, g) {
876
+ B[Q] = g;
877
+ }, A.wbg.__wbg_set_c213c871859d6500 = function(B, Q, g) {
878
+ B[Q >>> 0] = g;
879
+ }, A.wbg.__wbindgen_cast_2241b6af4c4b2941 = function(B, Q) {
880
+ return a(B, Q);
881
+ }, A.wbg.__wbindgen_init_externref_table = function() {
882
+ const B = D.__wbindgen_externrefs, Q = B.grow(4);
883
+ B.set(0, void 0), B.set(Q + 0, void 0), B.set(Q + 1, null), B.set(Q + 2, true), B.set(Q + 3, false);
884
+ }, A;
885
+ }
886
+ function K(A, B) {
887
+ return D = A.exports, m.__wbindgen_wasm_module = B, M = null, F = null, D.__wbindgen_start(), D;
888
+ }
889
+ async function m(A) {
890
+ if (D !== void 0)
891
+ return D;
892
+ typeof A < "u" && (Object.getPrototypeOf(A) === Object.prototype ? { module_or_path: A } = A : console.warn("using deprecated parameters for the initialization function; pass a single object instead")), typeof A > "u" && (A = new URL("data:application/wasm;base64,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A0EDdEH81sAAaigCACABSxsiAyADQQFqIgMgA0EDdEH81sAAaigCACABSxsiAyADQQFqIgMgA0EDdEH81sAAaigCACABSxsiA0EDdEH81sAAaigCACIEIAFHDQECQCADIAQgAUlqIgFBmQtLDQBB6QAgAUEDdEGA18AAaigCACIBIAFBgLADc0GAgLx/akGAkLx/SSICGyEBQYcGQQAgAhshAgwCC0GaC0GaC0Hs1sAAEDcACyABQb9/akEaSUEFdCABciEBQQAhAgsgAEEANgIIIAAgAjYCBCAAIAE2AgAL8QMBAn8gACABaiECAkACQCAAKAIEIgNBAXENACADQQJxRQ0BIAAoAgAiAyABaiEBAkAgACADayIAQQAoAsS0QUcNACACKAIEQQNxQQNHDQFBACABNgK8tEEgAiACKAIEQX5xNgIEIAAgAUEBcjYCBCACIAE2AgAMAgsgACADEBwLAkACQAJAAkAgAigCBCIDQQJxDQAgAkEAKALItEFGDQIgAkEAKALEtEFGDQMgAiADQXhxIgMQHCAAIAMgAWoiAUEBcjYCBCAAIAFqIAE2AgAgAEEAKALEtEFHDQFBACABNgK8tEEPCyACIANBfnE2AgQgACABQQFyNgIEIAAgAWogATYCAAsCQCABQYACSQ0AIAAgARAjDwsgAUH4AXFBrLLBAGohAgJAAkBBACgCtLRBIgNBASABQQN2dCIBcQ0AQQAgAyABcjYCtLRBIAIhAQwBCyACKAIIIQELIAIgADYCCCABIAA2AgwgACACNgIMIAAgATYCCA8LQQAgADYCyLRBQQBBACgCwLRBIAFqIgE2AsC0QSAAIAFBAXI2AgQgAEEAKALEtEFHDQFBAEEANgK8tEFBAEEANgLEtEEPC0EAIAA2AsS0QUEAQQAoAry0QSABaiIBNgK8tEEgACABQQFyNgIEIAAgAWogATYCAA8LC64DAgd/An4jAEEQayICJAACQAJAIAENAEEAIQFB+K3AACEDDAELIAEoAgAhAyABQQA2AgAgAUEIakH4rcAAIANBAXEiBBshAyABKAIEQQAgBBshAQsgAkEIaiADQQhqKQIAIgk3AwAgACgCACEFIAMpAgAhCiAAQQE2AgAgACgCCCEGIAAoAgwhByAAIAo3AgggACgCFCEEIABBEGogCTcCACAAIAE2AgQgAiAKNwMA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AEGBAhAQAkACQCACLQANIgNBgQFJDQAgBCACKAIAIAERBgBFDQFBASEDDAILIAQgAiACLQAMIgBqIAMgAGsgBSgCDBEKAEUNAEEBIQMMAQsgBEEnIAERBgAhAwsgAkEQaiQAIAMLhwEBAX8jAEEgayICJAACQAJAIAAoAgBBgICAgHhGDQAgASAAKAIEIAAoAggQayEADAELIAJBCGpBCGogACgCDCgCACIAQQhqKQIANwMAIAJBCGpBEGogAEEQaikCADcDACACIAApAgA3AwggASgCACABKAIEIAJBCGoQFCEACyACQSBqJAAgAAt6AQF/IwBBwABrIgUkACAFIAE2AgwgBSAANgIIIAUgAzYCFCAFIAI2AhAgBUECNgIcIAVBzMPAADYCGCAFQgI3AiQgBUEkrUIghiAFQRBqrYQ3AzggBUElrUIghiAFQQhqrYQ3AzAgBSAFQTBqNgIgIAVBGGogBBBMAAuKAQEBfwJAAkACQCAAQYQBSQ0AIADQbyYBQQAoAsywQQ0CQQBBfzYCzLBBIABBACgC4LBBIgFJDQEgACABayIAQQAoAtiwQU8NAUEAKALUsEEgAEECdGpBACgC3LBBNgIAQQAgADYC3LBBQQBBACgCzLBBQQFqNgLMsEELDwsQlAEAC0HsrsAAED0AC2gCAX8BfiMAQTBrIgMkACADIAE2AgQgAyAANgIAIANBAjYCDCADQbjDwAA2AgggA0ICNwIUIANBEq1CIIYiBCADrYQ3AyggAyAEIANBBGqthDcDICADIANBIGo2AhAgA0EIaiACEEwAC2gCAX8BfiMAQTBrIgMkACADIAE2AgQgAyAANgIAIANBAjYCDCADQbTTwAA2AgggA0ICNwIUIANBEq1CIIYiBCADQQRqrYQ3AyggAyAEIAOthDcDICADIANBIGo2AhAgA0EIaiACEEwAC2gCAX8BfiMAQTBrIgMkACADIAE2AgQgAyAANgIAIANBAjYCDCADQejTwAA2AgggA0ICNwIUIANBEq1CIIYiBCADQQRqrYQ3AyggAyAEIAOthDcDICADIANBIGo2AhAgA0EIaiACEEwAC2kBAX8jAEEwayICJAACQEEALQDksEENACACQTBqJAAPCyACQQI2AgwgAkHksMAANgIIIAJCATcCFCACIAE2AiwgAkESrUIghiACQSxqrYQ3AyAgAiACQSBqNgIQIAJBCGpB9LDAABBMAAtgAQJ/AkACQCAAQXxqKAIAIgNBeHEiBEEEQQggA0EDcSIDGyABakkNAAJAIANFDQAgBCABQSdqSw0CCyAAEBEPC0HAr8AAQS5B8K/AABBFAAtBgLDAAEEuQbCwwAAQRQALUAEBfwJAIAIgACgCACAAKAIIIgNrTQ0AIAAgAyACQQFBARAmIAAoAgghAwsCQCACRQ0AIAAoAgQgA2ogASAC/AoAAAsgACADIAJqNgIIQQALSwEBfyMAQTBrIgEkACABQQE2AgwgAUG4wsAANgIIIAFCATcCFCABQSOtQiCGIAFBL2qthDcDICABIAFBIGo2AhAgAUEIaiAAEEwAC0oBA39BACEDAkAgAkUNAAJAA0AgAC0AACIEIAEtAAAiBUcNASAAQQFqIQAgAUEBaiEBIAJBf2oiAkUNAgwACwsgBCAFayEDCyADC0QBAX8gAkEQdiACQf//A3FBAEdqIgNAACECIABBADYCCCAAQQAgA0EQdCACQX9GIgMbNgIEIABBACACQRB0IAMbNgIAC08BAX8jAEEgayICJAACQCABRQ0AIAJBADYCGCACQQE2AgwgAkH4scAANgIIIAJCBDcCECACQQhqQYCywAAQTAALIABBADYCACACQSBqJAALTwECfyAAKAIEIQIgACgCACEDAkAgACgCCCIALQAARQ0AIANB9MPAAEEEIAIoAgwRCgBFDQBBAQ8LIAAgAUEKRjoAACADIAEgAigCEBEGAAtSAQJ/QQAhAUEAQQAoApixQSICQQFqNgKYsUECQCACQQBIDQBBASEBQQAtAOS0QQ0AQQAgADoA5LRBQQBBACgC4LRBQQFqNgLgtEFBAiEBCyABCz8BAX8jAEEgayICJAAgAkEIaiAAKAIAIAJBFmpBChAgIAFBAUEBQQAgAigCCCACKAIMEA8hACACQSBqJAAgAAtJAQJ/IAEoAgQhAiABKAIAIQMQkQECQEEIQQQQciIBDQBBBEEIEIYBAAsgASACNgIEIAEgAzYCACAAQZSxwAA2AgQgACABNgIAC0EBAX8jAEEgayIDJAAgA0EANgIQIANBATYCBCADQgQ3AgggAyABNgIcIAMgADYCGCADIANBGGo2AgAgAyACEEwACzkAAkAgAkGAgMQARg0AIAAgAiABKAIQEQYARQ0AQQEPCwJAIAMNAEEADwsgACADIAQgASgCDBEKAAs2AQF/IwBBIGsiASQAIAFBADYCGCABQQE2AgwgAUGkssAANgIIIAFCBDcCECABQQhqIAAQTAALOQEBf0EBIQICQCAAIAEQIg0AIAEoAgBBpMLAAEECIAEoAgQoAgwRCgANACAAQQRqIAEQIiECCyACCzQBAX8jAEEQayICJAAgAiAANgIMIAFBkIDAAEEFIAJBDGpBgIDAABAnIQAgAkEQaiQAIAALKwACQCAAIAEQY0UNAAJAIABFDQAQkQEgACABEHIiAUUNAQsgAQ8LEI8BAAstAgF/AX4jAEEQayIBJAAgACkCACECIAEgADYCDCABIAI3AgQgAUEEahCOAQALKgEBfyMAQRBrIgIkACACQQE7AQwgAiABNgIIIAIgADYCBCACQQRqEEsACyUAAkACQCABIAMQY0UNACAAIAEgAyACEGYiAw0BCxCPAQALIAMLJgEBfyMAQRBrIgIkACACIAAgARAWIAIoAgAgAigCBCACQRBqJAALJgACQCAADQBBqK7AAEEyEIMBAAsgACACIAMgBCAFIAEoAhARDgALJAACQCAADQBBqK7AAEEyEIMBAAsgACACIAMgBCABKAIQEQsACyQAAkAgAA0AQaiuwABBMhCDAQALIAAgAiADIAQgASgCEBEXAAskAAJAIAANAEGorsAAQTIQgwEACyAAIAIgAyAEIAEoAhARCwALJAACQCAADQBBqK7AAEEyEIMBAAsgACACIAMgBCABKAIQEQwACyQAAkAgAA0AQaiuwABBMhCDAQALIAAgAiADIAQgASgCEBELAAskAAJAIAANAEGorsAAQTIQgwEACyAAIAIgAyAEIAEoAhARDAALJAACQCAADQBBqK7AAEEyEIMBAAsgACACIAMgBCABKAIQERYACyQAAkAgAA0AQaiuwABBMhCDAQALIAAgAiADIAQgASgCEBEYAAspAQF/AkAgACgCACIBQYCAgIB4ckGAgICAeEYNACAAKAIEIAFBARB7CwsgAAJAIAFFDQAgAiADEIYBAAsgACADNgIEIAAgAjYCAAsiAAJAIAANAEGorsAAQTIQgwEACyAAIAIgAyABKAIQEQkACyAAAkAgAA0AQaiuwABBMhCDAQALIAAgAiABKAIQEQYACx4BAX8QkgEhAyAAQQA2AgggACADNgIEIAAgATYCAAscAQF/AkAgACgCACIBRQ0AIAAoAgQgAUEBEHsLCx8AAkAgAEGAgICAeHJBgICAgHhGDQAgASAAQQEQewsLFwACQCABQQlJDQAgASAAEBoPCyAAEAkLFwACQCAARQ0AIAAgARCGAQALIAIQRwALGAAgACUBIAElASABEDYgAiUBIAIQNhAACxoBAX8gASAAQQAoAoixQSICQRMgAhsRBQAACxUAIAFpQQFGIABBgICAgHggAWtNcQsWAAJAIAAoAgAiAEGEAUkNACAAEDYLCxgCAX8BbyAAIAEQByEDEBsiAiADJgEgAgsTAQF/IAAgASACIAMQDSEEIAQPCxQAIAAgBSAGEBM2AgQgAEEANgIACxQAIAAgAiADEGU2AgQgAEEANgIACxIAAkAgAUUNACAAIAEgAhB7CwsVACAAIAEQkAEaQYCAgIB4IAEQXgALFgAgACgCACABIAIgACgCBCgCDBEKAAsSACAAJQEgASACJQEgAhA2EAMLFAAgACgCACABIAAoAgQoAgwRBgALDwAgACABIAIgAyAEEAsACxQCAX8BbxABIQEQGyIAIAEmASAACxQCAX8BbxACIQEQGyIAIAEmASAACxIBAX8gACABEA4iAiUBIAIQNgsPAQF/IAAgARBfIQIgAg8LEQAgABCTATYCBCAAIAE2AgALEQAgACgCBCAAKAIIIAEQiQELIAAgAELfnp2YnLeWuAI3AwggAEKh7ayM+fScuAc3AwALIgAgAELtuq22zYXU9eMANwMIIABC+IKZvZXuxsW5fzcDAAsTACAAQZSxwAA2AgQgACABNgIACxAAIAEgACgCACAAKAIEEGsLEAAgASAAKAIAIAAoAgQQEgsQAQF/EBsiASAAJQEmASABCwsAIAAgASACEDsPCw0AIAAoAgAgASACEGELDQAgACgCACABIAIQbAsLACAAIAEgAhA4AAsLACAAIAEgAhA5AAsOAEHYwsAAQSsgABBFAAsLACAAKAIAIAEQLgsJACAAIAEQYg8LCgAgACABEIwBAAsNACAAQaivwAAgARAUCwwAIAAgASkCADcDAAsKACABIAAQggEACw0AIAFBwMLAAEEYEBILDQAgAEHcw8AAIAEQFAsKACACIAAgARASCwoAIAAgASUBEAQLCAAgACABEGULCAAgACABEAULCQAgAEEANgIACwcAIAAQLwALBgAQlAEACwYAEJQBAAsDAA8LBAAQbwsEABBwCwMAAAsL97ABAgBBgIDAAAvMsAEAAAAABAAAAAQAAAABAAAARXJyb3JDOlxVc2Vyc1wwMTM5NDI2OVwuY2FyZ29ccmVnaXN0cnlcc3JjXGluZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmXHdhc20tYmluZGdlbi0wLjIuMTA1XHNyY1xjb252ZXJ0XHNsaWNlcy5ycwBsaWJyYXJ5L2FsbG9jL3NyYy9zdHIucnMAQzpcVXNlcnNcMDEzOTQyNjlcLmNhcmdvXHJlZ2lzdHJ5XHNyY1xpbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zlx3YXNtLWJpbmRnZW4tMC4yLjEwNVxzcmNcZXh0ZXJucmVmLnJzAGxpYnJhcnkvY29yZS9zcmMvdW5pY29kZS9wcmludGFibGUucnMAQzpcVXNlcnNcMDEzOTQyNjlcLnJ1c3R1cFx0b29sY2hhaW5zXHN0YWJsZS14ODZfNjQtcGMtd2luZG93cy1nbnVcbGliL3J1c3RsaWIvc3JjL3J1c3RcbGlicmFyeS9hbGxvYy9zcmMvc2xpY2UucnMAL3J1c3QvZGVwcy9oYXNoYnJvd24tMC4xNS40L3NyYy9yYXcvbW9kLnJzAGxpYnJhcnkvY29yZS9zcmMvc3RyL21vZC5ycwAvcnVzdGMvMjk0ODM4ODNlZWQ2OWQ1ZmI0ZGIwMTk2NGNkZjJhZjRkODZlOWNiMi9saWJyYXJ5L2FsbG9jL3NyYy9yYXdfdmVjL21vZC5ycwAvcnVzdC9kZXBzL2RsbWFsbG9jLTAuMi45L3NyYy9kbG1hbGxvYy5ycwBsaWJyYXJ5L3N0ZC9zcmMvYWxsb2MucnMAQzpcVXNlcnNcMDEzOTQyNjlcLmNhcmdvXHJlZ2lzdHJ5XHNyY1xpbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3ZlxzZXJkZS13YXNtLWJpbmRnZW4tMC42LjVcc3JjXGxpYi5ycwBsaWJyYXJ5L2NvcmUvc3JjL3VuaWNvZGUvdW5pY29kZV9kYXRhLnJzADMBEAByAAAAwQEAAB0AAABLZXlWYWx1ZXR5cGVTdHJ2YWx1ZUFycnNoaWZ0U2hpZnTih6fi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AQoBMgMkBQEIPgEMAjQJCgQCAV8DAgEBAgYBAgGdAQMIFQI5AgMBJQcDBUYGDQEBAQEBDgJVCAIDAQEXAVQGAQEEAgEC7gQGAgECGwJVCAIBAQJqAQEBAgYBAWUBAQECBAEFAAkBAgACAQEEAZAEAgIEASAKKAYCBAgBCQYCAy4NAQIABwEGAQFSFgIHAQIBAnoGAwEBAgEHAQFIAgMBAQEAAgsCNAUFAQEBFwEAEQYPAAwDAwAFOwcJBAADKAIAAT8RQAIBAgAEAQcBAgACAQQALgIXAAMJEAIHHgSUAwA3BDIIAQ4BFgUBDwAHARECBwECAQUFPiEBoA4AAT0EAAX+AgAHbQgABQABHmCA8ABBGgYaLwEKAQQBBRcBHwHDAQQE0AEkBwIeBWABKgQCAgIEAQEGAQEDAQEBFAFTAYsIpgEmCSkAJgEBBQECKwEEAFYCBgALBSsCA0DAQAACBgImAgYCCAEBAQEBAQEfAjUBBwEBAwMBBwMEAgYEDQUDAQd0AQ0BEA1lAQQBAgoBAQMFBgEBAQEBAQQBBgQBAgQFBQQBESADAgA0AOUGBAMCDCYBAQUBAC4SHoRmAwQBPgICAQEBCBUFAQMAKwEOBlAABwwFABoGGgBQYCQEJHQLAQ8BBwECAQsBDwEHAQIAAQIDASoBCQAzDTNdFgoWAEAAQABVAUcBAgIBAgICBAEMAQEBBwFBAQQCCAEHARwBBAEFAQEDBwEAAhkBGQEfARkBHwEZAR8BGQEfARkBCAAKARQGBgA+AEQAGgYaBhoAAHAABwAtAQEBAgECAQFICzAVEAFlBwIGAgIBBCMBHhtbCzoJCQEYBAEJAQMBBSsDOwkqGAEgNwEBAQQIBAEDBwoCHQE6AQEBAgQIAQkBCgIaAQICOQEEAgQCAgMDAR4CAwELAjkBBAUBAgQBFAIWBgEBOgEBAgEECAEHAwoCHgE7AQEBDAEJASgBAwE3AQEDBQMBBAcCCwIdAToBAgIBAQMDAQQHAgsCHAI5AgEBAgQIAQkBCgIdAUgBBAECAwEBCAFRAQIHDAhiAQIJCwdJAhsBAQEBATcOAQUBAgULASQJAWYEAQYBAgICGQIEAxAEDQECAgYBDwEAAwAEHAMdAh4CQAIBBwgBAgsJAS0DAQF1AiIBdgMEAgkBBgPbAgIBOgEBBwEBAQECCAYKAgEwHzEEMAoEAyYJDAIgBAIGOAEBAgMBAQU4CAICmAMBDQEHBAEGAQMCxkAAAcMhAAONAWAgAAZpAgAEAQogAlACAAEDAQQBGQIFAZcCGhINASYIGQsBASwDMAECBAICAgEkAUMGAgICAgwBCAEvATMBAQMCAgUCAQEqAggB7gECAQQBAAEAEBAQAAIAAeIBlQUAAwECBQQoAwQBpQIABEEFAAJPBEYLMQR7ATYPKQECAgoDMQQCAgcBPQMkBQEIPgEMAjQJAQEIBAIBXwMCBAYBAgGdAQMIFQI5AgEBAQEMAQkBDgcDBUMBAgYBAQIBAQMEAwEBDgJVCAIDAQEXAVEBAgYBAQIBAQIBAusBAgQGAgECGwJVCAIBAQJqAQEBAghlAQEBAgQBBQAJAQL1AQoEBAGQBAICBAEgCigGAgQIAQkGAgMuDQECAAcBBgEBUhYCBwECAQJ6BgMBAQIBBwEBSAIDAQEBAAILAjQFBQMXAQABBg8ADAMDAAU7BwABPwRRAQsCAAIALgIXAAUDBggIAgceBJQDADcEMggBDgEWBQEPAAcBEQIHAQIBBWQBoAcAAT0EAAT+AgAHbQcAYIDwACkuLjAxMjM0NTY3ODlhYmNkZWYAAAEAAAAAAAAAUmVmQ2VsbCBhbHJlYWR5IGJvcnJvd2VkY2FsbGVkIGBPcHRpb246OnVud3JhcCgpYCBvbiBhIGBOb25lYCB2YWx1ZWluZGV4IG91dCBvZiBib3VuZHM6IHRoZSBsZW4gaXMgIGJ1dCB0aGUgaW5kZXggaXMgAAAAgyEQACAAAACjIRAAEgAAADogAAABAAAAAAAAAMghEAACAAAAAAAAAAwAAAAEAAAAKAAAACkAAAAqAAAAICAgICwKKCgKLDB4MDAwMTAyMDMwNDA1MDYwNzA4MDkxMDExMTIxMzE0MTUxNjE3MTgxOTIwMjEyMjIzMjQyNTI2MjcyODI5MzAzMTMyMzMzNDM1MzYzNzM4Mzk0MDQxNDI0MzQ0NDU0NjQ3NDg0OTUwNTE1MjUzNTQ1NTU2NTc1ODU5NjA2MTYyNjM2NDY1NjY2NzY4Njk3MDcxNzI3Mzc0NzU3Njc3Nzg3OTgwODE4MjgzODQ4NTg2ODc4ODg5OTA5MTkyOTM5NDk1OTY5Nzk4OTlbLi4uXWJlZ2luIDw9IGVuZCAoIDw9ICkgd2hlbiBzbGljaW5nIGBgzSIQAA4AAADbIhAABAAAAN8iEAAQAAAA7yIQAAEAAABieXRlIGluZGV4ICBpcyBub3QgYSBjaGFyIGJvdW5kYXJ5OyBpdCBpcyBpbnNpZGUgIChieXRlcyApIG9mIGAAECMQAAsAAAAbIxAAJgAAAEEjEAAIAAAASSMQAAYAAADvIhAAAQAAACBpcyBvdXQgb2YgYm91bmRzIG9mIGAAABAjEAALAAAAeCMQABYAAADvIhAAAQAAANABEAAcAAAAnwEAACwAAAANARAAJgAAABoAAAA2AAAADQEQACYAAAAKAAAAKwAAAAAGAQEDAQQCBQcHAggICQIKBQsCDgQQARECEgUTHBQBFQIXAhkNHAUdCB8BJAFqBGsCrwOxArwCzwLRAtQM1QnWAtcC2gHgBeEC5wToAu4g8AT4AvoE+wEMJzs+Tk+Pnp6fe4uTlqKyuoaxBgcJNj0+VvPQ0QQUGDY3Vld/qq6vvTXgEoeJjp4EDQ4REikxNDpFRklKTk9kZYqMjY+2wcPExsvWXLa3GxwHCAoLFBc2OTqoqdjZCTeQkagHCjs+ZmmPkhFvX7/u71pi9Pz/U1Samy4vJyhVnaCho6SnqK26vMQGCwwVHTo/RVGmp8zNoAcZGiIlPj/n7O//xcYEICMlJigzODpISkxQU1VWWFpcXmBjZWZrc3h9f4qkqq+wwNCur25v3d6TXiJ7BQMELQNmAwEvLoCCHQMxDxwEJAkeBSsFRAQOKoCqBiQEJAQoCDQLTgM0DIE3CRYKCBg7RTkDYwgJMBYFIQMbBQFAOARLBS8ECgcJB0AgJwQMCTYDOgUaBwQMB1BJNzMNMwcuCAoGJgMdCAKA0FIQAzcsCCoWGiYcFBcJTgQkCUQNGQcKBkgIJwl1C0I+KgY7BQoGUQYBBRADBQtZCAIdYh5ICAqApl4iRQsKBg0TOgYKBhQcLAQXgLk8ZFMMSAkKRkUbSAhTDUkHCoC2Ig4KBkYKHQNHSTcDDggKBjkHCoE2GQc7Ax1VAQ8yDYObZnULgMSKTGMNhDAQFgqPmwWCR5q5OobGgjkHKgRcBiYKRgooBROBsDqAxltlSwQ5BxFABQsCDpf4CITWKQqi54EzDwEdBg4ECIGMiQRrBQ0DCQcQj2CA+gaBtExHCXQ8gPYKcwhwFUZ6FAwUDFcJGYCHgUcDhUIPFYRQHwYGgNUrBT4hAXAtAxoEAoFAHxE6BQGB0CqA1isEAYHggPcpTAQKBAKDEURMPYDCPAYBBFUFGzQCgQ4sBGQMVgqArjgdDSwECQcCDgaAmoPYBBEDDQN3BF8GDAQBDwwEOAgKBigILAQCPoFUDB0DCgU4BxwGCQeA+oQGAAEDBQUGBgIHBggHCREKHAsZDBoNEA4MDwQQAxISEwkWARcEGAEZAxoHGwEcAh8WIAMrAy0LLgEwBDECMgGnBKkCqgSrCPoC+wX9Av4D/wmteHmLjaIwV1iLjJAc3Q4PS0z7/C4vP1xdX+KEjY6RkqmxurvFxsnK3uTl/wAEERIpMTQ3Ojs9SUpdhI6SqbG0urvGys7P5OUABA0OERIpMTQ6O0VGSUpeZGWEkZudyc7PDREpOjtFSVdbXF5fZGWNkam0urvFyd/k5fANEUVJZGWAhLK8vr/V1/Dxg4WLpKa+v8XHz9rbSJi9zcbOz0lOT1dZXl+Jjo+xtre/wcbH1xEWF1tc9vf+/4Btcd7fDh9ubxwdX31+rq9Nu7wWFx4fRkdOT1haXF5+f7XF1NXc8PH1cnOPdHWWJi4vp6+3v8fP19+aAECXmDCPH87P0tTO/05PWlsHCA8QJy/u725vNz0/QkWQkVNndcjJ0NHY2ef+/wAgXyKC3wSCRAgbBAYRgawOgKsFHwiBHAMZCAEELwQ0BAcDAQcGBxEKUA8SB1UHAwQcCgkDCAMHAwIDAwMMBAUDCwYBDhUFTgcbB1cHAgYXDFAEQwMtAwEEEQYPDDoEHSVfIG0EaiWAyAWCsAMaBoL9A1kHFgkYCRQMFAxqBgoGGgZZBysFRgosBAwEAQMxCywEGgYLA4CsBgoGLzGA9Ag8Aw8DPgU4CCsFgv8RGAgvES0DIQ8hD4CMBIKaFgsViJQFLwU7BwIOGAmAviJ0DIDWGoEQBYDhCfKeAzcJgVwUgLgIgN0VOwMKBjgIRggMBnQLHgNaBFkJgIMYHAoWCUwEgIoGq6QMFwQxoQSB2iYHDAUFgKYQgfUHASAqBkwEgI0EgL4DGwMPDSBvdXQgb2YgcmFuZ2UgZm9yIHNsaWNlIG9mIGxlbmd0aCByYW5nZSBlbmQgaW5kZXggAKMpEAAQAAAAgSkQACIAAABzbGljZSBpbmRleCBzdGFydHMgYXQgIGJ1dCBlbmRzIGF0IADEKRAAFgAAANopEAANAAAAsAIAAF0ToAISFyAivR9gInwsIDAFMGA0FaDgNfikYDcMpqA3HvvgNwD+4EP9AWFEgAchSAEK4UgkDaFJqw4hSy8YIUw7GaFbMBwhXPMeoV8wNGFjHmHhZPBqYWVAbeFlT2+hZvCvIWedvCFoAM/haGfRYWkA2uFpAOAha67ioWzr5KFu0Oghb/vzoW8BAC5w8AF/cKAQAACgE+AGgBwgCBYfoAi2JMAJACwgE0CmYBMwq+AUAPtgFyH/IBgABKEYgAchGYAM4RugGOEcQG7hHQDUIR6m1mEeAN8BIzDg4SUA6aEmMPHhJorxMicAAwAAgwQgAJEFYABdE6AAEhcgHwwgYB/vLCArKjCgK2+mYCwCqOAsHvvgLQD+IDae/2A2/QHhNgEKITckDeE3qw5hOS8Y4TkwHOFK8x7hTkA0oVIeYeFT8GphVE9v4VSdvGFVAM9hVmXRoVYA2iFXAOChWK7iIVrs5OFb0OhhXCAA7lzwAX9d6wIQACkAAADsAgAAHQAAAMAAAADgAAAAwQAAAOEAAADCAAAA4gAAAMMAAADjAAAAxAAAAOQAAADFAAAA5QAAAMYAAADmAAAAxwAAAOcAAADIAAAA6AAAAMkAAADpAAAAygAAAOoAAADLAAAA6wAAAMwAAADsAAAAzQAAAO0AAADOAAAA7gAAAM8AAADvAAAA0AAAAPAAAADRAAAA8QAAANIAAADyAAAA0wAAAPMAAADUAAAA9AAAANUAAAD1AAAA1gAAAPYAAADYAAAA+AAAANkAAAD5AAAA2gAAAPoAAADbAAAA+wAAANwAAAD8AAAA3QAAAP0AAADeAAAA/gAAAAABAAABAQAAAgEAAAMBAAAEAQAABQEAAAYBAAAHAQAACAEAAAkBAAAKAQAACwEAAAwBAAANAQAADgEAAA8BAAAQAQAAEQEAABIBAAATAQAAFAEAABUBAAAWAQAAFwEAABgBAAAZAQAAGgEAABsBAAAcAQAAHQEAAB4BAAAfAQAAIAEAACEBAAAiAQAAIwEAACQBAAAlAQAAJgEAACcBAAAoAQAAKQEAACoBAAArAQAALAEAAC0BAAAuAQAALwEAADABAAAAAEAAMgEAADMBAAA0AQAANQEAADYBAAA3AQAAOQEAADoBAAA7AQAAPAEAAD0BAAA+AQAAPwEAAEABAABBAQAAQgEAAEMBAABEAQAARQEAAEYBAABHAQAASAEAAEoBAABLAQAATAEAAE0BAABOAQAATwEAAFABAABRAQAAUgEAAFMBAABUAQAAVQEAAFYBAABXAQAAWAEAAFkBAABaAQAAWwEAAFwBAABdAQAAXgEAAF8BAABgAQAAYQEAAGIBAABjAQAAZAEAAGUBAABmAQAAZwEAAGgBAABpAQAAagEAAGsBAABsAQAAbQEAAG4BAABvAQAAcAEAAHEBAAByAQAAcwEAAHQBAAB1AQAAdgEAAHcBAAB4AQAA/wAAAHkBAAB6AQAAewEAAHwBAAB9AQAAfgEAAIEBAABTAgAAggEAAIMBAACEAQAAhQEAAIYBAABUAgAAhwEAAIgBAACJAQAAVgIAAIoBAABXAgAAiwEAAIwBAACOAQAA3QEAAI8BAABZAgAAkAEAAFsCAACRAQAAkgEAAJMBAABgAgAAlAEAAGMCAACWAQAAaQIAAJcBAABoAgAAmAEAAJkBAACcAQAAbwIAAJ0BAAByAgAAnwEAAHUCAACgAQAAoQEAAKIBAACjAQAApAEAAKUBAACmAQAAgAIAAKcBAACoAQAAqQEAAIMCAACsAQAArQEAAK4BAACIAgAArwEAALABAACxAQAAigIAALIBAACLAgAAswEAALQBAAC1AQAAtgEAALcBAACSAgAAuAEAALkBAAC8AQAAvQEAAMQBAADGAQAAxQEAAMYBAADHAQAAyQEAAMgBAADJAQAAygEAAMwBAADLAQAAzAEAAM0BAADOAQAAzwEAANABAADRAQAA0gEAANMBAADUAQAA1QEAANYBAADXAQAA2AEAANkBAADaAQAA2wEAANwBAADeAQAA3wEAAOABAADhAQAA4gEAAOMBAADkAQAA5QEAAOYBAADnAQAA6AEAAOkBAADqAQAA6wEAAOwBAADtAQAA7gEAAO8BAADxAQAA8wEAAPIBAADzAQAA9AEAAPUBAAD2AQAAlQEAAPcBAAC/AQAA+AEAAPkBAAD6AQAA+wEAAPwBAAD9AQAA/gEAAP8BAAAAAgAAAQIAAAICAAADAgAABAIAAAUCAAAGAgAABwIAAAgCAAAJAgAACgIAAAsCAAAMAgAADQIAAA4CAAAPAgAAEAIAABECAAASAgAAEwIAABQCAAAVAgAAFgIAABcCAAAYAgAAGQIAABoCAAAbAgAAHAIAAB0CAAAeAgAAHwIAACACAACeAQAAIgIAACMCAAAkAgAAJQIAACYCAAAnAgAAKAIAACkCAAAqAgAAKwIAACwCAAAtAgAALgIAAC8CAAAwAgAAMQIAADICAAAzAgAAOgIAAGUsAAA7AgAAPAIAAD0CAACaAQAAPgIAAGYsAABBAgAAQgIAAEMCAACAAQAARAIAAIkCAABFAgAAjAIAAEYCAABHAgAASAIAAEkCAABKAgAASwIAAEwCAABNAgAATgIAAE8CAABwAwAAcQMAAHIDAABzAwAAdgMAAHcDAAB/AwAA8wMAAIYDAACsAwAAiAMAAK0DAACJAwAArgMAAIoDAACvAwAAjAMAAMwDAACOAwAAzQMAAI8DAADOAwAAkQMAALEDAACSAwAAsgMAAJMDAACzAwAAlAMAALQDAACVAwAAtQMAAJYDAAC2AwAAlwMAALcDAACYAwAAuAMAAJkDAAC5AwAAmgMAALoDAACbAwAAuwMAAJwDAAC8AwAAnQMAAL0DAACeAwAAvgMAAJ8DAAC/AwAAoAMAAMADAAChAwAAwQMAAKMDAADDAwAApAMAAMQDAAClAwAAxQMAAKYDAADGAwAApwMAAMcDAACoAwAAyAMAAKkDAADJAwAAqgMAAMoDAACrAwAAywMAAM8DAADXAwAA2AMAANkDAADaAwAA2wMAANwDAADdAwAA3gMAAN8DAADgAwAA4QMAAOIDAADjAwAA5AMAAOUDAADmAwAA5wMAAOgDAADpAwAA6gMAAOsDAADsAwAA7QMAAO4DAADvAwAA9AMAALgDAAD3AwAA+AMAAPkDAADyAwAA+gMAAPsDAAD9AwAAewMAAP4DAAB8AwAA/wMAAH0DAAAABAAAUAQAAAEEAABRBAAAAgQAAFIEAAADBAAAUwQAAAQEAABUBAAABQQAAFUEAAAGBAAAVgQAAAcEAABXBAAACAQAAFgEAAAJBAAAWQQAAAoEAABaBAAACwQAAFsEAAAMBAAAXAQAAA0EAABdBAAADgQAAF4EAAAPBAAAXwQAABAEAAAwBAAAEQQAADEEAAASBAAAMgQAABMEAAAzBAAAFAQAADQEAAAVBAAANQQAABYEAAA2BAAAFwQAADcEAAAYBAAAOAQAABkEAAA5BAAAGgQAADoEAAAbBAAAOwQAABwEAAA8BAAAHQQAAD0EAAAeBAAAPgQAAB8EAAA/BAAAIAQAAEAEAAAhBAAAQQQAACIEAABCBAAAIwQAAEMEAAAkBAAARAQAACUEAABFBAAAJgQAAEYEAAAnBAAARwQAACgEAABIBAAAKQQAAEkEAAAqBAAASgQAACsEAABLBAAALAQAAEwEAAAtBAAATQQAAC4EAABOBAAALwQAAE8EAABgBAAAYQQAAGIEAABjBAAAZAQAAGUEAABmBAAAZwQAAGgEAABpBAAAagQAAGsEAABsBAAAbQQAAG4EAABvBAAAcAQAAHEEAAByBAAAcwQAAHQEAAB1BAAAdgQAAHcEAAB4BAAAeQQAAHoEAAB7BAAAfAQAAH0EAAB+BAAAfwQAAIAEAACBBAAAigQAAIsEAACMBAAAjQQAAI4EAACPBAAAkAQAAJEEAACSBAAAkwQAAJQEAACVBAAAlgQAAJcEAACYBAAAmQQAAJoEAACbBAAAnAQAAJ0EAACeBAAAnwQAAKAEAAChBAAAogQAAKMEAACkBAAApQQAAKYEAACnBAAAqAQAAKkEAACqBAAAqwQAAKwEAACtBAAArgQAAK8EAACwBAAAsQQAALIEAACzBAAAtAQAALUEAAC2BAAAtwQAALgEAAC5BAAAugQAALsEAAC8BAAAvQQAAL4EAAC/BAAAwAQAAM8EAADBBAAAwgQAAMMEAADEBAAAxQQAAMYEAADHBAAAyAQAAMkEAADKBAAAywQAAMwEAADNBAAAzgQAANAEAADRBAAA0gQAANMEAADUBAAA1QQAANYEAADXBAAA2AQAANkEAADaBAAA2wQAANwEAADdBAAA3gQAAN8EAADgBAAA4QQAAOIEAADjBAAA5AQAAOUEAADmBAAA5wQAAOgEAADpBAAA6gQAAOsEAADsBAAA7QQAAO4EAADvBAAA8AQAAPEEAADyBAAA8wQAAPQEAAD1BAAA9gQAAPcEAAD4BAAA+QQAAPoEAAD7BAAA/AQAAP0EAAD+BAAA/wQAAAAFAAABBQAAAgUAAAMFAAAEBQAABQUAAAYFAAAHBQAACAUAAAkFAAAKBQAACwUAAAwFAAANBQAADgUAAA8FAAAQBQAAEQUAABIFAAATBQAAFAUAABUFAAAWBQAAFwUAABgFAAAZBQAAGgUAABsFAAAcBQAAHQUAAB4FAAAfBQAAIAUAACEFAAAiBQAAIwUAACQFAAAlBQAAJgUAACcFAAAoBQAAKQUAACoFAAArBQAALAUAAC0FAAAuBQAALwUAADEFAABhBQAAMgUAAGIFAAAzBQAAYwUAADQFAABkBQAANQUAAGUFAAA2BQAAZgUAADcFAABnBQAAOAUAAGgFAAA5BQAAaQUAADoFAABqBQAAOwUAAGsFAAA8BQAAbAUAAD0FAABtBQAAPgUAAG4FAAA/BQAAbwUAAEAFAABwBQAAQQUAAHEFAABCBQAAcgUAAEMFAABzBQAARAUAAHQFAABFBQAAdQUAAEYFAAB2BQAARwUAAHcFAABIBQAAeAUAAEkFAAB5BQAASgUAAHoFAABLBQAAewUAAEwFAAB8BQAATQUAAH0FAABOBQAAfgUAAE8FAAB/BQAAUAUAAIAFAABRBQAAgQUAAFIFAACCBQAAUwUAAIMFAABUBQAAhAUAAFUFAACFBQAAVgUAAIYFAACgEAAAAC0AAKEQAAABLQAAohAAAAItAACjEAAAAy0AAKQQAAAELQAApRAAAAUtAACmEAAABi0AAKcQAAAHLQAAqBAAAAgtAACpEAAACS0AAKoQAAAKLQAAqxAAAAstAACsEAAADC0AAK0QAAANLQAArhAAAA4tAACvEAAADy0AALAQAAAQLQAAsRAAABEtAACyEAAAEi0AALMQAAATLQAAtBAAABQtAAC1EAAAFS0AALYQAAAWLQAAtxAAABctAAC4EAAAGC0AALkQAAAZLQAAuhAAABotAAC7EAAAGy0AALwQAAAcLQAAvRAAAB0tAAC+EAAAHi0AAL8QAAAfLQAAwBAAACAtAADBEAAAIS0AAMIQAAAiLQAAwxAAACMtAADEEAAAJC0AAMUQAAAlLQAAxxAAACctAADNEAAALS0AAKATAABwqwAAoRMAAHGrAACiEwAAcqsAAKMTAABzqwAApBMAAHSrAAClEwAAdasAAKYTAAB2qwAApxMAAHerAACoEwAAeKsAAKkTAAB5qwAAqhMAAHqrAACrEwAAe6sAAKwTAAB8qwAArRMAAH2rAACuEwAAfqsAAK8TAAB/qwAAsBMAAICrAACxEwAAgasAALITAACCqwAAsxMAAIOrAAC0EwAAhKsAALUTAACFqwAAthMAAIarAAC3EwAAh6sAALgTAACIqwAAuRMAAImrAAC6EwAAiqsAALsTAACLqwAAvBMAAIyrAAC9EwAAjasAAL4TAACOqwAAvxMAAI+rAADAEwAAkKsAAMETAACRqwAAwhMAAJKrAADDEwAAk6sAAMQTAACUqwAAxRMAAJWrAADGEwAAlqsAAMcTAACXqwAAyBMAAJirAADJEwAAmasAAMoTAACaqwAAyxMAAJurAADMEwAAnKsAAM0TAACdqwAAzhMAAJ6rAADPEwAAn6sAANATAACgqwAA0RMAAKGrAADSEwAAoqsAANMTAACjqwAA1BMAAKSrAADVEwAApasAANYTAACmqwAA1xMAAKerAADYEwAAqKsAANkTAACpqwAA2hMAAKqrAADbEwAAq6sAANwTAACsqwAA3RMAAK2rAADeEwAArqsAAN8TAACvqwAA4BMAALCrAADhEwAAsasAAOITAACyqwAA4xMAALOrAADkEwAAtKsAAOUTAAC1qwAA5hMAALarAADnEwAAt6sAAOgTAAC4qwAA6RMAALmrAADqEwAAuqsAAOsTAAC7qwAA7BMAALyrAADtEwAAvasAAO4TAAC+qwAA7xMAAL+rAADwEwAA+BMAAPETAAD5EwAA8hMAAPoTAADzEwAA+xMAAPQTAAD8EwAA9RMAAP0TAACJHAAAihwAAJAcAADQEAAAkRwAANEQAACSHAAA0hAAAJMcAADTEAAAlBwAANQQAACVHAAA1RAAAJYcAADWEAAAlxwAANcQAACYHAAA2BAAAJkcAADZEAAAmhwAANoQAACbHAAA2xAAAJwcAADcEAAAnRwAAN0QAACeHAAA3hAAAJ8cAADfEAAAoBwAAOAQAAChHAAA4RAAAKIcAADiEAAAoxwAAOMQAACkHAAA5BAAAKUcAADlEAAAphwAAOYQAACnHAAA5xAAAKgcAADoEAAAqRwAAOkQAACqHAAA6hAAAKscAADrEAAArBwAAOwQAACtHAAA7RAAAK4cAADuEAAArxwAAO8QAACwHAAA8BAAALEcAADxEAAAshwAAPIQAACzHAAA8xAAALQcAAD0EAAAtRwAAPUQAAC2HAAA9hAAALccAAD3EAAAuBwAAPgQAAC5HAAA+RAAALocAAD6EAAAvRwAAP0QAAC+HAAA/hAAAL8cAAD/EAAAAB4AAAEeAAACHgAAAx4AAAQeAAAFHgAABh4AAAceAAAIHgAACR4AAAoeAAALHgAADB4AAA0eAAAOHgAADx4AABAeAAARHgAAEh4AABMeAAAUHgAAFR4AABYeAAAXHgAAGB4AABkeAAAaHgAAGx4AABweAAAdHgAAHh4AAB8eAAAgHgAAIR4AACIeAAAjHgAAJB4AACUeAAAmHgAAJx4AACgeAAApHgAAKh4AACseAAAsHgAALR4AAC4eAAAvHgAAMB4AADEeAAAyHgAAMx4AADQeAAA1HgAANh4AADceAAA4HgAAOR4AADoeAAA7HgAAPB4AAD0eAAA+HgAAPx4AAEAeAABBHgAAQh4AAEMeAABEHgAARR4AAEYeAABHHgAASB4AAEkeAABKHgAASx4AAEweAABNHgAATh4AAE8eAABQHgAAUR4AAFIeAABTHgAAVB4AAFUeAABWHgAAVx4AAFgeAABZHgAAWh4AAFseAABcHgAAXR4AAF4eAABfHgAAYB4AAGEeAABiHgAAYx4AAGQeAABlHgAAZh4AAGceAABoHgAAaR4AAGoeAABrHgAAbB4AAG0eAABuHgAAbx4AAHAeAABxHgAAch4AAHMeAAB0HgAAdR4AAHYeAAB3HgAAeB4AAHkeAAB6HgAAex4AAHweAAB9HgAAfh4AAH8eAACAHgAAgR4AAIIeAACDHgAAhB4AAIUeAACGHgAAhx4AAIgeAACJHgAAih4AAIseAACMHgAAjR4AAI4eAACPHgAAkB4AAJEeAACSHgAAkx4AAJQeAACVHgAAnh4AAN8AAACgHgAAoR4AAKIeAACjHgAApB4AAKUeAACmHgAApx4AAKgeAACpHgAAqh4AAKseAACsHgAArR4AAK4eAACvHgAAsB4AALEeAACyHgAAsx4AALQeAAC1HgAAth4AALceAAC4HgAAuR4AALoeAAC7HgAAvB4AAL0eAAC+HgAAvx4AAMAeAADBHgAAwh4AAMMeAADEHgAAxR4AAMYeAADHHgAAyB4AAMkeAADKHgAAyx4AAMweAADNHgAAzh4AAM8eAADQHgAA0R4AANIeAADTHgAA1B4AANUeAADWHgAA1x4AANgeAADZHgAA2h4AANseAADcHgAA3R4AAN4eAADfHgAA4B4AAOEeAADiHgAA4x4AAOQeAADlHgAA5h4AAOceAADoHgAA6R4AAOoeAADrHgAA7B4AAO0eAADuHgAA7x4AAPAeAADxHgAA8h4AAPMeAAD0HgAA9R4AAPYeAAD3HgAA+B4AAPkeAAD6HgAA+x4AAPweAAD9HgAA/h4AAP8eAAAIHwAAAB8AAAkfAAABHwAACh8AAAIfAAALHwAAAx8AAAwfAAAEHwAADR8AAAUfAAAOHwAABh8AAA8fAAAHHwAAGB8AABAfAAAZHwAAER8AABofAAASHwAAGx8AABMfAAAcHwAAFB8AAB0fAAAVHwAAKB8AACAfAAApHwAAIR8AACofAAAiHwAAKx8AACMfAAAsHwAAJB8AAC0fAAAlHwAALh8AACYfAAAvHwAAJx8AADgfAAAwHwAAOR8AADEfAAA6HwAAMh8AADsfAAAzHwAAPB8AADQfAAA9HwAANR8AAD4fAAA2HwAAPx8AADcfAABIHwAAQB8AAEkfAABBHwAASh8AAEIfAABLHwAAQx8AAEwfAABEHwAATR8AAEUfAABZHwAAUR8AAFsfAABTHwAAXR8AAFUfAABfHwAAVx8AAGgfAABgHwAAaR8AAGEfAABqHwAAYh8AAGsfAABjHwAAbB8AAGQfAABtHwAAZR8AAG4fAABmHwAAbx8AAGcfAACIHwAAgB8AAIkfAACBHwAAih8AAIIfAACLHwAAgx8AAIwfAACEHwAAjR8AAIUfAACOHwAAhh8AAI8fAACHHwAAmB8AAJAfAACZHwAAkR8AAJofAACSHwAAmx8AAJMfAACcHwAAlB8AAJ0fAACVHwAAnh8AAJYfAACfHwAAlx8AAKgfAACgHwAAqR8AAKEfAACqHwAAoh8AAKsfAACjHwAArB8AAKQfAACtHwAApR8AAK4fAACmHwAArx8AAKcfAAC4HwAAsB8AALkfAACxHwAAuh8AAHAfAAC7HwAAcR8AALwfAACzHwAAyB8AAHIfAADJHwAAcx8AAMofAAB0HwAAyx8AAHUfAADMHwAAwx8AANgfAADQHwAA2R8AANEfAADaHwAAdh8AANsfAAB3HwAA6B8AAOAfAADpHwAA4R8AAOofAAB6HwAA6x8AAHsfAADsHwAA5R8AAPgfAAB4HwAA+R8AAHkfAAD6HwAAfB8AAPsfAAB9HwAA/B8AAPMfAAAmIQAAyQMAACohAABrAAAAKyEAAOUAAAAyIQAATiEAAGAhAABwIQAAYSEAAHEhAABiIQAAciEAAGMhAABzIQAAZCEAAHQhAABlIQAAdSEAAGYhAAB2IQAAZyEAAHchAABoIQAAeCEAAGkhAAB5IQAAaiEAAHohAABrIQAAeyEAAGwhAAB8IQAAbSEAAH0hAABuIQAAfiEAAG8hAAB/IQAAgyEAAIQhAAC2JAAA0CQAALckAADRJAAAuCQAANIkAAC5JAAA0yQAALokAADUJAAAuyQAANUkAAC8JAAA1iQAAL0kAADXJAAAviQAANgkAAC/JAAA2SQAAMAkAADaJAAAwSQAANskAADCJAAA3CQAAMMkAADdJAAAxCQAAN4kAADFJAAA3yQAAMYkAADgJAAAxyQAAOEkAADIJAAA4iQAAMkkAADjJAAAyiQAAOQkAADLJAAA5SQAAMwkAADmJAAAzSQAAOckAADOJAAA6CQAAM8kAADpJAAAACwAADAsAAABLAAAMSwAAAIsAAAyLAAAAywAADMsAAAELAAANCwAAAUsAAA1LAAABiwAADYsAAAHLAAANywAAAgsAAA4LAAACSwAADksAAAKLAAAOiwAAAssAAA7LAAADCwAADwsAAANLAAAPSwAAA4sAAA+LAAADywAAD8sAAAQLAAAQCwAABEsAABBLAAAEiwAAEIsAAATLAAAQywAABQsAABELAAAFSwAAEUsAAAWLAAARiwAABcsAABHLAAAGCwAAEgsAAAZLAAASSwAABosAABKLAAAGywAAEssAAAcLAAATCwAAB0sAABNLAAAHiwAAE4sAAAfLAAATywAACAsAABQLAAAISwAAFEsAAAiLAAAUiwAACMsAABTLAAAJCwAAFQsAAAlLAAAVSwAACYsAABWLAAAJywAAFcsAAAoLAAAWCwAACksAABZLAAAKiwAAFosAAArLAAAWywAACwsAABcLAAALSwAAF0sAAAuLAAAXiwAAC8sAABfLAAAYCwAAGEsAABiLAAAawIAAGMsAAB9HQAAZCwAAH0CAABnLAAAaCwAAGksAABqLAAAaywAAGwsAABtLAAAUQIAAG4sAABxAgAAbywAAFACAABwLAAAUgIAAHIsAABzLAAAdSwAAHYsAAB+LAAAPwIAAH8sAABAAgAAgCwAAIEsAACCLAAAgywAAIQsAACFLAAAhiwAAIcsAACILAAAiSwAAIosAACLLAAAjCwAAI0sAACOLAAAjywAAJAsAACRLAAAkiwAAJMsAACULAAAlSwAAJYsAACXLAAAmCwAAJksAACaLAAAmywAAJwsAACdLAAAniwAAJ8sAACgLAAAoSwAAKIsAACjLAAApCwAAKUsAACmLAAApywAAKgsAACpLAAAqiwAAKssAACsLAAArSwAAK4sAACvLAAAsCwAALEsAACyLAAAsywAALQsAAC1LAAAtiwAALcsAAC4LAAAuSwAALosAAC7LAAAvCwAAL0sAAC+LAAAvywAAMAsAADBLAAAwiwAAMMsAADELAAAxSwAAMYsAADHLAAAyCwAAMksAADKLAAAyywAAMwsAADNLAAAziwAAM8sAADQLAAA0SwAANIsAADTLAAA1CwAANUsAADWLAAA1ywAANgsAADZLAAA2iwAANssAADcLAAA3SwAAN4sAADfLAAA4CwAAOEsAADiLAAA4ywAAOssAADsLAAA7SwAAO4sAADyLAAA8ywAAECmAABBpgAAQqYAAEOmAABEpgAARaYAAEamAABHpgAASKYAAEmmAABKpgAAS6YAAEymAABNpgAATqYAAE+mAABQpgAAUaYAAFKmAABTpgAAVKYAAFWmAABWpgAAV6YAAFimAABZpgAAWqYAAFumAABcpgAAXaYAAF6mAABfpgAAYKYAAGGmAABipgAAY6YAAGSmAABlpgAAZqYAAGemAABopgAAaaYAAGqmAABrpgAAbKYAAG2mAACApgAAgaYAAIKmAACDpgAAhKYAAIWmAACGpgAAh6YAAIimAACJpgAAiqYAAIumAACMpgAAjaYAAI6mAACPpgAAkKYAAJGmAACSpgAAk6YAAJSmAACVpgAAlqYAAJemAACYpgAAmaYAAJqmAACbpgAAIqcAACOnAAAkpwAAJacAACanAAAnpwAAKKcAACmnAAAqpwAAK6cAACynAAAtpwAALqcAAC+nAAAypwAAM6cAADSnAAA1pwAANqcAADenAAA4pwAAOacAADqnAAA7pwAAPKcAAD2nAAA+pwAAP6cAAECnAABBpwAAQqcAAEOnAABEpwAARacAAEanAABHpwAASKcAAEmnAABKpwAAS6cAAEynAABNpwAATqcAAE+nAABQpwAAUacAAFKnAABTpwAAVKcAAFWnAABWpwAAV6cAAFinAABZpwAAWqcAAFunAABcpwAAXacAAF6nAABfpwAAYKcAAGGnAABipwAAY6cAAGSnAABlpwAAZqcAAGenAABopwAAaacAAGqnAABrpwAAbKcAAG2nAABupwAAb6cAAHmnAAB6pwAAe6cAAHynAAB9pwAAeR0AAH6nAAB/pwAAgKcAAIGnAACCpwAAg6cAAISnAACFpwAAhqcAAIenAACLpwAAjKcAAI2nAABlAgAAkKcAAJGnAACSpwAAk6cAAJanAACXpwAAmKcAAJmnAACapwAAm6cAAJynAACdpwAAnqcAAJ+nAACgpwAAoacAAKKnAACjpwAApKcAAKWnAACmpwAAp6cAAKinAACppwAAqqcAAGYCAACrpwAAXAIAAKynAABhAgAAracAAGwCAACupwAAagIAALCnAACeAgAAsacAAIcCAACypwAAnQIAALOnAABTqwAAtKcAALWnAAC2pwAAt6cAALinAAC5pwAAuqcAALunAAC8pwAAvacAAL6nAAC/pwAAwKcAAMGnAADCpwAAw6cAAMSnAACUpwAAxacAAIICAADGpwAAjh0AAMenAADIpwAAyacAAMqnAADLpwAAZAIAAMynAADNpwAA0KcAANGnAADWpwAA16cAANinAADZpwAA2qcAANunAADcpwAAmwEAAPWnAAD2pwAAIf8AAEH/AAAi/wAAQv8AACP/AABD/wAAJP8AAET/AAAl/wAARf8AACb/AABG/wAAJ/8AAEf/AAAo/wAASP8AACn/AABJ/wAAKv8AAEr/AAAr/wAAS/8AACz/AABM/wAALf8AAE3/AAAu/wAATv8AAC//AABP/wAAMP8AAFD/AAAx/wAAUf8AADL/AABS/wAAM/8AAFP/AAA0/wAAVP8AADX/AABV/wAANv8AAFb/AAA3/wAAV/8AADj/AABY/wAAOf8AAFn/AAA6/wAAWv8AAAAEAQAoBAEAAQQBACkEAQACBAEAKgQBAAMEAQArBAEABAQBACwEAQAFBAEALQQBAAYEAQAuBAEABwQBAC8EAQAIBAEAMAQBAAkEAQAxBAEACgQBADIEAQALBAEAMwQBAAwEAQA0BAEADQQBADUEAQAOBAEANgQBAA8EAQA3BAEAEAQBADgEAQARBAEAOQQBABIEAQA6BAEAEwQBADsEAQAUBAEAPAQBABUEAQA9BAEAFgQBAD4EAQAXBAEAPwQBABgEAQBABAEAGQQBAEEEAQAaBAEAQgQBABsEAQBDBAEAHAQBAEQEAQAdBAEARQQBAB4EAQBGBAEAHwQBAEcEAQAgBAEASAQBACEEAQBJBAEAIgQBAEoEAQAjBAEASwQBACQEAQBMBAEAJQQBAE0EAQAmBAEATgQBACcEAQBPBAEAsAQBANgEAQCxBAEA2QQBALIEAQDaBAEAswQBANsEAQC0BAEA3AQBALUEAQDdBAEAtgQBAN4EAQC3BAEA3wQBALgEAQDgBAEAuQQBAOEEAQC6BAEA4gQBALsEAQDjBAEAvAQBAOQEAQC9BAEA5QQBAL4EAQDmBAEAvwQBAOcEAQDABAEA6AQBAMEEAQDpBAEAwgQBAOoEAQDDBAEA6wQBAMQEAQDsBAEAxQQBAO0EAQDGBAEA7gQBAMcEAQDvBAEAyAQBAPAEAQDJBAEA8QQBAMoEAQDyBAEAywQBAPMEAQDMBAEA9AQBAM0EAQD1BAEAzgQBAPYEAQDPBAEA9wQBANAEAQD4BAEA0QQBAPkEAQDSBAEA+gQBANMEAQD7BAEAcAUBAJcFAQBxBQEAmAUBAHIFAQCZBQEAcwUBAJoFAQB0BQEAmwUBAHUFAQCcBQEAdgUBAJ0FAQB3BQEAngUBAHgFAQCfBQEAeQUBAKAFAQB6BQEAoQUBAHwFAQCjBQEAfQUBAKQFAQB+BQEApQUBAH8FAQCmBQEAgAUBAKcFAQCBBQEAqAUBAIIFAQCpBQEAgwUBAKoFAQCEBQEAqwUBAIUFAQCsBQEAhgUBAK0FAQCHBQEArgUBAIgFAQCvBQEAiQUBALAFAQCKBQEAsQUBAIwFAQCzBQEAjQUBALQFAQCOBQEAtQUBAI8FAQC2BQEAkAUBALcFAQCRBQEAuAUBAJIFAQC5BQEAlAUBALsFAQCVBQEAvAUBAIAMAQDADAEAgQwBAMEMAQCCDAEAwgwBAIMMAQDDDAEAhAwBAMQMAQCFDAEAxQwBAIYMAQDGDAEAhwwBAMcMAQCIDAEAyAwBAIkMAQDJDAEAigwBAMoMAQCLDAEAywwBAIwMAQDMDAEAjQwBAM0MAQCODAEAzgwBAI8MAQDPDAEAkAwBANAMAQCRDAEA0QwBAJIMAQDSDAEAkwwBANMMAQCUDAEA1AwBAJUMAQDVDAEAlgwBANYMAQCXDAEA1wwBAJgMAQDYDAEAmQwBANkMAQCaDAEA2gwBAJsMAQDbDAEAnAwBANwMAQCdDAEA3QwBAJ4MAQDeDAEAnwwBAN8MAQCgDAEA4AwBAKEMAQDhDAEAogwBAOIMAQCjDAEA4wwBAKQMAQDkDAEApQwBAOUMAQCmDAEA5gwBAKcMAQDnDAEAqAwBAOgMAQCpDAEA6QwBAKoMAQDqDAEAqwwBAOsMAQCsDAEA7AwBAK0MAQDtDAEArgwBAO4MAQCvDAEA7wwBALAMAQDwDAEAsQwBAPEMAQCyDAEA8gwBAFANAQBwDQEAUQ0BAHENAQBSDQEAcg0BAFMNAQBzDQEAVA0BAHQNAQBVDQEAdQ0BAFYNAQB2DQEAVw0BAHcNAQBYDQEAeA0BAFkNAQB5DQEAWg0BAHoNAQBbDQEAew0BAFwNAQB8DQEAXQ0BAH0NAQBeDQEAfg0BAF8NAQB/DQEAYA0BAIANAQBhDQEAgQ0BAGINAQCCDQEAYw0BAIMNAQBkDQEAhA0BAGUNAQCFDQEAoBgBAMAYAQChGAEAwRgBAKIYAQDCGAEAoxgBAMMYAQCkGAEAxBgBAKUYAQDFGAEAphgBAMYYAQCnGAEAxxgBAKgYAQDIGAEAqRgBAMkYAQCqGAEAyhgBAKsYAQDLGAEArBgBAMwYAQCtGAEAzRgBAK4YAQDOGAEArxgBAM8YAQCwGAEA0BgBALEYAQDRGAEAshgBANIYAQCzGAEA0xgBALQYAQDUGAEAtRgBANUYAQC2GAEA1hgBALcYAQDXGAEAuBgBANgYAQC5GAEA2RgBALoYAQDaGAEAuxgBANsYAQC8GAEA3BgBAL0YAQDdGAEAvhgBAN4YAQC/GAEA3xgBAEBuAQBgbgEAQW4BAGFuAQBCbgEAYm4BAENuAQBjbgEARG4BAGRuAQBFbgEAZW4BAEZuAQBmbgEAR24BAGduAQBIbgEAaG4BAEluAQBpbgEASm4BAGpuAQBLbgEAa24BAExuAQBsbgEATW4BAG1uAQBObgEAbm4BAE9uAQBvbgEAUG4BAHBuAQBRbgEAcW4BAFJuAQBybgEAU24BAHNuAQBUbgEAdG4BAFVuAQB1bgEAVm4BAHZuAQBXbgEAd24BAFhuAQB4bgEAWW4BAHluAQBabgEAem4BAFtuAQB7bgEAXG4BAHxuAQBdbgEAfW4BAF5uAQB+bgEAX24BAH9uAQAA6QEAIukBAAHpAQAj6QEAAukBACTpAQAD6QEAJekBAATpAQAm6QEABekBACfpAQAG6QEAKOkBAAfpAQAp6QEACOkBACrpAQAJ6QEAK+kBAArpAQAs6QEAC+kBAC3pAQAM6QEALukBAA3pAQAv6QEADukBADDpAQAP6QEAMekBABDpAQAy6QEAEekBADPpAQAS6QEANOkBABPpAQA16QEAFOkBADbpAQAV6QEAN+kBABbpAQA46QEAF+kBADnpAQAY6QEAOukBABnpAQA76QEAGukBADzpAQAb6QEAPekBABzpAQA+6QEAHekBAD/pAQAe6QEAQOkBAB/pAQBB6QEAIOkBAELpAQAh6QEAQ+kBAABBzLDBAAsYAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAOBIBG5hbWUACglydXN0Lndhc20Bi0iUAQBRc2VyZGVfd2FzbV9iaW5kZ2VuOjpPYmplY3RFeHQ6OnNldDo6X193Ymdfc2V0XzNmMWQwYjk4NGVkMjcyZWQ6OmhmMmYxMWU5MjY1NGM5YzQ5AUFqc19zeXM6OkFycmF5OjpuZXc6Ol9fd2JnX25ld19lMTdkOWY0MzEwNWIwOGJlOjpoYjg0N2I5OWI5ZTQzN2RjZQJCanNfc3lzOjpPYmplY3Q6Om5ldzo6X193YmdfbmV3XzFhY2MwYjZlZWE4OWQwNDA6Omg2NWQ3YWI5NDFhMzRmYTEwA0Fqc19zeXM6OkFycmF5OjpzZXQ6Ol9fd2JnX3NldF9jMjEzYzg3MTg1OWQ2NTAwOjpoNzNkZWFjMjY5MDE1Y2NkMQRod2FzbV9iaW5kZ2VuOjpfX3diaW5kZ2VuX2RlYnVnX3N0cmluZzo6X193YmdfX193YmluZGdlbl9kZWJ1Z19zdHJpbmdfZGY0N2ZmYjVlMzVlNjc2Mzo6aGQwYWRmYTk3OGY3ZWI1MTEFWndhc21fYmluZGdlbjo6X193YmluZGdlbl90aHJvdzo6X193YmdfX193YmluZGdlbl90aHJvd19iODU1NDQ1ZmY2YTk0Mjk1OjpoNjdmNDg3MDEzYzAxYjg3MAcYUmVmKFN0cmluZykgLT4gRXh0ZXJucmVmCDdhbGxvYzo6c3RyOjo8aW1wbCBzdHI+Ojp0b19sb3dlcmNhc2U6OmgyZTBiYzAyMzI1MDg0NTNjCTpkbG1hbGxvYzo6ZGxtYWxsb2M6OkRsbWFsbG9jPEE+OjptYWxsb2M6OmhmZjk1OGY1M2JhZTYzM2UzCkBoYXNoYnJvd246OnJhdzo6UmF3VGFibGU8VCxBPjo6cmVzZXJ2ZV9yZWhhc2g6Omg1YTM2ZjdhM2Y4ZGRkMzk4CzFjb3JlOjpzdHI6OnNsaWNlX2Vycm9yX2ZhaWxfcnQ6OmhiYTI5NjFmNTRiNzUzYWU3DDNjb3JlOjpzdHI6OmNvdW50Ojpkb19jb3VudF9jaGFyczo6aGI2NzE3NGJiMzY1ZjQ0OGINKF9fcnVzdGNbNTIyNGU2YjgxY2Q4MmE4Zl06Ol9fcmRsX3JlYWxsb2MODWdldF9rZXlfdmFsdWUPNWNvcmU6OmZtdDo6Rm9ybWF0dGVyOjpwYWRfaW50ZWdyYWw6OmgzNmJlMTNjMDdhNjNmZTVjEEVjb3JlOjpjaGFyOjptZXRob2RzOjo8aW1wbCBjaGFyPjo6ZXNjYXBlX2RlYnVnX2V4dDo6aDU5NThmOGUyYTdjMmYwZDgROGRsbWFsbG9jOjpkbG1hbGxvYzo6RGxtYWxsb2M8QT46OmZyZWU6OmgzY2RkNjViNGE1NjgxNTAyEixjb3JlOjpmbXQ6OkZvcm1hdHRlcjo6cGFkOjpoN2YxNThkMTM1NjgwOTM0NBM3c2VyZGVfd2FzbV9iaW5kZ2VuOjpzdGF0aWNfc3RyX3RvX2pzOjpoOTYzZmM2NmJmMTI5NTQ1ZRQjY29yZTo6Zm10Ojp3cml0ZTo6aDM5ZmVmMGM1NTQ2NTFmNzIVUzxjb3JlOjpmbXQ6OmJ1aWxkZXJzOjpQYWRBZGFwdGVyIGFzIGNvcmU6OmZtdDo6V3JpdGU+Ojp3cml0ZV9zdHI6OmhkYTAxMjY1NGFhMGIzMmI1FhFnZXRfbW9kaWZpZXJfY29kZRdFY29yZTo6dW5pY29kZTo6dW5pY29kZV9kYXRhOjpjb252ZXJzaW9uczo6dG9fbG93ZXI6OmgwY2Y0MjRiMTE3ZjM0ZDA0GEFkbG1hbGxvYzo6ZGxtYWxsb2M6OkRsbWFsbG9jPEE+OjpkaXNwb3NlX2NodW5rOjpoODFhOWVkZDIxOGEwZjA4ZhlRc3RkOjpzeXM6OnRocmVhZF9sb2NhbDo6bm9fdGhyZWFkczo6TGF6eVN0b3JhZ2U8VD46OmluaXRpYWxpemU6Omg1ODk5NDdjN2YyZjcwN2E2GjxkbG1hbGxvYzo6ZGxtYWxsb2M6OkRsbWFsbG9jPEE+OjptZW1hbGlnbjo6aDFkODhiMDY4YWIyMWI0N2UbF19fZXh0ZXJucmVmX3RhYmxlX2FsbG9jHEBkbG1hbGxvYzo6ZGxtYWxsb2M6OkRsbWFsbG9jPEE+Ojp1bmxpbmtfY2h1bms6OmhiZTBlNmY1ZjgzY2RhZWIxHUxjb3JlOjp1bmljb2RlOjp1bmljb2RlX2RhdGE6OmdyYXBoZW1lX2V4dGVuZDo6bG9va3VwX3Nsb3c6Omg2OGFjMDllOTYwYTBjZmU1HkZjb3JlOjp1bmljb2RlOjp1bmljb2RlX2RhdGE6OmNhc2VfaWdub3JhYmxlOjpsb29rdXA6Omg0YjA0M2JkZWI5Y2Q5MTQwHzJjb3JlOjp1bmljb2RlOjpwcmludGFibGU6OmNoZWNrOjpoNmYyZmRmYTEzMWM4ZGNiZCA4Y29yZTo6Zm10OjpudW06OmltcDo6PGltcGwgdTMyPjo6X2ZtdDo6aDI4NWI3YzhlN2ViNWM2ZTIhPWNvcmU6OnVuaWNvZGU6OnVuaWNvZGVfZGF0YTo6Y2FzZWQ6Omxvb2t1cDo6aGEwNDcyYjVlOTc0YzY3ZWMiR2NvcmU6OmZtdDo6bnVtOjo8aW1wbCBjb3JlOjpmbXQ6OkRlYnVnIGZvciB1MzI+OjpmbXQ6OmgyOGE2ZTU1OTMzY2FmZDliI0ZkbG1hbGxvYzo6ZGxtYWxsb2M6OkRsbWFsbG9jPEE+OjppbnNlcnRfbGFyZ2VfY2h1bms6OmhiZDM4NmZlZjIzOThmZDQ1JEo8YWxsb2M6OnN0cmluZzo6U3RyaW5nIGFzIGNvcmU6OmZtdDo6V3JpdGU+Ojp3cml0ZV9jaGFyOjpoOGMwMjQyOTBhYjNmYWY3MSV0PHN0ZDo6cGFuaWNraW5nOjpiZWdpbl9wYW5pY19oYW5kbGVyOjpGb3JtYXRTdHJpbmdQYXlsb2FkIGFzIGNvcmU6OnBhbmljOjpQYW5pY1BheWxvYWQ+Ojp0YWtlX2JveDo6aGQzYzlhODRlOWU1MDFjODkmUWFsbG9jOjpyYXdfdmVjOjpSYXdWZWNJbm5lcjxBPjo6cmVzZXJ2ZTo6ZG9fcmVzZXJ2ZV9hbmRfaGFuZGxlOjpoZGZlMWMwZThkZDIwZjQxZSdCY29yZTo6Zm10OjpGb3JtYXR0ZXI6OmRlYnVnX3R1cGxlX2ZpZWxkMV9maW5pc2g6OmhkY2MyNWUwNWUyY2M1NjNkKAxnZXRfa2V5X2NvZGUpN3N0ZDo6cGFuaWNraW5nOjpydXN0X3BhbmljX3dpdGhfaG9vazo6aDRmYTNkYWVhZDljNGUwYTcqUWFsbG9jOjpyYXdfdmVjOjpSYXdWZWNJbm5lcjxBPjo6cmVzZXJ2ZTo6ZG9fcmVzZXJ2ZV9hbmRfaGFuZGxlOjpoYmMwMWRiMWI3OWIzZDkxYys5Y29yZTo6dW5pY29kZTo6cHJpbnRhYmxlOjppc19wcmludGFibGU6Omg5YmMyNTFkNzZlOGI3NTBhLG88c3RkOjpwYW5pY2tpbmc6OmJlZ2luX3BhbmljX2hhbmRsZXI6OkZvcm1hdFN0cmluZ1BheWxvYWQgYXMgY29yZTo6cGFuaWM6OlBhbmljUGF5bG9hZD46OmdldDo6aDA1NDM2MjRjNzk2OTAzMWYtPXdhc21fYmluZGdlbjo6Y29udmVydDo6Y2xvc3VyZXM6Ol86Omludm9rZTo6aDQwNmYxNTBkMjg4NWI5MTUuQzx3YXNtX2JpbmRnZW46OkpzVmFsdWUgYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDcxYzU4YzFmZTU5NjkyYTUvQ3N0ZDo6cGFuaWNraW5nOjpiZWdpbl9wYW5pY19oYW5kbGVyOjp7e2Nsb3N1cmV9fTo6aGQ2YzFiMmQ5MzkyMjMxYWMwLmFsbG9jOjpyYXdfdmVjOjpmaW5pc2hfZ3Jvdzo6aDAxM2I4ZWRiZmYwZTBjZDIxLmFsbG9jOjpyYXdfdmVjOjpmaW5pc2hfZ3Jvdzo6aGMyMGIzMmU5NThjZTg1NDMyLmFsbG9jOjpyYXdfdmVjOjpmaW5pc2hfZ3Jvdzo6aDYzM2YxYTI4ODgxYjAwZjgzMjxjaGFyIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6Omg0MjcxYTZmNDFkYWY1MmU2NGg8c3RkOjpwYW5pY2tpbmc6OmJlZ2luX3BhbmljX2hhbmRsZXI6OkZvcm1hdFN0cmluZ1BheWxvYWQgYXMgY29yZTo6Zm10OjpEaXNwbGF5Pjo6Zm10OjpoMjRkMDU4ZjViNDZiMTJjYzUuY29yZTo6cmVzdWx0Ojp1bndyYXBfZmFpbGVkOjpoYzlmMGNkNWYyY2IwNjE4NTYZX19leHRlcm5yZWZfdGFibGVfZGVhbGxvYzc2Y29yZTo6cGFuaWNraW5nOjpwYW5pY19ib3VuZHNfY2hlY2s6OmgwZGI0OGEyMjM5ZjdhYTRjOFJjb3JlOjpzbGljZTo6aW5kZXg6OnNsaWNlX2VuZF9pbmRleF9sZW5fZmFpbDo6ZG9fcGFuaWM6OnJ1bnRpbWU6Omg3YjIzYWNmN2U0ZmMzOTg5OVBjb3JlOjpzbGljZTo6aW5kZXg6OnNsaWNlX2luZGV4X29yZGVyX2ZhaWw6OmRvX3BhbmljOjpydW50aW1lOjpoMmI4N2FkM2VlNzNkN2ViZTo3c3RkOjphbGxvYzo6ZGVmYXVsdF9hbGxvY19lcnJvcl9ob29rOjpoMjRiMzAwNzU3MzU1ZDU1NzsoX19ydXN0Y1s1MjI0ZTZiODFjZDgyYThmXTo6X19yZGxfZGVhbGxvYzxJPGFsbG9jOjpzdHJpbmc6OlN0cmluZyBhcyBjb3JlOjpmbXQ6OldyaXRlPjo6d3JpdGVfc3RyOjpoOTAxMzk3NTkwODM2YjdkNz01Y29yZTo6Y2VsbDo6cGFuaWNfYWxyZWFkeV9ib3Jyb3dlZDo6aDBlNzc1MjA4ZDcxMWMyYmI+Bm1lbWNtcD9IPGRsbWFsbG9jOjpzeXM6OlN5c3RlbSBhcyBkbG1hbGxvYzo6QWxsb2NhdG9yPjo6YWxsb2M6Omg3ZTkzMTkzYmI4MDRjZDdhQEFoYXNoYnJvd246OnJhdzo6RmFsbGliaWxpdHk6OmNhcGFjaXR5X292ZXJmbG93OjpoMDYyZjA1M2NlZjg5NDg5NkFUPGNvcmU6OmZtdDo6YnVpbGRlcnM6OlBhZEFkYXB0ZXIgYXMgY29yZTo6Zm10OjpXcml0ZT46OndyaXRlX2NoYXI6OmhjMTBhMzYyYTQ5NjNiOTNiQjhzdGQ6OnBhbmlja2luZzo6cGFuaWNfY291bnQ6OmluY3JlYXNlOjpoNzU0ZDgxOTQ3MGEzOTUyMUNOY29yZTo6Zm10OjpudW06OmltcDo6PGltcGwgY29yZTo6Zm10OjpEaXNwbGF5IGZvciB1MzI+OjpmbXQ6OmhlZDQ0ZWQzMmI3MmY5NGU1RHE8c3RkOjpwYW5pY2tpbmc6OmJlZ2luX3BhbmljX2hhbmRsZXI6OlN0YXRpY1N0clBheWxvYWQgYXMgY29yZTo6cGFuaWM6OlBhbmljUGF5bG9hZD46OnRha2VfYm94OjpoMmFiMDRiM2NiMzhmYTQ2ZUUpY29yZTo6cGFuaWNraW5nOjpwYW5pYzo6aGFhMmRkYmRmMWVhNTY0MTdGQ2NvcmU6OmZtdDo6Rm9ybWF0dGVyOjpwYWRfaW50ZWdyYWw6OndyaXRlX3ByZWZpeDo6aDdlMTM0NGQ4MzZiNTg2YzVHNGFsbG9jOjpyYXdfdmVjOjpjYXBhY2l0eV9vdmVyZmxvdzo6aDgxZWExZGJlN2M3NGQ3NjVISjxjb3JlOjpvcHM6OnJhbmdlOjpSYW5nZTxJZHg+IGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6Omg4MzRjYzVlNDJkMjY1MzA4SU48c2VyZGVfd2FzbV9iaW5kZ2VuOjplcnJvcjo6RXJyb3IgYXMgY29yZTo6Zm10OjpEZWJ1Zz46OmZtdDo6aDNiZDVmMGZlMTg5MzdmZDZKEV9fd2JpbmRnZW5fbWFsbG9jSyxfX3J1c3RjWzUyMjRlNmI4MWNkODJhOGZdOjpydXN0X2JlZ2luX3Vud2luZEwtY29yZTo6cGFuaWNraW5nOjpwYW5pY19mbXQ6OmhkMzA1MmEzNjYyZDUwYzk1TRJfX3diaW5kZ2VuX3JlYWxsb2NOIWdldF9tb2RpZmllcl9jb2RlIG11bHRpdmFsdWUgc2hpbU89d2FzbV9iaW5kZ2VuOjpjb252ZXJ0OjpjbG9zdXJlczo6Xzo6aW52b2tlOjpoMjM0MzliMTI0NWYxNDlhMlA9d2FzbV9iaW5kZ2VuOjpjb252ZXJ0OjpjbG9zdXJlczo6Xzo6aW52b2tlOjpoNDRiMjU3MzdhM2NjZWY3NlE9d2FzbV9iaW5kZ2VuOjpjb252ZXJ0OjpjbG9zdXJlczo6Xzo6aW52b2tlOjpoNGQyZWRlZTFiNTc0NjJkYlI9d2FzbV9iaW5kZ2VuOjpjb252ZXJ0OjpjbG9zdXJlczo6Xzo6aW52b2tlOjpoNGU2ZTM5ZjNiNDdhYmYxNFM9d2FzbV9iaW5kZ2VuOjpjb252ZXJ0OjpjbG9zdXJlczo6Xzo6aW52b2tlOjpoNzY5Yzc2OTM3ZDA1YzllOFQ9d2FzbV9iaW5kZ2VuOjpjb252ZXJ0OjpjbG9zdXJlczo6Xzo6aW52b2tlOjpoN2Y4NGJjN2RkNDVjMzZjYlU9d2FzbV9iaW5kZ2VuOjpjb252ZXJ0OjpjbG9zdXJlczo6Xzo6aW52b2tlOjpoODBjYjQ5NTUyZDljNjVhOVY9d2FzbV9iaW5kZ2VuOjpjb252ZXJ0OjpjbG9zdXJlczo6Xzo6aW52b2tlOjpoOGI5NTQwODA2ZDYwMzZmOVc9d2FzbV9iaW5kZ2VuOjpjb252ZXJ0OjpjbG9zdXJlczo6Xzo6aW52b2tlOjpoZDlmMTQyNGM4MWI5YjdiM1hlY29yZTo6cHRyOjpkcm9wX2luX3BsYWNlPHN0ZDo6cGFuaWNraW5nOjpiZWdpbl9wYW5pY19oYW5kbGVyOjpGb3JtYXRTdHJpbmdQYXlsb2FkPjo6aGQ5MDQ5NDI0NmUwODAzYWFZOWhhc2hicm93bjo6cmF3OjpGYWxsaWJpbGl0eTo6YWxsb2NfZXJyOjpoYWRkOTZlZWNiOTg1YjczOFo9d2FzbV9iaW5kZ2VuOjpjb252ZXJ0OjpjbG9zdXJlczo6Xzo6aW52b2tlOjpoODMxMGYwZmNjMDEyNzdmNFs9d2FzbV9iaW5kZ2VuOjpjb252ZXJ0OjpjbG9zdXJlczo6Xzo6aW52b2tlOjpoYzY2MGRiYTgxZDIwMmZjNlxpPCZzZXJkZV93YXNtX2JpbmRnZW46OnNlcjo6U2VyaWFsaXplciBhcyBzZXJkZV9jb3JlOjpzZXI6OlNlcmlhbGl6ZXI+OjpzZXJpYWxpemVfdHVwbGU6OmgzMTZmYzBiYjBmOGI0MDI5XUJjb3JlOjpwdHI6OmRyb3BfaW5fcGxhY2U8YWxsb2M6OnN0cmluZzo6U3RyaW5nPjo6aGExZDBjODVhOWU5YTM3MWFeVmNvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxjb3JlOjpvcHRpb246Ok9wdGlvbjxhbGxvYzo6dmVjOjpWZWM8dTg+Pj46OmgxNWYyMDcyYmU5MGViOTJkXyZfX3J1c3RjWzUyMjRlNmI4MWNkODJhOGZdOjpfX3JkbF9hbGxvY2AvYWxsb2M6OnJhd192ZWM6OmhhbmRsZV9lcnJvcjo6aDI4YTE0YTAzZDE4ZTQyZTNhYHNlcmRlX3dhc21fYmluZGdlbjo6T2JqZWN0RXh0OjpzZXQ6Ol9fd2JnX3NldF8zZjFkMGI5ODRlZDI3MmVkOjpoZjJmMTFlOTI2NTRjOWM0OSBleHRlcm5yZWYgc2hpbWIjX19ydXN0Y1s1MjI0ZTZiODFjZDgyYThmXTo6X19yZ19vb21jQ2NvcmU6OmFsbG9jOjpsYXlvdXQ6OkxheW91dDo6aXNfc2l6ZV9hbGlnbl92YWxpZDo6aGJlYTY5ZjA4NWJiMDFiY2VkTWNvcmU6OnB0cjo6ZHJvcF9pbl9wbGFjZTxzZXJkZV93YXNtX2JpbmRnZW46OmVycm9yOjpFcnJvcj46OmhmMzkzNDdlNjU3NDFjZTViZSdSZWYoU3RyaW5nKSAtPiBFeHRlcm5yZWYgZXh0ZXJucmVmIHNoaW1mKV9fcnVzdGNbNTIyNGU2YjgxY2Q4MmE4Zl06Ol9fcnVzdF9yZWFsbG9jZ3A8JnNlcmRlX3dhc21fYmluZGdlbjo6c2VyOjpTZXJpYWxpemVyIGFzIHNlcmRlX2NvcmU6OnNlcjo6U2VyaWFsaXplcj46OnNlcmlhbGl6ZV91bml0X3ZhcmlhbnQ6Omg5ZmZhMGUwNWM1ZjRhMTEwaGc8JnNlcmRlX3dhc21fYmluZGdlbjo6c2VyOjpTZXJpYWxpemVyIGFzIHNlcmRlX2NvcmU6OnNlcjo6U2VyaWFsaXplcj46OnNlcmlhbGl6ZV9zdHI6OmhiYzFhM2MyMjJiMjI4ODM5aQ9fX3diaW5kZ2VuX2ZyZWVqJV9fcnVzdGNbNTIyNGU2YjgxY2Q4MmE4Zl06OnJ1c3RfcGFuaWNrMmNvcmU6OmZtdDo6Rm9ybWF0dGVyOjp3cml0ZV9zdHI6OmgyOTgxNmQ2MTBmNDY3M2VmbFBqc19zeXM6OkFycmF5OjpzZXQ6Ol9fd2JnX3NldF9jMjEzYzg3MTg1OWQ2NTAwOjpoNzNkZWFjMjY5MDE1Y2NkMSBleHRlcm5yZWYgc2hpbW0wPCZUIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6OmhiOTliZWY2OTA3ODE4YTU1bi5jb3JlOjpzdHI6OnNsaWNlX2Vycm9yX2ZhaWw6Omg3ZWYyZmM1YmY4ODU0NTBlb1Bqc19zeXM6OkFycmF5OjpuZXc6Ol9fd2JnX25ld19lMTdkOWY0MzEwNWIwOGJlOjpoYjg0N2I5OWI5ZTQzN2RjZSBleHRlcm5yZWYgc2hpbXBRanNfc3lzOjpPYmplY3Q6Om5ldzo6X193YmdfbmV3XzFhY2MwYjZlZWE4OWQwNDA6Omg2NWQ3YWI5NDFhMzRmYTEwIGV4dGVybnJlZiBzaGltcRxnZXRfa2V5X3ZhbHVlIGV4dGVybnJlZiBzaGltcidfX3J1c3RjWzUyMjRlNmI4MWNkODJhOGZdOjpfX3J1c3RfYWxsb2Nzajwmc2VyZGVfd2FzbV9iaW5kZ2VuOjpzZXI6OlNlcmlhbGl6ZXIgYXMgc2VyZGVfY29yZTo6c2VyOjpTZXJpYWxpemVyPjo6c2VyaWFsaXplX3N0cnVjdDo6aDE5OTc1MDUwZTY0MzViNDB0RTxhbGxvYzo6c3RyaW5nOjpTdHJpbmcgYXMgY29yZTo6Zm10OjpEaXNwbGF5Pjo6Zm10OjpoOTg1ZTFiOGRmMTcyNzg0NXUxPFQgYXMgY29yZTo6YW55OjpBbnk+Ojp0eXBlX2lkOjpoMTUyZGEyNTFiOTRkZTRmMHYxPFQgYXMgY29yZTo6YW55OjpBbnk+Ojp0eXBlX2lkOjpoZmNiMTkxZTZmMjA1NmU2ZHdsPHN0ZDo6cGFuaWNraW5nOjpiZWdpbl9wYW5pY19oYW5kbGVyOjpTdGF0aWNTdHJQYXlsb2FkIGFzIGNvcmU6OnBhbmljOjpQYW5pY1BheWxvYWQ+OjpnZXQ6OmgzYmM3MWNiZjhhZmNhYjgweGU8c3RkOjpwYW5pY2tpbmc6OmJlZ2luX3BhbmljX2hhbmRsZXI6OlN0YXRpY1N0clBheWxvYWQgYXMgY29yZTo6Zm10OjpEaXNwbGF5Pjo6Zm10OjpoM2FkNTM1YjYzMDJkYjhhMHkyPCZUIGFzIGNvcmU6OmZtdDo6RGlzcGxheT46OmZtdDo6aDk4ZjIxZTVlY2UwNzMyNTl6G19fd2JpbmRnZW5fb2JqZWN0X2Nsb25lX3JlZnspX19ydXN0Y1s1MjI0ZTZiODFjZDgyYThmXTo6X19ydXN0X2RlYWxsb2N8NXNlcmRlX3dhc21fYmluZGdlbjo6T2JqZWN0RXh0OjpzZXQ6Omg4NmY5OTdlMDI1MTZiMjUwfSVqc19zeXM6OkFycmF5OjpzZXQ6OmhlMTI1ZTMyMDc1OGZkMjk3fj9jb3JlOjpzbGljZTo6aW5kZXg6OnNsaWNlX2VuZF9pbmRleF9sZW5fZmFpbDo6aDQ3YzczZjc4OGMyZTcxMWZ/PWNvcmU6OnNsaWNlOjppbmRleDo6c2xpY2VfaW5kZXhfb3JkZXJfZmFpbDo6aDVmNGM1MjE4ZGY5ODRkM2OAAS5jb3JlOjpvcHRpb246OnVud3JhcF9mYWlsZWQ6Omg3ZjA0Y2QxNTE1OTVkMGU5gQEwPCZUIGFzIGNvcmU6OmZtdDo6RGVidWc+OjpmbXQ6OmgzZGNiOGM5NmUwMTY1ZTg0ggE1X19ydXN0Y1s1MjI0ZTZiODFjZDgyYThmXTo6X19ydXN0X2FsbG9jX2Vycm9yX2hhbmRsZXKDASp3YXNtX2JpbmRnZW46OnRocm93X3N0cjo6aDJlOGQ5MWVlOTUwMGM2M2KEAS5jb3JlOjpmbXQ6OldyaXRlOjp3cml0ZV9mbXQ6Omg5OGJlMzA2Y2ZjNzQ2ZjQ3hQFvPHN0ZDo6cGFuaWNraW5nOjpiZWdpbl9wYW5pY19oYW5kbGVyOjpTdGF0aWNTdHJQYXlsb2FkIGFzIGNvcmU6OnBhbmljOjpQYW5pY1BheWxvYWQ+Ojphc19zdHI6Omg0NTgzMjhmNzRmMDZhOWVhhgEzYWxsb2M6OmFsbG9jOjpoYW5kbGVfYWxsb2NfZXJyb3I6OmhiYzcyMWU4ZGQzYjZmZmNlhwFKPGNvcmU6OmNlbGw6OkJvcnJvd011dEVycm9yIGFzIGNvcmU6OmZtdDo6RGlzcGxheT46OmZtdDo6aGZiOGVjMDcyN2JhM2MwMTKIAS5jb3JlOjpmbXQ6OldyaXRlOjp3cml0ZV9mbXQ6OmhiZWY1ZTdkNDY1ZmU2Y2NliQEzPHN0ciBhcyBjb3JlOjpmbXQ6OkRpc3BsYXk+OjpmbXQ6OmgzZTYxYzJjMjUzNGQ0ZGU5igF3d2FzbV9iaW5kZ2VuOjpfX3diaW5kZ2VuX2RlYnVnX3N0cmluZzo6X193YmdfX193YmluZGdlbl9kZWJ1Z19zdHJpbmdfZGY0N2ZmYjVlMzVlNjc2Mzo6aGQwYWRmYTk3OGY3ZWI1MTEgZXh0ZXJucmVmIHNoaW2LAU08anNfc3lzOjpKc1N0cmluZyBhcyBjb3JlOjpzdHI6OnRyYWl0czo6RnJvbVN0cj46OmZyb21fc3RyOjpoMWI1ZmY3ZjE5M2M0M2NkNowBMXdhc21fYmluZGdlbjo6X193YmluZGdlbl90aHJvdzo6aDcwYzRiZGMwOGIzZjQwZmaNATRjb3JlOjpwYW5pYzo6UGFuaWNQYXlsb2FkOjphc19zdHI6OmgwNjg0NzFmODU2NTllOGQ0jgFCc3RkOjpzeXM6OmJhY2t0cmFjZTo6X19ydXN0X2VuZF9zaG9ydF9iYWNrdHJhY2U6Omg1OWQ2YzQwMmU0MGExNjg1jwE1d2FzbV9iaW5kZ2VuOjpfX3J0OjptYWxsb2NfZmFpbHVyZTo6aDQ5MjUxMTcyZWRhN2FlODCQAS1fX3J1c3RjWzUyMjRlNmI4MWNkODJhOGZdOjpfX3J1c3Rfc3RhcnRfcGFuaWORAT5fX3J1c3RjWzUyMjRlNmI4MWNkODJhOGZdOjpfX3J1c3Rfbm9fYWxsb2Nfc2hpbV9pc191bnN0YWJsZV92MpIBJWpzX3N5czo6QXJyYXk6Om5ldzo6aDhlYzE2YmVkZWZiZTU3YjOTASZqc19zeXM6Ok9iamVjdDo6bmV3OjpoZGQ2ODk0YjI1ZTEzOTVkNpQBJ19fcnVzdGNbNTIyNGU2YjgxY2Q4MmE4Zl06Ol9fcnVzdF9hYm9ydAUYAQEVX193YmluZGdlbl9leHRlcm5yZWZzBxIBAA9fX3N0YWNrX3BvaW50ZXIJEQIABy5yb2RhdGEBBS5kYXRhAHAJcHJvZHVjZXJzAghsYW5ndWFnZQEEUnVzdAAMcHJvY2Vzc2VkLWJ5AwVydXN0Yx0xLjg5LjAgKDI5NDgzODgzZSAyMDI1LTA4LTA0KQZ3YWxydXMGMC4yNC40DHdhc20tYmluZGdlbgcwLjIuMTA1AJQBD3RhcmdldF9mZWF0dXJlcwgrC2J1bGstbWVtb3J5Kw9idWxrLW1lbW9yeS1vcHQrFmNhbGwtaW5kaXJlY3Qtb3ZlcmxvbmcrCm11bHRpdmFsdWUrD211dGFibGUtZ2xvYmFscysTbm9udHJhcHBpbmctZnB0b2ludCsPcmVmZXJlbmNlLXR5cGVzKwhzaWduLWV4dA==", self.location));
893
+ const B = x();
894
+ (typeof A == "string" || typeof Request == "function" && A instanceof Request || typeof URL == "function" && A instanceof URL) && (A = fetch(A));
895
+ const { instance: Q, module: g } = await W(await A, B);
896
+ return K(Q, g);
897
+ }
898
+ let U = null, R = false;
899
+ async function r() {
900
+ try {
901
+ return R || (U = await m(), R = true), U;
902
+ } catch (A) {
903
+ return console.error("Error initializing WASM:", A), null;
904
+ }
905
+ }
906
+ function H() {
907
+ return R;
908
+ }
909
+ function b(A) {
910
+ return Array.from(new Set(A));
911
+ }
912
+ async function e$1() {
913
+ try {
914
+ await r();
915
+ } catch (A) {
916
+ console.warn("Failed to initialize WASM, falling back to JS implementation:", A);
917
+ }
918
+ }
919
+ class Z {
920
+ constructor(B = "global", Q = document, g = "keydown") {
921
+ if (g !== "keydown" && g !== "keyup")
922
+ throw new Error(g, "\u4E8B\u4EF6\u7C7B\u578B\u4EC5\u652F\u6301keydown\u3001keyup");
923
+ this.eventType = g, this.namespace = B, this.selection = n(Q), this.bindedKeys = [], this.bindings = this.bindings.bind(this), this.capture = this.capture.bind(this), this.bubble = this.bubble.bind(this), this.init();
759
924
  }
760
925
  init() {
926
+ try {
927
+ e$1();
928
+ } catch (B) {
929
+ console.warn("Failed to initialize WASM, falling back to JS implementation:", B);
930
+ }
761
931
  return this.selection.on(`${this.eventType}.capture.${this.namespace}`, this.capture, true), this.selection.on(`${this.eventType}.bubble.${this.namespace}`, this.bubble, false), this;
762
932
  }
763
- bindings(e2, t2) {
764
- var r2, n2, s2 = false, a2 = Object.keys(this.bindedKeys).map(function(e3) {
765
- return this.bindedKeys[e3];
766
- }.bind(this));
767
- for (r2 = 0; r2 < a2.length; r2++)
768
- if ((n2 = a2[r2]).event.modifiers.shiftKey && !!n2.capture === t2 && i2(e2, n2, true)) {
769
- n2.callback(e2), s2 = true, e2.preventDefault();
933
+ bindings(B, Q) {
934
+ var g = false, C = Object.keys(this.bindedKeys).map(function(N) {
935
+ return this.bindedKeys[N];
936
+ }.bind(this)), E, I;
937
+ for (E = 0; E < C.length; E++)
938
+ if (I = C[E], !!I.event.modifiers.shiftKey && !!I.capture === Q && i(B, I, true)) {
939
+ I.callback(B), g = true, B.preventDefault();
770
940
  break;
771
941
  }
772
- if (!s2) {
773
- for (r2 = 0; r2 < a2.length; r2++)
774
- if (!(n2 = a2[r2]).event.modifiers.shiftKey && !!n2.capture === t2 && i2(e2, n2, false)) {
775
- n2.callback(e2), e2.preventDefault();
776
- break;
777
- }
778
- }
779
- function i2(e3, t3, r3) {
780
- var n3 = e3, s3 = false, a3 = true;
781
- if (void 0 !== n3.key && (a3 = n3.key.charCodeAt(0) > 255, s3 = true, void 0 === t3.event.key ? s3 = false : Array.isArray(t3.event.key) ? -1 === t3.event.key.map(function(e4) {
782
- return e4.toLowerCase();
783
- }).indexOf(n3.key.toLowerCase()) && (s3 = false) : n3.key.toLowerCase() !== t3.event.key.toLowerCase() && (s3 = false)), s3 || !a3 && !t3.event.modifiers.shiftKey || (s3 = n3.keyCode === t3.event.keyCode), !s3)
784
- return false;
785
- if (!n3.ctrlKey || !n3.altKey) {
786
- if (n3.ctrlKey !== t3.event.modifiers.ctrlKey)
787
- return false;
788
- if (n3.altKey !== t3.event.modifiers.altKey)
789
- return false;
942
+ if (g)
943
+ return;
944
+ for (E = 0; E < C.length; E++)
945
+ if (I = C[E], !I.event.modifiers.shiftKey && !!I.capture === Q && i(B, I, false)) {
946
+ I.callback(B), B.preventDefault();
947
+ break;
790
948
  }
791
- return n3.metaKey === t3.event.modifiers.metaKey && (!r3 || n3.shiftKey === t3.event.modifiers.shiftKey);
792
- }
793
- }
794
- capture(e2) {
795
- this.bindings(e2, true);
796
- }
797
- bubble(t2) {
798
- var r2 = e$1(t2.target).node().tagName;
799
- "INPUT" !== r2 && "SELECT" !== r2 && "TEXTAREA" !== r2 && "true" !== String(t2.target.getAttribute("contenteditable")) && this.bindings(t2, false);
800
- }
801
- on(e2, i2, o2) {
802
- if ("function" != typeof i2)
803
- return this.off(e2, o2);
804
- for (var c2 = a([].concat(e2)), l = 0; l < c2.length; l++) {
805
- var u = c2[l] + (o2 ? "-capture" : "-bubble"), p = { id: u, capture: o2, callback: i2, event: { key: void 0, keyCode: 0, modifiers: { shiftKey: false, ctrlKey: false, altKey: false, metaKey: false } } };
806
- this.bindedKeys[u] && console.warn('warning: duplicate keybinding for "' + u + '"'), this.bindedKeys[u] = p;
807
- for (var f = c2[l].toLowerCase().match(/(?:(?:[^+⇧⌃⌥⌘])+|[⇧⌃⌥⌘]|\+\+|^\+$)/g), d = 0; d < f.length; d++)
808
- if ("++" === f[d] && (f[d] = "+"), f[d] in t) {
809
- var h = r[t[f[d]]];
810
- p.event.modifiers[h] = true;
811
- } else
812
- p.event.key = n[f[d]] || f[d], f[d] in s && (p.event.keyCode = s[f[d]]);
949
+ function i(N, w, G) {
950
+ var c = N, Y = false, t = true;
951
+ return c.key !== void 0 && (t = c.key.charCodeAt(0) > 255, Y = true, w.event.key === void 0 ? Y = false : Array.isArray(w.event.key) ? w.event.key.map(function(O) {
952
+ return O.toLowerCase();
953
+ }).indexOf(c.key.toLowerCase()) === -1 && (Y = false) : c.key.toLowerCase() !== w.event.key.toLowerCase() && (Y = false)), !Y && (t || w.event.modifiers.shiftKey) && (Y = c.keyCode === w.event.keyCode), !(!Y || !(c.ctrlKey && c.altKey) && (c.ctrlKey !== w.event.modifiers.ctrlKey || c.altKey !== w.event.modifiers.altKey) || c.metaKey !== w.event.modifiers.metaKey || G && c.shiftKey !== w.event.modifiers.shiftKey);
954
+ }
955
+ }
956
+ async capture(B) {
957
+ await e$1(), this.bindings(B, true);
958
+ }
959
+ async bubble(B) {
960
+ await e$1();
961
+ var Q = n(B.target).node().tagName;
962
+ Q === "INPUT" || Q === "SELECT" || Q === "TEXTAREA" || String(B.target.getAttribute("contenteditable")) !== "true" && this.bindings(B, false);
963
+ }
964
+ on(B, Q, g) {
965
+ if (typeof Q != "function")
966
+ return this.off(B, g);
967
+ const C = () => {
968
+ var Y;
969
+ for (var E = b([].concat(B)), I = 0; I < E.length; I++) {
970
+ var i = E[I] + (g ? "-capture" : "-bubble"), N = { id: i, capture: g, callback: Q, event: { key: void 0, keyCode: 0, modifiers: { shiftKey: false, ctrlKey: false, altKey: false, metaKey: false } } };
971
+ this.bindedKeys[i] && console.warn('warning: duplicate keybinding for "' + i + '"'), this.bindedKeys[i] = N;
972
+ for (var w = E[I].toLowerCase().match(/(?:(?:[^+⇧⌃⌥⌘])+|[⇧⌃⌥⌘]|\+\+|^\+$)/g), G = 0; G < w.length; G++)
973
+ if (w[G] === "++" && (w[G] = "+"), d(w[G])) {
974
+ var c = d(w[G]);
975
+ N.event.modifiers[c] = true;
976
+ } else
977
+ N.event.key = ((Y = S(w[G])) == null ? void 0 : Y.value) || w[G], N.event.keyCode = p(w[G]) || 0;
978
+ }
979
+ };
980
+ if (H())
981
+ C();
982
+ else {
983
+ const E = setInterval(() => {
984
+ H() && (clearInterval(E), C());
985
+ }, 200);
813
986
  }
814
987
  return this;
815
988
  }
@@ -819,21 +992,21 @@ class i {
819
992
  clear() {
820
993
  return this.bindedKeys = {}, this;
821
994
  }
822
- off(e2, t2) {
823
- for (var r2 = a([].concat(e2)), n2 = 0; n2 < r2.length; n2++) {
824
- var s2 = r2[n2] + (true === t2 ? "-capture" : "-bubble");
825
- delete this.bindedKeys[s2];
995
+ off(B, Q) {
996
+ for (var g = b([].concat(B)), C = 0; C < g.length; C++) {
997
+ var E = g[C] + (Q === true ? "-capture" : "-bubble");
998
+ delete this.bindedKeys[E];
826
999
  }
827
1000
  return this;
828
1001
  }
829
1002
  }
830
- new i("global", document, "keydown");
831
- new i("global", document, "keyup");
1003
+ new Z("global", document, "keydown");
1004
+ new Z("global", document, "keyup");
832
1005
  class KeyboardControl extends CommonCtrol {
833
1006
  _onBindKeyboards(actions, namespace2) {
834
- this.keybinding = new i(namespace2);
835
- actions.forEach((o) => {
836
- this.keybinding.on(o.code, o.action);
1007
+ this.keybinding = new Z(namespace2);
1008
+ actions.forEach((o2) => {
1009
+ this.keybinding.on(o2.code, o2.action);
837
1010
  });
838
1011
  }
839
1012
  _onUnbindKeyboards() {
@@ -867,10 +1040,10 @@ class ContextMenu extends KeyboardControl {
867
1040
  });
868
1041
  const menus = getChildNodes(this.props.menus);
869
1042
  this._onBindKeyboards([
870
- ...menus.map((o) => ({
871
- code: o.code,
1043
+ ...menus.map((o2) => ({
1044
+ code: o2.code,
872
1045
  action: () => {
873
- o.click();
1046
+ o2.click();
874
1047
  this.onEmpty();
875
1048
  }
876
1049
  })),
@@ -905,9 +1078,9 @@ class ContextMenu extends KeyboardControl {
905
1078
  svg.setAttribute("version", "1.1");
906
1079
  svg.setAttribute("width", "13");
907
1080
  svg.setAttribute("height", "13");
908
- record.icons.forEach((d) => {
1081
+ record.icons.forEach((d2) => {
909
1082
  const path = document.createElementNS("http://www.w3.org/2000/svg", "path");
910
- path.setAttribute("d", d);
1083
+ path.setAttribute("d", d2);
911
1084
  svg.appendChild(path);
912
1085
  });
913
1086
  menuItem.appendChild(svg);
@@ -920,7 +1093,7 @@ class ContextMenu extends KeyboardControl {
920
1093
  render({ left, top }) {
921
1094
  this.onEmpty();
922
1095
  if (this.props.menus.length > 0) {
923
- const { x, y } = this.container.getBoundingClientRect();
1096
+ const { x: x2, y: y2 } = this.container.getBoundingClientRect();
924
1097
  const menuElement = document.createElement("aside");
925
1098
  menuElement.classList.add(
926
1099
  "wbk-contextmenus",
@@ -933,8 +1106,8 @@ class ContextMenu extends KeyboardControl {
933
1106
  "d-b",
934
1107
  "c-auto"
935
1108
  );
936
- menuElement.style.left = `${left - x}px`;
937
- menuElement.style.top = `${top - y}px`;
1109
+ menuElement.style.left = `${left - x2}px`;
1110
+ menuElement.style.top = `${top - y2}px`;
938
1111
  menuElement.style.display = "block";
939
1112
  this.props.menus.forEach((item) => {
940
1113
  const itemElement = document.createElement("div");
@@ -953,9 +1126,9 @@ class ContextMenu extends KeyboardControl {
953
1126
  svg.setAttribute("version", "1.1");
954
1127
  svg.setAttribute("width", "13");
955
1128
  svg.setAttribute("height", "13");
956
- item.icons.forEach((d) => {
1129
+ item.icons.forEach((d2) => {
957
1130
  const path = document.createElementNS("http://www.w3.org/2000/svg", "path");
958
- path.setAttribute("d", d);
1131
+ path.setAttribute("d", d2);
959
1132
  svg.appendChild(path);
960
1133
  });
961
1134
  section.appendChild(svg);
@@ -987,50 +1160,50 @@ class ContextMenu extends KeyboardControl {
987
1160
  }
988
1161
  var style$1 = "";
989
1162
  var style = "";
990
- function e(e2 = "WBIOKR-DB", t2 = 1, n2 = "WBIOKR-STORE", r2 = "id") {
991
- let o;
1163
+ function e(e2 = "WBIOKR-DB", t = 1, n2 = "WBIOKR-STORE", r2 = "id") {
1164
+ let o2;
992
1165
  const s2 = window.indexedDB || window.webikitIndexedDB || window.mozIndexedDB || window.msIndexedDB;
993
1166
  if (!s2)
994
1167
  return u;
995
- const c = s2 == null ? void 0 : s2.open(e2, t2);
996
- function u(e3, t3) {
1168
+ const c = s2 == null ? void 0 : s2.open(e2, t);
1169
+ function u(e3, t2) {
997
1170
  try {
998
- return 0 === arguments.length ? new Promise((e4, t4) => {
999
- const r3 = o.transaction([n2]).objectStore(n2).getAll();
1171
+ return 0 === arguments.length ? new Promise((e4, t3) => {
1172
+ const r3 = o2.transaction([n2]).objectStore(n2).getAll();
1000
1173
  r3.onsuccess = () => {
1001
- r3.result ? e4(r3.result) : t4("\u83B7\u53D6\u5931\u8D25");
1174
+ r3.result ? e4(r3.result) : t3("\u83B7\u53D6\u5931\u8D25");
1002
1175
  }, r3.onerror = (e5) => {
1003
- t4(e5);
1176
+ t3(e5);
1004
1177
  };
1005
1178
  }) : 1 === arguments.length ? function(e4) {
1006
- return new Promise((t4, r3) => {
1007
- const s3 = o.transaction([n2]).objectStore(n2).get(e4);
1179
+ return new Promise((t3, r3) => {
1180
+ const s3 = o2.transaction([n2]).objectStore(n2).get(e4);
1008
1181
  s3.onsuccess = (e5) => {
1009
- s3.result ? t4(s3.result) : r3(null);
1182
+ s3.result ? t3(s3.result) : r3(null);
1010
1183
  }, s3.onerror = (e5) => {
1011
1184
  r3(e5);
1012
1185
  };
1013
1186
  });
1014
- }(e3) : 2 === arguments.length ? function(e4, t4) {
1187
+ }(e3) : 2 === arguments.length ? function(e4, t3) {
1015
1188
  return new Promise((e5, r3) => {
1016
- const s3 = o.transaction([n2], "readwrite").objectStore(n2).put(t4);
1017
- s3.onsuccess = (t5) => {
1018
- e5(t5);
1189
+ const s3 = o2.transaction([n2], "readwrite").objectStore(n2).put(t3);
1190
+ s3.onsuccess = (t4) => {
1191
+ e5(t4);
1019
1192
  }, s3.onerror = (e6) => {
1020
1193
  r3(e6);
1021
1194
  };
1022
1195
  });
1023
- }(0, t3) : Promise.reject("\u53C2\u6570\u6709\u95EE\u9898");
1196
+ }(0, t2) : Promise.reject("\u53C2\u6570\u6709\u95EE\u9898");
1024
1197
  } catch (e4) {
1025
1198
  return Promise.reject(e4);
1026
1199
  }
1027
1200
  }
1028
1201
  return c.onsuccess = function(e3) {
1029
- o = e3.target.result;
1202
+ o2 = e3.target.result;
1030
1203
  }, c.onerror = function(e3) {
1031
1204
  console.error(e3);
1032
1205
  }, c.onupgradeneeded = function(e3) {
1033
- o = e3.target.result, o.objectStoreNames.contains(n2) || o.createObjectStore(n2, { keyPath: r2 });
1206
+ o2 = e3.target.result, o2.objectStoreNames.contains(n2) || o2.createObjectStore(n2, { keyPath: r2 });
1034
1207
  }, u;
1035
1208
  }
1036
1209
  const myDb = new e("WBIOKR-MAPBOX-TOOLS", 1, "WBIOKR-STORE", "id");
@@ -1046,10 +1219,10 @@ function createUuid(num) {
1046
1219
  }
1047
1220
  }
1048
1221
  function mercatorToLnglat(mercatorX, mercatorY) {
1049
- let x = mercatorX / 2003750834e-2 * 180;
1050
- let y = mercatorY / 2003750834e-2 * 180;
1051
- y = 180 / Math.PI * (2 * Math.atan(Math.exp(y * Math.PI / 180)) - Math.PI / 2);
1052
- return [x, y];
1222
+ let x2 = mercatorX / 2003750834e-2 * 180;
1223
+ let y2 = mercatorY / 2003750834e-2 * 180;
1224
+ y2 = 180 / Math.PI * (2 * Math.atan(Math.exp(y2 * Math.PI / 180)) - Math.PI / 2);
1225
+ return [x2, y2];
1053
1226
  }
1054
1227
  function transformRequest4326(url) {
1055
1228
  if (url.includes("4326")) {
@@ -1200,8 +1373,8 @@ class Tile extends KeyboardControl {
1200
1373
  };
1201
1374
  }
1202
1375
  onClose() {
1203
- this.tempDom.remove();
1204
1376
  this.onReset();
1377
+ this.tempDom && this.tempDom.remove();
1205
1378
  }
1206
1379
  onConfirm() {
1207
1380
  const url = this.form.url;
@@ -1210,7 +1383,7 @@ class Tile extends KeyboardControl {
1210
1383
  alert("\u8BF7\u8F93\u5165\u5408\u6CD5URL");
1211
1384
  return false;
1212
1385
  }
1213
- const historyItem = this.cacheUrls.find((o) => o.url === url);
1386
+ const historyItem = this.cacheUrls.find((o2) => o2.url === url);
1214
1387
  if (!historyItem) {
1215
1388
  this.cacheUrls.push({ ...this.form });
1216
1389
  myDb(this.id, {
@@ -1231,8 +1404,8 @@ class Tile extends KeyboardControl {
1231
1404
  this.form = this.cacheUrls[index2];
1232
1405
  this.tempDom.querySelector(".url-input").value = this.form.url;
1233
1406
  this.tempDom.querySelector(".name-input").value = this.form.name;
1234
- this.tempDom.querySelectorAll(".custom-url-item").forEach((item, i2) => {
1235
- item.className = `custom-url-item f-b-c p-lr-10 p-tb-5 m-b-5 ease-300 ${i2 === index2 ? "bg-color-f6f6f6" : ""}`;
1407
+ this.tempDom.querySelectorAll(".custom-url-item").forEach((item, i) => {
1408
+ item.className = `custom-url-item f-b-c p-lr-10 p-tb-5 m-b-5 ease-300 ${i === index2 ? "bg-color-f6f6f6" : ""}`;
1236
1409
  });
1237
1410
  }
1238
1411
  onRemoveUrl(idx) {
@@ -1328,14 +1501,14 @@ class Geoservers {
1328
1501
  }
1329
1502
  onEdit(element) {
1330
1503
  const id = element.getAttribute("data-id");
1331
- const item = this.tiles.find((o) => o.id === id);
1504
+ const item = this.tiles.find((o2) => o2.id === id);
1332
1505
  if (item) {
1333
1506
  this.refTile.onEditModal(item);
1334
1507
  }
1335
1508
  }
1336
1509
  onDelete(element) {
1337
1510
  const id = element.getAttribute("data-id");
1338
- const index2 = this.tiles.findIndex((o) => o.id === id);
1511
+ const index2 = this.tiles.findIndex((o2) => o2.id === id);
1339
1512
  if (index2 > -1) {
1340
1513
  const item = this.tiles[index2];
1341
1514
  this.onRemoveGeoserver(item);
@@ -1347,9 +1520,9 @@ class Geoservers {
1347
1520
  }
1348
1521
  initializeCheckedTiles() {
1349
1522
  const initTiles = () => {
1350
- this.tiles.forEach((o) => {
1351
- if (o.checked) {
1352
- this.onChangeGeo(o, true);
1523
+ this.tiles.forEach((o2) => {
1524
+ if (o2.checked) {
1525
+ this.onChangeGeo(o2, true);
1353
1526
  }
1354
1527
  });
1355
1528
  };
@@ -1371,13 +1544,13 @@ class Geoservers {
1371
1544
  }
1372
1545
  onChangeGeo(element, isObject2) {
1373
1546
  const id = isObject2 ? element.id : element.getAttribute("data-id");
1374
- const tileItem = this.tiles.find((o) => o.id === id);
1547
+ const tileItem = this.tiles.find((o2) => o2.id === id);
1375
1548
  if (tileItem) {
1376
1549
  tileItem.checked = typeof element === "object" ? element.checked : element.checked;
1377
1550
  if (!tileItem.checked) {
1378
1551
  this.onRemoveGeoserver(tileItem);
1379
1552
  } else {
1380
- const layers = this.map.getStyle().layers.filter((o) => ["fill", "raster", "background", "sky"].includes(o.type));
1553
+ const layers = this.map.getStyle().layers.filter((o2) => ["fill", "raster", "background", "sky"].includes(o2.type));
1381
1554
  layers.length > 0 ? layers[layers.length - 1].id : null;
1382
1555
  if (!this.map.getSource(tileItem.id)) {
1383
1556
  this.map.addSource(tileItem.id, {
@@ -1400,7 +1573,7 @@ class Geoservers {
1400
1573
  }
1401
1574
  }
1402
1575
  onConfirm(form, historyList, type) {
1403
- const index2 = this.tiles.findIndex((o) => o.id === form.id);
1576
+ const index2 = this.tiles.findIndex((o2) => o2.id === form.id);
1404
1577
  if (index2 > -1) {
1405
1578
  this.tiles.splice(index2, 1, form);
1406
1579
  if (form.checked) {
@@ -1582,8 +1755,8 @@ function polygon(coordinates, properties, options2) {
1582
1755
  if (ring.length < 4) {
1583
1756
  throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");
1584
1757
  }
1585
- for (var j = 0; j < ring[ring.length - 1].length; j++) {
1586
- if (ring[ring.length - 1][j] !== ring[0][j]) {
1758
+ for (var j2 = 0; j2 < ring[ring.length - 1].length; j2++) {
1759
+ if (ring[ring.length - 1][j2] !== ring[0][j2]) {
1587
1760
  throw new Error("First and last Position are not equivalent.");
1588
1761
  }
1589
1762
  }
@@ -1624,7 +1797,7 @@ function degreesToRadians(degrees) {
1624
1797
  function coordEach(geojson, callback, excludeWrapCoord) {
1625
1798
  if (geojson === null)
1626
1799
  return;
1627
- var j, k, l, geometry, stopG, coords, geometryMaybeCollection, wrapShrink = 0, coordIndex = 0, isGeometryCollection, type = geojson.type, isFeatureCollection = type === "FeatureCollection", isFeature = type === "Feature", stop = isFeatureCollection ? geojson.features.length : 1;
1800
+ var j2, k2, l2, geometry, stopG, coords, geometryMaybeCollection, wrapShrink = 0, coordIndex = 0, isGeometryCollection, type = geojson.type, isFeatureCollection = type === "FeatureCollection", isFeature = type === "Feature", stop = isFeatureCollection ? geojson.features.length : 1;
1628
1801
  for (var featureIndex = 0; featureIndex < stop; featureIndex++) {
1629
1802
  geometryMaybeCollection = isFeatureCollection ? geojson.features[featureIndex].geometry : isFeature ? geojson.geometry : geojson;
1630
1803
  isGeometryCollection = geometryMaybeCollection ? geometryMaybeCollection.type === "GeometryCollection" : false;
@@ -1655,9 +1828,9 @@ function coordEach(geojson, callback, excludeWrapCoord) {
1655
1828
  break;
1656
1829
  case "LineString":
1657
1830
  case "MultiPoint":
1658
- for (j = 0; j < coords.length; j++) {
1831
+ for (j2 = 0; j2 < coords.length; j2++) {
1659
1832
  if (callback(
1660
- coords[j],
1833
+ coords[j2],
1661
1834
  coordIndex,
1662
1835
  featureIndex,
1663
1836
  multiFeatureIndex,
@@ -1673,10 +1846,10 @@ function coordEach(geojson, callback, excludeWrapCoord) {
1673
1846
  break;
1674
1847
  case "Polygon":
1675
1848
  case "MultiLineString":
1676
- for (j = 0; j < coords.length; j++) {
1677
- for (k = 0; k < coords[j].length - wrapShrink; k++) {
1849
+ for (j2 = 0; j2 < coords.length; j2++) {
1850
+ for (k2 = 0; k2 < coords[j2].length - wrapShrink; k2++) {
1678
1851
  if (callback(
1679
- coords[j][k],
1852
+ coords[j2][k2],
1680
1853
  coordIndex,
1681
1854
  featureIndex,
1682
1855
  multiFeatureIndex,
@@ -1694,12 +1867,12 @@ function coordEach(geojson, callback, excludeWrapCoord) {
1694
1867
  multiFeatureIndex++;
1695
1868
  break;
1696
1869
  case "MultiPolygon":
1697
- for (j = 0; j < coords.length; j++) {
1870
+ for (j2 = 0; j2 < coords.length; j2++) {
1698
1871
  geometryIndex = 0;
1699
- for (k = 0; k < coords[j].length; k++) {
1700
- for (l = 0; l < coords[j][k].length - wrapShrink; l++) {
1872
+ for (k2 = 0; k2 < coords[j2].length; k2++) {
1873
+ for (l2 = 0; l2 < coords[j2][k2].length - wrapShrink; l2++) {
1701
1874
  if (callback(
1702
- coords[j][k][l],
1875
+ coords[j2][k2][l2],
1703
1876
  coordIndex,
1704
1877
  featureIndex,
1705
1878
  multiFeatureIndex,
@@ -1714,8 +1887,8 @@ function coordEach(geojson, callback, excludeWrapCoord) {
1714
1887
  }
1715
1888
  break;
1716
1889
  case "GeometryCollection":
1717
- for (j = 0; j < geometry.geometries.length; j++)
1718
- if (coordEach(geometry.geometries[j], callback, excludeWrapCoord) === false)
1890
+ for (j2 = 0; j2 < geometry.geometries.length; j2++)
1891
+ if (coordEach(geometry.geometries[j2], callback, excludeWrapCoord) === false)
1719
1892
  return false;
1720
1893
  break;
1721
1894
  default:
@@ -1725,12 +1898,12 @@ function coordEach(geojson, callback, excludeWrapCoord) {
1725
1898
  }
1726
1899
  }
1727
1900
  function geomEach(geojson, callback) {
1728
- var i2, j, g, geometry, stopG, geometryMaybeCollection, isGeometryCollection, featureProperties, featureBBox, featureId, featureIndex = 0, isFeatureCollection = geojson.type === "FeatureCollection", isFeature = geojson.type === "Feature", stop = isFeatureCollection ? geojson.features.length : 1;
1729
- for (i2 = 0; i2 < stop; i2++) {
1730
- geometryMaybeCollection = isFeatureCollection ? geojson.features[i2].geometry : isFeature ? geojson.geometry : geojson;
1731
- featureProperties = isFeatureCollection ? geojson.features[i2].properties : isFeature ? geojson.properties : {};
1732
- featureBBox = isFeatureCollection ? geojson.features[i2].bbox : isFeature ? geojson.bbox : void 0;
1733
- featureId = isFeatureCollection ? geojson.features[i2].id : isFeature ? geojson.id : void 0;
1901
+ var i, j2, g, geometry, stopG, geometryMaybeCollection, isGeometryCollection, featureProperties, featureBBox, featureId, featureIndex = 0, isFeatureCollection = geojson.type === "FeatureCollection", isFeature = geojson.type === "Feature", stop = isFeatureCollection ? geojson.features.length : 1;
1902
+ for (i = 0; i < stop; i++) {
1903
+ geometryMaybeCollection = isFeatureCollection ? geojson.features[i].geometry : isFeature ? geojson.geometry : geojson;
1904
+ featureProperties = isFeatureCollection ? geojson.features[i].properties : isFeature ? geojson.properties : {};
1905
+ featureBBox = isFeatureCollection ? geojson.features[i].bbox : isFeature ? geojson.bbox : void 0;
1906
+ featureId = isFeatureCollection ? geojson.features[i].id : isFeature ? geojson.id : void 0;
1734
1907
  isGeometryCollection = geometryMaybeCollection ? geometryMaybeCollection.type === "GeometryCollection" : false;
1735
1908
  stopG = isGeometryCollection ? geometryMaybeCollection.geometries.length : 1;
1736
1909
  for (g = 0; g < stopG; g++) {
@@ -1764,9 +1937,9 @@ function geomEach(geojson, callback) {
1764
1937
  break;
1765
1938
  }
1766
1939
  case "GeometryCollection": {
1767
- for (j = 0; j < geometry.geometries.length; j++) {
1940
+ for (j2 = 0; j2 < geometry.geometries.length; j2++) {
1768
1941
  if (callback(
1769
- geometry.geometries[j],
1942
+ geometry.geometries[j2],
1770
1943
  featureIndex,
1771
1944
  featureProperties,
1772
1945
  featureBBox,
@@ -1945,13 +2118,13 @@ function area(geojson) {
1945
2118
  }
1946
2119
  function calculateArea(geom) {
1947
2120
  var total = 0;
1948
- var i2;
2121
+ var i;
1949
2122
  switch (geom.type) {
1950
2123
  case "Polygon":
1951
2124
  return polygonArea(geom.coordinates);
1952
2125
  case "MultiPolygon":
1953
- for (i2 = 0; i2 < geom.coordinates.length; i2++) {
1954
- total += polygonArea(geom.coordinates[i2]);
2126
+ for (i = 0; i < geom.coordinates.length; i++) {
2127
+ total += polygonArea(geom.coordinates[i]);
1955
2128
  }
1956
2129
  return total;
1957
2130
  case "Point":
@@ -1966,8 +2139,8 @@ function polygonArea(coords) {
1966
2139
  var total = 0;
1967
2140
  if (coords && coords.length > 0) {
1968
2141
  total += Math.abs(ringArea(coords[0]));
1969
- for (var i2 = 1; i2 < coords.length; i2++) {
1970
- total -= Math.abs(ringArea(coords[i2]));
2142
+ for (var i = 1; i < coords.length; i++) {
2143
+ total -= Math.abs(ringArea(coords[i]));
1971
2144
  }
1972
2145
  }
1973
2146
  return total;
@@ -1979,23 +2152,23 @@ function ringArea(coords) {
1979
2152
  var lowerIndex;
1980
2153
  var middleIndex;
1981
2154
  var upperIndex;
1982
- var i2;
2155
+ var i;
1983
2156
  var total = 0;
1984
2157
  var coordsLength = coords.length;
1985
2158
  if (coordsLength > 2) {
1986
- for (i2 = 0; i2 < coordsLength; i2++) {
1987
- if (i2 === coordsLength - 2) {
2159
+ for (i = 0; i < coordsLength; i++) {
2160
+ if (i === coordsLength - 2) {
1988
2161
  lowerIndex = coordsLength - 2;
1989
2162
  middleIndex = coordsLength - 1;
1990
2163
  upperIndex = 0;
1991
- } else if (i2 === coordsLength - 1) {
2164
+ } else if (i === coordsLength - 1) {
1992
2165
  lowerIndex = coordsLength - 1;
1993
2166
  middleIndex = 0;
1994
2167
  upperIndex = 1;
1995
2168
  } else {
1996
- lowerIndex = i2;
1997
- middleIndex = i2 + 1;
1998
- upperIndex = i2 + 2;
2169
+ lowerIndex = i;
2170
+ middleIndex = i + 1;
2171
+ upperIndex = i + 2;
1999
2172
  }
2000
2173
  p1 = coords[lowerIndex];
2001
2174
  p2 = coords[middleIndex];
@@ -2300,7 +2473,24 @@ class MeasureDistanceControl extends KeyboardControl {
2300
2473
  }
2301
2474
  var control$4 = "";
2302
2475
  const options$4 = {
2303
- title: "\u6D4B\u91CF\u9762\u79EF"
2476
+ title: "\u6D4B\u91CF\u9762\u79EF",
2477
+ showCloseButton: true,
2478
+ showArea: true,
2479
+ onClose: () => {
2480
+ },
2481
+ onOpen: () => {
2482
+ },
2483
+ onEnd: () => {
2484
+ },
2485
+ pointColor: "#ff6300",
2486
+ pointRadius: 3,
2487
+ pointStrokeWidth: 2,
2488
+ pointStrokeColor: "#ff0000",
2489
+ fillColor: "#ff0000",
2490
+ fillOpacity: 0.1,
2491
+ lineColor: "#ff0000",
2492
+ lineWidth: 2,
2493
+ lineOpacity: 0.65
2304
2494
  };
2305
2495
  const WBK_AREA_SOURCE_POINTS = "WBK_AREA_SOURCE_POINTS";
2306
2496
  const WBK_AREA_SOURCE_LINE = "WBK_AREA_SOURCE_LINE";
@@ -2354,6 +2544,7 @@ class MeasureAreaControl extends KeyboardControl {
2354
2544
  }
2355
2545
  _open() {
2356
2546
  this._onOpen();
2547
+ this.options.onOpen && this.options.onOpen();
2357
2548
  this._map.doubleClickZoom.disable();
2358
2549
  this._resetData();
2359
2550
  this._map.getCanvas().style.cursor = "crosshair";
@@ -2377,10 +2568,10 @@ class MeasureAreaControl extends KeyboardControl {
2377
2568
  type: "circle",
2378
2569
  source: WBK_AREA_SOURCE_POINTS,
2379
2570
  paint: {
2380
- "circle-color": "#ff6300",
2381
- "circle-radius": 3,
2382
- "circle-stroke-width": 2,
2383
- "circle-stroke-color": "#ff0000"
2571
+ "circle-color": this.options.pointColor,
2572
+ "circle-radius": this.options.pointRadius,
2573
+ "circle-stroke-width": this.options.pointStrokeWidth,
2574
+ "circle-stroke-color": this.options.pointStrokeColor
2384
2575
  }
2385
2576
  });
2386
2577
  }
@@ -2396,8 +2587,8 @@ class MeasureAreaControl extends KeyboardControl {
2396
2587
  type: "fill",
2397
2588
  source: WBK_AREA_SOURCE_LINE,
2398
2589
  paint: {
2399
- "fill-color": "#ff0000",
2400
- "fill-opacity": 0.1
2590
+ "fill-color": this.options.fillColor,
2591
+ "fill-opacity": this.options.fillOpacity
2401
2592
  }
2402
2593
  });
2403
2594
  this._map.addLayer({
@@ -2405,18 +2596,23 @@ class MeasureAreaControl extends KeyboardControl {
2405
2596
  type: "line",
2406
2597
  source: WBK_AREA_SOURCE_LINE,
2407
2598
  paint: {
2408
- "line-color": "#ff0000",
2409
- "line-width": 2,
2410
- "line-opacity": 0.65
2599
+ "line-color": this.options.lineColor,
2600
+ "line-width": this.options.lineWidth,
2601
+ "line-opacity": this.options.lineOpacity
2411
2602
  }
2412
2603
  });
2413
2604
  }
2414
2605
  }
2415
2606
  _close() {
2416
2607
  this._onClose();
2608
+ this.options.onClose && this.options.onClose();
2417
2609
  this.measureFlag = false;
2418
2610
  this._map.doubleClickZoom.enable();
2419
2611
  this._map.getCanvas().style.cursor = "";
2612
+ if (this.closeButtonMarker) {
2613
+ this.closeButtonMarker.remove();
2614
+ this.closeButtonMarker = null;
2615
+ }
2420
2616
  this._clearLayers();
2421
2617
  this._resetData();
2422
2618
  }
@@ -2435,35 +2631,58 @@ class MeasureAreaControl extends KeyboardControl {
2435
2631
  this.points.push(coords);
2436
2632
  this.measureFlag = false;
2437
2633
  this._map.getCanvas().style.cursor = "";
2438
- this.startEle.innerHTML = this._getArea(coords);
2634
+ const area2 = this._getArea(coords);
2635
+ if (this.options.showArea) {
2636
+ this.startEle.innerHTML = area2;
2637
+ this.startEle.style.display = "block";
2638
+ } else {
2639
+ this.startEle.style.display = "none";
2640
+ }
2439
2641
  this.tooltip.setLngLat(coords);
2440
- const ele = document.createElement("div");
2441
- ele.setAttribute("class", `${this.mainClass}-result wbiokr-ctrl-close`);
2442
- const option = {
2443
- element: ele,
2444
- anchor: "left",
2445
- offset: [60, 0]
2446
- };
2447
- ele.innerHTML = "\xD7";
2448
- new mapboxgl.Marker(option).setLngLat(coords).addTo(this._map);
2449
- const self2 = this;
2450
- ele.onclick = function(__e) {
2451
- __e.stopPropagation();
2452
- self2._close();
2453
- }.bind(this);
2642
+ if (this.options.showCloseButton) {
2643
+ const ele = document.createElement("div");
2644
+ ele.setAttribute("class", `${this.mainClass}-result wbiokr-ctrl-close`);
2645
+ const option = {
2646
+ element: ele,
2647
+ anchor: "left",
2648
+ offset: this.options.showArea ? [60, 0] : [15, 0]
2649
+ };
2650
+ ele.innerHTML = "\xD7";
2651
+ this.closeButtonMarker = new mapboxgl.Marker(option).setLngLat(coords).addTo(this._map);
2652
+ const self2 = this;
2653
+ ele.onclick = function(__e) {
2654
+ __e.stopPropagation();
2655
+ self2._close();
2656
+ }.bind(this);
2657
+ }
2658
+ this.options.onEnd && this.options.onEnd({ area: area2, coords });
2454
2659
  });
2455
2660
  this._map.on("mousemove", (e2) => {
2456
2661
  if (!this.flag)
2457
2662
  return;
2458
2663
  const coords = [e2.lngLat.lng, e2.lngLat.lat];
2459
2664
  const len = this.jsonPoint.features.length;
2460
- if (len === 0) {
2461
- this.startEle.innerHTML = "\u70B9\u51FB\u5730\u56FE\u5F00\u59CB\u6D4B\u91CF";
2462
- } else if (len > 0) {
2665
+ if (!this.options.showArea) {
2666
+ this.startEle.style.display = "none";
2667
+ } else {
2668
+ this.startEle.style.display = "block";
2669
+ if (len === 0) {
2670
+ this.startEle.innerHTML = "\u70B9\u51FB\u5730\u56FE\u5F00\u59CB\u6D4B\u91CF";
2671
+ } else if (len > 0) {
2672
+ let pts = this.points.concat([coords]);
2673
+ if (len === 1) {
2674
+ pts.push([coords]);
2675
+ this.startEle.innerHTML = "\u70B9\u51FB\u5730\u56FE\u7EE7\u7EED\u7ED8\u5236";
2676
+ }
2677
+ if (len > 1) {
2678
+ this.startEle.innerHTML = this._getArea(coords);
2679
+ }
2680
+ }
2681
+ }
2682
+ if (len > 0) {
2463
2683
  let pts = this.points.concat([coords]);
2464
2684
  if (len === 1) {
2465
2685
  pts.push([coords]);
2466
- this.startEle.innerHTML = "\u70B9\u51FB\u5730\u56FE\u7EE7\u7EED\u7ED8\u5236";
2467
2686
  }
2468
2687
  pts = pts.concat([this.points[0]]);
2469
2688
  const json = {
@@ -2474,9 +2693,6 @@ class MeasureAreaControl extends KeyboardControl {
2474
2693
  }
2475
2694
  };
2476
2695
  this._map.getSource(WBK_AREA_SOURCE_LINE).setData(json);
2477
- if (len > 1) {
2478
- this.startEle.innerHTML = this._getArea(coords);
2479
- }
2480
2696
  }
2481
2697
  this.tooltip.setLngLat(coords);
2482
2698
  });
@@ -2492,8 +2708,9 @@ class MeasureAreaControl extends KeyboardControl {
2492
2708
  };
2493
2709
  this.points = [];
2494
2710
  this.tooltip = null;
2495
- this.markers = [];
2496
2711
  this.startEle = null;
2712
+ this.markers = [];
2713
+ this.closeButtonMarker = null;
2497
2714
  }
2498
2715
  _addPoint(coords) {
2499
2716
  this.jsonPoint.features.push({
@@ -2669,7 +2886,12 @@ const options$2 = {
2669
2886
  onEnd: () => {
2670
2887
  },
2671
2888
  onMousemove: () => {
2672
- }
2889
+ },
2890
+ showCloseButton: false,
2891
+ fillColor: "#f00",
2892
+ fillOpacity: 0.4,
2893
+ lineColor: "#f00",
2894
+ lineWidth: 2
2673
2895
  };
2674
2896
  class MouseRectControl extends KeyboardControl {
2675
2897
  constructor(e2) {
@@ -2683,6 +2905,7 @@ class MouseRectControl extends KeyboardControl {
2683
2905
  };
2684
2906
  this.startLoc = [];
2685
2907
  this.endLoc = [];
2908
+ this.closeButtonMarker = null;
2686
2909
  }
2687
2910
  get mainClass() {
2688
2911
  return `wbiokr-control-${this.name}`;
@@ -2705,9 +2928,7 @@ class MouseRectControl extends KeyboardControl {
2705
2928
  this._renderEntry();
2706
2929
  this._resetData();
2707
2930
  this._eventMeasure();
2708
- this._onBindKeyboards([
2709
- { code: "esc", action: this._close.bind(this) }
2710
- ], "area");
2931
+ this._onBindKeyboards([{ code: "esc", action: this._close.bind(this) }], "area");
2711
2932
  return this._container;
2712
2933
  }
2713
2934
  onRemove() {
@@ -2734,6 +2955,9 @@ class MouseRectControl extends KeyboardControl {
2734
2955
  if (!isStart) {
2735
2956
  this.moving = false;
2736
2957
  this.options.onEnd && this.options.onEnd({ minX, minY, maxX, maxY });
2958
+ if (this.options.showCloseButton) {
2959
+ this._addCloseButton([maxX, maxY]);
2960
+ }
2737
2961
  }
2738
2962
  });
2739
2963
  this._map.on("mousemove", (e2) => {
@@ -2787,8 +3011,8 @@ class MouseRectControl extends KeyboardControl {
2787
3011
  source: SOURCE_WBK_RECT,
2788
3012
  layout: {},
2789
3013
  paint: {
2790
- "fill-color": "#f00",
2791
- "fill-opacity": 0.4
3014
+ "fill-color": this.options.fillColor,
3015
+ "fill-opacity": this.options.fillOpacity
2792
3016
  }
2793
3017
  });
2794
3018
  }
@@ -2799,8 +3023,8 @@ class MouseRectControl extends KeyboardControl {
2799
3023
  source: SOURCE_WBK_RECT,
2800
3024
  layout: {},
2801
3025
  paint: {
2802
- "line-color": "#f00",
2803
- "line-width": 2
3026
+ "line-color": this.options.lineColor,
3027
+ "line-width": this.options.lineWidth
2804
3028
  }
2805
3029
  });
2806
3030
  }
@@ -2810,6 +3034,10 @@ class MouseRectControl extends KeyboardControl {
2810
3034
  this._onClose();
2811
3035
  this._container.querySelector(`.${this.mainClass}-entry path`).setAttribute("d", rectPath);
2812
3036
  this.moving = false;
3037
+ if (this.closeButtonMarker) {
3038
+ this.closeButtonMarker.remove();
3039
+ this.closeButtonMarker = null;
3040
+ }
2813
3041
  if (this._map.getLayer(LAYER_WBK_RECT_FILL)) {
2814
3042
  this._map.removeLayer(LAYER_WBK_RECT_FILL);
2815
3043
  }
@@ -2828,6 +3056,22 @@ class MouseRectControl extends KeyboardControl {
2828
3056
  this.endLoc = [];
2829
3057
  this.locs = [];
2830
3058
  }
3059
+ _addCloseButton(coords) {
3060
+ const ele = document.createElement("div");
3061
+ ele.setAttribute("class", `${this.mainClass}-result wbiokr-ctrl-close`);
3062
+ const option = {
3063
+ element: ele,
3064
+ anchor: "left",
3065
+ offset: [8, 0]
3066
+ };
3067
+ ele.innerHTML = "\xD7";
3068
+ this.closeButtonMarker = new mapboxgl.Marker(option).setLngLat(coords).addTo(this._map);
3069
+ const self2 = this;
3070
+ ele.onclick = function(__e) {
3071
+ __e.stopPropagation();
3072
+ self2._close();
3073
+ }.bind(this);
3074
+ }
2831
3075
  _renderEntry() {
2832
3076
  const btn = document.createElement("button");
2833
3077
  btn.className = `${this.mainClass}-entry wbiokr-ctrl-entry`;
@@ -3013,7 +3257,7 @@ class PositionControl extends KeyboardControl {
3013
3257
  return;
3014
3258
  if (this.options.type === "feature") {
3015
3259
  const feas = this._map.queryRenderedFeatures([mapEvent.point.x, mapEvent.point.y]);
3016
- const targetFea = feas.find((o) => o.source === SOURCE_WBIOKR_POSCONTROL && o.layer.id === LAYER_WBIOKR_POSCONTROL);
3260
+ const targetFea = feas.find((o2) => o2.source === SOURCE_WBIOKR_POSCONTROL && o2.layer.id === LAYER_WBIOKR_POSCONTROL);
3017
3261
  if (!targetFea)
3018
3262
  return;
3019
3263
  const newIndex = targetFea.properties.index;
@@ -3076,8 +3320,8 @@ class PositionControl extends KeyboardControl {
3076
3320
  });
3077
3321
  }
3078
3322
  } else if (this.options.type === "marker") {
3079
- this.markers && this.markers.forEach((o) => {
3080
- o.remove();
3323
+ this.markers && this.markers.forEach((o2) => {
3324
+ o2.remove();
3081
3325
  });
3082
3326
  this.markers = [];
3083
3327
  const newMarkers = newLocs.map((loc, index2) => {
@@ -3093,24 +3337,24 @@ class PositionControl extends KeyboardControl {
3093
3337
  }
3094
3338
  const ul = this._container.querySelector("ul");
3095
3339
  ul.innerHTML = "";
3096
- for (let i2 = 0; i2 < newLocs.length; i2++) {
3340
+ for (let i = 0; i < newLocs.length; i++) {
3097
3341
  const li = document.createElement("li");
3098
3342
  li.className = "f-s-c h-35 c-p w-per-100 white-1";
3099
- li.setAttribute("data-index", i2);
3100
- li.setAttribute("title", newLocs[i2].toString());
3343
+ li.setAttribute("data-index", i);
3344
+ li.setAttribute("title", newLocs[i].toString());
3101
3345
  const tag = document.createElement("span");
3102
- tag.innerText = `\u70B9${i2 + 1}`;
3346
+ tag.innerText = `\u70B9${i + 1}`;
3103
3347
  tag.className = "wbiokr-position-tag f-s-0 m-r-10 ease-400 p-e-none f-c";
3104
- tag.setAttribute("data-index", i2);
3348
+ tag.setAttribute("data-index", i);
3105
3349
  li.append(tag);
3106
3350
  const span = document.createElement("span");
3107
- span.innerText = newLocs[i2].toString();
3351
+ span.innerText = newLocs[i].toString();
3108
3352
  span.className = "wbiokr-position-loc f-1 f-s-c white-1 c-hover-app ease-300 p-e-none";
3109
- span.setAttribute("data-index", i2);
3353
+ span.setAttribute("data-index", i);
3110
3354
  li.append(span);
3111
3355
  ul.append(li);
3112
3356
  }
3113
- this.getterValue = newLocs.map((o) => o.join(",")).join("\n");
3357
+ this.getterValue = newLocs.map((o2) => o2.join(",")).join("\n");
3114
3358
  }
3115
3359
  _coords() {
3116
3360
  const locs = coordListByStr(this.getterValue);
@@ -3434,8 +3678,8 @@ class LayerTreeControl extends KeyboardControl {
3434
3678
  }
3435
3679
  get allLayers() {
3436
3680
  let layers = [];
3437
- this.layerData.forEach((o) => layers = [...layers, ...o.children]);
3438
- layers.sort((a2, b) => a2.zIndex - b.zIndex);
3681
+ this.layerData.forEach((o2) => layers = [...layers, ...o2.children]);
3682
+ layers.sort((a2, b2) => a2.zIndex - b2.zIndex);
3439
3683
  return layers;
3440
3684
  }
3441
3685
  get flag() {
@@ -3472,18 +3716,18 @@ class LayerTreeControl extends KeyboardControl {
3472
3716
  }
3473
3717
  _setLayers(v) {
3474
3718
  this.options.layers = v;
3475
- this.layerData = v.filter((o) => o.children && o.children.length > 0).map(this._getterLayer);
3719
+ this.layerData = v.filter((o2) => o2.children && o2.children.length > 0).map(this._getterLayer);
3476
3720
  this._renderLayers();
3477
3721
  const ids = [];
3478
- this.layerData.forEach((o) => {
3479
- if (!o.id) {
3480
- throw new Error(`${o.title}\u6CA1\u6709ID`);
3722
+ this.layerData.forEach((o2) => {
3723
+ if (!o2.id) {
3724
+ throw new Error(`${o2.title}\u6CA1\u6709ID`);
3481
3725
  }
3482
- if (ids.includes(o.id)) {
3483
- throw new Error(`${o.title} ID\u91CD\u590D`);
3726
+ if (ids.includes(o2.id)) {
3727
+ throw new Error(`${o2.title} ID\u91CD\u590D`);
3484
3728
  }
3485
- ids.push(o.ic);
3486
- o.children.forEach((c) => {
3729
+ ids.push(o2.ic);
3730
+ o2.children.forEach((c) => {
3487
3731
  if (!c.id) {
3488
3732
  throw new Error(`${c.title}\u6CA1\u6709ID`);
3489
3733
  }
@@ -3498,13 +3742,13 @@ class LayerTreeControl extends KeyboardControl {
3498
3742
  }
3499
3743
  _setOrders() {
3500
3744
  const currentLayers = this._map.getStyle().layers;
3501
- const allCurrentIds = currentLayers.map((o) => o.id);
3502
- let layers = this.allLayers.filter((o) => allCurrentIds.includes(this._layerId(o.id)));
3503
- const allIds = layers.map((o) => o.id);
3504
- const bgLayers = layers.filter((o) => ["raster", "background"].includes(o.sourceConfig.type));
3505
- const factorLayers = layers.filter((o) => !["raster", "background"].includes(o.sourceConfig.type));
3745
+ const allCurrentIds = currentLayers.map((o2) => o2.id);
3746
+ let layers = this.allLayers.filter((o2) => allCurrentIds.includes(this._layerId(o2.id)));
3747
+ const allIds = layers.map((o2) => o2.id);
3748
+ const bgLayers = layers.filter((o2) => ["raster", "background"].includes(o2.sourceConfig.type));
3749
+ const factorLayers = layers.filter((o2) => !["raster", "background"].includes(o2.sourceConfig.type));
3506
3750
  const currentFactorLayers = currentLayers.filter(
3507
- (o) => !["raster", "background"].includes(o.type) && !allIds.includes(o.id.replace(`SOURCE_${this.mainClass}_`, ""))
3751
+ (o2) => !["raster", "background"].includes(o2.type) && !allIds.includes(o2.id.replace(`SOURCE_${this.mainClass}_`, ""))
3508
3752
  );
3509
3753
  const firstFactorId = currentFactorLayers[0] ? currentFactorLayers[0].id : void 0;
3510
3754
  const beforeIdMap = {};
@@ -3523,8 +3767,8 @@ class LayerTreeControl extends KeyboardControl {
3523
3767
  fIdx--;
3524
3768
  }
3525
3769
  layers.reverse();
3526
- layers.forEach((o) => {
3527
- this._map.moveLayer(this._layerId(o.id), beforeIdMap[o.id]);
3770
+ layers.forEach((o2) => {
3771
+ this._map.moveLayer(this._layerId(o2.id), beforeIdMap[o2.id]);
3528
3772
  });
3529
3773
  this.options.onAfterOrder && this.options.onAfterOrder({
3530
3774
  layers,
@@ -3534,11 +3778,11 @@ class LayerTreeControl extends KeyboardControl {
3534
3778
  }
3535
3779
  _firstFactorId() {
3536
3780
  const currentLayers = this._map.getStyle().layers;
3537
- const allCurrentIds = currentLayers.map((o) => o.id);
3538
- const layers = this.allLayers.filter((o) => allCurrentIds.includes(this._layerId(o.id)));
3539
- const allIds = layers.map((o) => o.id);
3781
+ const allCurrentIds = currentLayers.map((o2) => o2.id);
3782
+ const layers = this.allLayers.filter((o2) => allCurrentIds.includes(this._layerId(o2.id)));
3783
+ const allIds = layers.map((o2) => o2.id);
3540
3784
  const currentFactorLayers = currentLayers.filter(
3541
- (o) => !["raster", "background"].includes(o.type) && !allIds.includes(o.id.replace(`SOURCE_${this.mainClass}_`, ""))
3785
+ (o2) => !["raster", "background"].includes(o2.type) && !allIds.includes(o2.id.replace(`SOURCE_${this.mainClass}_`, ""))
3542
3786
  );
3543
3787
  const firstFactorId = currentFactorLayers[0] ? currentFactorLayers[0].id : void 0;
3544
3788
  return firstFactorId;
@@ -3596,10 +3840,10 @@ class LayerTreeControl extends KeyboardControl {
3596
3840
  ...layer
3597
3841
  };
3598
3842
  if (newLayer.disabled) {
3599
- newLayer.children.forEach((o) => o.disabled = true);
3843
+ newLayer.children.forEach((o2) => o2.disabled = true);
3600
3844
  }
3601
3845
  if (newLayer.checked) {
3602
- newLayer.children.forEach((o) => (o.checked = true, o.indeterminate = false));
3846
+ newLayer.children.forEach((o2) => (o2.checked = true, o2.indeterminate = false));
3603
3847
  } else {
3604
3848
  newLayer.checked = this._getterChecked(newLayer);
3605
3849
  newLayer.indeterminate = this._getterIndeterminate(newLayer);
@@ -3607,7 +3851,7 @@ class LayerTreeControl extends KeyboardControl {
3607
3851
  newLayer.icon = newLayer.icon;
3608
3852
  newLayer.children = newLayer.children.map(this._getterLayer);
3609
3853
  if (newLayer.children.length > 0) {
3610
- newLayer.radio = newLayer.children.filter((o) => o.radio).length > 1;
3854
+ newLayer.radio = newLayer.children.filter((o2) => o2.radio).length > 1;
3611
3855
  }
3612
3856
  newLayer.sourceConfig = {
3613
3857
  type: "raster",
@@ -3624,8 +3868,8 @@ class LayerTreeControl extends KeyboardControl {
3624
3868
  const children2 = layer.children || [];
3625
3869
  let flagCheck = false;
3626
3870
  let flagNoCheck = false;
3627
- for (let i2 = 0; i2 < children2.length; i2++) {
3628
- const flag = children2[i2].checked;
3871
+ for (let i = 0; i < children2.length; i++) {
3872
+ const flag = children2[i].checked;
3629
3873
  if (flag) {
3630
3874
  flagCheck = true;
3631
3875
  } else {
@@ -3638,8 +3882,8 @@ class LayerTreeControl extends KeyboardControl {
3638
3882
  const children2 = layer.children || [];
3639
3883
  if (children2.length === 0)
3640
3884
  return layer.checked;
3641
- for (let i2 = 0; i2 < children2.length; i2++) {
3642
- if (!children2[i2].checked)
3885
+ for (let i = 0; i < children2.length; i++) {
3886
+ if (!children2[i].checked)
3643
3887
  return false;
3644
3888
  }
3645
3889
  return true;
@@ -3670,33 +3914,33 @@ class LayerTreeControl extends KeyboardControl {
3670
3914
  const content = this._container.querySelector(`.${this.mainClass}-main-content`);
3671
3915
  content.innerHTML = "";
3672
3916
  content.append(article);
3673
- this.layerData.forEach((o) => {
3917
+ this.layerData.forEach((o2) => {
3674
3918
  const div = document.createElement("div");
3675
3919
  div.className = "f-s-c";
3676
3920
  article.append(div);
3677
3921
  const title = document.createElement("h3");
3678
- title.className = `m-no f-e-c w-b-keep p-r white-1 f-s-0 ${o.radio ? "p-r-30" : "p-r-10"}`;
3922
+ title.className = `m-no f-e-c w-b-keep p-r white-1 f-s-0 ${o2.radio ? "p-r-30" : "p-r-10"}`;
3679
3923
  const span = document.createElement("span");
3680
3924
  span.className = "f-w-600 f-s-14 t-r f-1 white-1";
3681
- span.innerText = o.title;
3925
+ span.innerText = o2.title;
3682
3926
  title.append(span);
3683
3927
  let checkboxInstance = null;
3684
- if (!o.radio) {
3928
+ if (!o2.radio) {
3685
3929
  checkboxInstance = new Checkbox(title, {
3686
3930
  className: "f-s-0 m-l-5",
3687
- checked: o.checked,
3688
- disabled: o.disabled,
3689
- indeterminate: o.indeterminate,
3931
+ checked: o2.checked,
3932
+ disabled: o2.disabled,
3933
+ indeterminate: o2.indeterminate,
3690
3934
  onChange: (args) => {
3691
3935
  const lis = div.querySelectorAll("ul li");
3692
3936
  lis.forEach((dom) => {
3693
3937
  this._layerClass(dom, args.checked);
3694
3938
  });
3695
- o.children.forEach((c) => {
3939
+ o2.children.forEach((c) => {
3696
3940
  c.checked = args.checked;
3697
3941
  this._toggleLayer(c);
3698
3942
  });
3699
- o.checked = args.checked;
3943
+ o2.checked = args.checked;
3700
3944
  }
3701
3945
  });
3702
3946
  }
@@ -3705,7 +3949,7 @@ class LayerTreeControl extends KeyboardControl {
3705
3949
  const ul = document.createElement("ul");
3706
3950
  ul.className = "wbiokr-control-layersTree-main-ul f-1 f-s-c p-l-5";
3707
3951
  div.append(ul);
3708
- o.children.forEach((c) => {
3952
+ o2.children.forEach((c) => {
3709
3953
  const li = document.createElement("li");
3710
3954
  li.className = ` c-p f-s-c w-b-keep w-nowrap m-r-15 o-hover-70 f-w-600 ease-400 ${c.checked ? "wbiokr-active" : ""}`;
3711
3955
  ul.append(li);
@@ -3718,7 +3962,7 @@ class LayerTreeControl extends KeyboardControl {
3718
3962
  version="1.1"
3719
3963
  fill='${c.color}'
3720
3964
  xmlns="http://www.w3.org/2000/svg"
3721
- width="16" height="16">${paths.map((p) => `<path d="${p}" class="ease-200"></path>`).join("")}</svg>
3965
+ width="16" height="16">${paths.map((p2) => `<path d="${p2}" class="ease-200"></path>`).join("")}</svg>
3722
3966
  `;
3723
3967
  const tag = document.createElement("span");
3724
3968
  tag.className = "f-s-12 ";
@@ -3727,18 +3971,18 @@ class LayerTreeControl extends KeyboardControl {
3727
3971
  li.onclick = (e2) => {
3728
3972
  c.checked = !c.checked;
3729
3973
  if (c.radio && c.checked) {
3730
- o.children.forEach((d, index2) => {
3731
- if (d.checked && d.radio && d.id !== c.id) {
3732
- d.checked = false;
3974
+ o2.children.forEach((d2, index2) => {
3975
+ if (d2.checked && d2.radio && d2.id !== c.id) {
3976
+ d2.checked = false;
3733
3977
  this._layerClass(ul.querySelectorAll("li")[index2], false);
3734
- this._toggleLayer(d);
3978
+ this._toggleLayer(d2);
3735
3979
  }
3736
3980
  });
3737
3981
  }
3738
3982
  this._layerClass(li, c.checked);
3739
- o.checked = this._getterChecked(o);
3740
- o.indeterminate = this._getterIndeterminate(o);
3741
- checkboxInstance && checkboxInstance._updateStatus({ checked: o.checked, indeterminate: o.indeterminate });
3983
+ o2.checked = this._getterChecked(o2);
3984
+ o2.indeterminate = this._getterIndeterminate(o2);
3985
+ checkboxInstance && checkboxInstance._updateStatus({ checked: o2.checked, indeterminate: o2.indeterminate });
3742
3986
  this._toggleLayer(c);
3743
3987
  };
3744
3988
  });