tds-map-methods 0.1.3 → 0.1.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/index.js CHANGED
@@ -1,25 +1,25 @@
1
1
  import Je from "dayjs";
2
- import { isObject as un, isNumber as qt, isArray as gr } from "lodash-es";
3
- import Rr from "dayjs/plugin/utc.js";
2
+ import { isNumber as qt, isArray as gr, isObject as an } from "lodash-es";
4
3
  import * as Q from "@turf/turf";
5
- import { difference as sn, featureCollection as an } from "@turf/turf";
6
- import { Map as cn } from "ol";
7
- import ln from "ol/View.js";
4
+ import { difference as cn, featureCollection as ln } from "@turf/turf";
5
+ import zr from "dayjs/plugin/utc.js";
6
+ import { Map as fn } from "ol";
7
+ import hn from "ol/View.js";
8
8
  import { fromLonLat as rt } from "ol/proj.js";
9
- import zr from "ol/layer/Tile.js";
10
- import { TileWMS as fn, XYZ as hn } from "ol/source.js";
9
+ import qr from "ol/layer/Tile.js";
10
+ import { TileWMS as dn, XYZ as gn } from "ol/source.js";
11
11
  import Qt from "ol/source/ImageCanvas.js";
12
12
  import bt from "ol/layer/Image.js";
13
13
  import { contours as It } from "d3-contour";
14
- import qr from "ol/format/GeoJSON.js";
14
+ import Vr from "ol/format/GeoJSON.js";
15
15
  import ot from "ol/layer/Vector.js";
16
16
  import vt from "ol/source/Vector.js";
17
17
  import { Style as Be, Fill as be, Text as yt, Stroke as de, Circle as Vt } from "ol/style.js";
18
- import jt from "ol/Feature.js";
19
- import { LineString as dn, Point as mr } from "ol/geom.js";
20
- function Li() {
18
+ import Wt from "ol/Feature.js";
19
+ import { LineString as mn, Point as mr } from "ol/geom.js";
20
+ function Fi() {
21
21
  }
22
- const Vr = {
22
+ const Gr = {
23
23
  serviceBaseUrl: "",
24
24
  serviceAuthorization: "",
25
25
  ncssBaseUrl: "/ncss/grid",
@@ -29,7 +29,7 @@ const Vr = {
29
29
  typhoonDataPath: "data/script/mdp_typhoon/output",
30
30
  typhoonAuthorization: ""
31
31
  };
32
- let me = { ...Vr };
32
+ let me = { ...Gr };
33
33
  function Ut(n) {
34
34
  return String(n ?? "").trim().replace(/\/+$/, "");
35
35
  }
@@ -37,7 +37,7 @@ function Ar(n, e) {
37
37
  const t = Number(n);
38
38
  return Number.isFinite(t) && t > 0 ? Math.round(t) : e;
39
39
  }
40
- function gn(n) {
40
+ function An(n) {
41
41
  me = {
42
42
  ...me,
43
43
  ...n,
@@ -54,24 +54,24 @@ function gn(n) {
54
54
  function ye() {
55
55
  return { ...me };
56
56
  }
57
- function Fi() {
58
- me = { ...Vr };
57
+ function Si() {
58
+ me = { ...Gr };
59
59
  }
60
- function mn(n) {
60
+ function pn(n) {
61
61
  return String(n ?? "").trim().replace(/\/+$/, "");
62
62
  }
63
- function An(n) {
63
+ function vn(n) {
64
64
  return /^(?:[a-z]+:)?\/\//i.test(n) || /^(?:data|blob):/i.test(n);
65
65
  }
66
- function pn(n, e) {
66
+ function Dn(n, e) {
67
67
  const t = String(n || "").trim();
68
- if (!t || An(t)) return t;
69
- const r = ye(), i = mn(
68
+ if (!t || vn(t)) return t;
69
+ const r = ye(), i = pn(
70
70
  e === void 0 ? r.serviceBaseUrl : e
71
71
  );
72
72
  return i ? t === i || t.startsWith(i + "/") ? t : i + "/" + t.replace(/^\/+/, "") : t.startsWith("/") ? t : "/" + t;
73
73
  }
74
- function vn(n, e) {
74
+ function bn(n, e) {
75
75
  const t = new AbortController(), r = () => t.abort(n?.reason);
76
76
  n?.aborted ? r() : n?.addEventListener("abort", r, { once: !0 });
77
77
  const i = e > 0 ? setTimeout(() => t.abort(new Error("Request timeout")), e) : void 0;
@@ -82,7 +82,7 @@ function vn(n, e) {
82
82
  }
83
83
  };
84
84
  }
85
- async function Dn(n) {
85
+ async function yn(n) {
86
86
  try {
87
87
  return (await n.text()).slice(0, 240);
88
88
  } catch {
@@ -90,16 +90,16 @@ async function Dn(n) {
90
90
  }
91
91
  }
92
92
  async function or(n, e = {}) {
93
- const t = ye(), r = Number(e.timeout ?? t.requestTimeout), i = vn(e.signal, Number.isFinite(r) ? r : 6e4), o = new Headers(e.headers), u = e.authorization ?? t.serviceAuthorization;
93
+ const t = ye(), r = Number(e.timeout ?? t.requestTimeout), i = bn(e.signal, Number.isFinite(r) ? r : 6e4), o = new Headers(e.headers), u = e.authorization ?? t.serviceAuthorization;
94
94
  u && !o.has("Authorization") && o.set("Authorization", u);
95
95
  try {
96
- const s = await fetch(pn(n, e.baseUrl), {
96
+ const s = await fetch(Dn(n, e.baseUrl), {
97
97
  credentials: e.credentials ?? "include",
98
98
  signal: i.signal,
99
99
  headers: o
100
100
  });
101
101
  if (!s.ok) {
102
- const l = await Dn(s);
102
+ const l = await yn(s);
103
103
  throw new Error(
104
104
  "TDS request failed: " + s.status + " " + s.statusText + (l ? "; " + l : "")
105
105
  );
@@ -109,7 +109,7 @@ async function or(n, e = {}) {
109
109
  i.cleanup();
110
110
  }
111
111
  }
112
- function bn(n, e) {
112
+ function wn(n, e) {
113
113
  if (!e) return n;
114
114
  const t = new URLSearchParams();
115
115
  Object.entries(e).forEach(([i, o]) => {
@@ -119,7 +119,7 @@ function bn(n, e) {
119
119
  return r ? n + (n.includes("?") ? "&" : "?") + r : n;
120
120
  }
121
121
  async function ir(n, e, t, r = {}) {
122
- const i = await or(bn(n, e), {
122
+ const i = await or(wn(n, e), {
123
123
  ...r,
124
124
  authorization: t ?? r.authorization
125
125
  });
@@ -137,7 +137,7 @@ async function ir(n, e, t, r = {}) {
137
137
  return await i.json();
138
138
  }
139
139
  }
140
- async function Gr(n, e, t) {
140
+ async function kr(n, e, t) {
141
141
  const r = await or(n, {
142
142
  ...t,
143
143
  authorization: e ?? t?.authorization
@@ -148,40 +148,40 @@ async function Gr(n, e, t) {
148
148
  );
149
149
  return o;
150
150
  }
151
- function yn(n, e, t) {
152
- return Gr(n, e, t);
151
+ function Cn(n, e, t) {
152
+ return kr(n, e, t);
153
153
  }
154
- function Si(n, e, t, r) {
154
+ function Mi(n, e, t, r) {
155
155
  return ir(n, e, t, { ...r, responseType: "text" });
156
156
  }
157
- function Mi(n, e, t) {
157
+ function Oi(n, e, t) {
158
158
  return ir(n, void 0, e, {
159
159
  ...t,
160
160
  responseType: "arrayBuffer"
161
161
  });
162
162
  }
163
- function wn(n) {
163
+ function Bn(n) {
164
164
  return new Promise((e, t) => {
165
165
  const r = new FileReader();
166
166
  r.onload = () => typeof r.result == "string" ? e(r.result) : t(new Error("Blob to base64 failed")), r.onerror = () => t(r.error ?? new Error("Read blob failed")), r.readAsDataURL(n);
167
167
  });
168
168
  }
169
- async function Cn(n, e, t, r) {
169
+ async function En(n, e, t, r) {
170
170
  const u = await ir(n, typeof e == "string" ? void 0 : e, typeof e == "string" ? e : t, {
171
171
  ...r,
172
172
  responseType: "blob"
173
173
  });
174
- return wn(u);
174
+ return Bn(u);
175
175
  }
176
- function Oi(n, e) {
177
- return Cn(n, e);
176
+ function Xi(n, e) {
177
+ return En(n, e);
178
178
  }
179
- function Bn(n) {
179
+ function xn(n) {
180
180
  return n && n.__esModule && Object.prototype.hasOwnProperty.call(n, "default") ? n.default : n;
181
181
  }
182
- var Rt = { exports: {} }, mt = {}, Le = {}, je = {}, pr;
183
- function Wt() {
184
- if (pr) return je;
182
+ var Rt = { exports: {} }, mt = {}, Le = {}, We = {}, pr;
183
+ function jt() {
184
+ if (pr) return We;
185
185
  pr = 1;
186
186
  function n(o, u, s) {
187
187
  if (s === void 0 && (s = Array.prototype), o && typeof s.find == "function")
@@ -296,13 +296,13 @@ function Wt() {
296
296
  */
297
297
  XMLNS: "http://www.w3.org/2000/xmlns/"
298
298
  });
299
- return je.assign = t, je.find = n, je.freeze = e, je.MIME_TYPE = r, je.NAMESPACE = i, je;
299
+ return We.assign = t, We.find = n, We.freeze = e, We.MIME_TYPE = r, We.NAMESPACE = i, We;
300
300
  }
301
301
  var vr;
302
- function kr() {
302
+ function Qr() {
303
303
  if (vr) return Le;
304
304
  vr = 1;
305
- var n = Wt(), e = n.find, t = n.NAMESPACE;
305
+ var n = jt(), e = n.find, t = n.NAMESPACE;
306
306
  function r(c) {
307
307
  return c !== "";
308
308
  }
@@ -335,7 +335,7 @@ function kr() {
335
335
  }
336
336
  m.constructor != c && (typeof c != "function" && console.error("unknown Class:" + c), m.constructor = c);
337
337
  }
338
- var h = {}, a = h.ELEMENT_NODE = 1, D = h.ATTRIBUTE_NODE = 2, p = h.TEXT_NODE = 3, A = h.CDATA_SECTION_NODE = 4, w = h.ENTITY_REFERENCE_NODE = 5, v = h.ENTITY_NODE = 6, B = h.PROCESSING_INSTRUCTION_NODE = 7, N = h.COMMENT_NODE = 8, E = h.DOCUMENT_NODE = 9, L = h.DOCUMENT_TYPE_NODE = 10, X = h.DOCUMENT_FRAGMENT_NODE = 11, R = h.NOTATION_NODE = 12, S = {}, z = {};
338
+ var h = {}, a = h.ELEMENT_NODE = 1, b = h.ATTRIBUTE_NODE = 2, p = h.TEXT_NODE = 3, A = h.CDATA_SECTION_NODE = 4, y = h.ENTITY_REFERENCE_NODE = 5, v = h.ENTITY_NODE = 6, B = h.PROCESSING_INSTRUCTION_NODE = 7, N = h.COMMENT_NODE = 8, E = h.DOCUMENT_NODE = 9, L = h.DOCUMENT_TYPE_NODE = 10, X = h.DOCUMENT_FRAGMENT_NODE = 11, R = h.NOTATION_NODE = 12, S = {}, z = {};
339
339
  S.INDEX_SIZE_ERR = (z[1] = "Index size error", 1), S.DOMSTRING_SIZE_ERR = (z[2] = "DOMString size error", 2);
340
340
  var C = S.HIERARCHY_REQUEST_ERR = (z[3] = "Hierarchy request error", 3);
341
341
  S.WRONG_DOCUMENT_ERR = (z[4] = "Wrong document", 4), S.INVALID_CHARACTER_ERR = (z[5] = "Invalid character", 5), S.NO_DATA_ALLOWED_ERR = (z[6] = "No data allowed", 6), S.NO_MODIFICATION_ALLOWED_ERR = (z[7] = "No modification allowed", 7);
@@ -393,9 +393,9 @@ function kr() {
393
393
  }
394
394
  };
395
395
  function g(c, f) {
396
- this._node = c, this._refresh = f, b(this);
396
+ this._node = c, this._refresh = f, D(this);
397
397
  }
398
- function b(c) {
398
+ function D(c) {
399
399
  var f = c._node._inc || c._node.ownerDocument._inc;
400
400
  if (c._inc !== f) {
401
401
  var m = c._refresh(c._node);
@@ -406,9 +406,9 @@ function kr() {
406
406
  }
407
407
  }
408
408
  g.prototype.item = function(c) {
409
- return b(this), this[c] || null;
409
+ return D(this), this[c] || null;
410
410
  }, d(g, I);
411
- function y() {
411
+ function w() {
412
412
  }
413
413
  function T(c, f) {
414
414
  for (var m = c.length; m--; )
@@ -419,7 +419,7 @@ function kr() {
419
419
  if (x ? f[T(f, x)] = m : f[f.length++] = m, c) {
420
420
  m.ownerElement = c;
421
421
  var q = c.ownerDocument;
422
- q && (x && K(q, c, x), j(q, c, m));
422
+ q && (x && K(q, c, x), W(q, c, m));
423
423
  }
424
424
  }
425
425
  function H(c, f, m) {
@@ -434,7 +434,7 @@ function kr() {
434
434
  } else
435
435
  throw new M(P, new Error(c.tagName + "@" + m));
436
436
  }
437
- y.prototype = {
437
+ w.prototype = {
438
438
  length: 0,
439
439
  item: I.prototype.item,
440
440
  getNamedItem: function(c) {
@@ -522,7 +522,7 @@ function kr() {
522
522
  * @see https://www.w3.org/TR/xml-names/#ns-qualnames XML Namespaces: Qualified names
523
523
  */
524
524
  createDocument: function(c, f, m) {
525
- var x = new W();
525
+ var x = new j();
526
526
  if (x.implementation = this, x.childNodes = new I(), x.doctype = m || null, m && x.appendChild(m), f) {
527
527
  var q = x.createElementNS(c, f);
528
528
  x.appendChild(q);
@@ -626,7 +626,7 @@ function kr() {
626
626
  if (Object.prototype.hasOwnProperty.call(m, x) && m[x] === c)
627
627
  return x;
628
628
  }
629
- f = f.nodeType == D ? f.ownerDocument : f.parentNode;
629
+ f = f.nodeType == b ? f.ownerDocument : f.parentNode;
630
630
  }
631
631
  return null;
632
632
  },
@@ -636,7 +636,7 @@ function kr() {
636
636
  var m = f._nsMap;
637
637
  if (m && Object.prototype.hasOwnProperty.call(m, c))
638
638
  return m[c];
639
- f = f.nodeType == D ? f.ownerDocument : f.parentNode;
639
+ f = f.nodeType == b ? f.ownerDocument : f.parentNode;
640
640
  }
641
641
  return null;
642
642
  },
@@ -659,10 +659,10 @@ function kr() {
659
659
  return !0;
660
660
  while (c = c.nextSibling);
661
661
  }
662
- function W() {
662
+ function j() {
663
663
  this.ownerDocument = this;
664
664
  }
665
- function j(c, f, m) {
665
+ function W(c, f, m) {
666
666
  c && c._inc++;
667
667
  var x = m.namespaceURI;
668
668
  x === t.XMLNS && (f._nsMap[m.prefix ? m.localName : ""] = m.value);
@@ -816,7 +816,7 @@ function kr() {
816
816
  var m = c.ownerDocument || c;
817
817
  return ve(f, m), f;
818
818
  }
819
- W.prototype = {
819
+ j.prototype = {
820
820
  //implementation : null,
821
821
  nodeName: "#document",
822
822
  nodeType: E,
@@ -897,7 +897,7 @@ function kr() {
897
897
  createElement: function(c) {
898
898
  var f = new oe();
899
899
  f.ownerDocument = this, f.nodeName = c, f.tagName = c, f.localName = c, f.childNodes = new I();
900
- var m = f.attributes = new y();
900
+ var m = f.attributes = new w();
901
901
  return m._ownerElement = f, f;
902
902
  },
903
903
  createDocumentFragment: function() {
@@ -930,7 +930,7 @@ function kr() {
930
930
  },
931
931
  // Introduced in DOM Level 2:
932
932
  createElementNS: function(c, f) {
933
- var m = new oe(), x = f.split(":"), q = m.attributes = new y();
933
+ var m = new oe(), x = f.split(":"), q = m.attributes = new w();
934
934
  return m.childNodes = new I(), m.ownerDocument = this, m.nodeName = f, m.tagName = f, m.namespaceURI = c, x.length == 2 ? (m.prefix = x[0], m.localName = x[1]) : m.localName = f, q._ownerElement = m, m;
935
935
  },
936
936
  // Introduced in DOM Level 2:
@@ -938,7 +938,7 @@ function kr() {
938
938
  var m = new Pe(), x = f.split(":");
939
939
  return m.ownerDocument = this, m.nodeName = f, m.name = f, m.namespaceURI = c, m.specified = !0, x.length == 2 ? (m.prefix = x[0], m.localName = x[1]) : m.localName = f, m;
940
940
  }
941
- }, d(W, V);
941
+ }, d(j, V);
942
942
  function oe() {
943
943
  this._nsMap = {};
944
944
  }
@@ -1010,10 +1010,10 @@ function kr() {
1010
1010
  }), x;
1011
1011
  });
1012
1012
  }
1013
- }, W.prototype.getElementsByTagName = oe.prototype.getElementsByTagName, W.prototype.getElementsByTagNameNS = oe.prototype.getElementsByTagNameNS, d(oe, V);
1013
+ }, j.prototype.getElementsByTagName = oe.prototype.getElementsByTagName, j.prototype.getElementsByTagNameNS = oe.prototype.getElementsByTagNameNS, d(oe, V);
1014
1014
  function Pe() {
1015
1015
  }
1016
- Pe.prototype.nodeType = D, d(Pe, V);
1016
+ Pe.prototype.nodeType = b, d(Pe, V);
1017
1017
  function we() {
1018
1018
  }
1019
1019
  we.prototype = {
@@ -1073,7 +1073,7 @@ function kr() {
1073
1073
  Ve.prototype.nodeType = v, d(Ve, V);
1074
1074
  function Se() {
1075
1075
  }
1076
- Se.prototype.nodeType = w, d(Se, V);
1076
+ Se.prototype.nodeType = y, d(Se, V);
1077
1077
  function Ze() {
1078
1078
  }
1079
1079
  Ze.prototype.nodeName = "#document-fragment", Ze.prototype.nodeType = X, d(Ze, V);
@@ -1156,14 +1156,14 @@ function kr() {
1156
1156
  for (var Qe = 0; Qe < re; Qe++) {
1157
1157
  var Ce = k.item(Qe);
1158
1158
  if (ft(Ce, m, q)) {
1159
- var We = Ce.prefix || "", gt = Ce.namespaceURI;
1160
- ht(f, We ? "xmlns:" + We : "xmlns", gt), q.push({ prefix: We, namespace: gt });
1159
+ var je = Ce.prefix || "", gt = Ce.namespaceURI;
1160
+ ht(f, je ? "xmlns:" + je : "xmlns", gt), q.push({ prefix: je, namespace: gt });
1161
1161
  }
1162
1162
  Oe(Ce, f, m, x, q);
1163
1163
  }
1164
1164
  if (fe === De && ft(c, m, q)) {
1165
- var We = c.prefix || "", gt = c.namespaceURI;
1166
- ht(f, We ? "xmlns:" + We : "xmlns", gt), q.push({ prefix: We, namespace: gt });
1165
+ var je = c.prefix || "", gt = c.namespaceURI;
1166
+ ht(f, je ? "xmlns:" + je : "xmlns", gt), q.push({ prefix: je, namespace: gt });
1167
1167
  }
1168
1168
  if (ce || m && !/^(?:meta|link|img|br|hr|input)$/i.test(fe)) {
1169
1169
  if (f.push(">"), m && /^script$/i.test(fe))
@@ -1181,7 +1181,7 @@ function kr() {
1181
1181
  for (var ce = c.firstChild; ce; )
1182
1182
  Oe(ce, f, m, x, q.slice()), ce = ce.nextSibling;
1183
1183
  return;
1184
- case D:
1184
+ case b:
1185
1185
  return ht(f, c.name, c.value);
1186
1186
  case p:
1187
1187
  return f.push(
@@ -1204,7 +1204,7 @@ function kr() {
1204
1204
  return;
1205
1205
  case B:
1206
1206
  return f.push("<?", c.target, " ", c.data, "?>");
1207
- case w:
1207
+ case y:
1208
1208
  return f.push("&", c.nodeName, ";");
1209
1209
  //case ENTITY_NODE:
1210
1210
  //case NOTATION_NODE:
@@ -1224,7 +1224,7 @@ function kr() {
1224
1224
  //}
1225
1225
  case X:
1226
1226
  break;
1227
- case D:
1227
+ case b:
1228
1228
  m = !0;
1229
1229
  break;
1230
1230
  }
@@ -1242,12 +1242,12 @@ function kr() {
1242
1242
  }
1243
1243
  switch (f.childNodes && (x.childNodes = new I()), x.ownerDocument = c, x.nodeType) {
1244
1244
  case a:
1245
- var re = f.attributes, fe = x.attributes = new y(), De = re.length;
1245
+ var re = f.attributes, fe = x.attributes = new w(), De = re.length;
1246
1246
  fe._ownerElement = x;
1247
1247
  for (var Xe = 0; Xe < De; Xe++)
1248
1248
  x.setAttributeNode(_e(c, re.item(Xe), !0));
1249
1249
  break;
1250
- case D:
1250
+ case b:
1251
1251
  m = !0;
1252
1252
  }
1253
1253
  if (m)
@@ -1274,7 +1274,7 @@ function kr() {
1274
1274
  };
1275
1275
  Object.defineProperty(g.prototype, "length", {
1276
1276
  get: function() {
1277
- return b(this), this.$$length;
1277
+ return D(this), this.$$length;
1278
1278
  }
1279
1279
  }), Object.defineProperty(V.prototype, "textContent", {
1280
1280
  get: function() {
@@ -1301,9 +1301,9 @@ function kr() {
1301
1301
  return Le.DocumentType = qe, Le.DOMException = M, Le.DOMImplementation = G, Le.Element = oe, Le.Node = V, Le.NodeList = I, Le.XMLSerializer = Ke, Le;
1302
1302
  }
1303
1303
  var At = {}, Yt = {}, Dr;
1304
- function En() {
1304
+ function Nn() {
1305
1305
  return Dr || (Dr = 1, (function(n) {
1306
- var e = Wt().freeze;
1306
+ var e = jt().freeze;
1307
1307
  n.XML_ENTITIES = e({
1308
1308
  amp: "&",
1309
1309
  apos: "'",
@@ -3441,14 +3441,14 @@ function En() {
3441
3441
  })(Yt)), Yt;
3442
3442
  }
3443
3443
  var xt = {}, br;
3444
- function xn() {
3444
+ function Pn() {
3445
3445
  if (br) return xt;
3446
3446
  br = 1;
3447
- var n = Wt().NAMESPACE, e = /[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/, t = new RegExp("[\\-\\.0-9" + e.source.slice(1, -1) + "\\u00B7\\u0300-\\u036F\\u203F-\\u2040]"), r = new RegExp("^" + e.source + t.source + "*(?::" + e.source + t.source + "*)?$"), i = 0, o = 1, u = 2, s = 3, l = 4, d = 5, h = 6, a = 7;
3448
- function D(C, P) {
3449
- this.message = C, this.locator = P, Error.captureStackTrace && Error.captureStackTrace(this, D);
3447
+ var n = jt().NAMESPACE, e = /[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/, t = new RegExp("[\\-\\.0-9" + e.source.slice(1, -1) + "\\u00B7\\u0300-\\u036F\\u203F-\\u2040]"), r = new RegExp("^" + e.source + t.source + "*(?::" + e.source + t.source + "*)?$"), i = 0, o = 1, u = 2, s = 3, l = 4, d = 5, h = 6, a = 7;
3448
+ function b(C, P) {
3449
+ this.message = C, this.locator = P, Error.captureStackTrace && Error.captureStackTrace(this, b);
3450
3450
  }
3451
- D.prototype = new Error(), D.prototype.name = D.name;
3451
+ b.prototype = new Error(), b.prototype.name = b.name;
3452
3452
  function p() {
3453
3453
  }
3454
3454
  p.prototype = {
@@ -3472,14 +3472,14 @@ function xn() {
3472
3472
  } else
3473
3473
  return String.fromCharCode(ee);
3474
3474
  }
3475
- function b(ee) {
3475
+ function D(ee) {
3476
3476
  var oe = ee.slice(1, -1);
3477
3477
  return Object.hasOwnProperty.call(F, oe) ? F[oe] : oe.charAt(0) === "#" ? g(parseInt(oe.substr(1).replace("x", "0x"))) : (I.error("entity not found:" + ee), ee);
3478
3478
  }
3479
- function y(ee) {
3480
- if (ee > W) {
3481
- var oe = C.substring(W, ee).replace(/&#?\w+;/g, b);
3482
- V && T(W), M.characters(oe, 0, ee - W), W = ee;
3479
+ function w(ee) {
3480
+ if (ee > j) {
3481
+ var oe = C.substring(j, ee).replace(/&#?\w+;/g, D);
3482
+ V && T(j), M.characters(oe, 0, ee - j), j = ee;
3483
3483
  }
3484
3484
  }
3485
3485
  function T(ee, oe) {
@@ -3487,20 +3487,20 @@ function xn() {
3487
3487
  O = oe.index, H = O + oe[0].length, V.lineNumber++;
3488
3488
  V.columnNumber = ee - O + 1;
3489
3489
  }
3490
- for (var O = 0, H = 0, G = /.*(?:\r\n?|\n)|.*$/g, V = M.locator, J = [{ currentNSMap: P }], Y = {}, W = 0; ; ) {
3490
+ for (var O = 0, H = 0, G = /.*(?:\r\n?|\n)|.*$/g, V = M.locator, J = [{ currentNSMap: P }], Y = {}, j = 0; ; ) {
3491
3491
  try {
3492
- var j = C.indexOf("<", W);
3493
- if (j < 0) {
3494
- if (!C.substr(W).match(/^\s*$/)) {
3495
- var K = M.doc, Z = K.createTextNode(C.substr(W));
3492
+ var W = C.indexOf("<", j);
3493
+ if (W < 0) {
3494
+ if (!C.substr(j).match(/^\s*$/)) {
3495
+ var K = M.doc, Z = K.createTextNode(C.substr(j));
3496
3496
  K.appendChild(Z), M.currentElement = Z;
3497
3497
  }
3498
3498
  return;
3499
3499
  }
3500
- switch (j > W && y(j), C.charAt(j + 1)) {
3500
+ switch (W > j && w(W), C.charAt(W + 1)) {
3501
3501
  case "/":
3502
- var ue = C.indexOf(">", j + 3), U = C.substring(j + 2, ue).replace(/[ \t\n\r]+$/g, ""), te = J.pop();
3503
- ue < 0 ? (U = C.substring(j + 2).replace(/[\s<].*/, ""), I.error("end tag name: " + U + " is not complete:" + te.tagName), ue = j + 1 + U.length) : U.match(/\s</) && (U = U.replace(/[\s<].*/, ""), I.error("end tag name: " + U + " maybe not complete"), ue = j + 1 + U.length);
3502
+ var ue = C.indexOf(">", W + 3), U = C.substring(W + 2, ue).replace(/[ \t\n\r]+$/g, ""), te = J.pop();
3503
+ ue < 0 ? (U = C.substring(W + 2).replace(/[\s<].*/, ""), I.error("end tag name: " + U + " is not complete:" + te.tagName), ue = W + 1 + U.length) : U.match(/\s</) && (U = U.replace(/[\s<].*/, ""), I.error("end tag name: " + U + " maybe not complete"), ue = W + 1 + U.length);
3504
3504
  var se = te.localNSMap, _ = te.tagName == U, $ = _ || te.tagName && te.tagName.toLowerCase() == U.toLowerCase();
3505
3505
  if ($) {
3506
3506
  if (M.endElement(te.uri, te.localName, U), se)
@@ -3513,37 +3513,37 @@ function xn() {
3513
3513
  break;
3514
3514
  // end elment
3515
3515
  case "?":
3516
- V && T(j), ue = R(C, j, M);
3516
+ V && T(W), ue = R(C, W, M);
3517
3517
  break;
3518
3518
  case "!":
3519
- V && T(j), ue = X(C, j, M, I);
3519
+ V && T(W), ue = X(C, W, M, I);
3520
3520
  break;
3521
3521
  default:
3522
- V && T(j);
3523
- var ne = new S(), he = J[J.length - 1].currentNSMap, ue = v(C, j, ne, he, b, I), Ae = ne.length;
3522
+ V && T(W);
3523
+ var ne = new S(), he = J[J.length - 1].currentNSMap, ue = v(C, W, ne, he, D, I), Ae = ne.length;
3524
3524
  if (!ne.closed && E(C, ue, ne.tagName, Y) && (ne.closed = !0, F.nbsp || I.warning("unclosed xml attribute")), V && Ae) {
3525
- for (var pe = w(V, {}), le = 0; le < Ae; le++) {
3525
+ for (var pe = y(V, {}), le = 0; le < Ae; le++) {
3526
3526
  var ve = ne[le];
3527
- T(ve.offset), ve.locator = w(V, {});
3527
+ T(ve.offset), ve.locator = y(V, {});
3528
3528
  }
3529
3529
  M.locator = pe, B(ne, M, he) && J.push(ne), M.locator = V;
3530
3530
  } else
3531
3531
  B(ne, M, he) && J.push(ne);
3532
- n.isHTML(ne.uri) && !ne.closed ? ue = N(C, ue, ne.tagName, b, M) : ue++;
3532
+ n.isHTML(ne.uri) && !ne.closed ? ue = N(C, ue, ne.tagName, D, M) : ue++;
3533
3533
  }
3534
3534
  } catch (ee) {
3535
- if (ee instanceof D)
3535
+ if (ee instanceof b)
3536
3536
  throw ee;
3537
3537
  I.error("element parse error: " + ee), ue = -1;
3538
3538
  }
3539
- ue > W ? W = ue : y(Math.max(j, W) + 1);
3539
+ ue > j ? j = ue : w(Math.max(W, j) + 1);
3540
3540
  }
3541
3541
  }
3542
- function w(C, P) {
3542
+ function y(C, P) {
3543
3543
  return P.lineNumber = C.lineNumber, P.columnNumber = C.columnNumber, P;
3544
3544
  }
3545
3545
  function v(C, P, F, M, I, g) {
3546
- function b(V, J, Y) {
3546
+ function D(V, J, Y) {
3547
3547
  F.attributeNames.hasOwnProperty(V) && g.fatalError("Attribute " + V + " redefined"), F.addValue(
3548
3548
  V,
3549
3549
  // @see https://www.w3.org/TR/xml/#AVNormalize
@@ -3554,12 +3554,12 @@ function xn() {
3554
3554
  Y
3555
3555
  );
3556
3556
  }
3557
- for (var y, T, O = ++P, H = i; ; ) {
3557
+ for (var w, T, O = ++P, H = i; ; ) {
3558
3558
  var G = C.charAt(O);
3559
3559
  switch (G) {
3560
3560
  case "=":
3561
3561
  if (H === o)
3562
- y = C.slice(P, O), H = s;
3562
+ w = C.slice(P, O), H = s;
3563
3563
  else if (H === u)
3564
3564
  H = s;
3565
3565
  else
@@ -3568,12 +3568,12 @@ function xn() {
3568
3568
  case "'":
3569
3569
  case '"':
3570
3570
  if (H === s || H === o)
3571
- if (H === o && (g.warning('attribute value must after "="'), y = C.slice(P, O)), P = O + 1, O = C.indexOf(G, P), O > 0)
3572
- T = C.slice(P, O), b(y, T, P - 1), H = d;
3571
+ if (H === o && (g.warning('attribute value must after "="'), w = C.slice(P, O)), P = O + 1, O = C.indexOf(G, P), O > 0)
3572
+ T = C.slice(P, O), D(w, T, P - 1), H = d;
3573
3573
  else
3574
3574
  throw new Error("attribute value no end '" + G + "' match");
3575
3575
  else if (H == l)
3576
- T = C.slice(P, O), b(y, T, P), g.warning('attribute "' + y + '" missed start quot(' + G + ")!!"), P = O + 1, H = d;
3576
+ T = C.slice(P, O), D(w, T, P), g.warning('attribute "' + w + '" missed start quot(' + G + ")!!"), P = O + 1, H = d;
3577
3577
  else
3578
3578
  throw new Error('attribute value must after "="');
3579
3579
  break;
@@ -3612,7 +3612,7 @@ function xn() {
3612
3612
  case o:
3613
3613
  T = C.slice(P, O), T.slice(-1) === "/" && (F.closed = !0, T = T.slice(0, -1));
3614
3614
  case u:
3615
- H === u && (T = y), H == l ? (g.warning('attribute "' + T + '" missed quot(")!'), b(y, T, P)) : ((!n.isHTML(M[""]) || !T.match(/^(?:disabled|checked|selected)$/i)) && g.warning('attribute "' + T + '" missed value!! "' + T + '" instead!!'), b(T, T, P));
3615
+ H === u && (T = w), H == l ? (g.warning('attribute "' + T + '" missed quot(")!'), D(w, T, P)) : ((!n.isHTML(M[""]) || !T.match(/^(?:disabled|checked|selected)$/i)) && g.warning('attribute "' + T + '" missed value!! "' + T + '" instead!!'), D(T, T, P));
3616
3616
  break;
3617
3617
  case s:
3618
3618
  throw new Error("attribute value missed!!");
@@ -3628,11 +3628,11 @@ function xn() {
3628
3628
  F.setTagName(C.slice(P, O)), H = h;
3629
3629
  break;
3630
3630
  case o:
3631
- y = C.slice(P, O), H = u;
3631
+ w = C.slice(P, O), H = u;
3632
3632
  break;
3633
3633
  case l:
3634
3634
  var T = C.slice(P, O);
3635
- g.warning('attribute "' + T + '" missed quot(")!!'), b(y, T, P);
3635
+ g.warning('attribute "' + T + '" missed quot(")!!'), D(w, T, P);
3636
3636
  case d:
3637
3637
  H = h;
3638
3638
  break;
@@ -3643,10 +3643,10 @@ function xn() {
3643
3643
  //case S_ATTR:void();break;
3644
3644
  //case S_ATTR_NOQUOT_VALUE:void();break;
3645
3645
  case u:
3646
- F.tagName, (!n.isHTML(M[""]) || !y.match(/^(?:disabled|checked|selected)$/i)) && g.warning('attribute "' + y + '" missed value!! "' + y + '" instead2!!'), b(y, y, P), P = O, H = o;
3646
+ F.tagName, (!n.isHTML(M[""]) || !w.match(/^(?:disabled|checked|selected)$/i)) && g.warning('attribute "' + w + '" missed value!! "' + w + '" instead2!!'), D(w, w, P), P = O, H = o;
3647
3647
  break;
3648
3648
  case d:
3649
- g.warning('attribute space is required"' + y + '"!!');
3649
+ g.warning('attribute space is required"' + w + '"!!');
3650
3650
  case h:
3651
3651
  H = o, P = O;
3652
3652
  break;
@@ -3662,12 +3662,12 @@ function xn() {
3662
3662
  }
3663
3663
  function B(C, P, F) {
3664
3664
  for (var M = C.tagName, I = null, G = C.length; G--; ) {
3665
- var g = C[G], b = g.qName, y = g.value, V = b.indexOf(":");
3665
+ var g = C[G], D = g.qName, w = g.value, V = D.indexOf(":");
3666
3666
  if (V > 0)
3667
- var T = g.prefix = b.slice(0, V), O = b.slice(V + 1), H = T === "xmlns" && O;
3667
+ var T = g.prefix = D.slice(0, V), O = D.slice(V + 1), H = T === "xmlns" && O;
3668
3668
  else
3669
- O = b, T = null, H = b === "xmlns" && "";
3670
- g.localName = O, H !== !1 && (I == null && (I = {}, L(F, F = {})), F[H] = I[H] = y, g.uri = n.XMLNS, P.startPrefixMapping(H, y));
3669
+ O = D, T = null, H = D === "xmlns" && "";
3670
+ g.localName = O, H !== !1 && (I == null && (I = {}, L(F, F = {})), F[H] = I[H] = w, g.uri = n.XMLNS, P.startPrefixMapping(H, w));
3671
3671
  }
3672
3672
  for (var G = C.length; G--; ) {
3673
3673
  g = C[G];
@@ -3686,9 +3686,9 @@ function xn() {
3686
3686
  }
3687
3687
  function N(C, P, F, M, I) {
3688
3688
  if (/^(?:script|textarea)$/i.test(F)) {
3689
- var g = C.indexOf("</" + F + ">", P), b = C.substring(P + 1, g);
3690
- if (/[&<]/.test(b))
3691
- return /^script$/i.test(F) ? (I.characters(b, 0, b.length), g) : (b = b.replace(/&#?\w+;/g, M), I.characters(b, 0, b.length), g);
3689
+ var g = C.indexOf("</" + F + ">", P), D = C.substring(P + 1, g);
3690
+ if (/[&<]/.test(D))
3691
+ return /^script$/i.test(F) ? (I.characters(D, 0, D.length), g) : (D = D.replace(/&#?\w+;/g, M), I.characters(D, 0, D.length), g);
3692
3692
  }
3693
3693
  return P + 1;
3694
3694
  }
@@ -3714,11 +3714,11 @@ function xn() {
3714
3714
  var g = C.indexOf("]]>", P + 9);
3715
3715
  return F.startCDATA(), F.characters(C, P + 9, g - P - 9), F.endCDATA(), g + 3;
3716
3716
  }
3717
- var b = z(C, P), y = b.length;
3718
- if (y > 1 && /!doctype/i.test(b[0][0])) {
3719
- var T = b[1][0], O = !1, H = !1;
3720
- y > 3 && (/^public$/i.test(b[2][0]) ? (O = b[3][0], H = y > 4 && b[4][0]) : /^system$/i.test(b[2][0]) && (H = b[3][0]));
3721
- var G = b[y - 1];
3717
+ var D = z(C, P), w = D.length;
3718
+ if (w > 1 && /!doctype/i.test(D[0][0])) {
3719
+ var T = D[1][0], O = !1, H = !1;
3720
+ w > 3 && (/^public$/i.test(D[2][0]) ? (O = D[3][0], H = w > 4 && D[4][0]) : /^system$/i.test(D[2][0]) && (H = D[3][0]));
3721
+ var G = D[w - 1];
3722
3722
  return F.startDTD(T, O, H), F.endDTD(), G.index + G[0].length;
3723
3723
  }
3724
3724
  }
@@ -3778,13 +3778,13 @@ function xn() {
3778
3778
  for (I.lastIndex = P, I.exec(C); F = I.exec(C); )
3779
3779
  if (M.push(F), F[1]) return M;
3780
3780
  }
3781
- return xt.XMLReader = p, xt.ParseError = D, xt;
3781
+ return xt.XMLReader = p, xt.ParseError = b, xt;
3782
3782
  }
3783
3783
  var yr;
3784
- function Nn() {
3784
+ function Tn() {
3785
3785
  if (yr) return At;
3786
3786
  yr = 1;
3787
- var n = Wt(), e = kr(), t = En(), r = xn(), i = e.DOMImplementation, o = n.NAMESPACE, u = r.ParseError, s = r.XMLReader;
3787
+ var n = jt(), e = Qr(), t = Nn(), r = Pn(), i = e.DOMImplementation, o = n.NAMESPACE, u = r.ParseError, s = r.XMLReader;
3788
3788
  function l(v) {
3789
3789
  return v.replace(/\r[\n\u0085]/g, `
3790
3790
  `).replace(/[\r\u0085\u2028]/g, `
@@ -3825,7 +3825,7 @@ function Nn() {
3825
3825
  function a() {
3826
3826
  this.cdata = !1;
3827
3827
  }
3828
- function D(v, B) {
3828
+ function b(v, B) {
3829
3829
  B.lineNumber = v.lineNumber, B.columnNumber = v.columnNumber;
3830
3830
  }
3831
3831
  a.prototype = {
@@ -3834,10 +3834,10 @@ function Nn() {
3834
3834
  },
3835
3835
  startElement: function(v, B, N, E) {
3836
3836
  var L = this.doc, X = L.createElementNS(v, N || B), R = E.length;
3837
- w(this, X), this.currentElement = X, this.locator && D(this.locator, X);
3837
+ y(this, X), this.currentElement = X, this.locator && b(this.locator, X);
3838
3838
  for (var S = 0; S < R; S++) {
3839
3839
  var v = E.getURI(S), z = E.getValue(S), N = E.getQName(S), C = L.createAttributeNS(v, N);
3840
- this.locator && D(E.getLocator(S), C), C.value = C.nodeValue = z, X.setAttributeNode(C);
3840
+ this.locator && b(E.getLocator(S), C), C.value = C.nodeValue = z, X.setAttributeNode(C);
3841
3841
  }
3842
3842
  },
3843
3843
  endElement: function(v, B, N) {
@@ -3850,7 +3850,7 @@ function Nn() {
3850
3850
  },
3851
3851
  processingInstruction: function(v, B) {
3852
3852
  var N = this.doc.createProcessingInstruction(v, B);
3853
- this.locator && D(this.locator, N), w(this, N);
3853
+ this.locator && b(this.locator, N), y(this, N);
3854
3854
  },
3855
3855
  ignorableWhitespace: function(v, B, N) {
3856
3856
  },
@@ -3860,7 +3860,7 @@ function Nn() {
3860
3860
  var E = this.doc.createCDATASection(v);
3861
3861
  else
3862
3862
  var E = this.doc.createTextNode(v);
3863
- this.currentElement ? this.currentElement.appendChild(E) : /^\s*$/.test(v) && this.doc.appendChild(E), this.locator && D(this.locator, E);
3863
+ this.currentElement ? this.currentElement.appendChild(E) : /^\s*$/.test(v) && this.doc.appendChild(E), this.locator && b(this.locator, E);
3864
3864
  }
3865
3865
  },
3866
3866
  skippedEntity: function(v) {
@@ -3875,7 +3875,7 @@ function Nn() {
3875
3875
  comment: function(v, B, N) {
3876
3876
  v = A.apply(this, arguments);
3877
3877
  var E = this.doc.createComment(v);
3878
- this.locator && D(this.locator, E), w(this, E);
3878
+ this.locator && b(this.locator, E), y(this, E);
3879
3879
  },
3880
3880
  startCDATA: function() {
3881
3881
  this.cdata = !0;
@@ -3887,7 +3887,7 @@ function Nn() {
3887
3887
  var E = this.doc.implementation;
3888
3888
  if (E && E.createDocumentType) {
3889
3889
  var L = E.createDocumentType(v, B, N);
3890
- this.locator && D(this.locator, L), w(this, L), this.doc.doctype = L;
3890
+ this.locator && b(this.locator, L), y(this, L), this.doc.doctype = L;
3891
3891
  }
3892
3892
  },
3893
3893
  /**
@@ -3917,24 +3917,24 @@ function Nn() {
3917
3917
  return null;
3918
3918
  };
3919
3919
  });
3920
- function w(v, B) {
3920
+ function y(v, B) {
3921
3921
  v.currentElement ? v.currentElement.appendChild(B) : v.doc.appendChild(B);
3922
3922
  }
3923
3923
  return At.__DOMHandler = a, At.normalizeLineEndings = l, At.DOMParser = d, At;
3924
3924
  }
3925
3925
  var wr;
3926
- function Pn() {
3926
+ function Ln() {
3927
3927
  if (wr) return mt;
3928
3928
  wr = 1;
3929
- var n = kr();
3930
- return mt.DOMImplementation = n.DOMImplementation, mt.XMLSerializer = n.XMLSerializer, mt.DOMParser = Nn().DOMParser, mt;
3929
+ var n = Qr();
3930
+ return mt.DOMImplementation = n.DOMImplementation, mt.XMLSerializer = n.XMLSerializer, mt.DOMParser = Tn().DOMParser, mt;
3931
3931
  }
3932
- var Tn = Rt.exports, Cr;
3933
- function Ln() {
3932
+ var Fn = Rt.exports, Cr;
3933
+ function Sn() {
3934
3934
  return Cr || (Cr = 1, (function(n) {
3935
3935
  (function(e, t) {
3936
- n.exports ? n.exports = t(Pn().DOMParser) : e.X2JS = t();
3937
- })(Tn, function(e) {
3936
+ n.exports ? n.exports = t(Ln().DOMParser) : e.X2JS = t();
3937
+ })(Fn, function(e) {
3938
3938
  return function(r) {
3939
3939
  var i = "3.4.4";
3940
3940
  r = r || {};
@@ -3942,15 +3942,15 @@ function Ln() {
3942
3942
  r.arrayAccessForm = r.arrayAccessForm || "none", r.emptyNodeForm = r.emptyNodeForm || "text", r.jsAttributeFilter = r.jsAttributeFilter, r.jsAttributeConverter = r.jsAttributeConverter, r.attributeConverters = r.attributeConverters || [], r.datetimeAccessFormPaths = r.datetimeAccessFormPaths || [], r.arrayAccessFormPaths = r.arrayAccessFormPaths || [], r.xmldomOptions = r.xmldomOptions || {}, r.enableToStringFunc === void 0 && (r.enableToStringFunc = !0), r.skipEmptyTextNodesForObj === void 0 && (r.skipEmptyTextNodesForObj = !0), r.stripWhitespaces === void 0 && (r.stripWhitespaces = !0), r.useDoubleQuotes === void 0 && (r.useDoubleQuotes = !0), r.ignoreRoot === void 0 && (r.ignoreRoot = !1), r.escapeMode === void 0 && (r.escapeMode = !0), r.attributePrefix === void 0 && (r.attributePrefix = "_"), r.selfClosingElements === void 0 && (r.selfClosingElements = !0), r.keepCData === void 0 && (r.keepCData = !1), r.keepText === void 0 && (r.keepText = !1), r.jsDateUTC === void 0 && (r.jsDateUTC = !1);
3943
3943
  }
3944
3944
  function u() {
3945
- function g(b) {
3946
- var y = String(b);
3947
- return y.length === 1 && (y = "0" + y), y;
3945
+ function g(D) {
3946
+ var w = String(D);
3947
+ return w.length === 1 && (w = "0" + w), w;
3948
3948
  }
3949
3949
  typeof String.prototype.trim != "function" && (String.prototype.trim = function() {
3950
3950
  return this.replace(/^\s+|^\n+|(\s|\n)+$/g, "");
3951
3951
  }), typeof Date.prototype.toISOString != "function" && (Date.prototype.toISOString = function() {
3952
- var y = 1e3;
3953
- return this.getUTCFullYear() + "-" + g(this.getUTCMonth() + 1) + "-" + g(this.getUTCDate()) + "T" + g(this.getUTCHours()) + ":" + g(this.getUTCMinutes()) + ":" + g(this.getUTCSeconds()) + "." + String((this.getUTCMilliseconds() / y).toFixed(3)).slice(2, 5) + "Z";
3952
+ var w = 1e3;
3953
+ return this.getUTCFullYear() + "-" + g(this.getUTCMonth() + 1) + "-" + g(this.getUTCDate()) + "T" + g(this.getUTCHours()) + ":" + g(this.getUTCMinutes()) + ":" + g(this.getUTCSeconds()) + "." + String((this.getUTCMilliseconds() / w).toFixed(3)).slice(2, 5) + "Z";
3954
3954
  });
3955
3955
  }
3956
3956
  o(), u();
@@ -3962,8 +3962,8 @@ function Ln() {
3962
3962
  DOCUMENT_NODE: 9
3963
3963
  };
3964
3964
  function l(g) {
3965
- var b = g.localName;
3966
- return b == null && (b = g.baseName), (b == null || b === "") && (b = g.nodeName), b;
3965
+ var D = g.localName;
3966
+ return D == null && (D = g.baseName), (D == null || D === "") && (D = g.nodeName), D;
3967
3967
  }
3968
3968
  function d(g) {
3969
3969
  return g.prefix;
@@ -3974,39 +3974,39 @@ function Ln() {
3974
3974
  function a(g) {
3975
3975
  return g.replace(/&lt;/g, "<").replace(/&gt;/g, ">").replace(/&quot;/g, '"').replace(/&#x27;/g, "'").replace(/&amp;/g, "&");
3976
3976
  }
3977
- function D(g, b, y) {
3978
- if (r.arrayAccessForm === "property" && (g[b] instanceof Array ? g[b + "_asArray"] = g[b] : g[b + "_asArray"] = [g[b]]), !(g[b] instanceof Array) && r.arrayAccessFormPaths.length > 0) {
3977
+ function b(g, D, w) {
3978
+ if (r.arrayAccessForm === "property" && (g[D] instanceof Array ? g[D + "_asArray"] = g[D] : g[D + "_asArray"] = [g[D]]), !(g[D] instanceof Array) && r.arrayAccessFormPaths.length > 0) {
3979
3979
  for (var T = !1, O = 0; O < r.arrayAccessFormPaths.length; O++) {
3980
3980
  var H = r.arrayAccessFormPaths[O];
3981
3981
  if (typeof H == "string") {
3982
- if (H === y) {
3982
+ if (H === w) {
3983
3983
  T = !0;
3984
3984
  break;
3985
3985
  }
3986
3986
  } else if (H instanceof RegExp) {
3987
- if (H.test(y)) {
3987
+ if (H.test(w)) {
3988
3988
  T = !0;
3989
3989
  break;
3990
3990
  }
3991
- } else if (typeof H == "function" && H(b, y)) {
3991
+ } else if (typeof H == "function" && H(D, w)) {
3992
3992
  T = !0;
3993
3993
  break;
3994
3994
  }
3995
3995
  }
3996
- T && (g[b] = [g[b]]);
3996
+ T && (g[D] = [g[D]]);
3997
3997
  }
3998
3998
  }
3999
3999
  function p(g) {
4000
- var b = 60, y = g.split(/[-T:+Z]/g), T = new Date(y[0], y[1] - 1, y[2]), O = y[5].split(".");
4001
- if (T.setHours(y[3], y[4], O[0]), O.length > 1 && T.setMilliseconds(O[1]), y[6] && y[7]) {
4002
- var H = y[6] * b + Number(y[7]), G = /\d\d-\d\d:\d\d$/.test(g) ? "-" : "+";
4000
+ var D = 60, w = g.split(/[-T:+Z]/g), T = new Date(w[0], w[1] - 1, w[2]), O = w[5].split(".");
4001
+ if (T.setHours(w[3], w[4], O[0]), O.length > 1 && T.setMilliseconds(O[1]), w[6] && w[7]) {
4002
+ var H = w[6] * D + Number(w[7]), G = /\d\d-\d\d:\d\d$/.test(g) ? "-" : "+";
4003
4003
  H = 0 + (G === "-" ? -1 * H : H), T.setMinutes(T.getMinutes() - H - T.getTimezoneOffset());
4004
4004
  } else g.indexOf("Z", g.length - 1) !== -1 && (T = new Date(Date.UTC(T.getFullYear(), T.getMonth(), T.getDate(), T.getHours(), T.getMinutes(), T.getSeconds(), T.getMilliseconds())));
4005
4005
  return T;
4006
4006
  }
4007
- function A(g, b, y) {
4007
+ function A(g, D, w) {
4008
4008
  if (r.datetimeAccessFormPaths.length > 0)
4009
- for (var T = y.split(".#")[0], O = 0; O < r.datetimeAccessFormPaths.length; O++) {
4009
+ for (var T = w.split(".#")[0], O = 0; O < r.datetimeAccessFormPaths.length; O++) {
4010
4010
  var H = r.datetimeAccessFormPaths[O];
4011
4011
  if (typeof H == "string") {
4012
4012
  if (H === T)
@@ -4019,162 +4019,162 @@ function Ln() {
4019
4019
  }
4020
4020
  return g;
4021
4021
  }
4022
- function w(g) {
4023
- for (var b = {}, y = g.childNodes, T = 0; T < y.length; T++) {
4024
- var O = y.item(T);
4022
+ function y(g) {
4023
+ for (var D = {}, w = g.childNodes, T = 0; T < w.length; T++) {
4024
+ var O = w.item(T);
4025
4025
  if (O.nodeType === s.ELEMENT_NODE) {
4026
4026
  var H = l(O);
4027
- r.ignoreRoot ? b = B(O, H) : b[H] = B(O, H);
4027
+ r.ignoreRoot ? D = B(O, H) : D[H] = B(O, H);
4028
4028
  }
4029
4029
  }
4030
- return b;
4030
+ return D;
4031
4031
  }
4032
- function v(g, b) {
4033
- var y = {};
4034
- y.__cnt = 0;
4032
+ function v(g, D) {
4033
+ var w = {};
4034
+ w.__cnt = 0;
4035
4035
  for (var T = g.childNodes, O = 0; O < T.length; O++) {
4036
4036
  var H = T.item(O), G = l(H);
4037
- H.nodeType !== s.COMMENT_NODE && (y.__cnt++, y[G] == null ? (y[G] = B(H, b + "." + G), D(y, G, b + "." + G)) : (y[G] instanceof Array || (y[G] = [y[G]], D(y, G, b + "." + G)), y[G][y[G].length] = B(H, b + "." + G)));
4037
+ H.nodeType !== s.COMMENT_NODE && (w.__cnt++, w[G] == null ? (w[G] = B(H, D + "." + G), b(w, G, D + "." + G)) : (w[G] instanceof Array || (w[G] = [w[G]], b(w, G, D + "." + G)), w[G][w[G].length] = B(H, D + "." + G)));
4038
4038
  }
4039
4039
  for (var V = 0; V < g.attributes.length; V++) {
4040
4040
  var J = g.attributes.item(V);
4041
- y.__cnt++;
4042
- for (var Y = J.value, W = 0; W < r.attributeConverters.length; W++) {
4043
- var j = r.attributeConverters[W];
4044
- j.test.call(null, J.name, J.value) && (Y = j.convert.call(null, J.name, J.value));
4041
+ w.__cnt++;
4042
+ for (var Y = J.value, j = 0; j < r.attributeConverters.length; j++) {
4043
+ var W = r.attributeConverters[j];
4044
+ W.test.call(null, J.name, J.value) && (Y = W.convert.call(null, J.name, J.value));
4045
4045
  }
4046
- y[r.attributePrefix + J.name] = Y;
4046
+ w[r.attributePrefix + J.name] = Y;
4047
4047
  }
4048
4048
  var K = d(g);
4049
- return K && (y.__cnt++, y.__prefix = K), y["#text"] && (y.__text = y["#text"], y.__text instanceof Array && (y.__text = y.__text.join(`
4050
- `)), r.escapeMode && (y.__text = a(y.__text)), r.stripWhitespaces && (y.__text = y.__text.trim()), delete y["#text"], r.arrayAccessForm === "property" && delete y["#text_asArray"], y.__text = A(y.__text, "#text", b + ".#text")), y.hasOwnProperty("#cdata-section") && (y.__cdata = y["#cdata-section"], delete y["#cdata-section"], r.arrayAccessForm === "property" && delete y["#cdata-section_asArray"]), y.__cnt === 1 && y.__text && !r.keepText ? y = y.__text : y.__cnt === 0 && r.emptyNodeForm === "text" ? y = "" : y.__cnt > 1 && y.__text !== void 0 && r.skipEmptyTextNodesForObj && (r.stripWhitespaces && y.__text === "" || y.__text.trim() === "") && delete y.__text, delete y.__cnt, !r.keepCData && !y.hasOwnProperty("__text") && y.hasOwnProperty("__cdata") && Object.keys(y).length === 1 ? y.__cdata ? y.__cdata : "" : (r.enableToStringFunc && (y.__text || y.__cdata) && (y.toString = function() {
4049
+ return K && (w.__cnt++, w.__prefix = K), w["#text"] && (w.__text = w["#text"], w.__text instanceof Array && (w.__text = w.__text.join(`
4050
+ `)), r.escapeMode && (w.__text = a(w.__text)), r.stripWhitespaces && (w.__text = w.__text.trim()), delete w["#text"], r.arrayAccessForm === "property" && delete w["#text_asArray"], w.__text = A(w.__text, "#text", D + ".#text")), w.hasOwnProperty("#cdata-section") && (w.__cdata = w["#cdata-section"], delete w["#cdata-section"], r.arrayAccessForm === "property" && delete w["#cdata-section_asArray"]), w.__cnt === 1 && w.__text && !r.keepText ? w = w.__text : w.__cnt === 0 && r.emptyNodeForm === "text" ? w = "" : w.__cnt > 1 && w.__text !== void 0 && r.skipEmptyTextNodesForObj && (r.stripWhitespaces && w.__text === "" || w.__text.trim() === "") && delete w.__text, delete w.__cnt, !r.keepCData && !w.hasOwnProperty("__text") && w.hasOwnProperty("__cdata") && Object.keys(w).length === 1 ? w.__cdata ? w.__cdata : "" : (r.enableToStringFunc && (w.__text || w.__cdata) && (w.toString = function() {
4051
4051
  return (this.__text ? this.__text : "") + (this.__cdata ? this.__cdata : "");
4052
- }), y);
4052
+ }), w);
4053
4053
  }
4054
- function B(g, b) {
4055
- return g.nodeType === s.DOCUMENT_NODE ? w(g) : g.nodeType === s.ELEMENT_NODE ? v(g, b) : g.nodeType === s.TEXT_NODE || g.nodeType === s.CDATA_SECTION_NODE ? g.nodeValue : null;
4054
+ function B(g, D) {
4055
+ return g.nodeType === s.DOCUMENT_NODE ? y(g) : g.nodeType === s.ELEMENT_NODE ? v(g, D) : g.nodeType === s.TEXT_NODE || g.nodeType === s.CDATA_SECTION_NODE ? g.nodeValue : null;
4056
4056
  }
4057
- function N(g, b, y, T) {
4058
- var O = "<" + (g && g.__prefix ? g.__prefix + ":" : "") + b;
4059
- if (y)
4060
- for (var H = 0; H < y.length; H++) {
4061
- var G = y[H], V = g[G];
4057
+ function N(g, D, w, T) {
4058
+ var O = "<" + (g && g.__prefix ? g.__prefix + ":" : "") + D;
4059
+ if (w)
4060
+ for (var H = 0; H < w.length; H++) {
4061
+ var G = w[H], V = g[G];
4062
4062
  r.escapeMode && (V = h(V)), O += " " + G.substr(r.attributePrefix.length) + "=", r.useDoubleQuotes ? O += '"' + V + '"' : O += "'" + V + "'";
4063
4063
  }
4064
4064
  return T ? O += " />" : O += ">", O;
4065
4065
  }
4066
- function E(g, b) {
4067
- return "</" + (g && g.__prefix ? g.__prefix + ":" : "") + b + ">";
4066
+ function E(g, D) {
4067
+ return "</" + (g && g.__prefix ? g.__prefix + ":" : "") + D + ">";
4068
4068
  }
4069
- function L(g, b) {
4070
- return g.indexOf(b, g.length - b.length) !== -1;
4069
+ function L(g, D) {
4070
+ return g.indexOf(D, g.length - D.length) !== -1;
4071
4071
  }
4072
- function X(g, b) {
4073
- return !!(r.arrayAccessForm === "property" && L(b.toString(), "_asArray") || b.toString().indexOf(r.attributePrefix) === 0 || b.toString().indexOf("__") === 0 || g[b] instanceof Function);
4072
+ function X(g, D) {
4073
+ return !!(r.arrayAccessForm === "property" && L(D.toString(), "_asArray") || D.toString().indexOf(r.attributePrefix) === 0 || D.toString().indexOf("__") === 0 || g[D] instanceof Function);
4074
4074
  }
4075
4075
  function R(g) {
4076
- var b = 0;
4076
+ var D = 0;
4077
4077
  if (g instanceof Object)
4078
- for (var y in g)
4079
- X(g, y) || b++;
4080
- return b;
4078
+ for (var w in g)
4079
+ X(g, w) || D++;
4080
+ return D;
4081
4081
  }
4082
4082
  function S(g) {
4083
- var b = [];
4083
+ var D = [];
4084
4084
  if (g instanceof Object)
4085
- for (var y in g)
4086
- y.toString().indexOf("__") === -1 && y.toString().indexOf(r.attributePrefix) === 0 && b.push(y);
4087
- return b;
4085
+ for (var w in g)
4086
+ w.toString().indexOf("__") === -1 && w.toString().indexOf(r.attributePrefix) === 0 && D.push(w);
4087
+ return D;
4088
4088
  }
4089
4089
  function z(g) {
4090
- var b = "";
4091
- return g.__cdata && (b += "<![CDATA[" + g.__cdata + "]]>"), (g.__text || typeof g.__text == "number" || typeof g.__text == "boolean") && (r.escapeMode ? b += h(g.__text) : b += g.__text), b;
4090
+ var D = "";
4091
+ return g.__cdata && (D += "<![CDATA[" + g.__cdata + "]]>"), (g.__text || typeof g.__text == "number" || typeof g.__text == "boolean") && (r.escapeMode ? D += h(g.__text) : D += g.__text), D;
4092
4092
  }
4093
4093
  function C(g) {
4094
- var b = "";
4095
- return g instanceof Object ? b += z(g) : g !== null && (r.escapeMode ? b += h(g) : b += g), b;
4094
+ var D = "";
4095
+ return g instanceof Object ? D += z(g) : g !== null && (r.escapeMode ? D += h(g) : D += g), D;
4096
4096
  }
4097
- function P(g, b, y) {
4097
+ function P(g, D, w) {
4098
4098
  var T = "";
4099
4099
  if (g.length === 0)
4100
- T += N(g, b, y, !0);
4100
+ T += N(g, D, w, !0);
4101
4101
  else
4102
4102
  for (var O = 0; O < g.length; O++)
4103
- T += F(g[O], b, S(g[O]));
4103
+ T += F(g[O], D, S(g[O]));
4104
4104
  return T;
4105
4105
  }
4106
- function F(g, b, y) {
4106
+ function F(g, D, w) {
4107
4107
  var T = "";
4108
- if (r.jsAttributeFilter && r.jsAttributeFilter.call(null, b, g))
4108
+ if (r.jsAttributeFilter && r.jsAttributeFilter.call(null, D, g))
4109
4109
  return T;
4110
- if (r.jsAttributeConverter && (g = r.jsAttributeConverter.call(null, b, g)), (g == null || g === "") && r.selfClosingElements)
4111
- T += N(g, b, y, !0);
4110
+ if (r.jsAttributeConverter && (g = r.jsAttributeConverter.call(null, D, g)), (g == null || g === "") && r.selfClosingElements)
4111
+ T += N(g, D, w, !0);
4112
4112
  else if (typeof g == "object")
4113
4113
  if (Object.prototype.toString.call(g) === "[object Array]")
4114
- T += P(g, b, y);
4114
+ T += P(g, D, w);
4115
4115
  else if (g instanceof Date)
4116
- T += N(g, b, y, !1), T += r.jsDateUTC ? g.toUTCString() : g.toISOString(), T += E(g, b);
4116
+ T += N(g, D, w, !1), T += r.jsDateUTC ? g.toUTCString() : g.toISOString(), T += E(g, D);
4117
4117
  else {
4118
4118
  var O = R(g);
4119
- O > 0 || typeof g.__text == "number" || typeof g.__text == "boolean" || g.__text || g.__cdata ? (T += N(g, b, y, !1), T += M(g), T += E(g, b)) : r.selfClosingElements ? T += N(g, b, y, !0) : (T += N(g, b, y, !1), T += E(g, b));
4119
+ O > 0 || typeof g.__text == "number" || typeof g.__text == "boolean" || g.__text || g.__cdata ? (T += N(g, D, w, !1), T += M(g), T += E(g, D)) : r.selfClosingElements ? T += N(g, D, w, !0) : (T += N(g, D, w, !1), T += E(g, D));
4120
4120
  }
4121
4121
  else
4122
- T += N(g, b, y, !1), T += C(g), T += E(g, b);
4122
+ T += N(g, D, w, !1), T += C(g), T += E(g, D);
4123
4123
  return T;
4124
4124
  }
4125
4125
  function M(g) {
4126
- var b = "", y = R(g);
4127
- if (y > 0) {
4126
+ var D = "", w = R(g);
4127
+ if (w > 0) {
4128
4128
  for (var T in g)
4129
4129
  if (!X(g, T)) {
4130
4130
  var O = g[T], H = S(O);
4131
- b += F(O, T, H);
4131
+ D += F(O, T, H);
4132
4132
  }
4133
4133
  }
4134
- return b += C(g), b;
4134
+ return D += C(g), D;
4135
4135
  }
4136
4136
  function I(g) {
4137
4137
  if (g === void 0 || typeof g != "string")
4138
4138
  return null;
4139
- var b = null, y = null;
4139
+ var D = null, w = null;
4140
4140
  if (e)
4141
- b = new e(r.xmldomOptions), y = b.parseFromString(g, "text/xml");
4141
+ D = new e(r.xmldomOptions), w = D.parseFromString(g, "text/xml");
4142
4142
  else if (window && window.DOMParser) {
4143
- b = new window.DOMParser();
4143
+ D = new window.DOMParser();
4144
4144
  var T = null, O = window.ActiveXObject || "ActiveXObject" in window;
4145
4145
  if (!O && document.all && !document.addEventListener)
4146
4146
  try {
4147
- T = b.parseFromString("INVALID", "text/xml").childNodes[0].namespaceURI;
4147
+ T = D.parseFromString("INVALID", "text/xml").childNodes[0].namespaceURI;
4148
4148
  } catch {
4149
4149
  T = null;
4150
4150
  }
4151
4151
  try {
4152
- y = b.parseFromString(g, "text/xml"), T !== null && y.getElementsByTagNameNS(T, "parsererror").length > 0 && (y = null);
4152
+ w = D.parseFromString(g, "text/xml"), T !== null && w.getElementsByTagNameNS(T, "parsererror").length > 0 && (w = null);
4153
4153
  } catch {
4154
- y = null;
4154
+ w = null;
4155
4155
  }
4156
4156
  } else
4157
- g.indexOf("<?") === 0 && (g = g.substr(g.indexOf("?>") + 2)), y = new ActiveXObject("Microsoft.XMLDOM"), y.async = "false", y.loadXML(g);
4158
- return y;
4157
+ g.indexOf("<?") === 0 && (g = g.substr(g.indexOf("?>") + 2)), w = new ActiveXObject("Microsoft.XMLDOM"), w.async = "false", w.loadXML(g);
4158
+ return w;
4159
4159
  }
4160
- this.asArray = function(b) {
4161
- return b == null ? [] : b instanceof Array ? b : [b];
4162
- }, this.toXmlDateTime = function(b) {
4163
- return b instanceof Date ? b.toISOString() : typeof b == "number" ? new Date(b).toISOString() : null;
4164
- }, this.asDateTime = function(b) {
4165
- return typeof b == "string" ? p(b) : b;
4166
- }, this.xml2dom = function(b) {
4167
- return I(b);
4168
- }, this.dom2js = function(b) {
4169
- return B(b, null);
4170
- }, this.js2dom = function(b) {
4171
- var y = this.js2xml(b);
4172
- return I(y);
4173
- }, this.xml2js = function(b) {
4174
- var y = I(b);
4175
- return y != null ? this.dom2js(y) : null;
4176
- }, this.js2xml = function(b) {
4177
- return M(b);
4160
+ this.asArray = function(D) {
4161
+ return D == null ? [] : D instanceof Array ? D : [D];
4162
+ }, this.toXmlDateTime = function(D) {
4163
+ return D instanceof Date ? D.toISOString() : typeof D == "number" ? new Date(D).toISOString() : null;
4164
+ }, this.asDateTime = function(D) {
4165
+ return typeof D == "string" ? p(D) : D;
4166
+ }, this.xml2dom = function(D) {
4167
+ return I(D);
4168
+ }, this.dom2js = function(D) {
4169
+ return B(D, null);
4170
+ }, this.js2dom = function(D) {
4171
+ var w = this.js2xml(D);
4172
+ return I(w);
4173
+ }, this.xml2js = function(D) {
4174
+ var w = I(D);
4175
+ return w != null ? this.dom2js(w) : null;
4176
+ }, this.js2xml = function(D) {
4177
+ return M(D);
4178
4178
  }, this.getVersion = function() {
4179
4179
  return i;
4180
4180
  };
@@ -4182,152 +4182,11 @@ function Ln() {
4182
4182
  });
4183
4183
  })(Rt)), Rt.exports;
4184
4184
  }
4185
- var Fn = Ln();
4186
- const Sn = /* @__PURE__ */ Bn(Fn), Mn = new Sn({ attributePrefix: "" });
4187
- function _t(n, e) {
4188
- const t = Mn.xml2js(n);
4189
- if (!e) return t;
4190
- const r = t?.catalog?.dataset?.[e];
4191
- return r === void 0 || Array.isArray(r) ? r : [r];
4192
- }
4193
- function On(n) {
4194
- const e = _t(n), t = e?.gridDataset;
4195
- if (!t) {
4196
- const u = Object.keys(e || {}).join(", ") || "none";
4197
- throw new Error("Invalid NCSS dataset XML: expected gridDataset root, received: " + u);
4198
- }
4199
- const r = t.gridSet?.grid;
4200
- if (!r)
4201
- throw new Error("Invalid NCSS dataset XML: gridDataset.gridSet.grid is missing");
4202
- let i = r;
4203
- un(i) && (i = [i]);
4204
- const o = Array.isArray(t.axis) ? t.axis : [t.axis].filter(Boolean);
4205
- return {
4206
- latLonBox: t.LatLonBox,
4207
- timeSpan: t.TimeSpan,
4208
- axis: o,
4209
- grid: i
4210
- };
4211
- }
4212
- function Xn(n) {
4213
- const e = String(n || "").split("."), t = e[e.length - 1]?.toLowerCase() || "other";
4214
- return [
4215
- "png",
4216
- "jpg",
4217
- "jpeg",
4218
- "xlsx",
4219
- "xls",
4220
- "csv",
4221
- "txt",
4222
- "json",
4223
- "geojson",
4224
- "grb",
4225
- "grib1",
4226
- "grib2",
4227
- "grb2",
4228
- "gr2",
4229
- "nc"
4230
- ].includes(t) ? t : "other";
4231
- }
4232
- function Br(n) {
4233
- const { xmlJson: e, type: t } = n;
4234
- return e.map((r) => t === "menu" ? {
4235
- label: r["xlink:title"],
4236
- key: r.ID,
4237
- url: r.ID,
4238
- type: t,
4239
- isLeaf: !1
4240
- } : {
4241
- label: r.name,
4242
- key: r.ID,
4243
- url: r.urlPath,
4244
- type: t,
4245
- isLeaf: !0,
4246
- fileType: Xn(r.name)
4247
- });
4248
- }
4249
- async function Hn(n, e, t, r, i, o, u) {
4250
- const s = ye(), l = new URLSearchParams({
4251
- service: "WMS",
4252
- version: "1.3.0",
4253
- request: "GetMetadata",
4254
- item: "minmax",
4255
- layers: e,
4256
- styles: "",
4257
- CRS: "EPSG:4326",
4258
- BBOX: t.south + "," + t.west + "," + t.north + "," + t.east,
4259
- time: r || "",
4260
- width: "2",
4261
- height: "2"
4262
- }), d = o ?? s.serviceBaseUrl, h = String(n).replace(/^\/+/, ""), a = await or("wms/" + h + "?" + l.toString(), {
4263
- baseUrl: d,
4264
- authorization: i,
4265
- signal: u
4266
- }), D = (a.headers.get("content-type") || "").toLowerCase();
4267
- if (!D.includes("json")) {
4268
- const p = await a.text();
4269
- throw new Error(
4270
- "WMS min/max response has invalid content type: " + (D || "unknown") + "; " + p.slice(0, 240)
4271
- );
4272
- }
4273
- return await a.json();
4274
- }
4275
- async function In(n, e, t = {}) {
4276
- try {
4277
- const r = String(n).replace(/^\/+|\/+$/g, ""), i = await Gr("catalog/" + r + "/catalog.xml", e, {
4278
- baseUrl: t.serviceBaseUrl,
4279
- signal: t.signal
4280
- }), o = _t(i, "catalogRef"), u = _t(i, "dataset"), s = [];
4281
- let l = "";
4282
- return o?.length && (s.push(...Br({ xmlJson: o, type: "menu" })), l = "menu"), u?.length && (s.push(...Br({ xmlJson: u, type: "file" })), l = "file"), { type: l, data: s };
4283
- } catch {
4284
- return;
4285
- }
4286
- }
4287
- async function Er(n) {
4288
- const e = ye(), t = n.authorization ?? e.serviceAuthorization, r = n.serviceBaseUrl ?? e.serviceBaseUrl;
4289
- let i = n.filePath, o;
4290
- for (let v = 0; v < 6; v++) {
4291
- if (o = await In(i, t, {
4292
- serviceBaseUrl: r,
4293
- signal: n.signal
4294
- }), !o?.data.length) return;
4295
- if (o.data.reverse(), o.type === "file") break;
4296
- if (o.type !== "menu" || !o.data[0]?.url) return;
4297
- i = o.data[0].url;
4298
- }
4299
- if (!o?.data.length || o.type !== "file") return;
4300
- const u = o.data[0];
4301
- if (!u) return;
4302
- const s = n.url || u.url || i + "/" + u.label, l = "/" + String(s).replace(/^\/+/, ""), d = n.ncssBaseUrl ?? e.ncssBaseUrl, h = await yn(
4303
- d.replace(/\/$/, "") + l + "/dataset.xml",
4304
- t,
4305
- { baseUrl: r, signal: n.signal }
4306
- ), { latLonBox: a, timeSpan: D, axis: p } = On(h), A = p.find((v) => v.name === "time"), w = [];
4307
- if (A && D?.begin) {
4308
- const v = Number(A.values?.npts), B = String(
4309
- A.attribute?.find((L) => L.name === "units")?.value || ""
4310
- ).toLowerCase(), N = B.includes("hour") ? "hour" : B.includes("minute") ? "minute" : "second", E = Number(A.values?.resolution);
4311
- if (v > 1 && Number.isFinite(E) && E !== 0)
4312
- for (let L = 0; L < v; L++)
4313
- w.push(
4314
- Je(D.begin).add(L * E, N).format("YYYYMMDDHHmmss")
4315
- );
4316
- else
4317
- w.push(Je(D.begin).format("YYYYMMDDHHmmss"));
4318
- }
4319
- return {
4320
- type: "file",
4321
- latLonBox: a,
4322
- timeList: w,
4323
- fileList: o.data,
4324
- url: l,
4325
- authorization: t
4326
- };
4327
- }
4328
- Je.extend(Rr);
4329
- const xr = "#sym:";
4330
- async function Rn(n, e, t) {
4185
+ var Mn = Sn();
4186
+ const On = /* @__PURE__ */ xn(Mn);
4187
+ Je.extend(zr);
4188
+ const Br = "#sym:";
4189
+ async function Xn(n, e, t) {
4331
4190
  const r = await fetch(n, {
4332
4191
  credentials: "include",
4333
4192
  signal: t,
@@ -4351,10 +4210,10 @@ async function Rn(n, e, t) {
4351
4210
  l.onload = () => typeof l.result == "string" ? u(l.result) : s(new Error("Failed to convert image to data URL")), l.onerror = () => s(l.error ?? new Error("Failed to read image response")), l.readAsDataURL(o);
4352
4211
  });
4353
4212
  }
4354
- function Qr(n) {
4213
+ function jr(n) {
4355
4214
  if (typeof n == "function") return n;
4356
- if (typeof n != "string" || !n.startsWith(xr)) return;
4357
- const e = n.slice(xr.length).trim();
4215
+ if (typeof n != "string" || !n.startsWith(Br)) return;
4216
+ const e = n.slice(Br.length).trim();
4358
4217
  if (!e) return;
4359
4218
  const r = globalThis.__layerSymbols?.[e];
4360
4219
  if (typeof r == "function") return r;
@@ -4368,15 +4227,15 @@ function Nt(n, e, t) {
4368
4227
  return n + (e - n) * t;
4369
4228
  }
4370
4229
  function ur(n, e, t, r = 5, i = 1.2) {
4371
- function o(h, a, D) {
4372
- return Math.exp(-(h * h + a * a) / (2 * D * D));
4230
+ function o(h, a, b) {
4231
+ return Math.exp(-(h * h + a * a) / (2 * b * b));
4373
4232
  }
4374
4233
  const u = Math.floor(r / 2);
4375
4234
  let s = [], l = 0;
4376
4235
  for (let h = -u; h <= u; h++)
4377
4236
  for (let a = -u; a <= u; a++) {
4378
- const D = o(a, h, i);
4379
- s.push(D), l += D;
4237
+ const b = o(a, h, i);
4238
+ s.push(b), l += b;
4380
4239
  }
4381
4240
  s = s.map((h) => h / l);
4382
4241
  const d = Array.from(
@@ -4389,13 +4248,13 @@ function ur(n, e, t, r = 5, i = 1.2) {
4389
4248
  d[h][a] = void 0;
4390
4249
  continue;
4391
4250
  }
4392
- let D = 0, p = 0, A = 0;
4393
- for (let w = -u; w <= u; w++)
4251
+ let b = 0, p = 0, A = 0;
4252
+ for (let y = -u; y <= u; y++)
4394
4253
  for (let v = -u; v <= u; v++) {
4395
- const B = Math.min(e - 1, Math.max(0, a + v)), N = Math.min(t - 1, Math.max(0, h + w)), E = n[N][B];
4396
- E !== void 0 && (D += E * s[A], p += s[A]), A++;
4254
+ const B = Math.min(e - 1, Math.max(0, a + v)), N = Math.min(t - 1, Math.max(0, h + y)), E = n[N][B];
4255
+ E !== void 0 && (b += E * s[A], p += s[A]), A++;
4397
4256
  }
4398
- d[h][a] = p > 0 ? D / p : void 0;
4257
+ d[h][a] = p > 0 ? b / p : void 0;
4399
4258
  }
4400
4259
  return d;
4401
4260
  }
@@ -4409,19 +4268,19 @@ function Wr(n, e, t, r) {
4409
4268
  const o = Math.max(1, Math.ceil(i * 2));
4410
4269
  return ur(n, e, t, o * 2 + 1, i * 1.2);
4411
4270
  }
4412
- function zn(n, e, t, r, i) {
4271
+ function Hn(n, e, t, r, i) {
4413
4272
  const [o, u, s, l] = i, d = o + (s - o) * (n / (t - 1)), h = l - (l - u) * (e / (r - 1));
4414
4273
  return [d, h];
4415
4274
  }
4416
- function qn(n, e, t, r, i) {
4275
+ function In(n, e, t, r, i) {
4417
4276
  const [o, u, s, l] = i, d = o + (s - o) * (n / (t - 1)), h = l - (l - u) * (e / (r - 1));
4418
4277
  return [d, h];
4419
4278
  }
4420
- function Xi(n, e, t, r) {
4279
+ function Hi(n, e, t, r) {
4421
4280
  return n.map((i) => {
4422
4281
  const o = i.coordinates.map(
4423
4282
  (u) => u.map(
4424
- (s) => s.map(([l, d]) => qn(l, d, e, t, r))
4283
+ (s) => s.map(([l, d]) => In(l, d, e, t, r))
4425
4284
  )
4426
4285
  );
4427
4286
  return {
@@ -4431,11 +4290,11 @@ function Xi(n, e, t, r) {
4431
4290
  };
4432
4291
  });
4433
4292
  }
4434
- function Hi(n, e, t, r) {
4293
+ function Ii(n, e, t, r) {
4435
4294
  return n.map((i) => {
4436
4295
  const o = i.coordinates.map(
4437
4296
  (u) => u.map(
4438
- (s) => s.map(([l, d]) => zn(l, d, e, t, r))
4297
+ (s) => s.map(([l, d]) => Hn(l, d, e, t, r))
4439
4298
  )
4440
4299
  );
4441
4300
  return {
@@ -4444,17 +4303,17 @@ function Hi(n, e, t, r) {
4444
4303
  };
4445
4304
  });
4446
4305
  }
4447
- function $t(n, e, t, r, i) {
4448
- const o = Math.floor(e), u = Math.min(o + 1, r - 1), s = Math.floor(t), l = Math.min(s + 1, i - 1), d = n[s * r + o], h = n[s * r + u], a = n[l * r + o], D = n[l * r + u], p = e - o, A = t - s;
4449
- return d * (1 - p) * (1 - A) + h * p * (1 - A) + a * (1 - p) * A + D * p * A;
4306
+ function _t(n, e, t, r, i) {
4307
+ const o = Math.floor(e), u = Math.min(o + 1, r - 1), s = Math.floor(t), l = Math.min(s + 1, i - 1), d = n[s * r + o], h = n[s * r + u], a = n[l * r + o], b = n[l * r + u], p = e - o, A = t - s;
4308
+ return d * (1 - p) * (1 - A) + h * p * (1 - A) + a * (1 - p) * A + b * p * A;
4450
4309
  }
4451
4310
  async function it(n, e, t, r, i) {
4452
4311
  let o = 0, u = 0;
4453
- const s = document.createElement("canvas"), l = s.getContext("2d"), d = new Image(), h = await Rn(n, r, i?.signal);
4454
- return d.src = h, new Promise((a, D) => {
4312
+ const s = document.createElement("canvas"), l = s.getContext("2d"), d = new Image(), h = await Xn(n, r, i?.signal);
4313
+ return d.src = h, new Promise((a, b) => {
4455
4314
  d.onload = () => {
4456
4315
  o = d.width, u = d.height, s.width = o, s.height = u, l.clearRect(0, 0, o, u), l.drawImage(d, 0, 0);
4457
- const A = l.getImageData(0, 0, o, u).data, [w, v] = e, B = (F, M) => {
4316
+ const A = l.getImageData(0, 0, o, u).data, [y, v] = e, B = (F, M) => {
4458
4317
  const I = (M * o + F) * 4;
4459
4318
  return [
4460
4319
  A[I] ?? 0,
@@ -4462,23 +4321,23 @@ async function it(n, e, t, r, i) {
4462
4321
  A[I + 2] ?? 0,
4463
4322
  A[I + 3] ?? 0
4464
4323
  ];
4465
- }, N = (F, M, I, g, b = 4) => Math.abs(F - g[0]) <= b && Math.abs(M - g[1]) <= b && Math.abs(I - g[2]) <= b, E = i?.detectNoDataByBorderColor !== !1;
4324
+ }, N = (F, M, I, g, D = 4) => Math.abs(F - g[0]) <= D && Math.abs(M - g[1]) <= D && Math.abs(I - g[2]) <= D, E = i?.detectNoDataByBorderColor !== !1;
4466
4325
  let L = [];
4467
4326
  const X = (F, M, I) => L.some((g) => N(F, M, I, g, 6));
4468
4327
  if (E) {
4469
- const F = B(0, 0), M = B(Math.max(0, o - 1), 0), I = B(0, Math.max(0, u - 1)), g = B(Math.max(0, o - 1), Math.max(0, u - 1)), b = [F, M, I, g].filter((O) => O[3] > 0).map((O) => [O[0], O[1], O[2]]), y = [];
4470
- for (const O of b) {
4471
- const H = y.find((G) => N(O[0], O[1], O[2], G.rgb, 6));
4472
- H ? H.count += 1 : y.push({ rgb: O, count: 1 });
4328
+ const F = B(0, 0), M = B(Math.max(0, o - 1), 0), I = B(0, Math.max(0, u - 1)), g = B(Math.max(0, o - 1), Math.max(0, u - 1)), D = [F, M, I, g].filter((O) => O[3] > 0).map((O) => [O[0], O[1], O[2]]), w = [];
4329
+ for (const O of D) {
4330
+ const H = w.find((G) => N(O[0], O[1], O[2], G.rgb, 6));
4331
+ H ? H.count += 1 : w.push({ rgb: O, count: 1 });
4473
4332
  }
4474
- y.sort((O, H) => H.count - O.count);
4475
- const T = y[0];
4333
+ w.sort((O, H) => H.count - O.count);
4334
+ const T = w[0];
4476
4335
  L = T && T.count >= 3 ? [T.rgb] : [];
4477
4336
  }
4478
4337
  const R = o * u, S = new Uint8Array(R), z = [], C = (F) => {
4479
4338
  if (F < 0 || F >= R || S[F]) return;
4480
- const M = F * 4, I = A[M] ?? 0, g = A[M + 1] ?? 0, b = A[M + 2] ?? 0;
4481
- (A[M + 3] ?? 0) > 0 && L.length > 0 && X(I, g, b) && (S[F] = 1, z.push(F));
4339
+ const M = F * 4, I = A[M] ?? 0, g = A[M + 1] ?? 0, D = A[M + 2] ?? 0;
4340
+ (A[M + 3] ?? 0) > 0 && L.length > 0 && X(I, g, D) && (S[F] = 1, z.push(F));
4482
4341
  };
4483
4342
  for (let F = 0; F < o; F++)
4484
4343
  C(F), C((u - 1) * o + F);
@@ -4491,22 +4350,22 @@ async function it(n, e, t, r, i) {
4491
4350
  const P = [];
4492
4351
  for (let F = 0; F < u; F++)
4493
4352
  for (let M = 0; M < o; M++) {
4494
- const I = (F * o + M) * 4, g = F * o + M, b = A[I] ?? 0, y = A[I + 1] ?? 0, T = A[I + 2] ?? 0;
4353
+ const I = (F * o + M) * 4, g = F * o + M, D = A[I] ?? 0, w = A[I + 1] ?? 0, T = A[I + 2] ?? 0;
4495
4354
  if ((A[I + 3] ?? 0) === 0 || S[g] === 1) {
4496
4355
  P.push(void 0);
4497
4356
  continue;
4498
4357
  }
4499
- const H = 0.299 * b + 0.587 * y + 0.114 * T, G = w + H / 255 * (v - w);
4500
- G < w ? t?.[0] ? P.push(void 0) : P.push(w) : G > v ? t?.[1] ? P.push(void 0) : P.push(v) : P.push(G);
4358
+ const H = 0.299 * D + 0.587 * w + 0.114 * T, G = y + H / 255 * (v - y);
4359
+ G < y ? t?.[0] ? P.push(void 0) : P.push(y) : G > v ? t?.[1] ? P.push(void 0) : P.push(v) : P.push(G);
4501
4360
  }
4502
4361
  a({ grayArr: P, width: o, height: u });
4503
- }, d.onerror = () => D(new Error(`Failed to decode image response: ${n}`));
4362
+ }, d.onerror = () => b(new Error(`Failed to decode image response: ${n}`));
4504
4363
  });
4505
4364
  }
4506
4365
  function et(n) {
4507
4366
  return n = n.trim(), n.endsWith("%") ? parseFloat(n) / 100 * 255 : parseFloat(n);
4508
4367
  }
4509
- function Nr(n) {
4368
+ function Er(n) {
4510
4369
  return n = n.trim(), n.endsWith("%") ? parseFloat(n) / 100 : parseFloat(n);
4511
4370
  }
4512
4371
  function tt(n) {
@@ -4519,7 +4378,7 @@ function zt(n) {
4519
4378
  /rgba?\(\s*([0-9.+%]+)[,\s]+([0-9.+%]+)[,\s]+([0-9.+%]+)(?:[,\s]+([0-9.+%]+))?\s*\)/i
4520
4379
  );
4521
4380
  if (e) {
4522
- const t = et(e[1]), r = et(e[2]), i = et(e[3]), o = e[4] ? Nr(e[4]) : 1;
4381
+ const t = et(e[1]), r = et(e[2]), i = et(e[3]), o = e[4] ? Er(e[4]) : 1;
4523
4382
  return [tt(t), tt(r), tt(i), Math.round(o * 255)];
4524
4383
  }
4525
4384
  if (n[0] === "#") {
@@ -4536,7 +4395,7 @@ function zt(n) {
4536
4395
  if (r && r !== "") {
4537
4396
  const i = r.match(/rgba?\(([^)]+)\)/);
4538
4397
  if (i) {
4539
- const o = i[1].split(",").map((h) => h.trim()), u = et(o[0]), s = et(o[1]), l = et(o[2]), d = o[3] ? Nr(o[3]) : 1;
4398
+ const o = i[1].split(",").map((h) => h.trim()), u = et(o[0]), s = et(o[1]), l = et(o[2]), d = o[3] ? Er(o[3]) : 1;
4540
4399
  return [tt(u), tt(s), tt(l), Math.round(d * 255)];
4541
4400
  }
4542
4401
  }
@@ -4544,7 +4403,7 @@ function zt(n) {
4544
4403
  }
4545
4404
  return [0, 0, 0, 0];
4546
4405
  }
4547
- function jr(n, e) {
4406
+ function Ur(n, e) {
4548
4407
  if (!Array.isArray(n) || n.length === 0) return [];
4549
4408
  if (!e || e.length !== 2) return n;
4550
4409
  const t = Number(e[0]), r = Number(e[1]);
@@ -4553,14 +4412,14 @@ function jr(n, e) {
4553
4412
  return n.slice(o, u);
4554
4413
  }
4555
4414
  function wt(n, e) {
4556
- const t = jr(n, e);
4415
+ const t = Ur(n, e);
4557
4416
  if (!t.length) return;
4558
4417
  const r = t.find((s) => s?.scope?.length), i = [...t].reverse().find((s) => s?.scope?.length), o = r?.scope?.length ? Number(r.scope[0]) : void 0, u = i?.scope?.length ? Number(i.scope[i.scope.length - 1]) : void 0;
4559
4418
  if (!(typeof o > "u" || isNaN(o)))
4560
4419
  return typeof u > "u" || isNaN(u) ? [o, o] : [o, u];
4561
4420
  }
4562
4421
  function Ee(n, e) {
4563
- const t = [], r = {}, i = jr(n, e);
4422
+ const t = [], r = {}, i = Ur(n, e);
4564
4423
  for (const u of i) {
4565
4424
  const s = u?.scope?.length ? Number(u.scope[0]) : NaN;
4566
4425
  isNaN(s) || (t.push(s), r[s] = u.color);
@@ -4568,7 +4427,7 @@ function Ee(n, e) {
4568
4427
  return { uniqueThresholds: Array.from(new Set(t)).sort((u, s) => u - s), colorMap: r };
4569
4428
  }
4570
4429
  const Jt = new globalThis.Map();
4571
- function Vn(n) {
4430
+ function Rn(n) {
4572
4431
  const e = n?.config, t = (e?.legend ?? []).map((r) => ({
4573
4432
  name: r?.name,
4574
4433
  scope: r?.scope ?? [],
@@ -4584,29 +4443,29 @@ function Vn(n) {
4584
4443
  });
4585
4444
  }
4586
4445
  async function Gt(n) {
4587
- const e = Vn(n), t = Jt.get(e);
4446
+ const e = Rn(n), t = Jt.get(e);
4588
4447
  if (t) return t;
4589
4448
  const r = (async () => {
4590
4449
  const { config: i, url: o, authorization: u } = n;
4591
4450
  if (!i) return;
4592
4451
  const { extent: s, scope: l, legend: d, legendScope: h } = i;
4593
4452
  if (!s) return;
4594
- const a = Bt(s), D = [-99999, 99999];
4595
- qt(l?.[0]) && (D[0] = l[0]), qt(l?.[1]) && (D[1] = l[1]);
4596
- const { grayArr: p, width: A, height: w } = await it(
4453
+ const a = Bt(s), b = [-99999, 99999];
4454
+ qt(l?.[0]) && (b[0] = l[0]), qt(l?.[1]) && (b[1] = l[1]);
4455
+ const { grayArr: p, width: A, height: y } = await it(
4597
4456
  o,
4598
- D,
4457
+ b,
4599
4458
  void 0,
4600
4459
  u,
4601
4460
  { signal: n.signal }
4602
4461
  ), { uniqueThresholds: v, colorMap: B } = Ee(d, h), N = [];
4603
- for (let R = 0; R < w; R++) {
4462
+ for (let R = 0; R < y; R++) {
4604
4463
  N[R] = [];
4605
4464
  for (let S = 0; S < A; S++)
4606
4465
  N[R][S] = p[R * A + S];
4607
4466
  }
4608
- const E = ur(N, A, w), L = [], X = [];
4609
- for (let R = 0; R < w; R++) {
4467
+ const E = ur(N, A, y), L = [], X = [];
4468
+ for (let R = 0; R < y; R++) {
4610
4469
  L[R] = [], X[R] = [];
4611
4470
  for (let S = 0; S < A; S++) {
4612
4471
  const z = N[R] && typeof N[R][S] < "u" ? N[R][S] : void 0;
@@ -4617,7 +4476,7 @@ async function Gt(n) {
4617
4476
  }
4618
4477
  return {
4619
4478
  width: A,
4620
- height: w,
4479
+ height: y,
4621
4480
  extent: a,
4622
4481
  rawArr2D: L,
4623
4482
  smoothArr2D: X,
@@ -4632,12 +4491,16 @@ async function Gt(n) {
4632
4491
  Jt.delete(e);
4633
4492
  }
4634
4493
  }
4635
- function Gn(n, e, t) {
4494
+ function zn(n, e, t) {
4636
4495
  const r = n[2] - n[0], i = n[3] - n[1], o = r / i;
4637
4496
  let u = e, s = Math.round(u / o);
4638
4497
  return s > t && (s = t, u = Math.round(s * o)), { width: u, height: s };
4639
4498
  }
4640
- function kn(n, e, t) {
4499
+ function Yr(n, e) {
4500
+ const t = Bt(n), { width: r, height: i } = zn(t, e, e);
4501
+ return { bbox: t, width: r, height: i };
4502
+ }
4503
+ function qn(n, e, t) {
4641
4504
  const r = (E) => {
4642
4505
  if (Array.isArray(E) && E.length >= 2) {
4643
4506
  const L = Number(E[0]), X = Number(E[1]);
@@ -4647,20 +4510,20 @@ function kn(n, e, t) {
4647
4510
  const L = E.split(",").map((X) => Number(X.trim())).filter((X) => Number.isFinite(X));
4648
4511
  if (L.length >= 2) return [L[0], L[1]];
4649
4512
  }
4650
- }, i = ye(), o = Number(t?.imageSize ?? i.imageSize), u = Number.isFinite(o) && o > 0 ? Math.round(o) : i.imageSize, s = Bt(n.config.extent), { width: l, height: d } = Gn(s, u, u), h = n?.config?.layerConfig ?? {}, a = h.LAYERS, D = r(n?.config?.scope) ?? [0, 0], p = r(n?.config?.componentScope) ?? r(n?.config?.uvScope) ?? r(h.COMPONENT_SCALE_RANGE) ?? r(h.COMPONENT_SCOPE) ?? r(h.UV_SCOPE);
4651
- let A = D;
4513
+ }, i = ye(), o = Number(t?.imageSize ?? i.imageSize), u = Number.isFinite(o) && o > 0 ? Math.round(o) : i.imageSize, { bbox: s, width: l, height: d } = Yr(n.config.extent, u), h = n?.config?.layerConfig ?? {}, a = h.LAYERS, b = r(n?.config?.scope) ?? [0, 0], p = r(n?.config?.componentScope) ?? r(n?.config?.uvScope) ?? r(h.COMPONENT_SCALE_RANGE) ?? r(h.COMPONENT_SCOPE) ?? r(h.UV_SCOPE);
4514
+ let A = b;
4652
4515
  if (gr(a) && a.length > 1)
4653
4516
  if (p) {
4654
4517
  const E = Math.max(Math.abs(p[0]), Math.abs(p[1]));
4655
4518
  A = [-E, E];
4656
4519
  } else {
4657
- const E = Number(D[0]), L = Number(D[1]);
4520
+ const E = Number(b[0]), L = Number(b[1]);
4658
4521
  if (Number.isFinite(E) && Number.isFinite(L)) {
4659
4522
  const X = Math.max(Math.abs(E), Math.abs(L));
4660
4523
  A = [-X, X];
4661
4524
  }
4662
4525
  }
4663
- const w = A.toString(), v = String(
4526
+ const y = A.toString(), v = String(
4664
4527
  t?.serviceBaseUrl ?? n?.serviceBaseUrl ?? n?.config?.serviceBaseUrl ?? i.serviceBaseUrl
4665
4528
  ).replace(/\/$/, ""), B = String(n.url || "").replace(/^\/+/, ""), N = `${v}/wms/${B}`;
4666
4529
  if (gr(a)) {
@@ -4669,7 +4532,7 @@ function kn(n, e, t) {
4669
4532
  const X = {
4670
4533
  ...h,
4671
4534
  TIME: Je(e).utc().format("YYYY-MM-DDTHH:mm:ss.000[Z]"),
4672
- COLORSCALERANGE: w,
4535
+ COLORSCALERANGE: y,
4673
4536
  BBOX: s.join(","),
4674
4537
  WIDTH: "" + l,
4675
4538
  HEIGHT: "" + d
@@ -4680,7 +4543,7 @@ function kn(n, e, t) {
4680
4543
  const E = {
4681
4544
  ...h,
4682
4545
  TIME: Je(e).utc().format("YYYY-MM-DDTHH:mm:ss.000[Z]"),
4683
- COLORSCALERANGE: w,
4546
+ COLORSCALERANGE: y,
4684
4547
  BBOX: s.join(","),
4685
4548
  WIDTH: "" + l,
4686
4549
  HEIGHT: "" + d
@@ -4688,7 +4551,7 @@ function kn(n, e, t) {
4688
4551
  return `${N}?${new URLSearchParams(E).toString()}`;
4689
4552
  }
4690
4553
  }
4691
- function Ii(n, e, t, r) {
4554
+ function Ri(n, e, t, r) {
4692
4555
  if (!e || e.length === 0) return [0, 0, 0, 0];
4693
4556
  if (r === "discrete" || r === "grid") {
4694
4557
  let i = e[0];
@@ -4711,12 +4574,159 @@ function Ii(n, e, t, r) {
4711
4574
  i = A;
4712
4575
  break;
4713
4576
  }
4714
- const o = e[i], u = e[i + 1], s = (n - o) / (u - o), l = t[i], d = t[i + 1], h = Math.round(Nt(l[0], d[0], s)), a = Math.round(Nt(l[1], d[1], s)), D = Math.round(Nt(l[2], d[2], s)), p = Math.round(Nt(l[3] ?? 255, d[3] ?? 255, s));
4715
- return [h, a, D, p];
4577
+ const o = e[i], u = e[i + 1], s = (n - o) / (u - o), l = t[i], d = t[i + 1], h = Math.round(Nt(l[0], d[0], s)), a = Math.round(Nt(l[1], d[1], s)), b = Math.round(Nt(l[2], d[2], s)), p = Math.round(Nt(l[3] ?? 255, d[3] ?? 255, s));
4578
+ return [h, a, b, p];
4716
4579
  }
4717
4580
  }
4718
- Je.extend(Rr);
4719
- function Qn(n, e) {
4581
+ const Vn = new On({ attributePrefix: "" });
4582
+ function $t(n, e) {
4583
+ const t = Vn.xml2js(n);
4584
+ if (!e) return t;
4585
+ const r = t?.catalog?.dataset?.[e];
4586
+ return r === void 0 || Array.isArray(r) ? r : [r];
4587
+ }
4588
+ function Gn(n) {
4589
+ const e = $t(n), t = e?.gridDataset;
4590
+ if (!t) {
4591
+ const u = Object.keys(e || {}).join(", ") || "none";
4592
+ throw new Error("Invalid NCSS dataset XML: expected gridDataset root, received: " + u);
4593
+ }
4594
+ const r = t.gridSet?.grid;
4595
+ if (!r)
4596
+ throw new Error("Invalid NCSS dataset XML: gridDataset.gridSet.grid is missing");
4597
+ let i = r;
4598
+ an(i) && (i = [i]);
4599
+ const o = Array.isArray(t.axis) ? t.axis : [t.axis].filter(Boolean);
4600
+ return {
4601
+ latLonBox: t.LatLonBox,
4602
+ timeSpan: t.TimeSpan,
4603
+ axis: o,
4604
+ grid: i
4605
+ };
4606
+ }
4607
+ function kn(n) {
4608
+ const e = String(n || "").split("."), t = e[e.length - 1]?.toLowerCase() || "other";
4609
+ return [
4610
+ "png",
4611
+ "jpg",
4612
+ "jpeg",
4613
+ "xlsx",
4614
+ "xls",
4615
+ "csv",
4616
+ "txt",
4617
+ "json",
4618
+ "geojson",
4619
+ "grb",
4620
+ "grib1",
4621
+ "grib2",
4622
+ "grb2",
4623
+ "gr2",
4624
+ "nc"
4625
+ ].includes(t) ? t : "other";
4626
+ }
4627
+ function xr(n) {
4628
+ const { xmlJson: e, type: t } = n;
4629
+ return e.map((r) => t === "menu" ? {
4630
+ label: r["xlink:title"],
4631
+ key: r.ID,
4632
+ url: r.ID,
4633
+ type: t,
4634
+ isLeaf: !1
4635
+ } : {
4636
+ label: r.name,
4637
+ key: r.ID,
4638
+ url: r.urlPath,
4639
+ type: t,
4640
+ isLeaf: !0,
4641
+ fileType: kn(r.name)
4642
+ });
4643
+ }
4644
+ async function Qn(n, e, t, r, i, o, u) {
4645
+ const s = ye(), l = [
4646
+ t.west,
4647
+ t.south,
4648
+ t.east,
4649
+ t.north
4650
+ ], { bbox: d, width: h, height: a } = Yr(l, s.imageSize), b = new URLSearchParams({
4651
+ service: "WMS",
4652
+ version: "1.3.0",
4653
+ request: "GetMetadata",
4654
+ item: "minmax",
4655
+ layers: e,
4656
+ styles: "",
4657
+ CRS: "EPSG:3857",
4658
+ BBOX: d.join(","),
4659
+ time: r || "",
4660
+ width: String(h),
4661
+ height: String(a)
4662
+ }), p = o ?? s.serviceBaseUrl, A = String(n).replace(/^\/+/, ""), y = await or("wms/" + A + "?" + b.toString(), {
4663
+ baseUrl: p,
4664
+ authorization: i,
4665
+ signal: u
4666
+ }), v = (y.headers.get("content-type") || "").toLowerCase();
4667
+ if (!v.includes("json")) {
4668
+ const B = await y.text();
4669
+ throw new Error(
4670
+ "WMS min/max response has invalid content type: " + (v || "unknown") + "; " + B.slice(0, 240)
4671
+ );
4672
+ }
4673
+ return await y.json();
4674
+ }
4675
+ async function jn(n, e, t = {}) {
4676
+ try {
4677
+ const r = String(n).replace(/^\/+|\/+$/g, ""), i = await kr("catalog/" + r + "/catalog.xml", e, {
4678
+ baseUrl: t.serviceBaseUrl,
4679
+ signal: t.signal
4680
+ }), o = $t(i, "catalogRef"), u = $t(i, "dataset"), s = [];
4681
+ let l = "";
4682
+ return o?.length && (s.push(...xr({ xmlJson: o, type: "menu" })), l = "menu"), u?.length && (s.push(...xr({ xmlJson: u, type: "file" })), l = "file"), { type: l, data: s };
4683
+ } catch {
4684
+ return;
4685
+ }
4686
+ }
4687
+ async function Nr(n) {
4688
+ const e = ye(), t = n.authorization ?? e.serviceAuthorization, r = n.serviceBaseUrl ?? e.serviceBaseUrl;
4689
+ let i = n.filePath, o;
4690
+ for (let v = 0; v < 6; v++) {
4691
+ if (o = await jn(i, t, {
4692
+ serviceBaseUrl: r,
4693
+ signal: n.signal
4694
+ }), !o?.data.length) return;
4695
+ if (o.data.reverse(), o.type === "file") break;
4696
+ if (o.type !== "menu" || !o.data[0]?.url) return;
4697
+ i = o.data[0].url;
4698
+ }
4699
+ if (!o?.data.length || o.type !== "file") return;
4700
+ const u = o.data[0];
4701
+ if (!u) return;
4702
+ const s = n.url || u.url || i + "/" + u.label, l = "/" + String(s).replace(/^\/+/, ""), d = n.ncssBaseUrl ?? e.ncssBaseUrl, h = await Cn(
4703
+ d.replace(/\/$/, "") + l + "/dataset.xml",
4704
+ t,
4705
+ { baseUrl: r, signal: n.signal }
4706
+ ), { latLonBox: a, timeSpan: b, axis: p } = Gn(h), A = p.find((v) => v.name === "time"), y = [];
4707
+ if (A && b?.begin) {
4708
+ const v = Number(A.values?.npts), B = String(
4709
+ A.attribute?.find((L) => L.name === "units")?.value || ""
4710
+ ).toLowerCase(), N = B.includes("hour") ? "hour" : B.includes("minute") ? "minute" : "second", E = Number(A.values?.resolution);
4711
+ if (v > 1 && Number.isFinite(E) && E !== 0)
4712
+ for (let L = 0; L < v; L++)
4713
+ y.push(
4714
+ Je(b.begin).add(L * E, N).format("YYYYMMDDHHmmss")
4715
+ );
4716
+ else
4717
+ y.push(Je(b.begin).format("YYYYMMDDHHmmss"));
4718
+ }
4719
+ return {
4720
+ type: "file",
4721
+ latLonBox: a,
4722
+ timeList: y,
4723
+ fileList: o.data,
4724
+ url: l,
4725
+ authorization: t
4726
+ };
4727
+ }
4728
+ Je.extend(zr);
4729
+ function Pr(n, e) {
4720
4730
  if (n && typeof n == "object") {
4721
4731
  const t = n, r = {
4722
4732
  north: Number(t.north),
@@ -4735,19 +4745,19 @@ function Qn(n, e) {
4735
4745
  function Wn(n) {
4736
4746
  return (Array.isArray(n) ? n : [n]).map((e) => String(e ?? "").trim()).filter(Boolean);
4737
4747
  }
4738
- async function jn(n, e, t, r, i, o) {
4748
+ async function Un(n, e, t, r, i, o) {
4739
4749
  const u = n.config?.scope, s = Number(u?.[0]), l = Number(u?.[1]), d = Number.isFinite(s), h = Number.isFinite(l);
4740
4750
  if (d && h) return [s, l];
4741
- const a = Wn(n.config?.layerConfig?.LAYERS), D = Qn(i, n.config?.extent);
4751
+ const a = Wn(n.config?.layerConfig?.LAYERS), b = Pr(void 0, n.config?.extent) ?? Pr(i);
4742
4752
  if (!a.length) throw new Error('Layer "' + n.id + '" has no WMS LAYERS setting');
4743
- if (!D) throw new Error('Layer "' + n.id + '" has no valid extent');
4744
- const p = ye(), A = n.serviceBaseUrl ?? o.serviceBaseUrl ?? p.serviceBaseUrl, w = t ? Je(t).utc().format("YYYY-MM-DDTHH:mm:ss.000[Z]") : void 0, v = await Promise.all(
4753
+ if (!b) throw new Error('Layer "' + n.id + '" has no valid extent');
4754
+ const p = ye(), A = n.serviceBaseUrl ?? o.serviceBaseUrl ?? p.serviceBaseUrl, y = t ? Je(t).utc().format("YYYY-MM-DDTHH:mm:ss.000[Z]") : void 0, v = await Promise.all(
4745
4755
  a.map(
4746
- (X) => Hn(
4756
+ (X) => Qn(
4747
4757
  e,
4748
4758
  X,
4749
- D,
4750
- w,
4759
+ b,
4760
+ y,
4751
4761
  r,
4752
4762
  A,
4753
4763
  o.signal
@@ -4758,19 +4768,19 @@ async function jn(n, e, t, r, i, o) {
4758
4768
  throw new Error('Invalid WMS min/max response for layer "' + n.id + '"');
4759
4769
  return [E, L];
4760
4770
  }
4761
- async function Ri(n, e = {}) {
4771
+ async function zi(n, e = {}) {
4762
4772
  if ((Array.isArray(n.type) ? n.type : [n.type]).includes("typhoon")) return { ...n, show: !0 };
4763
4773
  const r = ye();
4764
4774
  let i = n.url, o = n.time, u = n.authorization ?? e.authorization ?? r.serviceAuthorization, s;
4765
4775
  if (!i) {
4766
- let a = await Er({
4776
+ let a = await Nr({
4767
4777
  filePath: n.filePath,
4768
4778
  authorization: u,
4769
4779
  serviceBaseUrl: n.serviceBaseUrl ?? e.serviceBaseUrl,
4770
4780
  ncssBaseUrl: e.ncssBaseUrl,
4771
4781
  signal: e.signal
4772
4782
  });
4773
- if (!a?.fileList?.length && n.fallbackFilePath && (a = await Er({
4783
+ if (!a?.fileList?.length && n.fallbackFilePath && (a = await Nr({
4774
4784
  filePath: n.fallbackFilePath,
4775
4785
  authorization: n.fallbackAuthorization ?? u,
4776
4786
  serviceBaseUrl: n.serviceBaseUrl ?? e.serviceBaseUrl,
@@ -4780,7 +4790,7 @@ async function Ri(n, e = {}) {
4780
4790
  i = a.url ?? a.fileList[0]?.url, o = o ?? a.timeList[0], u = a.authorization ?? u, s = a.latLonBox;
4781
4791
  }
4782
4792
  if (!i) return null;
4783
- const l = await jn(
4793
+ const l = await Un(
4784
4794
  n,
4785
4795
  i,
4786
4796
  o,
@@ -4793,7 +4803,7 @@ async function Ri(n, e = {}) {
4793
4803
  show: !0,
4794
4804
  time: o,
4795
4805
  authorization: u,
4796
- url: kn({ ...d, url: i }, o ?? "", { serviceBaseUrl: h })
4806
+ url: qn({ ...d, url: i }, o ?? "", { serviceBaseUrl: h })
4797
4807
  };
4798
4808
  }
4799
4809
  let Pt = null;
@@ -4807,7 +4817,7 @@ function kt(n, e, t) {
4807
4817
  }
4808
4818
  return i;
4809
4819
  }
4810
- function Un(n, e, t) {
4820
+ function Yn(n, e, t) {
4811
4821
  const r = n * e, i = new Uint8Array(r);
4812
4822
  for (let o = 0; o < e; o++)
4813
4823
  for (let u = 0; u < n; u++) {
@@ -4816,7 +4826,7 @@ function Un(n, e, t) {
4816
4826
  }
4817
4827
  return i;
4818
4828
  }
4819
- async function Yn() {
4829
+ async function Jn() {
4820
4830
  return Pt || (Pt = (async () => {
4821
4831
  const n = navigator?.gpu;
4822
4832
  if (!n) return null;
@@ -4824,7 +4834,7 @@ async function Yn() {
4824
4834
  return e ? await e.requestDevice() : null;
4825
4835
  })(), Pt);
4826
4836
  }
4827
- function Jn() {
4837
+ function Zn() {
4828
4838
  return `
4829
4839
  struct Params {
4830
4840
  width: u32,
@@ -4987,21 +4997,21 @@ function pt(n, e, t) {
4987
4997
  });
4988
4998
  return new Uint8Array(r.getMappedRange()).set(new Uint8Array(e)), r.unmap(), r;
4989
4999
  }
4990
- function Ur(n) {
5000
+ function Jr(n) {
4991
5001
  return typeof n < "u" && n !== null && Number.isFinite(Number(n));
4992
5002
  }
4993
- function Pr(n, e) {
4994
- if (!Ur(n)) return !1;
5003
+ function Tr(n, e) {
5004
+ if (!Jr(n)) return !1;
4995
5005
  const t = Number(n);
4996
5006
  if (t <= Ye / 10) return !1;
4997
5007
  const r = e && typeof e[0] < "u", i = e && typeof e[1] < "u";
4998
5008
  return !(r && t < Number(e[0]) || i && t > Number(e[1]));
4999
5009
  }
5000
- function Zn(n, e, t) {
5010
+ function Kn(n, e, t) {
5001
5011
  const r = Math.max(0, Math.min(1, (t - n) / (e - n)));
5002
5012
  return r * r * (3 - 2 * r);
5003
5013
  }
5004
- function Kn(n, e, t, r) {
5014
+ function _n(n, e, t, r) {
5005
5015
  if (!e.length || !t.length) return [0, 0, 0, 0];
5006
5016
  const i = Math.min(e.length, t.length) - 1;
5007
5017
  if (i < 0) return [0, 0, 0, 0];
@@ -5024,7 +5034,7 @@ function Kn(n, e, t, r) {
5024
5034
  for (let s = 0; s < i; s++) {
5025
5035
  const l = e[s] ?? 0, d = e[s + 1] ?? l;
5026
5036
  if (n < l || n > d) continue;
5027
- const h = t[s] ?? [0, 0, 0, 0], a = t[s + 1] ?? h, D = Math.max(d - l, 1e-6), p = Math.max(0, Math.min(1, (n - l) / D));
5037
+ const h = t[s] ?? [0, 0, 0, 0], a = t[s + 1] ?? h, b = Math.max(d - l, 1e-6), p = Math.max(0, Math.min(1, (n - l) / b));
5028
5038
  return [
5029
5039
  h[0] + (a[0] - h[0]) * p,
5030
5040
  h[1] + (a[1] - h[1]) * p,
@@ -5034,7 +5044,7 @@ function Kn(n, e, t, r) {
5034
5044
  }
5035
5045
  return t[i] ?? [0, 0, 0, 0];
5036
5046
  }
5037
- function _n(n) {
5047
+ function $n(n) {
5038
5048
  const {
5039
5049
  width: e,
5040
5050
  height: t,
@@ -5051,30 +5061,30 @@ function _n(n) {
5051
5061
  h.width = e, h.height = t;
5052
5062
  const a = h.getContext("2d");
5053
5063
  if (!a) return null;
5054
- const D = a.createImageData(e, t), p = D.data;
5064
+ const b = a.createImageData(e, t), p = b.data;
5055
5065
  for (let A = 0; A < t; A++)
5056
- for (let w = 0; w < e; w++) {
5057
- const B = (A * e + w) * 4, N = r?.[A]?.[w];
5058
- if (!Pr(N, l)) {
5066
+ for (let y = 0; y < e; y++) {
5067
+ const B = (A * e + y) * 4, N = r?.[A]?.[y];
5068
+ if (!Tr(N, l)) {
5059
5069
  p[B] = 0, p[B + 1] = 0, p[B + 2] = 0, p[B + 3] = 0;
5060
5070
  continue;
5061
5071
  }
5062
- const E = i?.[A]?.[w];
5063
- if (!Ur(E)) {
5072
+ const E = i?.[A]?.[y];
5073
+ if (!Jr(E)) {
5064
5074
  p[B] = 0, p[B + 1] = 0, p[B + 2] = 0, p[B + 3] = 0;
5065
5075
  continue;
5066
5076
  }
5067
- const L = Kn(Number(E), o, u, s);
5077
+ const L = _n(Number(E), o, u, s);
5068
5078
  let X = 0, R = 0;
5069
5079
  for (let F = A - 1; F <= A + 1; F++)
5070
- for (let M = w - 1; M <= w + 1; M++)
5071
- F < 0 || M < 0 || F >= t || M >= e || (R += 1, Pr(r?.[F]?.[M], l) && (X += 1));
5072
- const S = R ? X / R : 0, z = d ? Zn(0.58, 0.9, S) : 1, C = L[3] ?? 255, P = Math.max(0, Math.min(255, Math.round(C * z)));
5080
+ for (let M = y - 1; M <= y + 1; M++)
5081
+ F < 0 || M < 0 || F >= t || M >= e || (R += 1, Tr(r?.[F]?.[M], l) && (X += 1));
5082
+ const S = R ? X / R : 0, z = d ? Kn(0.58, 0.9, S) : 1, C = L[3] ?? 255, P = Math.max(0, Math.min(255, Math.round(C * z)));
5073
5083
  p[B] = Math.max(0, Math.min(255, Math.round(L[0] ?? 0))), p[B + 1] = Math.max(0, Math.min(255, Math.round(L[1] ?? 0))), p[B + 2] = Math.max(0, Math.min(255, Math.round(L[2] ?? 0))), p[B + 3] = P;
5074
5084
  }
5075
- return a.putImageData(D, 0, 0), h;
5085
+ return a.putImageData(b, 0, 0), h;
5076
5086
  }
5077
- function Tr(n, e, t) {
5087
+ function Lr(n, e, t) {
5078
5088
  const r = n.createShader(e);
5079
5089
  if (!r) return null;
5080
5090
  if (n.shaderSource(r, t), n.compileShader(r), !n.getShaderParameter(r, n.COMPILE_STATUS)) {
@@ -5083,8 +5093,8 @@ function Tr(n, e, t) {
5083
5093
  }
5084
5094
  return r;
5085
5095
  }
5086
- function $n(n, e, t) {
5087
- const r = Tr(n, n.VERTEX_SHADER, e), i = Tr(n, n.FRAGMENT_SHADER, t);
5096
+ function eo(n, e, t) {
5097
+ const r = Lr(n, n.VERTEX_SHADER, e), i = Lr(n, n.FRAGMENT_SHADER, t);
5088
5098
  if (!r || !i)
5089
5099
  throw new Error("WebGL shader creation failed");
5090
5100
  const o = n.createProgram();
@@ -5096,7 +5106,7 @@ function $n(n, e, t) {
5096
5106
  }
5097
5107
  return o;
5098
5108
  }
5099
- function eo(n) {
5109
+ function to(n) {
5100
5110
  const {
5101
5111
  width: e,
5102
5112
  height: t,
@@ -5120,7 +5130,7 @@ function eo(n) {
5120
5130
  preserveDrawingBuffer: !0
5121
5131
  });
5122
5132
  if (!a) return null;
5123
- const D = `#version 300 es
5133
+ const b = `#version 300 es
5124
5134
  in vec2 a_position;
5125
5135
  out vec2 v_uv;
5126
5136
  void main() {
@@ -5244,12 +5254,12 @@ void main() {
5244
5254
  outColor = vec4(c.rgb / 255.0, (c.a / 255.0) * edgeAlpha);
5245
5255
  }`;
5246
5256
  try {
5247
- const A = $n(a, D, p);
5257
+ const A = eo(a, b, p);
5248
5258
  a.useProgram(A);
5249
- const w = new Float32Array([-1, -1, 1, -1, -1, 1, 1, 1]), v = a.createBuffer();
5259
+ const y = new Float32Array([-1, -1, 1, -1, -1, 1, 1, 1]), v = a.createBuffer();
5250
5260
  if (!v)
5251
5261
  return a.deleteProgram(A), null;
5252
- a.bindBuffer(a.ARRAY_BUFFER, v), a.bufferData(a.ARRAY_BUFFER, w, a.STATIC_DRAW);
5262
+ a.bindBuffer(a.ARRAY_BUFFER, v), a.bufferData(a.ARRAY_BUFFER, y, a.STATIC_DRAW);
5253
5263
  const B = a.getAttribLocation(A, "a_position");
5254
5264
  if (B < 0)
5255
5265
  return a.deleteBuffer(v), a.deleteProgram(A), null;
@@ -5263,7 +5273,7 @@ void main() {
5263
5273
  const L = a.createTexture();
5264
5274
  if (!L)
5265
5275
  return a.deleteTexture(E), a.deleteTexture(N), a.deleteBuffer(v), a.deleteProgram(A), null;
5266
- const X = kt(e, t, i), R = kt(e, t, r), S = Un(e, t, r);
5276
+ const X = kt(e, t, i), R = kt(e, t, r), S = Yn(e, t, r);
5267
5277
  a.activeTexture(a.TEXTURE0), a.bindTexture(a.TEXTURE_2D, N), a.pixelStorei(a.UNPACK_ALIGNMENT, 1), a.texParameteri(a.TEXTURE_2D, a.TEXTURE_MIN_FILTER, a.NEAREST), a.texParameteri(a.TEXTURE_2D, a.TEXTURE_MAG_FILTER, a.NEAREST), a.texParameteri(a.TEXTURE_2D, a.TEXTURE_WRAP_S, a.CLAMP_TO_EDGE), a.texParameteri(a.TEXTURE_2D, a.TEXTURE_WRAP_T, a.CLAMP_TO_EDGE), a.texImage2D(a.TEXTURE_2D, 0, a.R32F, e, t, 0, a.RED, a.FLOAT, X), a.activeTexture(a.TEXTURE1), a.bindTexture(a.TEXTURE_2D, E), a.texParameteri(a.TEXTURE_2D, a.TEXTURE_MIN_FILTER, a.NEAREST), a.texParameteri(a.TEXTURE_2D, a.TEXTURE_MAG_FILTER, a.NEAREST), a.texParameteri(a.TEXTURE_2D, a.TEXTURE_WRAP_S, a.CLAMP_TO_EDGE), a.texParameteri(a.TEXTURE_2D, a.TEXTURE_WRAP_T, a.CLAMP_TO_EDGE), a.texImage2D(a.TEXTURE_2D, 0, a.R32F, e, t, 0, a.RED, a.FLOAT, R), a.activeTexture(a.TEXTURE2), a.bindTexture(a.TEXTURE_2D, L), a.texParameteri(a.TEXTURE_2D, a.TEXTURE_MIN_FILTER, a.LINEAR), a.texParameteri(a.TEXTURE_2D, a.TEXTURE_MAG_FILTER, a.LINEAR), a.texParameteri(a.TEXTURE_2D, a.TEXTURE_WRAP_S, a.CLAMP_TO_EDGE), a.texParameteri(a.TEXTURE_2D, a.TEXTURE_WRAP_T, a.CLAMP_TO_EDGE), a.texImage2D(
5268
5278
  a.TEXTURE_2D,
5269
5279
  0,
@@ -5276,10 +5286,10 @@ void main() {
5276
5286
  S
5277
5287
  );
5278
5288
  const z = new Float32Array(Ue), C = new Float32Array(Ue * 4), P = Math.min(o.length, Ue);
5279
- for (let b = 0; b < P; b++) {
5280
- z[b] = o[b] ?? 0;
5281
- const y = u[b] ?? [0, 0, 0, 0], T = b * 4;
5282
- C[T] = y[0], C[T + 1] = y[1], C[T + 2] = y[2], C[T + 3] = y[3] ?? 255;
5289
+ for (let D = 0; D < P; D++) {
5290
+ z[D] = o[D] ?? 0;
5291
+ const w = u[D] ?? [0, 0, 0, 0], T = D * 4;
5292
+ C[T] = w[0], C[T + 1] = w[1], C[T + 2] = w[2], C[T + 3] = w[3] ?? 255;
5283
5293
  }
5284
5294
  const F = l && typeof l[0] < "u" ? Number(l[0]) : 0, M = l && typeof l[1] < "u" ? Number(l[1]) : 0, I = l && typeof l[0] < "u" ? 1 : 0, g = l && typeof l[1] < "u" ? 1 : 0;
5285
5295
  return a.uniform1i(a.getUniformLocation(A, "u_values"), 0), a.uniform1i(a.getUniformLocation(A, "u_maskValues"), 1), a.uniform1i(a.getUniformLocation(A, "u_validMask"), 2), a.uniform1i(a.getUniformLocation(A, "u_thresholdCount"), P), a.uniform1i(a.getUniformLocation(A, "u_colorMode"), s === "gradient" ? 1 : 0), a.uniform1fv(a.getUniformLocation(A, "u_thresholds"), z), a.uniform4fv(a.getUniformLocation(A, "u_colors"), C), a.uniform1f(a.getUniformLocation(A, "u_minScope"), F), a.uniform1f(a.getUniformLocation(A, "u_maxScope"), M), a.uniform1i(a.getUniformLocation(A, "u_hasMin"), I), a.uniform1i(a.getUniformLocation(A, "u_hasMax"), g), a.uniform1i(a.getUniformLocation(A, "u_softenMaskEdge"), d ? 1 : 0), a.viewport(0, 0, e, t), a.clearColor(0, 0, 0, 0), a.clear(a.COLOR_BUFFER_BIT), a.drawArrays(a.TRIANGLE_STRIP, 0, 4), a.activeTexture(a.TEXTURE2), a.bindTexture(a.TEXTURE_2D, null), a.activeTexture(a.TEXTURE1), a.bindTexture(a.TEXTURE_2D, null), a.activeTexture(a.TEXTURE0), a.bindTexture(a.TEXTURE_2D, null), a.bindBuffer(a.ARRAY_BUFFER, null), a.deleteTexture(L), a.deleteTexture(N), a.deleteTexture(E), a.deleteBuffer(v), a.deleteProgram(A), h;
@@ -5287,7 +5297,7 @@ void main() {
5287
5297
  return console.warn("[FcstLayer] WebGL2 渲染失败", A), null;
5288
5298
  }
5289
5299
  }
5290
- async function to(n) {
5300
+ async function ro(n) {
5291
5301
  const {
5292
5302
  width: e,
5293
5303
  height: t,
@@ -5301,19 +5311,19 @@ async function to(n) {
5301
5311
  } = n;
5302
5312
  if (!e || !t || !o.length || !u.length) return null;
5303
5313
  try {
5304
- const h = await Yn();
5314
+ const h = await Jn();
5305
5315
  if (!h) return null;
5306
5316
  h.pushErrorScope("validation");
5307
- const a = e * t, D = kt(e, t, i), p = kt(e, t, r), A = new Float32Array(o), w = new Float32Array(A.length * 4);
5317
+ const a = e * t, b = kt(e, t, i), p = kt(e, t, r), A = new Float32Array(o), y = new Float32Array(A.length * 4);
5308
5318
  for (let K = 0; K < A.length; K++) {
5309
5319
  const Z = u[K] ?? [0, 0, 0, 0], U = K * 4;
5310
- w[U] = Z[0], w[U + 1] = Z[1], w[U + 2] = Z[2], w[U + 3] = Z[3] ?? 255;
5320
+ y[U] = Z[0], y[U + 1] = Z[1], y[U + 2] = Z[2], y[U + 3] = Z[3] ?? 255;
5311
5321
  }
5312
5322
  const v = l && typeof l[0] < "u" ? Number(l[0]) : 0, B = l && typeof l[1] < "u" ? Number(l[1]) : 0, N = l && typeof l[0] < "u" ? 1 : 0, E = l && typeof l[1] < "u" ? 1 : 0, L = new ArrayBuffer(48), X = new DataView(L);
5313
5323
  X.setUint32(0, e, !0), X.setUint32(4, t, !0), X.setUint32(8, A.length, !0), X.setUint32(12, s === "gradient" ? 1 : 0, !0), X.setFloat32(16, v, !0), X.setFloat32(20, B, !0), X.setUint32(24, N, !0), X.setUint32(28, E, !0), X.setUint32(32, d ? 1 : 0, !0);
5314
5324
  const R = globalThis.GPUBufferUsage, S = globalThis.GPUMapMode, z = pt(
5315
5325
  h,
5316
- D.buffer,
5326
+ b.buffer,
5317
5327
  R.STORAGE | R.COPY_DST
5318
5328
  ), C = pt(
5319
5329
  h,
@@ -5325,7 +5335,7 @@ async function to(n) {
5325
5335
  R.STORAGE | R.COPY_DST
5326
5336
  ), F = pt(
5327
5337
  h,
5328
- w.buffer,
5338
+ y.buffer,
5329
5339
  R.STORAGE | R.COPY_DST
5330
5340
  ), M = pt(
5331
5341
  h,
@@ -5334,13 +5344,13 @@ async function to(n) {
5334
5344
  ), I = a * 4, g = h.createBuffer({
5335
5345
  size: I,
5336
5346
  usage: R.STORAGE | R.COPY_SRC
5337
- }), b = h.createBuffer({
5347
+ }), D = h.createBuffer({
5338
5348
  size: I,
5339
5349
  usage: R.COPY_DST | R.MAP_READ
5340
- }), y = h.createShaderModule({ code: Jn() }), T = h.createComputePipeline({
5350
+ }), w = h.createShaderModule({ code: Zn() }), T = h.createComputePipeline({
5341
5351
  layout: "auto",
5342
5352
  compute: {
5343
- module: y,
5353
+ module: w,
5344
5354
  entryPoint: "main"
5345
5355
  }
5346
5356
  }), O = h.createBindGroup({
@@ -5354,32 +5364,32 @@ async function to(n) {
5354
5364
  { binding: 5, resource: { buffer: g } }
5355
5365
  ]
5356
5366
  }), H = h.createCommandEncoder(), G = H.beginComputePass();
5357
- G.setPipeline(T), G.setBindGroup(0, O), G.dispatchWorkgroups(Math.ceil(a / 64)), G.end(), H.copyBufferToBuffer(g, 0, b, 0, I), h.queue.submit([H.finish()]);
5367
+ G.setPipeline(T), G.setBindGroup(0, O), G.dispatchWorkgroups(Math.ceil(a / 64)), G.end(), H.copyBufferToBuffer(g, 0, D, 0, I), h.queue.submit([H.finish()]);
5358
5368
  const V = await h.popErrorScope();
5359
5369
  if (V)
5360
- return z.destroy(), C.destroy(), P.destroy(), F.destroy(), M.destroy(), g.destroy(), b.destroy(), console.warn("[FcstLayer] WebGPU validation error", V), null;
5361
- await b.mapAsync(S.READ);
5362
- const J = b.getMappedRange(), Y = new Uint8ClampedArray(J.slice(0));
5363
- b.unmap();
5364
- const W = document.createElement("canvas");
5365
- W.width = e, W.height = t;
5366
- const j = W.getContext("2d");
5367
- return j ? (j.putImageData(new ImageData(Y, e, t), 0, 0), z.destroy(), C.destroy(), P.destroy(), F.destroy(), M.destroy(), g.destroy(), b.destroy(), W) : null;
5370
+ return z.destroy(), C.destroy(), P.destroy(), F.destroy(), M.destroy(), g.destroy(), D.destroy(), console.warn("[FcstLayer] WebGPU validation error", V), null;
5371
+ await D.mapAsync(S.READ);
5372
+ const J = D.getMappedRange(), Y = new Uint8ClampedArray(J.slice(0));
5373
+ D.unmap();
5374
+ const j = document.createElement("canvas");
5375
+ j.width = e, j.height = t;
5376
+ const W = j.getContext("2d");
5377
+ return W ? (W.putImageData(new ImageData(Y, e, t), 0, 0), z.destroy(), C.destroy(), P.destroy(), F.destroy(), M.destroy(), g.destroy(), D.destroy(), j) : null;
5368
5378
  } catch (h) {
5369
5379
  return console.warn("[FcstLayer] WebGPU 渲染失败", h), null;
5370
5380
  }
5371
5381
  }
5372
- async function ro(n) {
5373
- const e = eo(n);
5382
+ async function no(n) {
5383
+ const e = to(n);
5374
5384
  if (e) return e;
5375
- const t = await to(n);
5385
+ const t = await ro(n);
5376
5386
  if (t)
5377
5387
  return console.warn("[FcstLayer] 当前环境不支持 WebGL2,已自动使用 WebGPU"), t;
5378
- const r = _n(n);
5388
+ const r = $n(n);
5379
5389
  return r ? (console.warn("[FcstLayer] GPU 渲染不可用,已自动回退到 Canvas2D CPU 渲染"), r) : (console.warn("[FcstLayer] 渲染不可用:WebGL2/WebGPU/Canvas2D 都不可用"), null);
5380
5390
  }
5381
- const Tt = 4, no = 12, oo = 8;
5382
- class Yr {
5391
+ const Tt = 4, oo = 12, io = 8;
5392
+ class Zr {
5383
5393
  map;
5384
5394
  options;
5385
5395
  contourCache;
@@ -5418,7 +5428,7 @@ class Yr {
5418
5428
  });
5419
5429
  }
5420
5430
  setCachedContourData(e, t) {
5421
- for (this.contourCache.delete(e), this.contourCache.set(e, t); this.contourCache.size > no; ) {
5431
+ for (this.contourCache.delete(e), this.contourCache.set(e, t); this.contourCache.size > oo; ) {
5422
5432
  const r = this.contourCache.keys().next().value;
5423
5433
  if (r === void 0) break;
5424
5434
  this.contourCache.delete(r);
@@ -5437,7 +5447,7 @@ class Yr {
5437
5447
  });
5438
5448
  }
5439
5449
  setCachedRasterRender(e, t) {
5440
- for (this.rasterRenderCache.delete(e), this.rasterRenderCache.set(e, t); this.rasterRenderCache.size > oo; ) {
5450
+ for (this.rasterRenderCache.delete(e), this.rasterRenderCache.set(e, t); this.rasterRenderCache.size > io; ) {
5441
5451
  const r = this.rasterRenderCache.keys().next().value;
5442
5452
  if (r === void 0) break;
5443
5453
  this.rasterRenderCache.delete(r);
@@ -5460,7 +5470,7 @@ class Yr {
5460
5470
  async getSourceFromParams(e = this.options) {
5461
5471
  const { config: t } = e, { mode: r, legend: i, legendScope: o } = t, u = await this.getOrLoadContourData(e);
5462
5472
  if (!u || e?.signal?.aborted) return;
5463
- const { rawArr2D: s, smoothArr2D: l, extent: d, width: h, height: a } = u, D = this.getValueTransformFn(e), p = this.applyValueTransform2D(s, "raw", D), A = this.applyValueTransform2D(l, "smooth", D), { colorMap: w } = Ee(i), { colorMap: v } = Ee(i, o), B = wt(i, o) ?? t.scope;
5473
+ const { rawArr2D: s, smoothArr2D: l, extent: d, width: h, height: a } = u, b = this.getValueTransformFn(e), p = this.applyValueTransform2D(s, "raw", b), A = this.applyValueTransform2D(l, "smooth", b), { colorMap: y } = Ee(i), { colorMap: v } = Ee(i, o), B = wt(i, o) ?? t.scope;
5464
5474
  return await this.getFcstRasterSource(
5465
5475
  {
5466
5476
  smoothArr2D: A,
@@ -5468,11 +5478,11 @@ class Yr {
5468
5478
  extent: d,
5469
5479
  width: h,
5470
5480
  height: a,
5471
- colorMap: w,
5481
+ colorMap: y,
5472
5482
  selectedColorMap: v,
5473
5483
  colorMode: r,
5474
5484
  scope: B,
5475
- rasterCacheKey: this.getRasterRenderCacheKey(e, w)
5485
+ rasterCacheKey: this.getRasterRenderCacheKey(e, y)
5476
5486
  },
5477
5487
  e
5478
5488
  );
@@ -5486,14 +5496,14 @@ class Yr {
5486
5496
  const o = (async () => {
5487
5497
  const u = await Gt(e);
5488
5498
  if (!u) return null;
5489
- const { uniqueThresholds: s, rawArr2D: l, smoothArr2D: d, extent: h, width: a, height: D } = u, p = {
5499
+ const { uniqueThresholds: s, rawArr2D: l, smoothArr2D: d, extent: h, width: a, height: b } = u, p = {
5490
5500
  schemaVersion: Tt,
5491
5501
  uniqueThresholds: s,
5492
5502
  rawArr2D: l,
5493
5503
  smoothArr2D: d,
5494
5504
  extent: h,
5495
5505
  width: a,
5496
- height: D
5506
+ height: b
5497
5507
  };
5498
5508
  return this.setCachedContourData(t, p), p;
5499
5509
  })();
@@ -5513,11 +5523,11 @@ class Yr {
5513
5523
  if (!o) return null;
5514
5524
  const { rawArr2D: u, smoothArr2D: s, extent: l, width: d, height: h } = o, a = r ? s : u;
5515
5525
  if (!a || d <= 0 || h <= 0) return null;
5516
- const D = rt([e, t]);
5517
- if (D.length < 2) return null;
5518
- const p = D[0], A = D[1], [w, v, B, N] = l, E = B - w, L = N - v;
5519
- if (E <= 0 || L <= 0 || p < w || p > B || A < v || A > N) return null;
5520
- const X = (p - w) / E * (d - 1), R = (N - A) / L * (h - 1), S = Math.max(0, Math.min(d - 1, Math.round(X))), z = Math.max(0, Math.min(h - 1, Math.round(R))), C = a?.[z]?.[S];
5526
+ const b = rt([e, t]);
5527
+ if (b.length < 2) return null;
5528
+ const p = b[0], A = b[1], [y, v, B, N] = l, E = B - y, L = N - v;
5529
+ if (E <= 0 || L <= 0 || p < y || p > B || A < v || A > N) return null;
5530
+ const X = (p - y) / E * (d - 1), R = (N - A) / L * (h - 1), S = Math.max(0, Math.min(d - 1, Math.round(X))), z = Math.max(0, Math.min(h - 1, Math.round(R))), C = a?.[z]?.[S];
5521
5531
  if (C == null || isNaN(Number(C))) return null;
5522
5532
  const P = this.applyValueTransformValue(
5523
5533
  Number(C),
@@ -5542,7 +5552,7 @@ class Yr {
5542
5552
  if (!s || s.schemaVersion !== Tt)
5543
5553
  return this.contourCache.delete(u), null;
5544
5554
  this.contourCache.delete(u), this.contourCache.set(u, s);
5545
- const { colorMap: l } = Ee(i), { colorMap: d } = Ee(i, o), h = this.getValueTransformFn(e), a = this.applyValueTransform2D(s.rawArr2D, "raw", h), D = this.applyValueTransform2D(
5555
+ const { colorMap: l } = Ee(i), { colorMap: d } = Ee(i, o), h = this.getValueTransformFn(e), a = this.applyValueTransform2D(s.rawArr2D, "raw", h), b = this.applyValueTransform2D(
5546
5556
  s.smoothArr2D,
5547
5557
  "smooth",
5548
5558
  h
@@ -5551,7 +5561,7 @@ class Yr {
5551
5561
  {
5552
5562
  ...s,
5553
5563
  rawArr2D: a,
5554
- smoothArr2D: D,
5564
+ smoothArr2D: b,
5555
5565
  colorMap: l,
5556
5566
  selectedColorMap: d,
5557
5567
  colorMode: r,
@@ -5574,13 +5584,13 @@ class Yr {
5574
5584
  selectedColorMap: d = l,
5575
5585
  colorMode: h = "discrete",
5576
5586
  scope: a,
5577
- rasterCacheKey: D = this.getRasterRenderCacheKey(t, l)
5587
+ rasterCacheKey: b = this.getRasterRenderCacheKey(t, l)
5578
5588
  } = e, p = Object.keys(l).map((S) => Number(S)).filter((S) => !isNaN(S)).sort((S, z) => S - z), A = p.map((S) => zt(l[S]));
5579
- let w = this.rasterRenderCache.get(D);
5580
- if (w)
5581
- this.rasterRenderCache.delete(D), this.rasterRenderCache.set(D, w);
5589
+ let y = this.rasterRenderCache.get(b);
5590
+ if (y)
5591
+ this.rasterRenderCache.delete(b), this.rasterRenderCache.set(b, y);
5582
5592
  else {
5583
- let S = this.rasterRenderLoadingTasks.get(D);
5593
+ let S = this.rasterRenderLoadingTasks.get(b);
5584
5594
  S || (S = (async () => {
5585
5595
  const z = t?.config?.alignWithIsoline === !0, C = t?.config?.isolineSmooth === !1 ? 0 : nt(t?.config?.isolineSmoothness), P = z ? Wr(r, u, s, C) : i, F = r, M = z && h !== "gradient" ? this.createIsolineContourFills(
5586
5596
  P,
@@ -5592,7 +5602,7 @@ class Yr {
5592
5602
  t
5593
5603
  ) : void 0;
5594
5604
  let I;
5595
- if (z && h !== "gradient" ? (I = document.createElement("canvas"), I.width = Math.max(1, Math.floor(u)), I.height = Math.max(1, Math.floor(s))) : I = await ro({
5605
+ if (z && h !== "gradient" ? (I = document.createElement("canvas"), I.width = Math.max(1, Math.floor(u)), I.height = Math.max(1, Math.floor(s))) : I = await no({
5596
5606
  width: Math.max(1, Math.floor(u)),
5597
5607
  height: Math.max(1, Math.floor(s)),
5598
5608
  rawArr2D: F,
@@ -5609,19 +5619,19 @@ class Yr {
5609
5619
  renderValues: P,
5610
5620
  contourFills: M
5611
5621
  };
5612
- return this.setCachedRasterRender(D, g), g;
5613
- })(), this.rasterRenderLoadingTasks.set(D, S));
5622
+ return this.setCachedRasterRender(b, g), g;
5623
+ })(), this.rasterRenderLoadingTasks.set(b, S));
5614
5624
  try {
5615
- w = await S ?? void 0;
5625
+ y = await S ?? void 0;
5616
5626
  } finally {
5617
- this.rasterRenderLoadingTasks.get(D) === S && this.rasterRenderLoadingTasks.delete(D);
5627
+ this.rasterRenderLoadingTasks.get(b) === S && this.rasterRenderLoadingTasks.delete(b);
5618
5628
  }
5619
5629
  }
5620
- if (!w) return null;
5621
- const v = Object.keys(d).map(Number).filter(Number.isFinite).sort((S, z) => S - z), B = new Set(v), N = w.contourFills?.filter(
5630
+ if (!y) return null;
5631
+ const v = Object.keys(d).map(Number).filter(Number.isFinite).sort((S, z) => S - z), B = new Set(v), N = y.contourFills?.filter(
5622
5632
  (S) => B.has(S.threshold)
5623
5633
  ), E = v[0], L = v[v.length - 1], X = typeof L == "number" && p.some((S) => S > L), R = typeof E == "number" && Number.isFinite(E) && typeof L == "number" && Number.isFinite(L) ? this.createLegendEdgeColorCanvas(
5624
- w.renderValues,
5634
+ y.renderValues,
5625
5635
  u,
5626
5636
  s,
5627
5637
  E,
@@ -5630,20 +5640,20 @@ class Yr {
5630
5640
  zt(d[L])
5631
5641
  ) : void 0;
5632
5642
  return this.createFcstCanvasSource(
5633
- w.canvas,
5643
+ y.canvas,
5634
5644
  o,
5635
5645
  h,
5636
- w.renderMask,
5646
+ y.renderMask,
5637
5647
  a,
5638
5648
  t,
5639
5649
  N,
5640
- t?.config?.alignWithIsoline === !0 ? w.renderValues : void 0,
5650
+ t?.config?.alignWithIsoline === !0 ? y.renderValues : void 0,
5641
5651
  R,
5642
5652
  X
5643
5653
  );
5644
5654
  }
5645
5655
  getValueTransformFn(e = this.options) {
5646
- return Qr(e?.config?.valueTransform);
5656
+ return jr(e?.config?.valueTransform);
5647
5657
  }
5648
5658
  applyValueTransformValue(e, t, r = this.getValueTransformFn()) {
5649
5659
  if (!r) return e;
@@ -5692,12 +5702,12 @@ class Yr {
5692
5702
  for (let l = 0; l < t; l++) {
5693
5703
  const d = [], h = r.length;
5694
5704
  for (let a = 0; a < h; a++) {
5695
- const D = r[a], p = r[(a + 1) % h];
5696
- if (!D || !p) continue;
5697
- const A = D[0], w = D[1], v = p[0], B = p[1];
5698
- if (typeof A != "number" || typeof w != "number" || typeof v != "number" || typeof B != "number")
5705
+ const b = r[a], p = r[(a + 1) % h];
5706
+ if (!b || !p) continue;
5707
+ const A = b[0], y = b[1], v = p[0], B = p[1];
5708
+ if (typeof A != "number" || typeof y != "number" || typeof v != "number" || typeof B != "number")
5699
5709
  continue;
5700
- const N = 0.75 * A + 0.25 * v, E = 0.75 * w + 0.25 * B, L = 0.25 * A + 0.75 * v, X = 0.25 * w + 0.75 * B;
5710
+ const N = 0.75 * A + 0.25 * v, E = 0.75 * y + 0.25 * B, L = 0.25 * A + 0.75 * v, X = 0.25 * y + 0.75 * B;
5701
5711
  d.push([N, E], [L, X]);
5702
5712
  }
5703
5713
  if (r = d, r.length < 3) break;
@@ -5726,20 +5736,20 @@ class Yr {
5726
5736
  if (!o) return null;
5727
5737
  const s = this.getMaskSmoothIterations(u), l = t * r;
5728
5738
  if (!l) return null;
5729
- const d = i && typeof i[0] < "u", h = i && typeof i[1] < "u", a = d ? Number(i[0]) : 0, D = h ? Number(i[1]) : 0, p = new Float32Array(l);
5739
+ const d = i && typeof i[0] < "u", h = i && typeof i[1] < "u", a = d ? Number(i[0]) : 0, b = h ? Number(i[1]) : 0, p = new Float32Array(l);
5730
5740
  let A = 0;
5731
5741
  for (let E = 0; E < r; E++)
5732
5742
  for (let L = 0; L < t; L++) {
5733
5743
  const X = E * t + L, R = e?.[E]?.[L], S = R == null || isNaN(Number(R)) ? void 0 : Number(R);
5734
- S !== void 0 && (!d || S >= a) && (!h || S <= D) && (p[X] = 1, A += 1);
5744
+ S !== void 0 && (!d || S >= a) && (!h || S <= b) && (p[X] = 1, A += 1);
5735
5745
  }
5736
5746
  if (!A) return null;
5737
- const w = It().size([t, r]).thresholds([0.5])(
5747
+ const y = It().size([t, r]).thresholds([0.5])(
5738
5748
  p
5739
5749
  );
5740
- if (!w.length) return null;
5750
+ if (!y.length) return null;
5741
5751
  const v = [];
5742
- for (const E of w) {
5752
+ for (const E of y) {
5743
5753
  const L = E.coordinates ?? [];
5744
5754
  for (const X of L)
5745
5755
  v.push(X);
@@ -5767,29 +5777,29 @@ class Yr {
5767
5777
  let d = 0;
5768
5778
  for (let p = 0; p < r; p++) {
5769
5779
  const A = e[p];
5770
- for (let w = 0; w < t; w++) {
5771
- const v = A?.[w], B = v !== void 0 && Number.isFinite(v) && v <= s;
5772
- l[p * t + w] = B ? v : NaN, B && v >= u && (d += 1);
5780
+ for (let y = 0; y < t; y++) {
5781
+ const v = A?.[y], B = v !== void 0 && Number.isFinite(v) && v <= s;
5782
+ l[p * t + y] = B ? v : NaN, B && v >= u && (d += 1);
5773
5783
  }
5774
5784
  }
5775
5785
  if (!d) return null;
5776
5786
  const h = o?.config?.isolineSmooth === !1 ? 0 : nt(o?.config?.isolineSmoothness), a = It().size([t, r]).thresholds([u]).smooth(h > 0)(l);
5777
5787
  if (!a.length) return null;
5778
- const D = new Path2D();
5788
+ const b = new Path2D();
5779
5789
  for (const p of a)
5780
5790
  for (const A of p.coordinates ?? [])
5781
- for (const w of A) {
5782
- const v = w[0];
5791
+ for (const y of A) {
5792
+ const v = y[0];
5783
5793
  if (v) {
5784
- D.moveTo(v[0], v[1]);
5785
- for (let B = 1; B < w.length; B++) {
5786
- const N = w[B];
5787
- N && D.lineTo(N[0], N[1]);
5794
+ b.moveTo(v[0], v[1]);
5795
+ for (let B = 1; B < y.length; B++) {
5796
+ const N = y[B];
5797
+ N && b.lineTo(N[0], N[1]);
5788
5798
  }
5789
- D.closePath();
5799
+ b.closePath();
5790
5800
  }
5791
5801
  }
5792
- return D;
5802
+ return b;
5793
5803
  }
5794
5804
  createIsolineContourFills(e, t, r, i, o, u, s = this.options) {
5795
5805
  const l = u && typeof u[0] < "u" ? Number(u[0]) : -1 / 0, d = u && typeof u[1] < "u" ? Number(u[1]) : 1 / 0, h = i.filter(
@@ -5804,12 +5814,12 @@ class Yr {
5804
5814
  a[B * t + E] = L !== void 0 && Number.isFinite(L) ? L : NaN;
5805
5815
  }
5806
5816
  }
5807
- const D = s?.config?.isolineSmooth === !1 ? 0 : nt(s?.config?.isolineSmoothness), p = It().size([t, r]).thresholds(h).smooth(D > 0)(a), A = new globalThis.Map();
5817
+ const b = s?.config?.isolineSmooth === !1 ? 0 : nt(s?.config?.isolineSmoothness), p = It().size([t, r]).thresholds(h).smooth(b > 0)(a), A = new globalThis.Map();
5808
5818
  i.forEach((B, N) => {
5809
5819
  const E = o[N];
5810
5820
  E && A.set(B, E);
5811
5821
  });
5812
- const w = (B, N) => {
5822
+ const y = (B, N) => {
5813
5823
  for (const E of N.coordinates ?? [])
5814
5824
  for (const L of E) {
5815
5825
  const X = L[0];
@@ -5829,9 +5839,9 @@ class Yr {
5829
5839
  const N = p[B], E = Number(N.value), L = A.get(E);
5830
5840
  if (!L) continue;
5831
5841
  const X = new Path2D();
5832
- w(X, N);
5842
+ y(X, N);
5833
5843
  const R = p[B + 1];
5834
- R && w(X, R);
5844
+ R && y(X, R);
5835
5845
  const S = Math.max(0, Math.min(1, (L[3] ?? 255) / 255));
5836
5846
  v.push({
5837
5847
  threshold: E,
@@ -5848,15 +5858,15 @@ class Yr {
5848
5858
  h.width = Math.max(1, Math.floor(t)), h.height = Math.max(1, Math.floor(r));
5849
5859
  const a = h.getContext("2d");
5850
5860
  if (!a) return null;
5851
- const D = a.createImageData(h.width, h.height), p = D.data;
5861
+ const b = a.createImageData(h.width, h.height), p = b.data;
5852
5862
  for (let A = 0; A < h.height; A++) {
5853
- const w = e[A];
5863
+ const y = e[A];
5854
5864
  for (let v = 0; v < h.width; v++) {
5855
- const B = w?.[v];
5865
+ const B = y?.[v];
5856
5866
  B === void 0 || !Number.isFinite(B) || B < l || (o ? B >= d : B > d) || (p[(A * h.width + v) * 4 + 3] = 255);
5857
5867
  }
5858
5868
  }
5859
- return a.putImageData(D, 0, 0), h;
5869
+ return a.putImageData(b, 0, 0), h;
5860
5870
  }
5861
5871
  createLegendEdgeColorCanvas(e, t, r, i, o, u, s) {
5862
5872
  const l = document.createElement("canvas");
@@ -5864,22 +5874,22 @@ class Yr {
5864
5874
  const d = l.getContext("2d");
5865
5875
  if (!d) return null;
5866
5876
  const h = d.createImageData(l.width, l.height), a = h.data;
5867
- for (let D = 0; D < l.height; D++) {
5868
- const p = e[D];
5877
+ for (let b = 0; b < l.height; b++) {
5878
+ const p = e[b];
5869
5879
  for (let A = 0; A < l.width; A++) {
5870
- const w = p?.[A];
5871
- if (w === void 0 || !Number.isFinite(w)) continue;
5872
- const v = w <= i ? u : w >= o ? s : void 0;
5880
+ const y = p?.[A];
5881
+ if (y === void 0 || !Number.isFinite(y)) continue;
5882
+ const v = y <= i ? u : y >= o ? s : void 0;
5873
5883
  if (!v) continue;
5874
- const B = (D * l.width + A) * 4;
5884
+ const B = (b * l.width + A) * 4;
5875
5885
  a[B] = v[0], a[B + 1] = v[1], a[B + 2] = v[2], a[B + 3] = v[3];
5876
5886
  }
5877
5887
  }
5878
5888
  return d.putImageData(h, 0, 0), l;
5879
5889
  }
5880
5890
  createFcstCanvasSource(e, t, r = "discrete", i, o, u = this.options, s, l, d, h = !1) {
5881
- const a = document.createElement("canvas"), D = r === "gradient", p = u?.config?.pixelSnap === !0, A = u?.config?.useDevicePixelRatio === !0, w = u?.config?.alignWithIsoline === !0, v = i ? this.createScopeMaskCanvas(
5882
- w ? l ?? i : i,
5891
+ const a = document.createElement("canvas"), b = r === "gradient", p = u?.config?.pixelSnap === !0, A = u?.config?.useDevicePixelRatio === !0, y = u?.config?.alignWithIsoline === !0, v = i ? this.createScopeMaskCanvas(
5892
+ y ? l ?? i : i,
5883
5893
  e.width,
5884
5894
  e.height,
5885
5895
  o,
@@ -5889,25 +5899,25 @@ class Yr {
5889
5899
  projection: "EPSG:3857",
5890
5900
  ratio: 1,
5891
5901
  // Avoid resampling across the validity edge when exact contour alignment is requested.
5892
- interpolate: D && !w,
5902
+ interpolate: b && !y,
5893
5903
  canvasFunction: (N, E, L, X) => {
5894
5904
  const R = A ? Math.max(1, L || 1) : 1, S = X ?? [1, 1], z = Math.max(1, Math.floor((S[0] ?? 1) * R)), C = Math.max(1, Math.floor((S[1] ?? 1) * R));
5895
5905
  a.width !== z && (a.width = z), a.height !== C && (a.height = C);
5896
5906
  const P = a.getContext("2d", { alpha: !0 });
5897
5907
  if (!P) return a;
5898
5908
  P.clearRect(0, 0, z, C);
5899
- const [F, M, I, g] = N, [b, y, T, O] = t, H = I - F, G = g - M;
5909
+ const [F, M, I, g] = N, [D, w, T, O] = t, H = I - F, G = g - M;
5900
5910
  if (H <= 0 || G <= 0) return a;
5901
- const V = z / H, J = C / G, Y = (b - F) * V, W = (g - O) * J, j = (T - b) * V, K = (O - y) * J;
5902
- if (j <= 0 || K <= 0) return a;
5903
- const Z = p ? Math.floor(Y) : Y, U = p ? Math.floor(W) : W, te = p ? Math.ceil(Y + j) : Y + j, se = p ? Math.ceil(W + K) : W + K, _ = Math.max(1, te - Z), $ = Math.max(1, se - U);
5911
+ const V = z / H, J = C / G, Y = (D - F) * V, j = (g - O) * J, W = (T - D) * V, K = (O - w) * J;
5912
+ if (W <= 0 || K <= 0) return a;
5913
+ const Z = p ? Math.floor(Y) : Y, U = p ? Math.floor(j) : j, te = p ? Math.ceil(Y + W) : Y + W, se = p ? Math.ceil(j + K) : j + K, _ = Math.max(1, te - Z), $ = Math.max(1, se - U);
5904
5914
  if (s?.length) {
5905
5915
  P.save(), P.translate(Z, U), P.scale(_ / e.width, $ / e.height);
5906
5916
  for (const ae of s)
5907
5917
  P.fillStyle = ae.color, P.fill(ae.path, "evenodd");
5908
5918
  return P.restore(), a;
5909
5919
  }
5910
- return P.imageSmoothingEnabled = D && !w, D && !w && (P.imageSmoothingQuality = "high"), P.drawImage(e, Z, U, _, $), d && (P.save(), P.globalCompositeOperation = "source-atop", P.imageSmoothingEnabled = D && !w, D && !w && (P.imageSmoothingQuality = "high"), P.drawImage(d, Z, U, _, $), P.restore()), v && (P.save(), P.globalCompositeOperation = "destination-in", P.imageSmoothingEnabled = D && !w, D && !w && (P.imageSmoothingQuality = "high"), P.drawImage(v, Z, U, _, $), P.restore()), a;
5920
+ return P.imageSmoothingEnabled = b && !y, b && !y && (P.imageSmoothingQuality = "high"), P.drawImage(e, Z, U, _, $), d && (P.save(), P.globalCompositeOperation = "source-atop", P.imageSmoothingEnabled = b && !y, b && !y && (P.imageSmoothingQuality = "high"), P.drawImage(d, Z, U, _, $), P.restore()), v && (P.save(), P.globalCompositeOperation = "destination-in", P.imageSmoothingEnabled = b && !y, b && !y && (P.imageSmoothingQuality = "high"), P.drawImage(v, Z, U, _, $), P.restore()), a;
5911
5921
  }
5912
5922
  });
5913
5923
  }
@@ -5962,19 +5972,19 @@ class Yr {
5962
5972
  }
5963
5973
  }
5964
5974
  const Lt = 1, Et = new globalThis.Map();
5965
- function Lr(n, e) {
5975
+ function Fr(n, e) {
5966
5976
  Et.set(n, e);
5967
5977
  }
5968
5978
  function sr(n) {
5969
5979
  return Et.get(n);
5970
5980
  }
5971
- function io(n) {
5981
+ function uo(n) {
5972
5982
  Et.delete(n);
5973
5983
  }
5974
- function uo(n) {
5984
+ function so(n) {
5975
5985
  Et.forEach((e) => n(e));
5976
5986
  }
5977
- function so() {
5987
+ function ao() {
5978
5988
  Et.clear();
5979
5989
  }
5980
5990
  class Zt {
@@ -6071,14 +6081,14 @@ class Zt {
6071
6081
  interpolateValue(e, t, r, i, o) {
6072
6082
  const u = Math.floor(i), s = Math.ceil(i), l = Math.floor(o), d = Math.ceil(o);
6073
6083
  if (u < 0 || s >= t || l < 0 || d >= r) return null;
6074
- const h = Number(e[l]?.[u]), a = Number(e[l]?.[s]), D = Number(e[d]?.[u]), p = Number(e[d]?.[s]);
6075
- if (![h, a, D, p].every((v) => Number.isFinite(v))) return null;
6076
- const A = i - u, w = o - l;
6077
- return h * (1 - A) * (1 - w) + a * A * (1 - w) + D * (1 - A) * w + p * A * w;
6084
+ const h = Number(e[l]?.[u]), a = Number(e[l]?.[s]), b = Number(e[d]?.[u]), p = Number(e[d]?.[s]);
6085
+ if (![h, a, b, p].every((v) => Number.isFinite(v))) return null;
6086
+ const A = i - u, y = o - l;
6087
+ return h * (1 - A) * (1 - y) + a * A * (1 - y) + b * (1 - A) * y + p * A * y;
6078
6088
  }
6079
6089
  getValueTransformFn() {
6080
6090
  const e = this.getRuntimeConfig();
6081
- return Qr(e?.valueTransform);
6091
+ return jr(e?.valueTransform);
6082
6092
  }
6083
6093
  applyValueTransformValue(e, t) {
6084
6094
  const r = this.getValueTransformFn();
@@ -6096,20 +6106,20 @@ class Zt {
6096
6106
  projection: "EPSG:3857",
6097
6107
  ratio: 1,
6098
6108
  interpolate: !1,
6099
- canvasFunction: (D, p, A, w) => {
6100
- const v = w ?? [1, 1], B = Math.max(1, Math.floor(v[0] ?? 1)), N = Math.max(1, Math.floor(v[1] ?? 1)), E = this.map.getSize(), L = Math.max(1, Math.floor(E?.[0] ?? B)), X = Math.max(1, Math.floor(E?.[1] ?? N)), R = B / L, S = N / X, z = s.useDevicePixelRatio ? Math.max(1, Number(A || 1)) : 1, C = Math.max(0.01, (R + S) * 0.5 / z), P = B, F = N, M = L, I = X;
6109
+ canvasFunction: (b, p, A, y) => {
6110
+ const v = y ?? [1, 1], B = Math.max(1, Math.floor(v[0] ?? 1)), N = Math.max(1, Math.floor(v[1] ?? 1)), E = this.map.getSize(), L = Math.max(1, Math.floor(E?.[0] ?? B)), X = Math.max(1, Math.floor(E?.[1] ?? N)), R = B / L, S = N / X, z = s.useDevicePixelRatio ? Math.max(1, Number(A || 1)) : 1, C = Math.max(0.01, (R + S) * 0.5 / z), P = B, F = N, M = L, I = X;
6101
6111
  t.width !== P && (t.width = P), t.height !== F && (t.height = F);
6102
6112
  const g = t.getContext("2d", { alpha: !0 });
6103
6113
  if (!g) return t;
6104
6114
  g.setTransform(1, 0, 0, 1, 0, 0), g.clearRect(0, 0, P, F), g.font = `${Math.max(10, Math.round(s.fontSize * C))}px ${s.fontFamily}`, g.fillStyle = s.fontColor, g.strokeStyle = s.strokeColor, g.lineWidth = Math.max(0, s.strokeWidth * C), g.lineJoin = "round", g.miterLimit = 2, g.textAlign = "center", g.textBaseline = "middle";
6105
- const [b, y, T, O] = D, [H, G, V, J] = i, Y = T - b, W = O - y, j = V - H, K = J - G;
6106
- if (Y <= 0 || W <= 0 || j <= 0 || K <= 0) return t;
6115
+ const [D, w, T, O] = b, [H, G, V, J] = i, Y = T - D, j = O - w, W = V - H, K = J - G;
6116
+ if (Y <= 0 || j <= 0 || W <= 0 || K <= 0) return t;
6107
6117
  const Z = Math.max(8, Math.round(s.pixelStep));
6108
6118
  for (let U = Z / 2; U < I; U += Z)
6109
6119
  for (let te = Z / 2; te < M; te += Z) {
6110
- const se = b + te / M * Y, _ = O - U / I * W;
6120
+ const se = D + te / M * Y, _ = O - U / I * j;
6111
6121
  if (se < H || se > V || _ < G || _ > J) continue;
6112
- const $ = (se - H) / j * (o - 1), ae = (J - _) / K * (u - 1), ne = this.interpolateValue(r, o, u, $, ae);
6122
+ const $ = (se - H) / W * (o - 1), ae = (J - _) / K * (u - 1), ne = this.interpolateValue(r, o, u, $, ae);
6113
6123
  if (ne === null) continue;
6114
6124
  const he = this.applyValueTransformValue(ne, {
6115
6125
  x: $,
@@ -6154,7 +6164,7 @@ class Zt {
6154
6164
  r && t.setSource(r);
6155
6165
  }
6156
6166
  }
6157
- class ao {
6167
+ class co {
6158
6168
  map;
6159
6169
  options;
6160
6170
  contourCache;
@@ -6211,43 +6221,43 @@ class ao {
6211
6221
  projection: "EPSG:3857",
6212
6222
  ratio: 1,
6213
6223
  canvasFunction: (l, d, h, a) => {
6214
- const D = a ?? [1, 1], p = Math.max(1, Math.floor((D[0] ?? 1) * h)), A = Math.max(1, Math.floor((D[1] ?? 1) * h));
6224
+ const b = a ?? [1, 1], p = Math.max(1, Math.floor((b[0] ?? 1) * h)), A = Math.max(1, Math.floor((b[1] ?? 1) * h));
6215
6225
  s.width !== p && (s.width = p), s.height !== A && (s.height = A);
6216
- const w = s.getContext("2d", { alpha: !0 });
6217
- if (!w) return s;
6218
- w.clearRect(0, 0, p, A), w.fillStyle = u, w.font = `${Math.max(1, Math.floor(o * h))}px Arial`, w.textAlign = "center", w.textBaseline = "middle";
6226
+ const y = s.getContext("2d", { alpha: !0 });
6227
+ if (!y) return s;
6228
+ y.clearRect(0, 0, p, A), y.fillStyle = u, y.font = `${Math.max(1, Math.floor(o * h))}px Arial`, y.textAlign = "center", y.textBaseline = "middle";
6219
6229
  const [v, B, N, E] = l, [L, X, R, S] = t, z = N - v, C = E - B;
6220
6230
  if (z <= 0 || C <= 0) return s;
6221
6231
  const P = Math.max(v, L), F = Math.max(B, X), M = Math.min(N, R), I = Math.min(E, S);
6222
6232
  if (P >= M || F >= I) return s;
6223
- const g = R - L, b = S - X;
6224
- if (g <= 0 || b <= 0) return s;
6225
- const y = Math.max(1, p - 1), T = Math.max(1, A - 1), O = Math.max(1, Math.floor(i * h)), H = Math.max(
6233
+ const g = R - L, D = S - X;
6234
+ if (g <= 0 || D <= 0) return s;
6235
+ const w = Math.max(1, p - 1), T = Math.max(1, A - 1), O = Math.max(1, Math.floor(i * h)), H = Math.max(
6226
6236
  g / Math.max(1, e.width - 1),
6227
- b / Math.max(1, e.height - 1)
6237
+ D / Math.max(1, e.height - 1)
6228
6238
  ), G = H > 0 && isFinite(d) ? Math.max(1, Math.floor(d / H)) : 1, V = Math.max(O, Math.min(O * 6, O * G)), J = Math.max(
6229
6239
  0,
6230
- Math.floor((P - v) / z * y)
6240
+ Math.floor((P - v) / z * w)
6231
6241
  ), Y = Math.min(
6232
6242
  p - 1,
6233
- Math.ceil((M - v) / z * y)
6234
- ), W = Math.max(
6243
+ Math.ceil((M - v) / z * w)
6244
+ ), j = Math.max(
6235
6245
  0,
6236
6246
  Math.floor((E - I) / C * T)
6237
- ), j = Math.min(
6247
+ ), W = Math.min(
6238
6248
  A - 1,
6239
6249
  Math.ceil((E - F) / C * T)
6240
6250
  );
6241
- if (J > Y || W > j) return s;
6242
- for (let K = W; K <= j; K += V)
6251
+ if (J > Y || j > W) return s;
6252
+ for (let K = j; K <= W; K += V)
6243
6253
  for (let Z = J; Z <= Y; Z += V) {
6244
- const U = v + z * Z / y, te = E - C * K / T;
6254
+ const U = v + z * Z / w, te = E - C * K / T;
6245
6255
  if (U < L || U > R || te < X || te > S)
6246
6256
  continue;
6247
- const se = (U - L) / g * (e.width - 1), _ = (S - te) / b * (e.height - 1), $ = $t(e.angle, se, _, e.width, e.height);
6257
+ const se = (U - L) / g * (e.width - 1), _ = (S - te) / D * (e.height - 1), $ = _t(e.angle, se, _, e.width, e.height);
6248
6258
  if (!isFinite($)) continue;
6249
6259
  const ae = ($ - 90) * Math.PI / 180;
6250
- w.save(), w.translate(Z, K), w.rotate(ae), w.fillText("→", 0, 0), w.restore();
6260
+ y.save(), y.translate(Z, K), y.rotate(ae), y.fillText("→", 0, 0), y.restore();
6251
6261
  }
6252
6262
  return s;
6253
6263
  }
@@ -6282,7 +6292,7 @@ class ao {
6282
6292
  Ne(this.map, this.options.id + "-arrow", e);
6283
6293
  }
6284
6294
  }
6285
- const ar = "26", Jr = /* @__PURE__ */ new Set(["23", "24", ar]), co = 6, lo = ["", "-notes", "-filtered", "-other"], He = new globalThis.Map(), Ft = new globalThis.Map(), er = /* @__PURE__ */ new WeakMap(), Fr = new globalThis.Map(), St = {
6295
+ const ar = "26", Kr = /* @__PURE__ */ new Set(["23", "24", ar]), lo = 6, fo = ["", "-notes", "-filtered", "-other"], He = new globalThis.Map(), Ft = new globalThis.Map(), er = /* @__PURE__ */ new WeakMap(), Sr = new globalThis.Map(), St = {
6286
6296
  0: "#9CF790",
6287
6297
  10: "#37A600",
6288
6298
  25: "#67B4F8",
@@ -6291,62 +6301,62 @@ const ar = "26", Jr = /* @__PURE__ */ new Set(["23", "24", ar]), co = 6, lo = ["
6291
6301
  250: "#710100",
6292
6302
  400: "#ffa10c",
6293
6303
  600: "#fe6301"
6294
- }, fo = {
6304
+ }, ho = {
6295
6305
  0: "#cccccc",
6296
6306
  "2.5": "#a1a1a1",
6297
6307
  5: "#707070",
6298
6308
  10: "#454545",
6299
6309
  20: "#7345e6",
6300
6310
  30: "#4d0074"
6301
- }, ho = {
6311
+ }, go = {
6302
6312
  0: "#c3e7b9",
6303
6313
  10: "#7ec179",
6304
6314
  25: "#95c5e0",
6305
6315
  50: "#3b3a9f",
6306
6316
  100: "#b05dae"
6307
6317
  };
6308
- function go() {
6318
+ function mo() {
6309
6319
  return new DOMException("The operation was aborted", "AbortError");
6310
6320
  }
6311
6321
  function Dt(n) {
6312
- if (n?.aborted) throw n.reason ?? go();
6322
+ if (n?.aborted) throw n.reason ?? mo();
6313
6323
  }
6314
- function Zr(n, e) {
6324
+ function _r(n, e) {
6315
6325
  let t = er.get(n);
6316
6326
  t || (t = new globalThis.Map(), er.set(n, t));
6317
6327
  const r = (t.get(e) ?? 0) + 1;
6318
6328
  return t.set(e, r), r;
6319
6329
  }
6320
- function Sr(n, e, t) {
6330
+ function Mr(n, e, t) {
6321
6331
  return er.get(n)?.get(e) === t;
6322
6332
  }
6323
- function mo(n) {
6333
+ function Ao(n) {
6324
6334
  return JSON.stringify({
6325
6335
  filePath: n.filePath,
6326
6336
  authorization: n.authorization ?? ""
6327
6337
  });
6328
6338
  }
6329
- function Ao(n, e) {
6330
- for (He.delete(n), He.set(n, e); He.size > co; ) {
6339
+ function po(n, e) {
6340
+ for (He.delete(n), He.set(n, e); He.size > lo; ) {
6331
6341
  const t = He.keys().next().value;
6332
6342
  if (t === void 0) break;
6333
6343
  He.delete(t);
6334
6344
  }
6335
6345
  }
6336
- function Kr(n, e) {
6337
- const t = new Set(lo.map((r) => `${e}${r}`));
6346
+ function $r(n, e) {
6347
+ const t = new Set(fo.map((r) => `${e}${r}`));
6338
6348
  for (const r of [...n.getLayers().getArray()])
6339
6349
  t.has(r.getClassName()) && n.removeLayer(r);
6340
6350
  }
6341
6351
  function ut(n) {
6342
6352
  const e = String(n ?? "").trim();
6343
- return Jr.has(e) ? e : ar;
6353
+ return Kr.has(e) ? e : ar;
6344
6354
  }
6345
6355
  function tr(n, e, t = 0.05) {
6346
6356
  const r = n[0] - e[0], i = n[1] - e[1];
6347
6357
  return r * r + i * i < t * t;
6348
6358
  }
6349
- function _r(n) {
6359
+ function en(n) {
6350
6360
  let e = 0;
6351
6361
  for (let t = 0; t < n.length - 1; t++) {
6352
6362
  const [r, i] = n[t], [o, u] = n[t + 1];
@@ -6354,7 +6364,7 @@ function _r(n) {
6354
6364
  }
6355
6365
  return e > 0;
6356
6366
  }
6357
- function po(n) {
6367
+ function vo(n) {
6358
6368
  const e = [];
6359
6369
  let t = n.findIndex((o) => /^CLOSED_CONTOURS:/i.test(o));
6360
6370
  if (t < 0) return Q.featureCollection(e);
@@ -6369,9 +6379,9 @@ function po(n) {
6369
6379
  let u = Number.parseInt(o[2], 10);
6370
6380
  const s = [];
6371
6381
  for (t++; u > 0 && t < n.length; ) {
6372
- const D = n[t].trim().split(/\s+/).map(Number).filter(Number.isFinite);
6373
- for (let p = 0; p + 2 < D.length && u > 0; p += 3)
6374
- s.push([D[p], D[p + 1]]), u--;
6382
+ const b = n[t].trim().split(/\s+/).map(Number).filter(Number.isFinite);
6383
+ for (let p = 0; p + 2 < b.length && u > 0; p += 3)
6384
+ s.push([b[p], b[p + 1]]), u--;
6375
6385
  t++;
6376
6386
  }
6377
6387
  let l = !1;
@@ -6381,15 +6391,15 @@ function po(n) {
6381
6391
  h && (d = h[1], t++);
6382
6392
  const a = s[s.length - 1];
6383
6393
  if (s.length > 3 && !tr(s[0], a, 0.1) && s.push([...s[0]]), s.length > 3 && tr(s[0], s[s.length - 1], 0.1)) {
6384
- _r(s) && s.reverse();
6385
- const D = s[0], p = s[s.length - 1];
6386
- (D[0] !== p[0] || D[1] !== p[1]) && s.push([...s[0]]), e.push(Q.polygon([s], { level: d, noLabelZero: l }));
6394
+ en(s) && s.reverse();
6395
+ const b = s[0], p = s[s.length - 1];
6396
+ (b[0] !== p[0] || b[1] !== p[1]) && s.push([...s[0]]), e.push(Q.polygon([s], { level: d, noLabelZero: l }));
6387
6397
  }
6388
6398
  i--;
6389
6399
  }
6390
6400
  return e.sort((o, u) => Number(o.properties?.level) - Number(u.properties?.level)), Q.featureCollection(e);
6391
6401
  }
6392
- function vo(n) {
6402
+ function Do(n) {
6393
6403
  const e = [];
6394
6404
  let t = n.findIndex((r) => /^NOTES_SYMBOL:/i.test(r));
6395
6405
  if (t < 0) return e;
@@ -6405,7 +6415,7 @@ function vo(n) {
6405
6415
  }
6406
6416
  return e;
6407
6417
  }
6408
- function Do(n) {
6418
+ function bo(n) {
6409
6419
  const e = [];
6410
6420
  let t = n.findIndex((r) => /^SYMBOLS:/i.test(r));
6411
6421
  if (t < 0) return e;
@@ -6425,7 +6435,7 @@ function Do(n) {
6425
6435
  }
6426
6436
  return e;
6427
6437
  }
6428
- function bo(n) {
6438
+ function yo(n) {
6429
6439
  const e = [], t = n.findIndex((u) => /^CLOSED_CONTOURS:/i.test(u)), r = t < 0 ? n.length : t, i = /^(\d+(?:\.\d+)?)\s+\d+\s+(\d+)\s*$/;
6430
6440
  let o = 0;
6431
6441
  for (; o < r; ) {
@@ -6438,15 +6448,15 @@ function bo(n) {
6438
6448
  let l = Number.parseInt(u[2], 10);
6439
6449
  const d = [];
6440
6450
  for (o++; o < r && l > 0; ) {
6441
- const D = n[o].trim().split(/\s+/).map(Number).filter(Number.isFinite);
6442
- for (let p = 0; p + 2 < D.length && l > 0; p += 3)
6443
- d.push([D[p], D[p + 1]]), l--;
6451
+ const b = n[o].trim().split(/\s+/).map(Number).filter(Number.isFinite);
6452
+ for (let p = 0; p + 2 < b.length && l > 0; p += 3)
6453
+ d.push([b[p], b[p + 1]]), l--;
6444
6454
  o++;
6445
6455
  }
6446
6456
  let h = !1;
6447
6457
  if (o < r && /^NoLabel\s+0[^\s]*/.test(n[o].trim()) && (h = !0, o++), !d.length) continue;
6448
6458
  const a = d.length > 3 && tr(d[0], d[d.length - 1], 0.1);
6449
- a && _r(d) && d.reverse(), e.push({
6459
+ a && en(d) && d.reverse(), e.push({
6450
6460
  type: "Feature",
6451
6461
  geometry: {
6452
6462
  type: a ? "Polygon" : "LineString",
@@ -6479,7 +6489,7 @@ function cr(n) {
6479
6489
  return [n];
6480
6490
  }
6481
6491
  }
6482
- function yo(n, e) {
6492
+ function wo(n, e) {
6483
6493
  try {
6484
6494
  const t = Q.area(n), r = Q.area(e);
6485
6495
  return Number.isFinite(t) && Number.isFinite(r) && t > 0 && t < r * 0.999999 && (Q.booleanWithin(n, e) || Q.booleanContains(e, n));
@@ -6487,7 +6497,7 @@ function yo(n, e) {
6487
6497
  return !1;
6488
6498
  }
6489
6499
  }
6490
- function wo(n) {
6500
+ function Co(n) {
6491
6501
  if (n.length <= 1 || !n.every((u) => Number(u?.properties?.level) === 0))
6492
6502
  return n;
6493
6503
  const e = n.flatMap(cr), t = e.map((u) => {
@@ -6500,8 +6510,8 @@ function wo(n) {
6500
6510
  if (e.forEach((u, s) => {
6501
6511
  let l = -1, d = Number.POSITIVE_INFINITY;
6502
6512
  e.forEach((h, a) => {
6503
- const D = t[a] ?? 0;
6504
- s === a || D >= d || !Ct(xe(u), xe(h)) || !yo(u, h) || (l = a, d = D);
6513
+ const b = t[a] ?? 0;
6514
+ s === a || b >= d || !Ct(xe(u), xe(h)) || !wo(u, h) || (l = a, d = b);
6505
6515
  }), l >= 0 && r.set(s, l);
6506
6516
  }), !r.size) return e;
6507
6517
  const i = new globalThis.Map();
@@ -6519,9 +6529,9 @@ function wo(n) {
6519
6529
  if (!Ct(xe(h), xe(d)) || !Q.booleanIntersects(h, d))
6520
6530
  return [h];
6521
6531
  const a = Q.difference(Q.featureCollection([h, d]));
6522
- return a ? Q.flatten(a).features.map((D) => ({
6523
- ...D,
6524
- properties: { ...u.properties ?? {}, ...D.properties ?? {} }
6532
+ return a ? Q.flatten(a).features.map((b) => ({
6533
+ ...b,
6534
+ properties: { ...u.properties ?? {}, ...b.properties ?? {} }
6525
6535
  })) : [];
6526
6536
  } catch {
6527
6537
  return [h];
@@ -6530,7 +6540,7 @@ function wo(n) {
6530
6540
  o.push(...l);
6531
6541
  }), o;
6532
6542
  }
6533
- function Co(n) {
6543
+ function Bo(n) {
6534
6544
  const e = new globalThis.Map(), t = [];
6535
6545
  for (const i of n) {
6536
6546
  if (!/polygon/i.test(String(i?.geometry?.type ?? ""))) {
@@ -6544,7 +6554,7 @@ function Co(n) {
6544
6554
  }
6545
6555
  const r = [];
6546
6556
  return e.forEach((i) => {
6547
- const o = wo(i);
6557
+ const o = Co(i);
6548
6558
  if (o.length <= 1) {
6549
6559
  r.push(...o);
6550
6560
  return;
@@ -6563,7 +6573,7 @@ function Co(n) {
6563
6573
  }
6564
6574
  }), [...t, ...r];
6565
6575
  }
6566
- function Bo(n, e) {
6576
+ function Eo(n, e) {
6567
6577
  const t = new globalThis.Map(), r = [];
6568
6578
  for (const o of n) {
6569
6579
  if (!/polygon/i.test(String(o?.geometry?.type ?? ""))) {
@@ -6584,10 +6594,10 @@ function Bo(n, e) {
6584
6594
  try {
6585
6595
  if (!Ct(xe(a), h.bbox)) return [a];
6586
6596
  if (!Q.booleanIntersects(a, h.feature)) return [a];
6587
- const D = Q.difference(
6597
+ const b = Q.difference(
6588
6598
  Q.featureCollection([a, h.feature])
6589
6599
  );
6590
- return D ? Q.flatten(D).features.map((p) => ({
6600
+ return b ? Q.flatten(b).features.map((p) => ({
6591
6601
  ...p,
6592
6602
  properties: { ...l.properties ?? {}, ...p.properties ?? {} }
6593
6603
  })) : [];
@@ -6600,7 +6610,7 @@ function Bo(n, e) {
6600
6610
  }
6601
6611
  }), [...r, ...i];
6602
6612
  }
6603
- function Eo(n, e = 1e-6) {
6613
+ function xo(n, e = 1e-6) {
6604
6614
  if (!n.length) return [];
6605
6615
  const t = (o, u) => {
6606
6616
  const s = o[0] - u[0], l = o[1] - u[1];
@@ -6618,7 +6628,7 @@ function Eo(n, e = 1e-6) {
6618
6628
  }
6619
6629
  return i.push(r[r.length - 1]), i.length >= 4 ? i : r;
6620
6630
  }
6621
- function xo(n, e, t = 1e-3) {
6631
+ function No(n, e, t = 1e-3) {
6622
6632
  if (n?.geometry?.type !== "Polygon" || !/linestring/i.test(e?.geometry?.type ?? ""))
6623
6633
  return Q.featureCollection([n]);
6624
6634
  if (e.geometry.type === "LineString") {
@@ -6635,22 +6645,22 @@ function xo(n, e, t = 1e-3) {
6635
6645
  const s = cr(u).map((l, d) => {
6636
6646
  const h = l.geometry.coordinates[0];
6637
6647
  for (let a = 0; a < h.length; a++) {
6638
- const D = Q.point(h[a]), p = r.features.find(
6639
- (A) => Q.distance(A, D, { units: "kilometers" }) <= t * 2
6648
+ const b = Q.point(h[a]), p = r.features.find(
6649
+ (A) => Q.distance(A, b, { units: "kilometers" }) <= t * 2
6640
6650
  );
6641
6651
  p && (h[a] = [...p.geometry.coordinates]);
6642
6652
  }
6643
- return l.geometry.coordinates[0] = Eo(h), l.properties = {
6653
+ return l.geometry.coordinates[0] = xo(h), l.properties = {
6644
6654
  ...n.properties ?? {},
6645
6655
  id: `${n.properties?.id ?? "poly"}-${d}`
6646
6656
  }, l;
6647
6657
  });
6648
6658
  return Q.featureCollection(s);
6649
6659
  }
6650
- function No(n, e) {
6651
- const t = n.split(/\r?\n/), r = po(t), i = vo(t), o = Do(t).filter(
6652
- (p) => Jr.has(String(p.properties?.symbolId))
6653
- ), u = bo(t).filter(
6660
+ function Po(n, e) {
6661
+ const t = n.split(/\r?\n/), r = vo(t), i = Do(t), o = bo(t).filter(
6662
+ (p) => Kr.has(String(p.properties?.symbolId))
6663
+ ), u = yo(t).filter(
6654
6664
  (p) => p.geometry?.type === "LineString" && Number(p.properties?.level) === 0
6655
6665
  );
6656
6666
  Dt(e);
@@ -6658,11 +6668,11 @@ function No(n, e) {
6658
6668
  if (s.length > 1)
6659
6669
  try {
6660
6670
  const p = Q.union(r);
6661
- p && (s = Q.flatten(p).features.map((A, w) => ({
6671
+ p && (s = Q.flatten(p).features.map((A, y) => ({
6662
6672
  ...A,
6663
6673
  properties: {
6664
6674
  ...A.properties ?? {},
6665
- id: A.properties?.id ?? `u-${w}`
6675
+ id: A.properties?.id ?? `u-${y}`
6666
6676
  }
6667
6677
  })));
6668
6678
  } catch {
@@ -6674,8 +6684,8 @@ function No(n, e) {
6674
6684
  try {
6675
6685
  if (!Ct(xe(A), p.bbox)) return [A];
6676
6686
  if (!Q.booleanIntersects(A, p.feature)) return [A];
6677
- const w = xo(A, p.feature);
6678
- return w.features.length ? w.features : [A];
6687
+ const y = No(A, p.feature);
6688
+ return y.features.length ? y.features : [A];
6679
6689
  } catch {
6680
6690
  return [A];
6681
6691
  }
@@ -6685,10 +6695,10 @@ function No(n, e) {
6685
6695
  point: Q.point(p.geometry.coordinates, p.properties)
6686
6696
  })), h = s.map((p) => {
6687
6697
  let A = ar;
6688
- for (const w of d)
6698
+ for (const y of d)
6689
6699
  try {
6690
- if (Q.booleanPointInPolygon(w.point, p)) {
6691
- A = ut(w.feature.properties?.symbolId);
6700
+ if (Q.booleanPointInPolygon(y.point, p)) {
6701
+ A = ut(y.feature.properties?.symbolId);
6692
6702
  break;
6693
6703
  }
6694
6704
  } catch {
@@ -6697,36 +6707,36 @@ function No(n, e) {
6697
6707
  }), a = r.features.map((p) => ({
6698
6708
  feature: p,
6699
6709
  bbox: xe(p)
6700
- })), D = [];
6710
+ })), b = [];
6701
6711
  for (const p of h) {
6702
6712
  Dt(e);
6703
6713
  const A = xe(p);
6704
- for (const w of a)
6705
- if (Ct(A, w.bbox))
6714
+ for (const y of a)
6715
+ if (Ct(A, y.bbox))
6706
6716
  try {
6707
6717
  const v = Q.intersect(
6708
- Q.featureCollection([p, w.feature])
6718
+ Q.featureCollection([p, y.feature])
6709
6719
  );
6710
6720
  if (!v) continue;
6711
6721
  const B = {
6712
- ...w.feature.properties ?? {},
6722
+ ...y.feature.properties ?? {},
6713
6723
  ...p.properties ?? {}
6714
6724
  };
6715
6725
  Q.flatten(v).features.forEach((N) => {
6716
- N.properties = { ...B, ...N.properties ?? {} }, D.push(N);
6726
+ N.properties = { ...B, ...N.properties ?? {} }, b.push(N);
6717
6727
  });
6718
6728
  } catch {
6719
6729
  }
6720
6730
  }
6721
6731
  return {
6722
- vectorFeatures: Bo(Co(D), e),
6732
+ vectorFeatures: Eo(Bo(b), e),
6723
6733
  noteFeatures: i,
6724
6734
  symbolFeatures: o,
6725
6735
  otherFeatures: u
6726
6736
  };
6727
6737
  }
6728
- async function Po(n) {
6729
- const e = mo(n), t = He.get(e);
6738
+ async function To(n) {
6739
+ const e = Ao(n), t = He.get(e);
6730
6740
  if (t)
6731
6741
  return He.delete(e), He.set(e, t), t;
6732
6742
  if (!n.signal) {
@@ -6737,8 +6747,8 @@ async function Po(n) {
6737
6747
  const i = n.authorization ? { Authorization: n.authorization } : void 0, o = await fetch(n.filePath, { headers: i, signal: n.signal });
6738
6748
  if (!o.ok)
6739
6749
  throw new Error(`MICAPS request failed: ${o.status} ${o.statusText}`);
6740
- const u = No(await o.text(), n.signal);
6741
- return Ao(e, u), u;
6750
+ const u = Po(await o.text(), n.signal);
6751
+ return po(e, u), u;
6742
6752
  })();
6743
6753
  n.signal || Ft.set(e, r);
6744
6754
  try {
@@ -6754,13 +6764,13 @@ function Kt(n, e, t) {
6754
6764
  const o = Object.keys(n).map(Number).filter(Number.isFinite), u = o.length ? Math.max(...o) : Number.POSITIVE_INFINITY;
6755
6765
  return r > u ? n[String(u)] ?? t : t;
6756
6766
  }
6757
- function To(n, e) {
6767
+ function Lo(n, e) {
6758
6768
  const t = ut(n);
6759
- return Kt(t === "23" ? fo : t === "24" ? ho : St, e, St[0]);
6769
+ return Kt(t === "23" ? ho : t === "24" ? go : St, e, St[0]);
6760
6770
  }
6761
- function Lo(n, e = 10, t = 4) {
6771
+ function Fo(n, e = 10, t = 4) {
6762
6772
  if (typeof document > "u") return null;
6763
- const r = globalThis.devicePixelRatio || 1, i = `${n}_${e}_${t}_${r}`, o = Fr.get(i);
6773
+ const r = globalThis.devicePixelRatio || 1, i = `${n}_${e}_${t}_${r}`, o = Sr.get(i);
6764
6774
  if (o) return o;
6765
6775
  const u = document.createElement("canvas");
6766
6776
  u.width = Math.ceil(e * r), u.height = Math.ceil(e * r);
@@ -6768,9 +6778,9 @@ function Lo(n, e = 10, t = 4) {
6768
6778
  if (!s) return null;
6769
6779
  s.setTransform(r, 0, 0, r, 0, 0), s.strokeStyle = n, s.lineWidth = t, s.beginPath(), s.moveTo(-e, e * 2), s.lineTo(e * 2, -e), s.moveTo(0, e * 2), s.lineTo(e * 3, -e), s.stroke();
6770
6780
  const l = s.createPattern(u, "repeat");
6771
- return l && Fr.set(i, l), l;
6781
+ return l && Sr.set(i, l), l;
6772
6782
  }
6773
- function Fo(n, e, t) {
6783
+ function So(n, e, t) {
6774
6784
  const {
6775
6785
  className: r,
6776
6786
  opacity: i = 0.8,
@@ -6781,22 +6791,22 @@ function Fo(n, e, t) {
6781
6791
  } = t, d = {
6782
6792
  dataProjection: "EPSG:4326",
6783
6793
  featureProjection: n.getView().getProjection()
6784
- }, h = (A) => new qr().readFeatures({ type: "FeatureCollection", features: A }, d), a = new globalThis.Map(), p = [new ot({
6794
+ }, h = (A) => new Vr().readFeatures({ type: "FeatureCollection", features: A }, d), a = new globalThis.Map(), p = [new ot({
6785
6795
  className: r,
6786
6796
  opacity: Math.max(0, Math.min(1, i)),
6787
6797
  zIndex: t.zIndex ?? 10,
6788
6798
  visible: t.visible ?? !0,
6789
6799
  source: new vt({ features: h(e.vectorFeatures) }),
6790
6800
  style: (A) => {
6791
- const w = ut(A.get("symbolId")), v = A.get("level"), B = `${w}_${String(v)}_${o}_${u}_${s}`, N = a.get(B);
6801
+ const y = ut(A.get("symbolId")), v = A.get("level"), B = `${y}_${String(v)}_${o}_${u}_${s}`, N = a.get(B);
6792
6802
  if (N) return N;
6793
6803
  const E = [];
6794
6804
  if (u) {
6795
- const L = To(w, v);
6805
+ const L = Lo(y, v);
6796
6806
  E.push(
6797
6807
  new Be({
6798
6808
  fill: new be({
6799
- color: w === "24" ? Lo(L) ?? L : L
6809
+ color: y === "24" ? Fo(L) ?? L : L
6800
6810
  })
6801
6811
  })
6802
6812
  );
@@ -6824,8 +6834,8 @@ function Fo(n, e, t) {
6824
6834
  zIndex: (t.zIndex ?? 10) + 2,
6825
6835
  visible: t.visible ?? !0,
6826
6836
  source: new vt({ features: h(e.noteFeatures) }),
6827
- style: (w) => {
6828
- const v = String(w.get("text") ?? ""), B = `${v}_${o}_${l}`;
6837
+ style: (y) => {
6838
+ const v = String(y.get("text") ?? ""), B = `${v}_${o}_${l}`;
6829
6839
  let N = A.get(B);
6830
6840
  return N || (N = new Be({
6831
6841
  image: l ? new Vt({
@@ -6853,8 +6863,8 @@ function Fo(n, e, t) {
6853
6863
  zIndex: (t.zIndex ?? 10) + 3,
6854
6864
  visible: t.visible ?? !0,
6855
6865
  source: new vt({ features: h(e.symbolFeatures) }),
6856
- style: (w) => {
6857
- const v = ut(w.get("symbolId"));
6866
+ style: (y) => {
6867
+ const v = ut(y.get("symbolId"));
6858
6868
  let B = A.get(v);
6859
6869
  if (!B) {
6860
6870
  const N = v === "23" ? "#5f4bb6" : v === "24" ? "#2f7ea1" : "#2d9f3b";
@@ -6873,22 +6883,22 @@ function Fo(n, e, t) {
6873
6883
  }
6874
6884
  return p;
6875
6885
  }
6876
- async function So(n, e) {
6886
+ async function Mo(n, e) {
6877
6887
  if (!e.className || !e.filePath) return;
6878
- const t = Zr(n, e.className), r = await Po(e);
6879
- if (Dt(e.signal), !Sr(n, e.className, t)) return;
6880
- const i = n.getLayers().getArray().find((u) => u.getClassName() === e.className), o = Fo(n, r, {
6888
+ const t = _r(n, e.className), r = await To(e);
6889
+ if (Dt(e.signal), !Mr(n, e.className, t)) return;
6890
+ const i = n.getLayers().getArray().find((u) => u.getClassName() === e.className), o = So(n, r, {
6881
6891
  ...e,
6882
6892
  zIndex: i?.getZIndex() ?? e.zIndex,
6883
6893
  visible: i?.getVisible() ?? e.visible
6884
6894
  });
6885
- if (Sr(n, e.className, t))
6886
- return Kr(n, e.className), o.forEach((u) => n.addLayer(u)), o[0];
6895
+ if (Mr(n, e.className, t))
6896
+ return $r(n, e.className), o.forEach((u) => n.addLayer(u)), o[0];
6887
6897
  }
6888
- function Mo(n, e) {
6889
- Zr(n, e), Kr(n, e);
6898
+ function Oo(n, e) {
6899
+ _r(n, e), $r(n, e);
6890
6900
  }
6891
- class Oo {
6901
+ class Xo {
6892
6902
  map;
6893
6903
  options;
6894
6904
  ready;
@@ -6920,7 +6930,7 @@ class Oo {
6920
6930
  const e = this.beginSourceRequest(), t = this.abortController, r = this.options.url;
6921
6931
  if (r)
6922
6932
  try {
6923
- if (await So(this.map, {
6933
+ if (await Mo(this.map, {
6924
6934
  ...this.getMicContourOptions(r),
6925
6935
  signal: t.signal
6926
6936
  }), e !== this.sourceRequestVersion || t.signal.aborted) return;
@@ -6930,7 +6940,7 @@ class Oo {
6930
6940
  }
6931
6941
  }
6932
6942
  delete() {
6933
- this.abortController.abort(), this.sourceRequestVersion++, Mo(this.map, this.options.id);
6943
+ this.abortController.abort(), this.sourceRequestVersion++, Oo(this.map, this.options.id);
6934
6944
  }
6935
6945
  toggleVisible(e) {
6936
6946
  Ne(this.map, this.options.id, e), Ne(this.map, `${this.options.id}-notes`, e), Ne(this.map, `${this.options.id}-filtered`, e), Ne(this.map, `${this.options.id}-other`, e);
@@ -6946,15 +6956,15 @@ class Oo {
6946
6956
  }, this.ready = this.add(), await this.ready;
6947
6957
  }
6948
6958
  }
6949
- const Xo = 8, Ho = 8, Io = 3, rr = "rgba(0,0,0,0.8)", Ie = new globalThis.Map(), Mt = new globalThis.Map(), Re = new globalThis.Map(), Ot = new globalThis.Map(), nr = /* @__PURE__ */ new WeakMap();
6959
+ const Ho = 8, Io = 8, Ro = 3, rr = "rgba(0,0,0,0.8)", Ie = new globalThis.Map(), Mt = new globalThis.Map(), Re = new globalThis.Map(), Ot = new globalThis.Map(), nr = /* @__PURE__ */ new WeakMap();
6950
6960
  function lr(n, e) {
6951
6961
  return n.getLayers().getArray().find((t) => t.getClassName() === e);
6952
6962
  }
6953
- function $r(n, e) {
6963
+ function tn(n, e) {
6954
6964
  for (const t of [...n.getLayers().getArray()])
6955
6965
  t.getClassName() === e && n.removeLayer(t);
6956
6966
  }
6957
- function en(n) {
6967
+ function rn(n) {
6958
6968
  const { url: e, time: t = "", authorization: r = "", config: i } = n, { legend: o = [] } = i;
6959
6969
  return JSON.stringify({
6960
6970
  url: e,
@@ -6964,10 +6974,10 @@ function en(n) {
6964
6974
  scope: i.scope ?? [],
6965
6975
  thresholds: o.map((u) => u.scope ?? []),
6966
6976
  isolineSmooth: i.isolineSmooth !== !1,
6967
- isolineSmoothness: tn(i)
6977
+ isolineSmoothness: nn(i)
6968
6978
  });
6969
6979
  }
6970
- function Ro(n) {
6980
+ function zo(n) {
6971
6981
  const { url: e, time: t = "", authorization: r = "", config: i } = n;
6972
6982
  return JSON.stringify({
6973
6983
  url: e,
@@ -6977,25 +6987,25 @@ function Ro(n) {
6977
6987
  scope: i.scope ?? []
6978
6988
  });
6979
6989
  }
6980
- function tn(n) {
6990
+ function nn(n) {
6981
6991
  return n.isolineSmooth === !1 ? 0 : nt(n.isolineSmoothness);
6982
6992
  }
6983
- function zo(n, e) {
6984
- for (Ie.delete(n), Ie.set(n, e); Ie.size > Xo; ) {
6993
+ function qo(n, e) {
6994
+ for (Ie.delete(n), Ie.set(n, e); Ie.size > Ho; ) {
6985
6995
  const t = Ie.keys().next().value;
6986
6996
  if (t === void 0) break;
6987
6997
  Ie.delete(t);
6988
6998
  }
6989
6999
  }
6990
- function qo(n, e) {
6991
- for (Re.delete(n), Re.set(n, e); Re.size > Ho; ) {
7000
+ function Vo(n, e) {
7001
+ for (Re.delete(n), Re.set(n, e); Re.size > Io; ) {
6992
7002
  const t = Re.keys().next().value;
6993
7003
  if (t === void 0) break;
6994
7004
  Re.delete(t);
6995
7005
  }
6996
7006
  }
6997
- async function Vo(n) {
6998
- const e = Ro(n), t = Re.get(e);
7007
+ async function Go(n) {
7008
+ const e = zo(n), t = Re.get(e);
6999
7009
  if (t)
7000
7010
  return Re.delete(e), Re.set(e, t), t;
7001
7011
  const r = Ot.get(e);
@@ -7009,7 +7019,7 @@ async function Vo(n) {
7009
7019
  width: o.width,
7010
7020
  height: o.height
7011
7021
  };
7012
- return qo(e, u), u;
7022
+ return Vo(e, u), u;
7013
7023
  })();
7014
7024
  Ot.set(e, i);
7015
7025
  try {
@@ -7018,22 +7028,22 @@ async function Vo(n) {
7018
7028
  Ot.get(e) === i && Ot.delete(e);
7019
7029
  }
7020
7030
  }
7021
- function rn(n, e) {
7031
+ function on(n, e) {
7022
7032
  let t = nr.get(n);
7023
7033
  t || (t = new globalThis.Map(), nr.set(n, t));
7024
7034
  const r = (t.get(e) ?? 0) + 1;
7025
7035
  return t.set(e, r), r;
7026
7036
  }
7027
- function Go(n, e, t) {
7037
+ function ko(n, e, t) {
7028
7038
  return nr.get(n)?.get(e) === t;
7029
7039
  }
7030
- function ko(n) {
7040
+ function Qo(n) {
7031
7041
  return typeof n.isolineBorderColor == "string" ? n.isolineBorderColor : typeof n.isolineColor == "string" ? n.isolineColor : n.isolineColor === !0 ? Ee(n.legend ?? [], n.legendScope).colorMap : rr;
7032
7042
  }
7033
- function Qo(n) {
7043
+ function jo(n) {
7034
7044
  return Ee(n.legend ?? [], n.legendScope).colorMap;
7035
7045
  }
7036
- function Mr(n) {
7046
+ function Or(n) {
7037
7047
  if (typeof n == "string") return () => n;
7038
7048
  const e = Object.keys(n).map(Number).filter(Number.isFinite).sort((t, r) => t - r);
7039
7049
  return (t) => {
@@ -7051,41 +7061,41 @@ function Wo(n, e, t) {
7051
7061
  const r = n(e), [i, o, u, s] = zt(r);
7052
7062
  return [i, o, u, s / 255 * Math.max(0, Math.min(1, t))];
7053
7063
  }
7054
- function Or(n, e, t, r) {
7055
- const i = new globalThis.Map(), o = [], [u, s, l, d] = r, h = (l - u) / e, a = (d - s) / t, D = (A) => {
7064
+ function Xr(n, e, t, r) {
7065
+ const i = new globalThis.Map(), o = [], [u, s, l, d] = r, h = (l - u) / e, a = (d - s) / t, b = (A) => {
7056
7066
  if (!Array.isArray(A) || A.length < 2) return null;
7057
- const w = [];
7067
+ const y = [];
7058
7068
  for (const v of A)
7059
- !Array.isArray(v) || v.length < 2 || !Number.isFinite(v[0]) || !Number.isFinite(v[1]) || w.push([u + v[0] * h, d - v[1] * a]);
7060
- return w.length >= 2 ? w : null;
7061
- }, p = (A, w) => {
7069
+ !Array.isArray(v) || v.length < 2 || !Number.isFinite(v[0]) || !Number.isFinite(v[1]) || y.push([u + v[0] * h, d - v[1] * a]);
7070
+ return y.length >= 2 ? y : null;
7071
+ }, p = (A, y) => {
7062
7072
  const v = i.get(A) ?? [];
7063
- v.push(w), i.set(A, v);
7073
+ v.push(y), i.set(A, v);
7064
7074
  };
7065
7075
  for (const A of n) {
7066
- const w = Number(A.value);
7067
- if (!(!Number.isFinite(w) || !Array.isArray(A.coordinates))) {
7076
+ const y = Number(A.value);
7077
+ if (!(!Number.isFinite(y) || !Array.isArray(A.coordinates))) {
7068
7078
  if (A.type === "Polygon") {
7069
- const v = A.coordinates.map(D).filter((B) => !!B);
7070
- v.length && (o.push({ type: "Polygon", coordinates: v, value: w }), v.forEach((B) => p(w, B)));
7079
+ const v = A.coordinates.map(b).filter((B) => !!B);
7080
+ v.length && (o.push({ type: "Polygon", coordinates: v, value: y }), v.forEach((B) => p(y, B)));
7071
7081
  } else if (A.type === "MultiPolygon") {
7072
7082
  const v = [];
7073
7083
  for (const B of A.coordinates) {
7074
- const N = B.map(D).filter((E) => !!E);
7075
- N.length && (v.push(N), N.forEach((E) => p(w, E)));
7084
+ const N = B.map(b).filter((E) => !!E);
7085
+ N.length && (v.push(N), N.forEach((E) => p(y, E)));
7076
7086
  }
7077
- v.length && o.push({ type: "MultiPolygon", coordinates: v, value: w });
7087
+ v.length && o.push({ type: "MultiPolygon", coordinates: v, value: y });
7078
7088
  }
7079
7089
  }
7080
7090
  }
7081
7091
  return {
7082
7092
  lines: [...i.entries()].map(
7083
- ([A, w]) => w.length === 1 ? { type: "LineString", coordinates: w[0], value: A } : { type: "MultiLineString", coordinates: w, value: A }
7093
+ ([A, y]) => y.length === 1 ? { type: "LineString", coordinates: y[0], value: A } : { type: "MultiLineString", coordinates: y, value: A }
7084
7094
  ),
7085
- polygons: o.sort((A, w) => A.value - w.value)
7095
+ polygons: o.sort((A, y) => A.value - y.value)
7086
7096
  };
7087
7097
  }
7088
- function jo(n) {
7098
+ function Uo(n) {
7089
7099
  const e = (r) => !r || !Array.isArray(r.coordinates) || r.type !== "Polygon" && r.type !== "MultiPolygon" ? null : {
7090
7100
  type: "Feature",
7091
7101
  properties: {},
@@ -7094,7 +7104,7 @@ function jo(n) {
7094
7104
  for (let r = 0; r < n.length; r++) {
7095
7105
  const i = n[r], o = Number(i?.value), u = e(i);
7096
7106
  if (!u || !Number.isFinite(o)) continue;
7097
- const s = e(n[r + 1]), l = s ? sn(an([u, s])) : u;
7107
+ const s = e(n[r + 1]), l = s ? cn(ln([u, s])) : u;
7098
7108
  l && t.push({
7099
7109
  type: l.geometry.type,
7100
7110
  coordinates: l.geometry.coordinates,
@@ -7103,44 +7113,44 @@ function jo(n) {
7103
7113
  }
7104
7114
  return t;
7105
7115
  }
7106
- async function Uo(n) {
7107
- const e = await Vo(n);
7116
+ async function Yo(n) {
7117
+ const e = await Go(n);
7108
7118
  if (!e) return { lines: [], polygons: [] };
7109
7119
  const { rawArr2D: t, extent: r, width: i, height: o } = e, { uniqueThresholds: u } = Ee(n.config.legend ?? []);
7110
7120
  if (i < 2 || o < 2 || u.length === 0)
7111
7121
  return { lines: [], polygons: [] };
7112
- const s = tn(n.config), l = Wr(t, i, o, s), d = new Float64Array(i * o);
7122
+ const s = nn(n.config), l = Wr(t, i, o, s), d = new Float64Array(i * o);
7113
7123
  for (let p = 0; p < o; p++) {
7114
7124
  const A = l[p];
7115
- for (let w = 0; w < i; w++) {
7116
- const v = A?.[w];
7117
- d[p * i + w] = v === void 0 || !Number.isFinite(v) ? NaN : v;
7125
+ for (let y = 0; y < i; y++) {
7126
+ const v = A?.[y];
7127
+ d[p * i + y] = v === void 0 || !Number.isFinite(v) ? NaN : v;
7118
7128
  }
7119
7129
  }
7120
- const h = It().size([i, o]).thresholds(u).smooth(s > 0)(d), a = Or(h, i, o, r), D = Or(
7121
- jo(h),
7130
+ const h = It().size([i, o]).thresholds(u).smooth(s > 0)(d), a = Xr(h, i, o, r), b = Xr(
7131
+ Uo(h),
7122
7132
  i,
7123
7133
  o,
7124
7134
  r
7125
7135
  );
7126
- return { lines: a.lines, polygons: D.polygons };
7136
+ return { lines: a.lines, polygons: b.polygons };
7127
7137
  }
7128
- async function nn(n, e) {
7138
+ async function un(n, e) {
7129
7139
  const t = Ie.get(n);
7130
7140
  if (t)
7131
7141
  return Ie.delete(n), Ie.set(n, t), t;
7132
7142
  const r = Mt.get(n);
7133
7143
  if (r) return r;
7134
- const i = Uo(e);
7144
+ const i = Yo(e);
7135
7145
  Mt.set(n, i);
7136
7146
  try {
7137
7147
  const o = await i;
7138
- return zo(n, o), o;
7148
+ return qo(n, o), o;
7139
7149
  } finally {
7140
7150
  Mt.get(n) === i && Mt.delete(n);
7141
7151
  }
7142
7152
  }
7143
- function Yo(n) {
7153
+ function Jo(n) {
7144
7154
  const {
7145
7155
  map: e,
7146
7156
  id: t,
@@ -7153,10 +7163,10 @@ function Yo(n) {
7153
7163
  lineWidth: d = 1.2,
7154
7164
  showLabel: h = !0,
7155
7165
  zIndex: a = 9999,
7156
- visible: D = !0,
7166
+ visible: b = !0,
7157
7167
  geometryCacheKey: p,
7158
7168
  visibleThresholds: A
7159
- } = n, w = Mr(o), v = Mr(u), B = A ? new Set(A) : void 0, N = new globalThis.Map(), E = (S) => {
7169
+ } = n, y = Or(o), v = Or(u), B = A ? new Set(A) : void 0, N = new globalThis.Map(), E = (S) => {
7160
7170
  const z = Number(S.get("value"));
7161
7171
  if (B && !B.has(z)) return;
7162
7172
  const C = S.get("geometryKind") === "fill" ? "fill" : "line";
@@ -7167,7 +7177,7 @@ function Yo(n) {
7167
7177
  fill: new be({ color: Wo(v, z, l) }),
7168
7178
  zIndex: 0
7169
7179
  }), N.set(P, F), F) : (F = new Be({
7170
- stroke: new de({ color: w(z), width: d }),
7180
+ stroke: new de({ color: y(z), width: d }),
7171
7181
  text: h ? new yt({
7172
7182
  text: Number.isInteger(z) ? String(z) : String(Number(z.toFixed(1))),
7173
7183
  fill: new be({ color: "#fff" }),
@@ -7179,8 +7189,8 @@ function Yo(n) {
7179
7189
  }), N.set(P, F), F));
7180
7190
  }, L = lr(e, t);
7181
7191
  if (p && L instanceof ot && L.get("isolineGeometryCacheKey") === p)
7182
- return L.setStyle(E), L.setZIndex(a), L.setVisible(D), L.setDeclutter(h), L.changed(), L;
7183
- const X = new qr().readFeatures(
7192
+ return L.setStyle(E), L.setZIndex(a), L.setVisible(b), L.setDeclutter(h), L.changed(), L;
7193
+ const X = new Vr().readFeatures(
7184
7194
  {
7185
7195
  type: "FeatureCollection",
7186
7196
  features: [
@@ -7204,28 +7214,28 @@ function Yo(n) {
7204
7214
  className: t,
7205
7215
  source: new vt({ features: X }),
7206
7216
  zIndex: a,
7207
- visible: D,
7217
+ visible: b,
7208
7218
  declutter: h,
7209
7219
  style: E
7210
7220
  });
7211
- return p && R.set("isolineGeometryCacheKey", p), $r(e, t), e.addLayer(R), R;
7221
+ return p && R.set("isolineGeometryCacheKey", p), tn(e, t), e.addLayer(R), R;
7212
7222
  }
7213
- async function Jo(n, e) {
7214
- const { id: t, config: r } = e, i = rn(n, t);
7223
+ async function Zo(n, e) {
7224
+ const { id: t, config: r } = e, i = on(n, t);
7215
7225
  if (!e.url || e.signal?.aborted) return;
7216
- const o = en(e), u = await nn(o, e);
7217
- if (e.signal?.aborted || !Go(n, t, i)) return;
7226
+ const o = rn(e), u = await un(o, e);
7227
+ if (e.signal?.aborted || !ko(n, t, i)) return;
7218
7228
  const s = lr(n, t), { uniqueThresholds: l } = Ee(
7219
7229
  r.legend ?? [],
7220
7230
  r.legendScope
7221
7231
  );
7222
- return Yo({
7232
+ return Jo({
7223
7233
  map: n,
7224
7234
  id: t,
7225
7235
  isolineGeoJSON: u.lines,
7226
7236
  contourGeoJSON: u.polygons,
7227
- colorMap: ko(r),
7228
- fillColorMap: Qo(r),
7237
+ colorMap: Qo(r),
7238
+ fillColorMap: jo(r),
7229
7239
  fillContours: r.isolineFill === !0,
7230
7240
  fillOpacity: r.opacity,
7231
7241
  lineWidth: r.isolineLineWidth ?? r.lineWidth,
@@ -7236,26 +7246,26 @@ async function Jo(n, e) {
7236
7246
  visibleThresholds: l
7237
7247
  });
7238
7248
  }
7239
- async function zi(n, e) {
7249
+ async function qi(n, e) {
7240
7250
  const t = [...e], r = async () => {
7241
7251
  for (; t.length; ) {
7242
7252
  if (n.signal?.aborted) return;
7243
7253
  const i = t.shift(), o = i, u = typeof o?.format == "function" ? o.format("YYYY-MM-DDTHH:mm:ss.SSS[Z]") : String(i), s = { ...n, time: u };
7244
- await nn(en(s), s);
7254
+ await un(rn(s), s);
7245
7255
  }
7246
7256
  };
7247
7257
  await Promise.all(
7248
- Array.from({ length: Math.min(Io, t.length) }, () => r())
7258
+ Array.from({ length: Math.min(Ro, t.length) }, () => r())
7249
7259
  );
7250
7260
  }
7251
- function Zo(n, e) {
7252
- rn(n, e), $r(n, e);
7261
+ function Ko(n, e) {
7262
+ on(n, e), tn(n, e);
7253
7263
  }
7254
- function Ko(n, e, t) {
7264
+ function _o(n, e, t) {
7255
7265
  const r = lr(n, e);
7256
7266
  r && r.setVisible(t);
7257
7267
  }
7258
- class _o {
7268
+ class $o {
7259
7269
  map;
7260
7270
  options;
7261
7271
  ready;
@@ -7270,7 +7280,7 @@ class _o {
7270
7280
  const t = this.options.url;
7271
7281
  if (t)
7272
7282
  try {
7273
- await Jo(this.map, {
7283
+ await Zo(this.map, {
7274
7284
  ...this.options,
7275
7285
  url: t,
7276
7286
  signal: e.signal
@@ -7281,10 +7291,10 @@ class _o {
7281
7291
  }
7282
7292
  }
7283
7293
  delete() {
7284
- this.abortController.abort(), Zo(this.map, this.options.id);
7294
+ this.abortController.abort(), Ko(this.map, this.options.id);
7285
7295
  }
7286
7296
  toggleVisible(e) {
7287
- Ko(this.map, this.options.id, e);
7297
+ _o(this.map, this.options.id, e);
7288
7298
  }
7289
7299
  async updateParams(e) {
7290
7300
  this.options = {
@@ -7297,8 +7307,8 @@ class _o {
7297
7307
  }, this.ready = this.render(), await this.ready;
7298
7308
  }
7299
7309
  }
7300
- const Xr = 2;
7301
- class $o extends Yr {
7310
+ const Hr = 2;
7311
+ class ei extends Zr {
7302
7312
  windVectorCache = /* @__PURE__ */ new Map();
7303
7313
  windVectorLoadingTasks = new globalThis.Map();
7304
7314
  normalizeUrls(e) {
@@ -7332,9 +7342,9 @@ class $o extends Yr {
7332
7342
  );
7333
7343
  for (let u = 0; u < i; u++)
7334
7344
  for (let s = 0; s < r; s++) {
7335
- const l = u * r + s, d = e[l], h = t[l], a = typeof d < "u" && Number.isFinite(Number(d)), D = typeof h < "u" && Number.isFinite(Number(h));
7336
- if (!a && !D) continue;
7337
- const p = a ? Number(d) : 0, A = D ? Number(h) : 0;
7345
+ const l = u * r + s, d = e[l], h = t[l], a = typeof d < "u" && Number.isFinite(Number(d)), b = typeof h < "u" && Number.isFinite(Number(h));
7346
+ if (!a && !b) continue;
7347
+ const p = a ? Number(d) : 0, A = b ? Number(h) : 0;
7338
7348
  o[u][s] = Math.sqrt(p * p + A * A);
7339
7349
  }
7340
7350
  return o;
@@ -7367,24 +7377,24 @@ class $o extends Yr {
7367
7377
  const l = this.windVectorLoadingTasks.get(u);
7368
7378
  if (l) return l;
7369
7379
  const d = (async () => {
7370
- const h = this.getComponentScope(e), [a, D] = await Promise.all([
7380
+ const h = this.getComponentScope(e), [a, b] = await Promise.all([
7371
7381
  it(o[0], h, void 0, i, {
7372
7382
  detectNoDataByBorderColor: !1
7373
7383
  }),
7374
7384
  it(o[1], h, void 0, i, {
7375
7385
  detectNoDataByBorderColor: !1
7376
7386
  })
7377
- ]), p = Math.min(a?.width ?? 0, D?.width ?? 0), A = Math.min(a?.height ?? 0, D?.height ?? 0);
7378
- if (!p || !A || !a?.grayArr || !D?.grayArr) return null;
7379
- const w = new Float32Array(p * A), v = new Float32Array(p * A);
7387
+ ]), p = Math.min(a?.width ?? 0, b?.width ?? 0), A = Math.min(a?.height ?? 0, b?.height ?? 0);
7388
+ if (!p || !A || !a?.grayArr || !b?.grayArr) return null;
7389
+ const y = new Float32Array(p * A), v = new Float32Array(p * A);
7380
7390
  for (let N = 0; N < p * A; N++) {
7381
- const E = Number(a.grayArr[N]), L = Number(D.grayArr[N]);
7382
- w[N] = Number.isFinite(E) ? E : 0, v[N] = Number.isFinite(L) ? L : 0;
7391
+ const E = Number(a.grayArr[N]), L = Number(b.grayArr[N]);
7392
+ y[N] = Number.isFinite(E) ? E : 0, v[N] = Number.isFinite(L) ? L : 0;
7383
7393
  }
7384
7394
  const B = {
7385
7395
  width: p,
7386
7396
  height: A,
7387
- u: w,
7397
+ u: y,
7388
7398
  v,
7389
7399
  extent: Bt(r.extent)
7390
7400
  };
@@ -7410,7 +7420,7 @@ class $o extends Yr {
7410
7420
  extent: r.extent,
7411
7421
  scope: this.getComponentScope(e)
7412
7422
  }), u = this.contourCache.get(o);
7413
- if (u && u.schemaVersion === Xr)
7423
+ if (u && u.schemaVersion === Hr)
7414
7424
  return u;
7415
7425
  const s = this.contourLoadingTasks.get(o);
7416
7426
  if (s)
@@ -7418,12 +7428,12 @@ class $o extends Yr {
7418
7428
  const l = (async () => {
7419
7429
  const d = await this.getOrLoadWindVectorData(e);
7420
7430
  if (!d) return null;
7421
- const { u: h, v: a, width: D, height: p, extent: A } = d, w = this.buildWindSpeedGrid(h, a, D, p), v = ur(w, D, p), B = this.prepareGrid(w, D, p), N = this.prepareGrid(v, D, p), E = {
7422
- schemaVersion: Xr,
7431
+ const { u: h, v: a, width: b, height: p, extent: A } = d, y = this.buildWindSpeedGrid(h, a, b, p), v = ur(y, b, p), B = this.prepareGrid(y, b, p), N = this.prepareGrid(v, b, p), E = {
7432
+ schemaVersion: Hr,
7423
7433
  rawArr2D: B,
7424
7434
  smoothArr2D: N,
7425
7435
  extent: A,
7426
- width: D,
7436
+ width: b,
7427
7437
  height: p
7428
7438
  };
7429
7439
  return this.contourCache.set(o, E), E;
@@ -7442,11 +7452,11 @@ class $o extends Yr {
7442
7452
  return super.getSourceFromParams(e);
7443
7453
  const i = await this.getOrLoadContourData(e);
7444
7454
  if (!i) return;
7445
- const { rawArr2D: o, smoothArr2D: u, extent: s, width: l, height: d } = i, h = this.getValueTransformFn(e), a = this.applyValueTransform2D(o, "raw", h), D = this.applyValueTransform2D(u, "smooth", h), { colorMap: p } = Ee(t.legend, t.legendScope), A = wt(t.legend, t.legendScope) ?? t.scope;
7455
+ const { rawArr2D: o, smoothArr2D: u, extent: s, width: l, height: d } = i, h = this.getValueTransformFn(e), a = this.applyValueTransform2D(o, "raw", h), b = this.applyValueTransform2D(u, "smooth", h), { colorMap: p } = Ee(t.legend, t.legendScope), A = wt(t.legend, t.legendScope) ?? t.scope;
7446
7456
  return this.getFcstRasterSource(
7447
7457
  {
7448
7458
  rawArr2D: a,
7449
- smoothArr2D: D,
7459
+ smoothArr2D: b,
7450
7460
  extent: s,
7451
7461
  width: l,
7452
7462
  height: d,
@@ -7458,8 +7468,8 @@ class $o extends Yr {
7458
7468
  );
7459
7469
  }
7460
7470
  }
7461
- const ei = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABAAAAAEgCAYAAAAqiQESAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAEAKADAAQAAAABAAABIAAAAABC0VSqAABAAElEQVR4AeydBfwcxfm4/0DwAMWdBAgOxaF4sOJaHIpr0aKluDttsUKBEqyU4i2uAQIUinvR4Bbctf/n+WaH37LZ3du7272L7Pv5PLezM++878zs6N7lm//3/2oZ0VtgtBG9AnX56xaoW6BugboF6haoW6BugboF6haoW6BugboF6haoWyC/BZYk+Z8wer5anVq3QN0CdQvULVC3QN0CdQvULVC3QN0CdQvULTCqt8AYo3oDtFn/3uT/Dv7Xpp1Wsk9LpttgAegFt0MnxZcOS8CqEYtwfRs+hFrqFqhboPUWOJSsJ8D58D20K3Ng4EF4DAZDMzIXyh/BD81kinTH5PpzcF6opW6BugXqFqhboG6BEbEFxqfQi8EvYDrwl7cfQDMyAcqzwzvNZErojse9a/LcYPgz+BbKEPfwY0PRPfz06M4HM4DyydBLZZ+TY9m9zBTwNXwFzcpUZLDN2pWfYcBn6TnM9v8CypKiz6HKMpRVl5HOzrrU6Eb4HDz4fwPPw1FgZ+iEOEjvB/2Lm/O1oFOyJY7eBH07EF+G12AXKEtmw9DvM4w5kW4Lf4d7wefxR1gQ0mQ5IjdNS6jj6hYYDlvgYMrk2NqppLJdENlbuEl7G0f5VmwyX1B3TrIe64WI+jpCtoCbXV92N4NrVFniiyQ3bs0wcVnOsWP9x2kSX8qXIX5Jcw+4aW2G99G/GCaBVsUXkF/CVyXwMTYug0mhWel2+7vXarYNQn0na7ayKfr2Je00w4QpdtqJsh9ajlZpxbfPvVV/5jN/u+Ih13HkOHAti/Mw9+tBUXG/av6limaI6bkf/gd40IyXwX55IZjejji3+mXmiw2M+MXfDvAUxMth+DnYDewrZYn+todHIenvAeI2g6KyCYra2LtohhQ9n7dnDs9c8fI8zf2u0G7dizyHqstANWpJtoBvW24HH/obcDrsA4fDXWC8bwTXgarlPBzEO59hF5xZK3Y8FvavBv39CxaHMiZZzAwjg4hxQknKskS8Dd+DOueDE6PPxHJ575vRuBzCzTfQNx5Zh0eqFpiZ2pwDq40EtepHHezLzjftigexj+BNGK1JYy50jrMpmswX1Gck4EL5eIgYQa6TU85mNnaNquW3R0dC1fNzo3K0kj4mmV4A+2Mz2G/sv+2+FNf/a036DuX04NYH2pFeZH4Ggs2iVzfTt8A00I64Ab4CfAZFcayHch5LuFU5jIxPwJNt8jL5Q3mOIdyMdLv9nTP/Bs20Qby+xzdT2RRd+/9gCO3XzPUe8k0P7coRGHAeb8Z3UvcN8m/bREH8htt1K2mnmXsP7ZeCLy5bEfcSoQw3EN4ZVgG/BPS5DgHLcwY4ThvJQBTUX7uRYiJ9G+496JvXffd+sAl44LwGfDafwvrQqsxORu27t86SyUi4A9R7B06C7WBzOBpeBtOc99VtV1yHg793CZ8CPgNfQBi2DPq7HIo84wMj/dO4Niuu4f8A/X0Cf4HdwfrbFwaDaXfClNCq5D2HTpWh1bKPtPl8m/oo+IAPgbEgKUsSMRjc+FT5EmBM7C8IC8AjYJn8pm5OaHWjTtZCchFa+jumkHbrSi5aTmrHJUzYrt/BAzBrIs2Nwm/gc7gVvA8yNwHLvXeIqK8jVQvY998En/FzI0nNnqQeLvrjtVmfVclvu/ypSTvToe8YHNRkvqR6eDnaJ5kwnN/fRvnugHnaLKdzswdY7TUrm5HhSujXbEb0VwA3rYu2kDeeZQxuzgH7QVHCumS/+wO0K64DNzbB3ejad1vp92QbRtzgF627evH6nzyMtc5EXIYb639RZ9w19PKPqDwDGmoOqzAitv/fovqW0f4etNzTFOW+yLfP/4/QrvjryfvhwRb5mHyW5Tv4GRSR6VByzLfq80Xy6lN+C83KSmT4Fr6E1TIyT0z8NaCP4zN04tEDuVG3mRcAO0V53uO6GKTJwkS+BLbvimkKBeLyDp5mnwB8GWj5zwcPo0nxXHQUqHMvjA2tykRkfAq09VdIO+BbprMjHV+MNHoJc2Ck2+wLAM9cA6O813OdDJJi3Y8E1x377LjQimQ9h06WoZVyj9R57PB2xH0a1HJq0t8EJ41ZG+i2mzwvBjzsWK5joT80GgCotCxOMvryDddoCSvtDPSEqZ7bXfnU10KxxH6EfcvpJOTAz5LVSfgeks/KBaGVTXiWnzp++GiBeSjGu2B/8bn/CkYGcdNrnX7ZZmXCgrxuk3Z2iPzv3mS+pPp+kZ1tkwkZ9wsSP19GWqvRzlfWf5ImDKyBru3vpupUcLPXjFiH8PJDO2s2kznSPZ2red+CGaO4Ipf1UPoGzLtJkQwV6Jwb+S/jANRK8c7ssn83rbZ/FfV3LdwS1gEPSmkS1tAq/Kf5axS3Bwq2x4BGiiWlV9n+FtG9iQeBaWF5SMouRFT1/JO+0u7/0mX/8TLNzI0HI9vDvltU3OdN1STh4OWc735Pn+6PmxG/8HsHzNvosO6ee2Ck22jPH/Qa2cRcj8zBp/P4V+B6kif2w/fBvVByf56XL6RlHTxDejho+0K60TnjYHRsu31D5hauF0Q2/s61UX3CXL9dAz+tvgA4PCrLXVwbnXV+F+m672pFsp5Dx8rggLsQXoVnYG/IEzcYD8AL4INw0I5M4iC0M98JjTqi9V4S7gfzVSFzYfQ+sEyBz6Lwy1xXgSrESVR/K8BYsBPcC1+A8d/B2/APWBbaEQe9dnvFjPyZsH4WicVlBX9BghNiXM7n5iuI24yn1+ERrwVcFIeA/cKF0m9bRxbZlopYLw/Q7citZNbOTE0aCRvorG8dippbKvJ/QYEM06HzObj+BDmJgC92rENR1Hdu8lsExQ2dcTd4U1Cc65+H4NN+tiOMDnniS4YzIF7mF7hvlC/N5phEXgWWYTAUeYbro+dcbJ4DoFvS7QPQyOh/PB7mAIj3Lee9wyAp3a5/sjx7EGGfHJBMqOi+6vovTLnvgbsgbU9StX+bzRcPmxtIkU74T3GbGTWEFJ9/v0yNnyasxG14aWC+onyL7qaRqbBn9dqMhL7qt/tFpDdKSxdQHIiO9Vi7gK4q7lnVP9qbAjIrOv0L6KWpzE6kvt5OSZyWOOecT2GalPRklGvnWjB5MqHgfXhh9GFBG66TjoNG/g5ExzqeBkXF86znK/tVkTOddd8QZoRWJO05VFaGtMPQPym1k1uQEwiMBWmdcHXiLw6KXH1ws8FyYEPH5efc7Arnwb3xhOE8vFFUvlO4JuuUVvRBRC6allBC3GrYuBSeBtvYDe3YsAJ8AIfCdbAn/BHKlJkiY6NzfQr6wTtwObwGbkQ8LPitxPqg/99CK2L/ewLcyAZx0nwMfNnUSP6domBeJwkHsbZrGbFbYAGKfwtMAl+C/e4mGFnk2agi87RZoQXJ79h8uUk7bmqd79odK49Hfp3/G8m2KHjIiT9H1xPnHO0UmX99QdoL9DcOfAyfwCBYGfrAK9BI9HVKhLqTwp9he9gNtBeXMbjZAY6ASeIJhE8FN7PNipuODcA5dk24A5aBwZAmzpF/A8uyL7h21zLytMCVVGWlRHXc/B4Mr8PZibSR+XZcKueGfnxwrzEYOiXT4mgrmAEmh23BsfoIdEqcn88Hv9T4HK6AkUls19HgGXipQMVcJ30evcBn0Y6sEmU+uaARD4h3FdRtRs3z1Q9wfMFMz6EnZcuqGHQNvgDeLGDctfOaAnpZKtbbZ+989l6WUize523ZqpDlMOoccxnYFxuJdb+0kVKT6ZWVwcESlym48fCluPHzsLUNONGeBe9DXI6MbjzQHwaXQH9YD2ywuOzDzWYwDawWTxjOw7NG5bu/y+WcA/9/B5/L8vAFxMWBvwlYzj/AC3AtlCW+jXMy0qb95ndwEnwHcZmeGxemPeBpcBA3IxOgPBPE23tc7qcCN8Ctyn+jjPNxtQ1rSW+BKYleEZJzQ1zb5+rcEBefkYcUr1nyNgke7pwk25EFyXwLTAxugNaA26BT4sFyO1ga3oK/wqNQprwSGZuzDaM/I6+8BM20+VjozwHvgZubdsQDuM9de/ap5HxB1I+yMiG/abj+x5j/CyxK0GedJ4eQOC98AxvBOxDEecvn5WJ6XohscFXPA/1EMb35Cd8Nf4N94Q3Qri8L9J0UXz7YP1oVNzfrgevpWnA7LAOvQVxsu0vBNt4PToBaRp4WWJyqJA//8dodyI39NW98xfVH9PDuVOD3USUW4Wr7dEoc87a1c9oF8DU8Ap0S/TqfbQWvw0CwDMaNbOLceWKDSv2S9HDgPJrwPxroN0qeOVIocuBrZKvVdF8ii/uAj1o1UlK+WSI7ndo3zxr5K3tP1UpzDA9lqawMyU3+hLEWOo6wm471wfgN4QwIMjuBsOHZn/Bd8C/YIsK8cVkiuhkcjywQdgPrJtg3gu/Bs/ABpMnoRKo7HYwGL8ML0M6i2Jv8yudDL137PAjP48Km8EVOKf5E2mzwZY5OK0luercH2/hQsH+kiRvTdcFnZV84G5qRGSLlwbFMbug9GIwTi2s2GDbMMzbIeAzpv4ExGui1kvwqmVYBJ/UscVOzA2T5/x9pD4LjMt6vPRycDGNDlujffG5gsuQvJKyZlRjFW4aZwfEVZG8Ch4ebnKv+L89Jb5S0EAq3gPOCm561oZOH/4nw5yFsAQiyI4GV4I4QUcL1rcjGtG3Ymj7K6yaxGdGn49z+UoY49qaCPvBihkHXovnA+Tprfs/I2hN9IJ+HgvOefeJmiMsD0Y3P7bx4Qk74M9LOhT0jnbe5Wg9lE3DM3QO/hCD/I/AOBD19fRoSW7x+Sz7HzT/Aul0Ey0AQ58UrYSxwLT4eqhQPXEuAL3es/3+hlmpb4OcNzLtuulF8uoHeyJLs/i7IkBDo4NU5dR34CH7WQb/T4esmcH+wXeTX+cU11TnCPfioJCtQWQ//zoGuAUdBu/JNZMA1sFvyQ+Q4XLtVDv2GMoRrp8riuje8yPBQltLL0Cundd1cOxAuhJ3BTa6bmXCwDJsiN6p3gzIAtgAPOW4SwqbrV4TDwSv5YoCkVJmZ2GPBw4gbmyA2wg2wDzwXRToZ7gW7ghNkXF7j5o8RrXRgJ3qlD3zYE+rOh+1wH7xUwP1vCug0q7JoLIMH0DxxUfwEJs5TykgLh5Z3Y+nfE34M5gUX/v9Bs+ILCWWaoZfMT/vthJmp7SXMQfbJIe8FgGNnhgZuJiV9PLCNg/QnMFO4ybhOS7y238hIN/oKsI3G9CZDnic+aeM24jwE987IY/QHcH9OeqOkhVG4GdxwfQPOK26GOinOMQskHNpWp8Lcifh2br8j88cwGThPe9+shLHU7LwV+t/bzTrM0H8nip+a64sZOn2JHxtezkjPi/49iUfAV+Ch/BZIyuNRhGOwGfG57g6uMdfBjXAUeNgaH34JQZyffwtngy8AfoBToAz5FiMnwdowUcKg/WPcKO7ERFqZt/q9CFaPGbWOrq97xeLqYPktYN9uJEMaKbSQ7pi07/mchyc5gcI4rzhXndmFgr0V8+l+p1Pis1g1w5lp7cgeZHbvWNbB1zXLefliqEKWw+g/wcP/7+A4KENco1wnZoay1sBmy2WfEtfwVtf/Zn1m6b8UJTTaX2blbzZ+cJQhnBmbzV+m/vBQlsrKYMdqJMegsDnMA/+Gv4Eb3c1A8SAeDmQDCd8KK8CNcDq4MXFSUTxcDDTQQNYh/XyYAAaBm34H4uywNXgYXhE2Bg8A18Oy4AR4ETwMLpjquCF047QMqP8FNCO3o7wjeNh4tJmMJepOgi03m6+WaLMZUz6HbWIZDib8AIRDdSypJ7gVn5b5H8mEAvdTRToeFuNyLjf2J5/D5fGEguEPIz0PIXmyGonzQZGxkWcnLe1dIp9LS4jF6d+XEFn+HWsuUJ9AXPbl5mpwvGWJ/h0beXIBidKs3EuGJZvN1IS+beI84CHEcb4+XAedlrkyHBo/ISSfS4Z6oWhtWV9fAjj/xWUFbvaAKeBZOAGegLg4BpWPhl4Kf04baTabL8vB+1HCNFkKxM8QpTX7AuB35PNA/g2sC7dAmjj+v4A+aYk5cYNJuwa0/Wtw7vNZbwuHgPOV87LluARch+YB5Vp4qSc0cnxcRTWsX1xG52ZPsJ7Oz52QxXDiXOMLskHwNHRC7L/yYMzZAoQdi3+Cr2PxZQevx+An4ByTJg8R6fxelmyIocNhVrBed8LJcBMUEXXdr20Elrts+Q6Dfy3baI690Uiz7jPk6Jjk+rxKA512kt8hs1QhzqFfgWO6DPEZSRXiPPQvcL/j3HsclCXOc6vDJnBPWUZbsOO6swWsDa3seVtwmZrFdewHWAd+H4W5VCb6Ox7057Wb4n7CcWF/2B3ce3ZaOlaGftTMCUzWi9VyVcJ+8x/SwvWwmE4ITk3guRTd24jLWrxCXq9LgAvO97AFJMXD6GVgGZysXJgMvw6zQVLcjHlgUuesZGKB+/HQeRM+gBkL6FehMjZGLf8dCePW3/hfJOLLvvXQrR8nxpujsIeDU2AV8Jn3AQfspeBk4WFkYmhWfkMGfTnpxaUXN9rU7/zxhJywm7O42Kfsh7WMWC2wCMX1udsvnIDtZ92Sg3BsOZIkD+hllO+ZyM9MCWPOu0n/nxGXHBfbRXqnJfI3uvWFp/ZPzVHchLTHQb9et4Qs0Y72tJslm5KgTnJNuTaKHycl475Rmgv0GinpySjXAdexZmUpMoT29kVLENeGjcBNaBDnyKC7bIgs6eqhV9uPJuz1juJNc56sQhbCaKhX2vUt0uO+d4n0LyqxMK4nvvSL+3etsX+PBnGpwv+DOPgetoocOS7DvJRca6rw7xjRf7z+ht+HMv0fGfPxGOHbwIOcvq6GKaGR3IGC+gdFintE9wOi+2YvPl/3Hs82wDmzL1TR/tbB5+3L5/VSuJO48FK6bP/DQ/2pXssyhJz2h34FLWwW6e+dor8McZ9H6a4BWXIsCfr02ow4n78MrhULNpMx0nWeSpOBRFqetdMSU+LmJc5x9xQUOTulmOhZm9LWzqTu7ERYtreTCdH9BVH6rhnpedHjkzhRnkJKmuPI8myQktZq1IGRTdeLZuR0lC1LXl9rxl6ebtZz6EgZHJxWVJzg4uJidyj8FU4CD+pZMgEJTpbnwJmwJYwJReR+lPR/WI6yk+HdkZ66bgLyBmpf0h3M6i4LzcqvyGBeB+KMzWYuSf8h7HwCk8TsfUXYcv0iFldF8IjIj4Pf5+iz+TyK038cX5QcBfFNMbeFZS80tbdaSo5ZiHsffJa/h59BntxB4nFgf1Es8z09ofpjRGkBn519P/QxF6Juiov7SxDK49VNuRuWssXNt/bnjBmeg7DzXdx/CN8Z0zO4W6T3h0R8o1vnbm0en6Ho+A4+49dtM/Qdg+r9NiPd6FDW5CJ7LWnmTW5i3Bga7wuhdaGIPIGSeSYoopzQCX3QOThr3ulDmhs2fTwOZcuSGNT2ownDvaN403ol0sq6tX9rP49pY87KPgBp2rk7y7/rRlyq8G8/0799blkIexC/kEhKFf71sSrcB5/Bx+B8OCMkpVX/82HI+cU6rhQz6hzkAdz6uwbvAKNDloQ908ORQphTBmRlKBCvjY9gfXB/msT57zpQWq3/0Nzpnx5khkDaoWQq4r8Ax6hShf9u139ozVr7tN3sO54xikiYb5zn47IUN/Z9be0TT0gJHxvpeW1WViaD67rlDs+0qI3nUdw4RXkgcZZ77ZS0rCjXYPM410yepZQTb3v7UmyxHB2TZgf9vO1NikxB3Dtgm2St8ynZeqJm5vN1cO4qKpbbtdYzzlpFM6E3Gjg+e6XkOZA463haSlpe1CQkWn7nxZ3yFFPS1iCumf1G1nOopAxpjZRSh54oN72HZiUm4j/l/o+JuCK3fVFaBFzY7PhZ4kN0UxkG5hWEH8pSJn4wXApbgAPzDmhGtL8nnASPwGFwNQwGy9IJcRN/IZwMW0Gn/OLqx5cOrxF2Y3AIWJ41YT5wkL4c4U/BXQhblbGjjH6rtynYj8aM4ryMC2OBh5AjwUkiS3qT0B8mhW3hOzB/Ldkt4K85VoK8ueFp0n3OcRmPm3Ugr31dXNygNdN31V0bBsJM8GvQ95nQDfkQp847+8G88D44Jj2clC0utso4Qy89n86PLnJpsjSRLhQfRIkhn2O2GQnP0PGSFPuHdU+To4n8GyTHf/AfypOWd8Io8vO0xEScc/EJYPtsBldCEXGeUpwPXKOakTD/TkCmncH5Jylu+seIIv+UTBzB70OfyqtGEZ28/Hlp/UlcPEfBF8KnQ3jGOaotJdlnHoeLwD53A7hWOR+4V+kHro9fQ5VyPcalKlkew84vN8JNMSdPE/4lrA+OBeffreE38BAkJYxjx0tZcjaGDgTLl3zpMhVxF4BlrEqsk4eHg+Fy8EAQxDnRdhgUIiq4Vl1/29X5ffSSyu764ZpfliyJIfu+L2L2BdeAssW6uxb9G3zOR8JdcD5cDIPBPadrWtY+ZgrSXAc3gh3hLWhV9ifj7LAG/BcOA+eeN8H+mFUGkn4U89svT4ED4AtoVt4lw2owEOyH1u1oeAqc922PLHGcTAvXgWN0D3DeTMqYRPSJRVpWy3w1ON5PBl/INBLLtBc4LxdpnzR7joWZYwm/JXwJnAHrgf3C+b6RPIvCbnAifN1IOZFeeRl6JRx2+3bGqADPc7Vz58nTscS0BSiW3BMM+v2SCQXvXfSeBA+kdkTxkOpkYPwAuAjCpp1gqaLtNWELGA8cRJ0S66mEg0FvwluBk8D84MB1sn8ZBsLp8Bi0ImHAOhE/Dg5+7efJWCS6OEwfKX3J1QlrIvgALgRljKGX+jOnBc4izcWmkTg5vhRT2pvwYbH7rOAGJDiZNyNOtMvCQHCOcBK2T/4VypCdMXIE3AzW43XIkzdJ3D1PISVtHOJclFxIHoa1wH7arDjfZIljMH6wHS1SdAFuRhxPStqiPgfxWeNoctLmhAchLmFODHbjaSHsnKYE3aF3w346750URW/H9dJhVTJjgu1emRrZCfo5HqaG3cAyfAVBLP820Y2blItDwkhyvYl6PAezZtTnUeJb6c8Z5oaJtl/lySQkzgRhnc/TbTbt52R4BFyTgnj4VyaGB3pCQ/+pYb8oXMVlLoz2hetixp1HloZD4LNYfKvBsNZm2XLuti8cBb8B634muFn/CILsEAWSc0FIb+XqnvA0OBguh/i8th/37gMHQZVyKsb3gfUhzD3OCR701oMqper6n0vhtyq5Aq6rPq92ZVEMXA+94Ug4AcoW18uXoE/CsPFbRiSScm/XJHXpKN81uZr/l+j+6K/gfiGI/hXnmj9GeK+ENW3oXfanc5drp3u7onPUPeguAsE/wR/nwOUJSxD37T+Em5zr5qT9ElYF59S49OJm7ljEa4R/BRtHV8dcXPTnfHR1PDIKv8v1d3BMSlqRKOvjfBvq7l7I8b0abAG3Q1LcP14AyWfyMnFHwL7QjFReBht8eJIvosJMWaBQDoYgU4RAznWiKC2+SOWopybdQqwddBlYOArPwnUx6A/7gB3cDX4VsilG34JdYXUIG+pNCI8HA8FBUba8Ghmck6sT8d+hL+jLQ/qLMAbMC9vBNrA3/AGaFRc5xbo9AdorIvblg8CNiOJkcTRYllB+bX4JtWS3wCUkObbGzFbp+a/aXkukuyl0XIyfiI/ffsjNvfGIJsI+w2VhIPSFs8H+NwDaFcesdd4QVoYT4CwYAu3K6BhYB06EvqCsCDPDk97kyNhRWvygeS1xg6EvJOUqIr6NRYZws/N83hzyOvZdmEaL+YkHnZ+SEvwnF8a4nu1UREKd1HUuOq9IpoSOL0qaFf2eAUeA683W0T2XHvk1n2FNsu/En9lQjRH702dnHW+D3ilVOSclrsyozwoYe6eATisqr5DJZ+pzd35zjgjiWPkn2D53h8iKrpZhCdgPjoe5wbV4HBgArpftSqjD8hhyT/FFikFfQroHuRDOhd/AenAI+JLItXdtcK09EsqUbh7Arcf7YF8/GC4Dn78HDet9HVQtVdbfZ+n+uOhc3KiuzrNXNFIqmO664/ieAH4Fp8B7UKa4rp0Js0HW+qY/0xaDWbxBLJvzYpCNCIS1+1+EB4aEAteX0LEfhfx5WdRZCpyTlKfghZ7Q/304ht1vKK5hF/SEin3citq7kNcWwdKMBHxRqjgmrINXJV4G55Nj4FETEmJ9Zk/EefsQuBeb3BvE/YS+9OmebS7wZVwop1fj2pl7HAOWJdgk2CMv8nkGTDf0tmeszEZ4TvglGB4A34Ni/n7QTLubT+l4GSyog0Cc0DstLmSfg/7nb+D8nEhP3WfBTpEl2n0V1D0wS6mN+EnJezQ4wDzkzAtVysIYt/5O1g6y78C6PQXLQdmyEAa1/wJ8GoUHcO0LSXHj4GJouVZIJha43xodfTnJtyI7kMn8h6VkNv6WlPg6asRpgb4U9RXwWTrJbgHtyuIYsG9rM+DmdQB4eHfT0azMQYajIMw7wa7j4riCxp5Hz3x9E/oLcu/mJ9j06iFkQojLztyY9qd4ZIGwG1rzWf40cVMX9x3C16QpE3dCpL9XRrrRh0Q6uyR0ro3incOD7EYg+DwoRBa4uukw35QFdNNUJiPSfqGNl2AMCOLca/w3ME2ILPm6JPb0kdw8eSA3XvLWQZLbFvv1ZeA6F3w+TXgsiIvP0fSL4pFthB2DbkaDz+T17oTtsv0H8+dEZXiYaxifHsyTUoX/FXHinOccsi5YBtvhbEhKO/4HYuxrmC5pNOXe574vxPuDZfLe8gbZg4DxA0JEG1fnM8fb6JEN7x+LwuHSTv2DjazrDCR8Cx70pgbnhI0hLlX673b94/UsGh6Cos+/X8EMm0X6e8f07Y8vRvGPcJ0olpYWPDbS9Vq2OM+6Drkf/g5WhSCuze/A2iEiug7kahsk46Pkli72P1/EafdNmBbi0pcb0x6H+SFLZidBvbezFArEu2cPe7OTYvp9CGv7HpglFt9OcDQye1YIa8KRMWNLEF46dh+CBxKwHKeFiBKvPlP3BNo/Hyyf4ouBNXtCxT7aeQ5tl8HBaQVkvWLlLV3rgMi/i9sUGdZXIt5BF8rq9Y8QGp3gT8QHrs5nMPlPUsq9WQZzn4MH4HHKNZ1qbRCx1skNrZ3bicfNgYfgssU6hfY+tYHxGUm3HLc00EtL3oBI/WyellgwbiB6X0DvmP54hLV7TSwuLfgbIh+CRyvAQ1qj/me9b4OBGdxBvAeqZF930rspI8/AKP4CrhPDiC72r3CwdkO8ZQkVGhcbB8EnEPp5uH5N3P3wV9gbNoO1YHlYDTYF+83R4DMIm52QP1x9rotBUXkNRfOmHVgnJH592BUWhTT5NZHmPyctMSdujyjfiRk6brysS6jX94TPh/EhTZyb1d0pLTGK2znSsX3jci035k3Op3tG8aZtD0XkBZTU9zDZqtiW2pCNIyMrxOIujuKquCwZ+XFuiovzXChTr3hCheGfYds51g3wz1P87EKcZbooJa3VKMfctxDqGq5vEOfGKS5V+F8RB/r8Cqzz3PARGLchxKVs/3Ng3Odv/9KfY87rh+B+yPk/vra0438MbDnGm5HeKG8Gh8JWkMy/B3GWdwC0KzNgwH7QrQO45XctfRpOgxfBNotLO+0ft5MWHh7qn1auvLghJPr8++UpxdLsS+on1wPr/nKUdg/XrDWHpJ6//q+NY72pSJbC7mdg/SaJfJzBNT4Wo+iePZ3lWTtElHg9CFvavi1hc3rurf9YifjkrfOn+d9OJjR5PzX64azgvKRMBfvC6N6ULPanN8CyrxnZnjW6Ji8HEqGeY7YKmQyjT4I+doscZJUlSh7m0u5zaKsMNqaFl/WGKVpnIpxI7wDL4CZ/OxgHlCng9/AlmH4ruPB+F93b+ZcFxc42N1wK6qqzOlQtv8WB/vaq2hH2B8FnMT9OOv+G7yHrUBBTbyroSwXrJSsXyPkOOs8X0EuqLEeEPvZOJjRxv31kI/68+0Rxf25gx/YL9aziunQD//8p4N/n6wY8LtarSHlt35FBZqIS4YBse7jpLEN8QeJiZd8t0p6NdDwgnAXzQbPyBRm0H+a/ZvOvEuW/rMmMW0T5Go2V2dFbEfpCnpxDovXYMkdp3Ujn0ITOtVF8Whv4nLTr8y+yXjknfQmjQavimqJPeTQy8s9Y3MJRXBWXtSM/wW/w0TuKt0zThMiKr/bp92HRDD+7EG95LspIbzX6F2S8EhyfchKkbbar8O8a+C3E55pFuL8NkvN6mf77Yz/0ubyrzyNImf6DzXaue5DZsg9ox0gs7wWEn4bT4EXo5AEcdz0/Mf6Bq3Xa0YiEVN3+VdTfw/XmsGVJbIadyUAZAraVZ4wiYl71905R7kvcK2D6TZB1uD020vFapVhGy3JiAycDIz3n8SrkeoxajtVaMD57lPftFvIms8xDhGPjyWRCRffLYNd6vwx5a/uBkd5pXKuSmTHsGvEJTNiCkzKeQ+Ey9GqhgFVncTPnxvU88A3vX+AM+Brib/v+zr0Lsg39OZwNHm7ETZ4LQpgYXiXsxHYnVC2W9xhwAnNz0kl5D2dOLi/A0bA8lCXxzuwB+1b4LsO4z20KuDcjPS/6uShxyjylBmkvRel9Y3qTRWEXjjzxIGIfqmJsvIvdu/Kck7Yh/BKy/DvRufH5COJyADcPwrjxyERY/3ck4pK3Tt6rg+OnbHEcXgQuDu2Kz9jn5JieGs4BJ/+/gjIBzA33edOE+I3a8RELcHUu6g/zQehDBDPFuegJ0K8Hg9vB+ahZ8TnKO/BVs5kj/beia5Fyx10MiW4a/VrkWfSkkQT/9r8ssW8ozRxgfU6Ok6PgYnBMOC8prhX2YdcHRb2fwWBwDLUqT5LR5+rcOi/sDKuB4jP/T0+o/A/7YujbdyXM278egEXA+i8L9puqZH8MzwSOideqcpJh99/EO0d3Q87C6fkQH4+2u32hSnkI44eC43FS2AyC2Jed+76Ah0PkKHA9jjo6z84BO4H7xk7KUzi7FhaGAdBpqaL+J1CJDUquyMnYK/vLsMHYXA5c+90rXQKW2z7gHsC50jHTKTkTR0fAJrAv/ADdkBNxugpsAdd1owCRT8flTbAy+CyqnpfsB/fDorAEDIJuyYs4vgLcx68JF0GnpXAZ3BQNj+ICuzE4eWwNs8EU4MbUifdvcA8EcSL2zYl57HTTwejwMvwLLoPPoROin2dgTnAyamezSfam5W1yXAVORr3hMyhDFoyMeKhfBx6BU+EGCJvAyQlvC4fCx3AgNCuvk8Ey9202Y0x/nCjsYS6IG1ZlcM9n9sebJF2UnVx5ykt4cEFpVj4gw7nNZkrR95CxUEp8WVFvYeiWkow9jx03AgNhSnAjPAacDc4dt8F90Ko8TEbxgKnYv6cHfY0PY8F38AW8D46DN6CMMT8VdpRXhl5a+rQvKdMOvRT+jI/nwplyFCeN0vLq8kKk0yfHTlrS0UT2gsPgalgB3AxcAPvBJ6D0A5+Xi2O78kcMLB8ZOYWra41ifBXiQdsx4wHQeu0Bcfmem5VAHcfuHdAf3oWypT8G/w3HlG14BLHn3qTT8ikO7d/K5UMvPS+aJiA8O0wGv4Iy5h3MjBDyFKW8FhaGAdAN8RC+BHSjT1RR/52py8UQ5jOCbYlr46C2LGRndh5fDgbCunA2bAMewMeETr4A+Ax/rrXu+acG9wDdEPcqyqJDL139tCwrR2UJ5aqyQD5v6z0XVNXnipbfsmwYlaVonrL1CpWhV8KrG9kgYeMU7rtx/Q9OpYh44PTgJN2WLymAm83xwcmh0/I8Dp3E/TbtuZKch76xH/YWAa9nRbY/4DoauEFV3IjuCv/1pgUx39wt5AtZfhEFng0RXN0oKQ8OvdSfGS1wLPEbQ3JuyFBvKtoDSTsH8jRnPuOwEfCAbp+0f24Lt0GZ8h7GpBMyS+QkHOJb8ekc/jbMAM4HP0ARCT6nL6JcQEf/yuCez/SPj4h+HeZPT86NPZxU++tBcD34AtRNoXNUkDCf3Bsi2rheR17nWJ+R7apY9it7QuV+OJdZJ+fWS2BrSHuOtt+KcDN4KPIlwLJQ9kuAgdispTstsB5uPeh/Dr+Gb8CN3jpgvzgXRiXp5gHcdr4Hiu5Pq3guZdd/CIX8ZxUFrcime9vlYCBsBT+DNeFQ6LSEL5t82f1Gp51H/lwDfOniPqjbEtadTpUl+Ovd7Yrjf3goS6EyuGmKy5vcrApTgYe4WlprATfOvrXvxuHfEodB54RelrjRcJJdH3aH02EpWBSmhDFhMLiAPAPtyANk3h4czKENJyF8MRwED0KWTEOC5XsULHMQDxbvQPimMcTX15+2wBXcyogkT1PYFeB2cAHeFkZ0mSWqwP1tVsS3787p/cANUxFxzPkrAL+Nd41wU9GqjENG50M3RZ83MOLhfAOYA5qdQw4mj2XdHzwMJWWJKOLOZEIL937TegqcGsvrfNhOO8VM/Ricj9DNMAF4+P81fA9Z4gZwRbgRfHFwK/QHX9DWMuK3wJhU4X3YDnxJrvhLlP2g3XlCWyOa3EOBu3kAt72+6WKjDQ/1r7r6jX7V8iwFcAz4wtMXYd2S6SLH4eDVjXJMhlPXQF/6d1vchyvOV50QzyBKp/wN9Zb+OTyUpVAZRk8p/w3EnQeNBl5K1jqKFlgEnAw8xJYt0xYwOBY6ToSDocyNnxvQt+A3MC98DW4wj4LdYCc4Dp6BdsWXT2PASjFD+usDV0TXWNKPQV8YXAZjw14/xg79lq4/97fF4urgyNUCj1Mdf70wsojziDJo6KXlz3AwWLhJC75kcy6Ztcl8SXXzjwZuVhvJ1ZGCB90grkOS9q130PHqmP8KsvR+RdrL0G57YqJHBvDpgVv5Ev7SEyr34wDMTQAXQKPDf/D8MYFV4BGYB9JehhBdywjYApdQZjf5V8XK7nPeCJ6MxRl07A5PUlV5unkAz2vfquqb9Dm81j9Zzmbvwzz+SYOMri0LNdCpOtkvl9ybvgTdPHyvHlX039G1WxefyRodLIvn2HBWCPudbtVdv66/SjfLUqgMvi2qpXELuDF1I+Y3aR5Es8SO/4cosewN4QrY9WB8IuwT+Ui7HEmkLwo8lJcpvkzYCq6HO8Bv6nwBUIXchFEn/g3hisiB3x7a/nfCo+CLh4vhLZgcloHDoR9sA7dDkJUJTAwXhoj6OlK1wPTUxnHnIW9kkSWoiAdM+3o7MjDK7PzheCkq96Hoi8TF4OmimVL0rIdS5AWAL+92gEnMEMkpXO+CvI2uL/72g1lAG0E+jQLjcf0fODd6LUM+w8g5sDc4r5T5shVzPeJLzEvBObCZcttvloK14V/QDRm3G05jPn3m3ZQy6z8lFZmxicpMiK5roJI3boZqZH9OStLc4L6mHbE820YG8vZP7fhI5i2z/V1fZk46yLm3vs5jSqfqO9Tb/312u///X0mGhsZORjS4d5/pPjc+n6dlWZPIeeCCWGI4ADfrM2aiZ835gggP1d/FExJhx4ZrlHLW0Etpn65r/4G/wgkNrHo+OSLSObeBbivJ9uedwfYeDHmi7hzwGDyUp5iTtjtpnjFcw97L0TNpF5gJfO7PQNmyHgYPAM8jzzUwvgbp/eE1KPN8VEkZelHIWhq3wH2oHAtOMr+GtEXVieB0WByug39AmXInxgaBG87x4fcQFzcJfwS/DbgSLEvZchMGnQA8SNwCd8NF8DzcBd9DGeLEeypsmTA2mHvftv4JjgYnRd8Ujw7Kw7AIPOpNTH5B2IFrmWsZ+VrA8eD4lLi8GL8ZgcL215nBDUXe5qNIle5F6V1YC9wUfwlF5LZIaWWu5xbJkKHjiznlxqGX3E/r2j+h4ZhtNG4/Q+egRL74rfNJn3hESWHnqD3A+agKeRWj0op8TqZmXvjk+ZiLRF+uFJWJUNw1Ui7a3/JsL0Ti7HkKibQJuXcDqdgO7cqcGJi1CSP63znSb7f+Y2LHtUubrcgNrWSK8vjyaLE28qdldW/UrHS7/Z+iwB6wWpFrW8mUyOOeZ7ZEXN6tfSWMP+e+dsW6uyaN0aKhX5LPw6zy1dBLw8+P0LgL9JsnX5OYPGh5rvk1bBJlLOozUu+5PM6nY/i06Pp9T+ywHycRtSSoH14EDKvVWoxzh/tb9zWvQNaZYizSzofp4Bq4EcoW9xDzwGWwCgyBNFmcyOPB9gp9ME2vUZz9Vlt/g7Uhax5X5yj4FnaDKuQTjM4H1n1FsC3SxDHqnk2xLJapLBkeylBWXUY4Ox7uLwS/hXkM1gAXZsVJ0UnqJjD9HvgZVCHjY/Q80M/HYKf4Bq6AMFmcTHhsqFKmwfhh8F9wArY8y0CZYrvOmGNwCtJ8DjvARpC3QZuYdPVrqVtgRGgBx7BjynmlDDkYI9pbp0ljz6HvQuw3ga3IlGRyfri3lcwjSJ7tRpBytlrMccjo2mL/aYWVWnUc5XOdtQ+24ts8y0d2Wr3o381nq/59gdau7ISBM5vEg8smbTpelfx/gD+WwInYaHb+IUvPPqvb7b9VC/W3vutagTal3f6/Ypv+zX4BtNr/4/kebKIsS5fk04Pogk34Daruoa8Gy/8f8NAbvjD16tp8PZj+LEwLjWQgCuqv3Ugxlt6P8GDwRcBZkNwTL0Hc3aBd19kJoRXxBas23s7JfFCk40vpTcE2CjIBgX3gM7DNHTPtinOYZXoabP/RIci4BPYA5wYP2htDIzkQBe1pt1nZlwzmfQ02AsdlEPvDluCLAXVsh1Yl7zmUXobRWi3lKJpvL+p9KPQGN7bvwRQwFtjp/wJ7wxdQpSyC8W1gQ/DblkfBSeB8eAg6KfYh2+PTTjqtfdUtMBK3wJrUbU44tqQ6joMdN/JHgwtYUdkCxQGwMtwEzYoHiOtAO24iaxkxW2B9ij1bk0X/Dn03pHc1mS9NfSUi50lLyInT/31wf45O0SQPcj8vqhzphfrf3mS+Wn3YFhjV2381mqTV/n/PsM3ZdIx9373mGE3n/L8M7xMcAO6Zi8h4KP0GJiuinKHzDfG3QqtzkAfO38P+YHkc0x/AJOChT7kYdga/kGskd6DQH3wBcA0UlalQPBtWjzK8wfUTmB7ce3voPBP2hK+gFXF+fxbehqlzDGxE2p/Ac48vht1PuL+YDmyv18HDv+1ehuyCEfctE4B9aDCMDzPC2DAY3F8UecYHoncEnA7abVZcB0+FKcH2fxHGhJnA/jEEdoQroFVp9BxKLYOHt1qaawE7og9hHpgWHAQewC+HZjbXqLctf8XCxjALOPBqqVugboG6BcpsAb+1ux6+bsGoi6Kb18tayFtnqVugboG6BeoWqFug2y3gYXc98Iu3yeFDeAL+Cc9AUdkVRc8O2nq3aKaY3mKEN4A54WfwDvwHroInoR3xhcYF8Dgc28DQhKRbjhXBM5Bffr4EHvp9sfEZlCm2/6awHEwDvth5AW4E6/4FFJGVUfJFyu5wZZEMKTqe/zaBlcAXML58eRmsu2dA+0Y7UuQ5VF2Gdspf5+1wC/j2rZa6BeoWqFugboG6BeoWqFugboG6BeoWqFugboG6BeoWGIVboM8oXPe66nUL1C1Qt0DdAnUL1C1Qt0DdAnUL1C1Qt0DdAiW1gD/JGABzlGSvWTPzkuEi8Ceq3ZC5cfoW+POUbog/w/Fn//4sppa6BeoWqFugboG6BTrVAnPhyH+C9gBcD4fBpDCqyJJU9Abw5593gv82tpPivz31p8B5/163k+WpfXW+BX6BS39O/vPOu6491i1Qt8Co3AL+wQP//cN5XWoED//69xDeaRkdh/6BI/1369+3nhH59w9RjAe11C1Qt0DdAnUL1C1QdQschIMfwPUvjnsCX4yP7LIZFfTfvcbrbnj7DlV8Q/y8GvPvS5h+HfJdu+l+C0xHEQZBvP9dwf1Y3S9aXYJRrAXGH8XqW1c3agH/0IMTkAfxbsjlONW/m45Oy844jE++63a4AP4xkPgGzL/KWUvdAnUL1C1Qt0DdAlW2wFYYj699yfDLpI/MBxH/cLJ7jmS9vTe+6pfx7jXSfP+X+F5QS2daoD9ujoOTYAsYGzoh/iV+/1BbWh84vBMFqH2M8i3gF6C7wGCwH34MZ4F/mLCWUaQFRtUXAP7VSzt8fAL2VwgTd+i5+9O/JxP+/TZi8Q75r93ULVC3QN0CdQuMmi3wHNWOr31p4U59E96NJzBVg/rPX3Ghbs/x3+l/hlBxVYdL877c8kuvZL93XEzTgRL7c/+k73D/QQf81y7qFrgkow/eRbwvB2oZBVpgVH0B4H87ESbc+PX8Dj3zAzP8P0t8/T8CdOgh1G7qFqhboG6BUawFxqW+8V+exde/eNgNYtUyNg78OwTTV+0oYd8DYNYvAGwDXxBUKcmX//F237NKxyOg7Skp88zglyZlyV8wFG/zeNiXM1WLv/6M+4yHP6naeW2/pwWW5fNKcCzeD/4SZDLolMyKowHgL0Eei8Kd+jsQy+Mv3ueS4U69hFyKctwKr8BAsFy1dLAFRsUXAOvQvskO7/1X8CWsAFVKP4w7yX8NYSPmt//+35O+/d0faqlboG6BugXqFqhboOwWmBCDaetfMu7Csh0n7O3IffwQ/m/u+yR0qrzdB+PJOnvvYaBqORkHab6NW61q5yOIfQ/J8V9KfMf9pdCnzfL3Jr/7raz2N36JNn00yu7LDA89aWW4p1HmOr3tFjgxo+19JjO0bb2xAf/4uueN5PM3btXG2dvWOCDFd7wsl7ftobGBtVFJjsNviFuwcdZao6wWGBVfAPjzljFgNLCj2/GHQDfEt1/6f6EbzmufdQvULVC3QN0Co1wLDKTG8Q1fWvh3FbbKThn+HyG+Uz8/df0/BcJLeNvA8DJQtfit9huQbPfXifNwWIX0xmhVtssu70YY9DCQbB/vB0M7P9OfM8Nu3Nd26FQtHvSSByDL4OGwlupaYFtMx591MuxLpyrFb/m/haTfcO+XgFX/EuGgHP+W4wKoWh7CQahz/Oqvs2vpUAuMii8A4k1bvwCIt0YdrlugboG6BeoWGNlboD8VjB984xswwx5MZoaq5AkMJ32G+5Wqcpphty/xd4P+D4ZOySw4ugHiB12/FStL/Mveu8AgiH/b+Cb3f4dOtzMuC8nkaPkLydAf0q7tHFA8XOUdwPS3CnRClsbJzRDKY7hTL8A6Ub/h0cejFCqtT8XjFq2w4OF//or7S4YPqNC/pmcHf1GT9Bvuf61SxfIG9oO/+NV/ElFLEy3QqwndWnXUaAEXFv9d0cewOEwC7coXGLgL3Dj2B3+yadzwJm6srL/f8CTFieYeeDaRsAT3cyTiwq0T5fXwLkwPfoNwEwzv4q9c1ge/+UmTz4m8EvynKEEmJrAWZM0pb5F2XVCur3UL5LSA/c9/bpXV/3KyZib5E807MlNbS5iIbB52ncueBw+/ZYvf+PaDT+EZcMPfSJyPnLc9sL3cSLnJ9IHo7wF/hLR58iLiX4SqxHkmS5xjOykeuOaHI+HwDjq2r3nQ3AeOh0PhaihDlsfIBTBNZMx170MYG6aGDSNcxzYH17bhRVx/JmhQmE1I3xfebqCXljyEyPNhm7RE4l6FsueYDFc9+6ndSXwSPPhsAO6vaqmuBWYsYHpudO4voNeKivvTRjJPI4U2093/HgpHpNi5nLiLU+LLjroXg+ulGH0wJa6MqHEw8g10a3y5zjoPly69Src4rEE3SR8PG13HdLAFfAZbw58grxPvFumsyNW+cQOUJf53OceAG4drIG0AE90jbja2g95Db4f59AA6ANwUB3Fzsilk9WkPoG5s8gbSqaSvBFlyDwlLxhIdmNfCz2JxyaD13htOgbXBP1z1NKSJC8zqMEZaYgtxPuubwUnb9ukPV4CTWZ4sTuIleQqkrQtXxXS2JexmNE+mJdFDSSOZAYV/QNbzb5Q/Ld02WB/ynr8HJ5/P5aBsBlP1hIb98ND3N/goljQBYfP4DVqauFm+GLIOiouQtgCcCfatPcADYFmif/t4o0PkeOjsCXntbxs9CEHWILBEuEm5vkLcn1Pi06K0c1laQhtxjgXHaXzOaNXcpGQ8BraAsSIj73M9Cv4Q3bd78TB7MjjORo+M+RPPw8F5PE08FJ4Ic8YSHyG8A/wnFtdu8BQM3AceQBeD6UB5D4yrUm7H+K8zHDyfEV9F9PwYPQMc71dX4aCBzX6k7wWuLSc10C2avDmK58CY8F+wr10HH4Pi+rQp7AsrwSBYBt6CsmVpDPqyYUGYDL6CV+EucA59DZIyUzIi5d61tS+08gJAc86LPvsFvInJ64SdAy1nJ8RDyblwPWwCZcxrmKklpwU+I23CnHSTwlhpoNZScnyvkWXg86yEEuOPxNbLsAvMDG/AqTAAXGerFucf54cpYo5eIHxg7L6doPufLSHMP+7n3Dc6xp1/zoPboCoZG8POs8H/JITds4f5T//3QFfFwWCjXNSgFDuSfi30aaDXbLIbUP0PKZDRBrXTjFlAt6hKM/6L2mxG71aUrb8dv4ishtKlMGWOsou+m8xeMAs8AINL4DlsrAnKNfA9ZB2s1FkSrFsea6kYEzdDefr69BCcJ5OSuBKsnILxafnddKTpG7cC9AYlPK+Fht6mfnrwy6tDK2n2U8VNu/lX96aA+BIgq17LkuZGKi6OseUhK09eveN2DPeDh8G+XRY3YGs0yJNbSLSN9D9dFM5rczfMcfkVN3n6ps0az5AI3x7ln42r/p30G9lrJt3F2bo1kl+goG6e7T8njLgw5ul/SXoYC4msw9z6nJYG+2oa9onXY2nOBd/BzbG4ZL4FSStDnLdehKy6HlGCE+fed3J8/D7Fx47EZT0z1+qfp+QpI8p53bb4Ahz/VcuMOPgQku3/HHGjV+08su/ctzhMD8uAZapK5sbwEuDLqyD9CfjyceEQkbj24d7xM00iPu+2P4mukbarLzTGBcVN9qqwHIT1b2bCL4G690GZ+yr7fqO55Gt0jkvx+1viLFMjisyBmMkUX/rtBBfAleBLAQ8NnRL3KQfAOtCpPh+vm/PzFuAa7bP4BG6FFaAKsW0naMKwuqH/NpGtoaov2vL61lekxw+lDQ02qbBuA/+WbYMmbY6o6q7D+4P72t3BQ3oZ4hr2BsSfs/3bZxuP88XoZFC2LIXBlyHu6xvuk2v7FcRNDF0TNxUW8qIGJXBjop76TtAunmXI5RjR7pCCxpZBz8m6T0H9RmpF/U/UyBDpLu5uYtdugsfQtf5vNZFnN3TdKC0LSXFAae+qZELJ9w5W/azfwO4cpP8ig/lS8tqvFsjQ144bi26KC6T1XiinEB6iF4MlS8KNY1g4zyGs//WglvQWGES0beSmW+kLWX1wXtLSNl/mzcrTqA8m/bvRm71EmtmceHjI8v04ac9AkHEIfAV/h6w8kwflEq4DsOFhZcLIlvOBz23X6L7Ky8WRL/2l8R3xzl3tyM1kTrMd4twQxA+dU3Nv+4f0tOvdpJct9s9X4VPoD50Sx5jzqW1tXe0LVR0+MD2MeAA8A8KB2TJcA2VtQjH1/3wJ+B8Iz/Jzwq7fSq+hl2E+3Uf8A0Iey/cXaLTn8oAVNr0PEnYdMs7Ndbxfac/+77izj38B+tobypDFMTIEtGmfOh6WghnAuXMduBxC/ewD8YOe/dF9ZkhPu1pPD7C1tNYC9o1/QVrbekjZpjWzqbl+RewjEHy9TvhgGBOSYh93fAyGoP804a2hLJkYQ4Mh2E9ef1uWoxw7WW1vWZyDOtm3p8XfcjAbVClTYXw/OBGcA/LE8hwHv4Pp8xRT0jYjzrXVtnwONodJIIhz0KHwKajzX7BsZckGGArz7WDC24NruzI6zAPHgl+m6P8pKG1f5SS7ZBOEyf+mBnlOIN3CBlxg5oe4uIFcC5o5AN+LvjY/aSKfDfoCrAmKjdqqhIVoSAMDO5J+LfTJZ/dpJwAAQABJREFU0XNBXQb6N8FD6Fr/j5vI0x/dZcHyOJHGZXlutHdMPLKCsP71c3gFtodnk25WrPdCXSrkOZH/9brkf0RwOyhqo7m7VNhu+y9a7T9H7TRFlGHp6H67ogba1PtN5G/lyI5zrGNrkei+qksvDIfFV39ZnNRGAVwLfsixHXweGvNhu4f4vOvssTztBifCwF3wBHRrvOyMb+u7N3RSzsRZWjtfWFIhemPn9Qwfq+X4uDEjzxE5eUzaJspnv3Nv5qH631FcWj3vJM2x4B7C9A8g7VBGdGHxEPEZaO9RCJt392gzQJhrCPb8Ss99j7qXGhGTPQmnlTnENWqLmKnhOrgSpbsZHoczIN4+3FYmHq5CW6ZdnR9nLMH7KTl+riXNfhFkHAK3QFp5jCtzT9sXe3cnfL3M/YbQCfHF3ADwZVyor+PmUHBMdkImwMm58B2EMjhf9IWy5ZcY9IwX/Hg9L8XJ2MRdk9Az36IpumlRSxMZ6qMd21nxpeqKMJc3kczC9WWwLPdAGe3uy89vI5s3cHUNULx6ZnJ+DGJZXgf9OxePAUmZjAjz9UkmpN3PSOTXoMFOYEMfBkF8eMtA/yaw4pb1jSby9Ed3eTCvm7T4JMJtU3I52vof0iDXjpGeg/S3kPawXOxOgBOb4BV09f9FE3m0b72fhjUgLltzo73t4pEVhGeO/Jxfge0yTPp8HNBlEH/Wt2LT9l0IuiHn4FT/6xV0Php6ZbRBsKG9ZsRFxkmsLJxjGskgFGyjuRspVpTebf9Fq7UVirbTulGG/aP7n0f3VV8WjPwdGTkawNU352NF91VdfNtuvRtxRRsFcHPRyL7pbsCCHESgSJ4VQ4Y2r4uR/y7YG9x8d0PcBL0Le3bYuX0sbNSSbf49adOVUJ5NsJG0He5t9zSZicigk7x+Rlre2PAgaZ47QdkXkjaS91ui40ugbyJdN+qtimuEh359vAKOM9eL7WEwBN8+79+B66p92RcWptlecTmQG+eDkC9c3yHOMrcrM2LgPHgTPoSH4QAowzZmGsoOaIQ6hesjxNmOVcroGLe+wWfW9U9tFmL9Aj7cVwc5ikBWWYy3nzhnlSnO0yvBQmC7dFqmwuEK4MG1U/3OOjr2POyntffzxJe5HjhnvZfhaxXi4+I6kFamJ4l3LskTD/uvg/kfgrBX3Itw+LbftIHgC3plTvDsZbzrYDsyLpmd97T1GHiv7Arx8XYL971NQOaFMMft3hMz9MPncyz4Ik57ch6k9tEwYTiJ62hK6ITchZPzY47sNKtDowcVy/LjTy98eOYtKjZEH/gLODEEmYKAg7poGSaNMtqGS0bhtMvMUeT4XE+GTWE7eASCvEbAha2ob/PNDzOAi5B5i8iyKG0BThzmi0t49h/HIpcjPEnsvtWgA+VWsJ8F+05geTIxiWEg5ukVTfsERcuRJ27c181TaDLN/rUvnNREPieY1MHahI2gqn/r3awsToY7wAm4LHHz5qZ9SAGD/dG5HZoZD43Mugl2LFqOouK8FCbconny9Ox/jfpgPP9k3EhZ4hzvJriIOEeGhSip/0EUsSrXp2EZ8AXydzA7pInPvcizN6+bNZ+/7Z8nvyfRuc/xYl+xDFnyNgnzQNEypNn5iEifn2tOntjOrYrPx3YMa3OWnfdjCa/HwnnBeJ48vUZpL6CwdCOlCtNXxvZ64Pr0ZIV+0ky7LmU9G/vhBGmZmozL+1nnRBm28vK497DMrr9p4r5HuXfoZZgvB6Lon1x24m4APAuOq6XgZmgkHpo2ghPAuUNZA+btCQ39g5X204tgkyguXKzjMTAbbAVnw/Zg3CXwP1COBPOvDjvA3KBsC2H/0RPRwof7t/NgzFje+QnLZuAey7mmSjkgxfh8xK0FV6SklRXlns1vRBvJwo0UGqRv0yDdZA9nZ0Z6jfRdG/aE9SP9Mi7PY0S6JfaxqvtZWt3WIXLRtATi+oFnm1Mz0puNdl7K2v+sQNoNMYNh/ohF9QTdc04Befse56NpwfnDOcJ9xAZwIsTFfc6fwLnHues4OBTchxj/LbQiG5JpBgj+vyTs+nYKxMU6/wFs48fgJNC3XwCcDu4b9of9IC5bcuM6qf5PpFd09wZXG2Din6Tm3wwm2YXlcnAxyBIbN3SITwnvC2eBlQ3yMYHfgQO1qMyI4qzgW3fzFpFFUNoNlocXYxnGJfwMTBKLKxqcCMW7iyqjtyD8B46CQyCI9WhG4u3ng8+TMUk8GD6HzeEHSEqY2L+IElbjem1SqY17X37sBXZuJa+vubG7FZrpD9rME+s+M+RNBNeRbtuU5dfn8gAUlTNQzBtLRe3E9c7mxk1SM/Iayn8Hx3dZ8h6GHOdF5FmUnDPK9u/GsqhMiaJzRJll+Ap7i8Gj0EimQeFVGKORYhPp9u1F4cEGeVYi/cYGOiZvExFUnwqBlKuL4wxQZNPienQl5LW9C35fCO3zCGHbK0vsf628DIvbsw4XQaPxNDCeqcmwZfwHJA8/STN3xCLc9Lu4582pvrR5PJannaBt6ZqyPni4GgL/gbuhE+LaUKR/VlEW1w/72vwpxr8hLr6vSFEpFHUzWo5VXygkxX1KmjxG5FswdUriK8SFdT0l+ccvft6NEqdLU0rEOT8qPvN5YE04FPL2Mb44GwBTgWM17H+2IKw4L/pcN4e8/r8l6ZfCkbAtOK/8Au6DIIMJOFYPAPdKu8K/oB1ZkczazJLZSbBc/UGfVcnkGYZthyrly4LGi+plmZs5KyEW34/w2NALQl+MJQ8TnGuYmDqilRZwrOfJ8iS6dytDnI+cT8ZIMeZ6FhfnvjRxD/5pWkIsbqMo7Fzm3K6sMfQyzOfGxLhH/wr+CM4vrrv94RZoRbSp3AOuo4rzaZpsRqRzmf5Pgn1hUlgGboOsfNuSpv5PxMETxIZ2IW9WviZDXr6w6boRPTdOr2U4yFs40rLEJ1gfcp64kO4HE8CvwY1cXLRlZ5skHllh2AX+rxXaT5p24b0SQudOpqfdP0vkvVBkck3LH49zY3R7FDFWdP0hrpAI+7bqDzB+Ir6d2/fInNdPte0z6eRz0WdcfEbjgP21DLFfa7NZcYxu0WymEvU9JO5eor1WTH1AppNhmlYyZ+T5iPgXM9KS0bbBnlC2/7xDeijDAwQOhrzxtwLpC4YMXK8Dx22WOP6cY4vIqyht2kDRtokvaHtwf1eDPGUk2y5rwlQZxqxnK2Mubs61aiVwYU+Tl4h0DQniGrsX5M1d55DeaJ0M9hpdl4t89Uko3s79OmB5ypLeGJoLPoVnwDktrx4Tkj4HfAyuYVXIDhi9DdxPxOVCblzr2hXreQQckmLI55gmXxFpua4AX87EJStP0PmQwLgwRRThHNU3Cmdd3owSzuKq35+Dc/bJkCXWx3HzPXhQDuLzUgb2fGb/N49Rcs/F/u6B/HmYDZaB+yCIa+gFMAm4+Q1jY07Cq4DPquh8hGqPHBkCOdelSVsTrsnRaTfpKgyEQ0Ow5bi4O9xUdLWf2MaLNbA/qEF6o2THeiPx3OFYsy+5n0/2eaJ+Ip/95K69G8fJFjAfaPcOuAwsS5kyGca2Av04vm3Xv4F1T5OxidwSfgG94FE4Hxrte1EpLPaBPGl2TOXZci09F7ZPKL3PvfWKy2nc7ATO/3E5g5sv4hEp4X5R3L2xtNFi4XhwDG5+iCJcY9xP+XyWglugkfwShfXBedJ5Xpll6OXHX2B5q5808bkG/x8Qfhp+Dvq/DfLKTXLPL5Q24PoHeM6IVsWO76RzUQMDq5O+ZQOdVpIvJ5P+i3TucdFrNGnZcJOCg64I/0RP/3bGPP1dIj113dRvBGXIrRjR5gtlGMPGvpE9O2eVMgPGLbflH5UkPK+FulTpc/Bru6/XJf8jgttBURvN3aXCdtt/M9X+TdRW9ilZpJnMJeguHvnV93cwfgk2i5rwwOLCH+oev+5Y1EgDvXlIDwfeuH3Dv8rIq+/PIanvpmzijDzNRi9JBjegSR/hvsgmqKjP36LoJivYdrNj26eJ6/fv4TMI+m6AZ4IqRLsnwX9Af+/AdFCmrIKx8+Et0McV0EjmReEMCP3zWcITNMh0A+navyvSWy26D+2Ydj080vVyZKT/PdedIbkJdTP7u0hHW8dDXMIz81CvvAhpPuNxg1VEzgPjb/cmEut7CVj3BaI4L5YjjCnL3IyMhbLzTLwMWeG/NGO4Bd0pyPNErCxfEHY+7oR40PA5Z9X9TdIma7MgB+XYD35vivlwXIT4rOtxMf12gluROfTXuC/HTqNx1ozf9VCOz33Bl8996hRD7ll8GRb0wvU94hZJ0W81yhdqn0Cwn7yu1KrhjHy+1DgJ3gD9+qxnhjSxnh7ifT4vwG4wOjQSx4/1cL0JsjSBZN28139cPEgb/wg08jUeOmEuP5RwkOB/zxDBdTlI839NTMfgaZHeg1ydd7eP7pN57f/jwOtR+uFc25IwCC5qy0rrmS8nq5Uc0rqJtnIW9b85Xn6As2Hitjz+NPOt3Fp/O3oZsjFGtOcCXqW4QdHPhVU6GQ5th+e1UJfKdg5+bff1uuS/Gbe9UHYTalnLYokCBRiEjm00dwHdKlS67b+ZOi2Asm0lX4Eb5E6Ki9k3oH8Pep0WDxMe0E6B0A4efpOHH6JaFn2sDGdB8PG3BtYmJX1LuB/M49qzFpQloY+G8qRdLXO7sisG0mw/R3zat337Z+g/RnyjjRkqLcul5PwMFm/ZQn7GyUh2j/MgjJ+v+mOq9b0PfPETvl36MTElsCJxHhSOjKVdQjit/Y1zvE8f09Wf/TLoP0n4GPAZeth/GkLaxYSTz8Nymn4oKA9A0M+6PtSjOfQbraCzDnGTwFHgfsbxE5cduQm6RdaDeN7JY3mDjayrdaxaeuGgP/wKpoBOytY4sw8k6+/hdPYSCjIBNgZD0n6498A0PwSZjUDai8+g/xrpjqN2xXnN+TTYTV4vatdBlH9Rrt/l+BkY6YWLdXsbkuUJ92+SNmFQLuG6PjbSXgIdUoLtZkyMi/IMME4zmVJ0bR/byjkrLrtwEw7n1vdC6B1XIDw3hGe1eyIteXssEfrR1pyxxOD/6Ficwb0hjDP73WUwEcTFcRCexU6E3X+cCqGffkvYPcqYcBgE//MQ7vmZiNdaqmuBwZjuD3fB8CzPR4WbseJCzhHZf7ZiP62Y35RMTvJlbeKdGP4M98OIJFNR2CPACbYseQtDB4CHtkayKgrXNFJqIX1a8jjZ1tJ+CzyOCRfH8cADeJHnilohmRKtQ6FR/3NxdGFzURwAeWL/Oxi+zVNqIs1F9wZYLsrjAW09cIEtS/RxI3iYUW4BN9958j6Jjh03M5Zl1+ieS9viocPNaSPZEAXL3Y5sl5F5FuJXh6sS6Vn6/jxyebDtypadMLgkLA0Pl20ce2PB3+A+sA94yCkiPnvHhM/q5QIZbBsPuHHZgpt3YGfwucflZG48VAVxs7kpOAYOgbkiuPwoHxByA3wi2C/j8l9u9B/61pmEF44rpIQHRXF3cLWNNoEBsCYcAElxTXEjrLiRvqcnVPzD8g+BIgfJV4ubbVnTvcXAlnO3l/GvZL8dbHPHo/PwnXA5WK525VMMuA/7J2g/Li9xszk8Eou0/6wDl8AksXiD/wb7ps+uXdkXA3l7Q/0cDU+36Wgv8o+RY2MZ0laCmyKdHbhOGYXTLlMTuQtYtjLE8WObbwueF96C0+Ex6IT4DBzjv4Pxwf53FBwJrYh7Gdto8UTm07i/APrBu/A6JOVJIpzXLM9JYFnOgriMzo3PdL8o0vkz3ke0of/FovRwOZHAeTAbvA32/aQ4DrS3Nzi/uSdzzT8GZgLz+Hx8/geD4guCJwz08qOWSlvgrkqtl2fcTvg1hEXYQbYiJCdUopoWO+XN4OCYJ8rtwp0lU5BgZ+6dofA58ftDfEAsxP2BkNWnHUAOAsuQJRuRsHpWYovx/yXf/eAksyC8ClmyNgmbgxNGGfIDRi6CK5s05oSzBYzZZL489U9JPA6G5ClFaTdwXROc3MuS9zD0ZhPGxkL3DJiqiTyNVN9HYS8o0gYerC+EvIWd5KbkA7R3hEbt0A+dM2EcyJOwGXKhGZSnSJrjzz7l2G0kc6CwHeRtguI2+nIjeaJfF0r7QVmyGob2BOe29cA+XrZshUHnhEtgS/gG8sQ2uxgmBvM5/ssSD5W9Chiz77YrE+QYSBsTzernmG+Y5Pxs2zo3zAdl9inM9cikfLqpOx989s7lcXFdds2zz7kJ/ArGht+A5VkEPoNWxX62BzhnLwXORc6J+joUkvI/Ihxff4FV4OcwIXwID8KtYBnT5Bwil4SPokR9bQ9hLxJF/3jR17k/3g39GwQzc6/+bXAp/BOc56aHtWADUB6ArXtCzX18j7p1+32BbLcU0GlXxXHu/DMdPAfW23bplAzG0dEVOnsW2+4V14AFwPo+DFfCt5CUm4mwD6wLs8M3cCeU+Szs043EPvh0I6UG6UX8LI6NmyI7tk8jyRpLjfJlpT9Owm5ZiRXH74v9I2I+3Kd47177slh80eAfULR97knJ8AlxD6fEx6MO4aYfbAhnwk7wLwjzj314blD+Dvv1hP7v448EFwPnyaS8T8S9ycjE/f7c2/d9CTYAXAP+CfpfDtaEBUG5ClxX2hYXFyecMjcYzRTq8sj/kGYylajbbf8uqLb/CyXW6VpsOXFOCauD9svCQTYavAgvgZuoLJmbhHfADUMaHxO/BMRlY24crGn6xr0Gk0AjGR+F3iUxbsJZXp1VPQHc6JXV5tpxclGclN6DubwpIGOhU1Y7aKfIwaFAsSpVOR7r9s0JYQp4Fb4rkSHYcnOSJU7kblDtgx4AXHjeLpH/YsuFopG4WDhOy/T9BPYmauQ4lu7Y+VmJeDgqU1zsHU8HwhhlGo7Z2o2wPlzQi4iH/qvhMVigSIYWdJ4nT6P56dgW7CaznJnjp39SmXv3IVnlWihFv50o5/HxYBfwmy/H7XRQpuStFXvg6FMI9X2d8MKQl4fklmVncurrEZisZSv5Gd1zuD8Iop/bIdQxfr0wKMWurjG+LInrxcOuq74Yc25tVSYg41MQt5sMP0d6VfNBKPc8BJLj8G7i7JO1VNcCrofJ552837wE908W8HNIzE/e3BfKd2VMv6zgMhhybVoLknvdsnyk2XmWyFCv+NUXPt0S5959ID4vx8v2AWm+uIjPcdyWJs45B8HnEPcbwpbrMChtjfgscmTn64ZcjlMr56a6G9Jt/7dSaev/QomVnx9bHhJWgBnBBdjJqF08yKwEbujvAyeMWuoWqFugboERsQU2otCHQtmHvnhbbM3NXjBpPDIn7OH/CFgXSlvkU/xtQ1zYVGRd/XaqXZkaA2kbbtentPr1Jd5vS5Jl8tBatsyJwVcg7ssN1iJlO0qxZ7+I+w1hv+1p53Cb4qonyjp9CX7DbB/rtCyPQ/v112Bd34C8F/kejo+Ef8Gd4AuxA2FWKEMcj+eAG/rQ9vFr1XubMfHry9m4zxA+gfhaqmuBAZgObZ11LaOfnVjAz3Kxam5RQH/vmH67wRkwcE/C51vcL9qu4YL5X034Ds/ioYL5q1SbEOMbwzFwOjgXOSeMA50Q58Yt4Q9wLtiX3K9YrrZldiwsBi7wX4AN709s+oMdcmqoUvpgPPi/g7D+P4b+oP+ZoVMyMr4A6FTb1X7qFqhboG6BugVGvBYYjSJfCq69aQwqsUozYesKCN9qfE942Rz7s5H2Twh7E3/NVsWm1JcKaXX3RfnoUKXcjfE038ZtXbJjXyb5omN/qLpeeUVfg0Tr9w54wB9eZGkK8gOE5/GXDhRs3pi/4DdcP+yA/1HZRR8q73kjtHfy6oGvDJkMI2kvP4M/57i49OLGw29IT16fIa13PEMbYb/pfxmSPrwfAn7JV7WcjIM0/0dV7XhUt792RsP7MJycq35DPD8+vs0ow1fEuwHolNQvADrV0rWfugXqFqhboG6B4aUF/BZyP3DDF9+IeeBeEMqW7TGonz0KGt4z0t+2oH4zau5x4nVOhudqxlgLuo/n+N+9BXtZWXyO/ry36j1dlv8Q34fAu/Ay+AXU8CK+CPNXBuH530i4E9/y+YuM4DN5/ZS0WqptgaUwnzycf03c4VDmS7L5sDcY4s/Yl01nQVo/m4b4fyf0zXsdTAFlyRYYipcpGT6kLEc5dvyl0x2Jcvyd+7R2yTFTJ7XSApeQKfnQvd+kFWMt5PHnYGn+D27BVjtZ6hcA7bRenbdugboF6haoW2BEbgEPQetBWI/3qqAyfuPplwu7FLTtN/7vwTYF9ZtV86eUWV9C2A4zNWuwSf3D0A/tnbwu36St4V3db/v/C5dCJ75ZbKY9fo9yaP8zCPstbCfEQ+azEHzHr7d2ogC1j55/arMB7bAP+JLRw3cV4oF2HfDn+7vC7JAnzsf+KsUXgbIwlC1Z56/QD68u22GGPev6C1gf5s7QqaMraAF/nuIb2fDAvd5QgZ8sk2OR8CTE/T/FvfGdlPoFQCdbu/ZVt0DdAnUL1C0wPLXAGBTmbnAt9hcBZcvKGPRwVfSXfWuhezpUfQg/Dx/x/UcIv058md8CYm4Y8QVEcv+j/+egat/DFKbCCH+BcAosVKGPVkz765cTwTZ/GlaCTott8wGEfheu9v9a6haosgV84RH6W9r11Cqd17aHjxbYMNYJPifct8PFWgR/34Ed0J/FLAGdlvoFQKdbvPZXt0DdAnUL1C0wvLSAB7TPYMvhpUAdKoc/i38Ukhtgv3XrhEyKk9PAFw6Wwb+NsAzUUl0L+I3jLGCfPxNWgF7QLbEPbgfh335f1a2C1H5HqRbwbwC8Bcm5z3vPYr6cqmUUaAEnHB/63l2qq3/xVP9Oxt0Q/erff5PXDfk7TvXvNzC11C1Qt0DdAnUL1C3QiRaYBCdXwLVQ9Nv5TpSrkz78xaEHsPvBdfh26PQ38FtGvnfjWsuo1wITUOVX4D8w0ahX/brGXWqBxfD7ETjvBT4lvDHUMoq0wFTU039z5M8AuyG+iRoI3Zr4/EMU/hJiRuiG+FPAjWC6bjivfdYtULdA3QJ1C4ySLeAfwuo3Stb8p5X25+APwiPQ6T+WNy8+34ZdoJZRrwXcf94G58N4o1716xp3uQX8FZJ/JNQvYvcEXwrXMoq1QDd/AmVTd9v/KPa46+rWLVC3QN0CdQvULTDKt8DYtIB/nO4S6PTmdzl8ngz1SxgaYRQUD/z7Q/9RsO51lesWqFugboG6BeoWGK5aoDel8d8J1lK3QN0CdQvULVC3QN0CdQvULVC3QN0CdQvULVBiC/j2fZ6EPX+WuGkirr6tW6DMFvDf3N0EV8FkMcPbE/aPUvrvYmupW6BugZG/BXzZtxDM1cWq+s/PJu+i/5nwHZ8Hu1iU2nXdAnUL1C1Qt0AHW8Bz2J0wbQd9prnyn0O7FvvfJIb10PW5qj8O799/WQG2gtWhW/8MHddd+yf4+u6anI1n//jEqVEJ/KMU30RxfaO4+lK3QNktsDAGwx89uY+w/wbUF0/fRvH3cq1aZsDBvuDf4AiyNQF/jtrpf4ca/NfXugVGpRbw4P0whLng34T9N5GdEueAQRD8X0nYv4nTKemLI+e64P9ywuNAJ8R67gwLxJwtS/gf0D8WV1VwSgzvDn1jDjYn7D8FmDUWVwfrFqhboG4BW8BfhwZp5e81+PcePGguCcm/ueaXUu4H14D1QPHvg/y2J1Ttx0mYd+97M4xWkSsP9c7t/m9zb8AfwBcPcbmRm83AP4juf4dqG+8Drk99oUxxr/0B6Mc99+PwMfj34DotXXsB42bnSPDb0LvgAlgNquoEmP6JrMtd2HwcRviF6P6Gn2jVN2W3gJufRXOMOvCWg05tBnOKUlmSfT30vYsJvxjd+wuAvLYhuRQ5Biv6t8974F8ZfgDjOuEfN7XULTBKt0D88B3mAl9Kd0rux1HwG65Hdco5fh5K8e863AnZCSfW+WvoDzOCGzDj3ChWLafjQF/vwszQH74H4w6GTsqKOAub/k76HV587UBBDuhiYbrtv4tVr10XbAH3aB6S94RNwbmiHxSV9VH8EJxf5AmI/+rqT9xvD78BvwT18P8MXAJVSn+MeyhfHNwD7wZliy9Uw9we6u/1vJijXxJ+DEaHdcD0P8OX4IvxMsW1xr32bdArMjwa1w1h7ei+k5dOvIAZpj5rETME4g8khF2Aqz78+RBWgmdTynAIcSvAz6CWcltgPMyF//rjhBTTpt8D9oUzU9JH9CgnXfudL5/eh9Dnw/Va4jyMOyFV2f+mwP7roN/b4Y0o/Deuo5r8igo/PKpVOlZf6/9I7L7TwalxuBXY78OC2KkyuPAuDUuB3wp3UtxohXEfrs93qABjp/i2DJ0aB87zoc7x6wMdqv+0+HkvKsM7XP8dhX0B6y8Bq5ZFcRCev9/+vAS2g5v0aaBT4kbfzbGHizU65TThp5svIPxG1Gdu2++dKFcnbqvw777BfUar+MWc82Kr0k3/Y1HoVusd8jk3tSNV1f8qCvUZvAuu10WfkXPdVxCfZw2fC8os4LzvrwLGhA/As5kvR305WZVMhOFXYJfIgXPiJzBHdF/W5VQMJevu/fcwI1jnp8F90Krg3jyuvzf3a8HcUIbMhBFfAPyjgbE+pPtipErpj/GqX8AMU/5ViAmLX7yh4+Hzh8lVXoQ/hUkbEHH/hj0Y1VJuCzjJPAihrbeKmfft279iaYfF0joVdAFpdwHIK+sDJIa6N7renGeojbS1yevLlxshWYazozQnwlFB7I/PgO3QrQ1wN9vZMfdkVP81u1CQjfAZn4udG3p3qBzT4echCGPgNcKzdsi3bu6C4DtcL+2g/ydS/HfyBWAYd6HuXi/oQP3nw8ehcBPEfRv+LxwJ20NVL6NWwPbh4KY76X8QcUfAelC19MXBm+BG/1P4EvpDJ2VenHXrBcRi+HbzG38G23aw8lX4PzhRn3jdmgm/jZ35W2iLbvr3QPlhCfX3cOY+qBWpov5LUpCLwG+MwzN03TLOQ2sjcV8T8sWv70cZ3QduBs/DEPBgrJ4vxrx3jvBb8bLlQgxemzC6P/fuATyUlyVXYyhe73h4OdL2geuiazwtGfZFcasyMRkPgWMjXuKq/fvh5CgupIXrecR7Tt4FqhDHyysQ7Lf8Ama0JkrXC91nYeYCeZZB564Ceq2oOFAXAB/M0gkDg7j324ELwM5TS7kt0Bdz/4HJ4FvwG/E74HhwMCp3wgrgJFSF7IfRzeEguDJy0Jer5fDb8XnAQVq2uMHfoKDRv6C3Q0HdZtTs27Z9nngYmiFPYSRJsw+cH9XFPrnISFKvotXYGMVw6HPhXbhoxhL0xsXGu9A7YcsxeWQirorbv2N0w4RhN1nOO52Q/8/emcDfNpX/P/M1X/PsXrOEJIkyXPNQkUxRIilEJZRGkRTNiUYyJISKSEr4mkWGkHm45puMmcf///3WfvyW3T7n7H3O3ud7aX9er4+19lrPep61njWv8721DEb+AufLjDn+NoX3Z99NB+/EwB/hzJkhfwXZEDr3h4HVMaL9GTNjPkhsBO/NvpsKPHSVmecenPMH1Drq9ARKos3d9C1C5sRuAgPkzUVZzzmLwi2hDwBnwGehh2LXgqYxHgMXwzmgB92pof0/ApuGc+8COHvO0It8uyb8Jpde92dT9lelottDfdkPpqTQ+nABeDzcFlbBaNq3zV+CC1apcE7WtXjjLG0pwptz+b0+m2j/2zH6Meh5bN2sApcQWjfvJ73uKG9ExrU9D9fbL8JdoW1eDY6F7r+ujw/DHeHTUHuuEXXBNeeHcHn4QKLU8eeeqD3rVgf2Rsm3ChS9QNpK8BzoXui91HXRcXQWfBP8f9A98e/wMeiPFf3Ay/bOcNqCwt6f3wG1o89/DoXromuRc7CJfeiX6PX++24Y+DyRzaHj+PlI7BXagLJwMF9aUvgw5HYvKduvmJe/zeC/4EtwHngeXAe6GbRoxgMe/pxk08FHoRP0QCjugS4MvuY2hctR7OR3EfDAcxl0XK4AnfTavw42gRlR6pxx4Xac5WEdboFP5TNq+n4relaBC8F9cjpP5dt+8ZA8jENgzvxQP13ob4KLJlbfRdyD8P8CpqKR/4BLJY11M/hD8t1kdHGUO87zOJ4EN72m4Yaftl17T8KZjAwJM2DHzfY5eCF07Rkm5sLYGvB56Lh3PRwm5saY9p+Ff4TDsP9+7HhJch12H0phP1wAJ8HdoIe+uvFZFK4L54RvySn3AHglvAHuAT2T1A0ffM6F2v4APAGKLeCvoXXQL86PpuC4c7y79m4JH4eOP8eB+3GTe8849F8EF4BFcAy4D/ylKLOGtCbte8GYAIsuGr2qfg8CV0Mvg3+AnoMnwCoYbfuu50tUqXAm+yKh8/4J6FnwbXAtOAKroMn2+yjluHwS3gZXhmVxDILbJcKu91vB/eHWMOb6MsSvhYdB179PZnGC2jA/mrTh+Dq/QKvz8tPQfeHigvyqSa53nu1tW4ov8jEP/H/QtTbg/uAZZF/4GXgVXBM2jWMx8AH4DngJnBu6R1wP68aWKPwhXB4+kCifkrjrnvb1T+1wsOnwMjytduuvVrhJVg8n//rQg9jTWdoOhE1gcZQ68aYvoXzJTNbXo9cDNqYRTrTg2cSLxsFZiczuxPVD3XCSPQ+1/y/oAhl1+RHxpvFRDIS9M4jvlXxfQXxq2CSmQPm50DrcAo/L4v4brCb8jdrJDmkfeNDWFz58/K9gexpqm1NeNsTGu9ncnLNvXXYdUh1+VmB72P2/A3W4ELrmbQOHjWkyg4YLDNs49sL+tKNg/9vYjLE/MYl/nPgw8EeMhP07s7gPIGs1aHw6dJ+T2TqccLUcj8zy7iJcCDYBD+Re8D13edgO+ABhmvvx0pFYczg3+m6C4fdO4ePIrFyzbdU1bf9D2OjUpl7pnofmgytkOkYIq2K07d9OhXu1s1O+l15xClRmAgzMSCTWx7HE54iMXNhU+2fAjmczL8bbwWfgeFgWrq9e5k+E7nte/NS5GUyxJx9/hv448AV4JqwbH0Sha08vfr5Gw16kD4Lusz6krAPFB6D9meJXfCjn+cQ92TvhvLBOfAxl9mXsf94Hr4bPw0Vgk5gf5Q/B38I9Cvgt0l6A74C1Q8d3moD59CNqt/5qhW/lU6fvnCSvQfx7UCfVjdVRaAfbTi95s8FOUNbXSGXP6ST0GkpfP2tLvo/LfP+zxnZOgS4PWO+GLgR5+278W2X5KxA2hUko1rZhjLVfZGmmvxk2ibVRrh0XtxXhGHgRNG0/WBfq9GH4qY66uSHeCW3vfXDfLO73u+DrHT4w3QZtr344MosPu/2uwV42tPscdO318DEMeIi7EmpbuimuAoeFr2IobEe47bCMY2dx6PzfBP4M3gKHiaUwpn3nm2vfjXBYWBhDL0L97mFvZvj37PtBwqaxAQaiz39AfBx8IEsbIWwCzqtTYNjtFd6ArAfnOjGaDxBeeM6HnqvKcCJyi8K6MAz7u1BZ+/VrcIsS3A4Zx7tl/gynhO7Zfo/AqmjSvuvVh+A7ulTK89TNsEzblTkK2tbnYFwKY45MIC3gvuT+4Jo1EXpJLEKT7XfuBOLiGN9tWJ8HnAMpmjiPbIgBx+q98BzoHcfz2KawaYzGA8wrbfKlw5csJ10vfuyVUq+PiItt2ubz+C6ayMuR/mgi+xjxKpiA8GJdCni5XKNL/hI98n3F9tA4pouOfNZCJFwIJyZ00Kf+iHgqcwcyh8C6sBOKwk6v8EVkl6zLcE6PG/Rl0AtQwIXHDWQY497DyIFwXRiwPzeDvnbXgdVR8pc6FGU6ziDsNq6rmNoV4ej/TxKfCcZB6AriU8DXMz5K46L9jrl5oIdi0y6Hw8TUGLNfXVeGDefc8nACHAuHCdf16IMIrxpiBVbF1sXw2aweHnL1xbDgQf4SGPa/TXxY9j2HnA8vhHNCMRf8Mdzej4YxDv3XwJNhnAGWJn4UXAc2AS8Qi1fkrDVWZCp0xeUqxnu3sO4HiH7W9H7KdHJZP7qqlnEt16cbdqpEku4ccH9W3kew2PdXyNJGCKuiKft7UhHPYzFejulQsUmkX9ohL5/8bhJce56BmyaZMUYnJGlLEFf2X9A6rA2L0FT7Z8PY3XBr6PpgfBFYFq6rq/XJQdfkbbHrmerqAWh5zyz9wvvH+AHo+ahuuO77g8N74HJ1K8/pm6zavxeVi4ncKZyITPrilWvPa/LTDfBcmLbZQ1cKDyF3wlRmt1SgR3ynrKyHeS9gebyLhDhwrZrP5Ht+6Guo9r8K85iXhFuh+QfnMyt86ws3nWhnurh/roKeqqIu3C74YbdbeC9ycTisaqdf+ZUoOLbfwh3KedlPYR8W9X3I5OUXIGPlyCwZqv9x+KOS8mXETkfoLlhl4yvS67riBmrf3wNjnflSlmb65vD1imlpWKwx+tNv8XUY88FNqUWzHojDZPjc0IPOMOCY96Ds+A/7xp1jw4CXj79C19jU/qnDMP4/ZmNm2tvv4T/K2V+DwjG3eEXW8QAx2u0fpv2yF1D7M85ffyQeeyDRWv4CYEMVdUEV+3Og53kY60SEjs08JpHgutYLcQ72LLh+Tjj/APBr8kfgI1Db1mUE/gF6MU/RpP8vwNAD8PaMU6eGu8TXJC981m+YPpB0MVWYdW4N9q33bYXaeyf+uCb7R/Q29V8Se5DiQ/8TA9BztGNyStgPGm9/2YEYlffS+1a4TSTkQg8iTspnc+lNfHoZ+jT0wO/F18H6VfhPWDe85G4NL4cLZ8odINdBB5d+9BeByCP6hl/C+LdJfvfClQjYjhmhg2ZF6GFf6PMT4bTwSXg/zOMhEm6Cy8Ivw5vhsVCoM/0V9taXU/v7zzcptm5W1EPn56Ab0nzw6/B6+HtYN85BoZuPDxD2+Qkwjx+S4IvzC/mMmr7nQc8V8CnownoDFN+FjsWL4TthHbAP94dfgQdA/fs3OD98C7wapjiYj73hZ6D1GQ8dr3PCJWCZPn8bcmfCmeBVsC54WX0XdI6uCWNcE62EjyK9YFbiQMJYZ+x32z4rdA1w/jhnm4LzyXkYmJvIkvDCSGgotP2xxhxE3PVCfAt+HNr+/eBpsC44no8eQNm1lN2sz/LOdw9PY/ss7zowAU7qs3ynYl8j4/tJ5kvE7Y9hwDG/CvwTfBp6qH0EbgKHAW2+HZ4NXQe1/yB8L2wCy6B0ygEUu1e6N/YD91vn9SC4g8LpWlFFl319PIw1r0pZZd2Ll6taKJGfmfibk+8qUc9nwv3SMdMPRrv9o20/77MxJJwKPX/9BbquWsdhoap9zypTF1RuUdIuLEjvlbQxAr/JhN5H+OceBTxvOHeWzuRcqy6CT8B+5mTV9rt2bQXvg6vBueAI/BK07hfDblBe3AYvfTnW+z+ulfrGhyHbey/sF1NkBX9OWOVM75nzUOg56f9B29sP3thPoYIyyxek9UraFIFZegmVyFfP4vDmErJ5kdFsf74ur3w7KHaFN0EPPnawE8pLx+xwGLBD3di1nVInO/iagpuhbQ2bTrCNoIfBSDP00OoErIqdKBB6ribuBjwPvCdL199bwk5YgoxHoDo8nHlQEyfB0PvLl1P6+09av+tQYf2EfnFB1ca/4aCHJlR0xNzkeODUljbXgS6wfnvpWxs2hTehWBvaugOOhdtk36bVefHaOtG7LfE/Zd+OcTeiPD5CgnVwjHgwcAz6fQ2cGvbCigjE2LHcSr0KVMjfB1l1ytvhQrAqbLObmTomwmlhigP4CBs7phkV4i64n+gh/xny9fGBmdxchD5oaNuLWTccTOZs3QS65Nn+WAfuJp5v/36kRfvrvoxdkegOG2XDzSk7CL5K4bK28nJHDmK4R9kPkf87eDJco4ds3dnTo/AEuCx0f9gf9rPfUKwveLDTvgdcL3raz49HkmrBb9GS79ey3y9QdqkBauFh+oYB7P+LsjMNYN+iu8Ky7c3LefkYBPapa01eb9nvf1BWHw6C0Wy/9R6W/V2wpV831GgBxpAWZ4BziLsG5LECCeoYyWeU+G7Cvn1/PUzHy9N8L1xQn0mkXVqQHkkbEXkGPgc3icRceArf2pqQpK+epcU89ixVhCbab53Pg57Bwgfemy6Ejqte2AIByx3eSzDLnyKTtYx+svwgGKGwuvaooGQOZP+elfOs/NEKZfOiIyRo/wTo2C5Lz2aWk49m5QgqYQRpyztubH9ZfgvZl2DYP554vxihoHpGo/2l6uwiNA8cdJEvZSwRuph4ODgfHpbINRF9D0rjEqhtF7S0Dk68JWC/+B4FQ9+fiZ+ffPvI0gvrIuDDhDo8gBySxf12MA9yUHMyqWcSHA9TeNgIvxyXZtQc97AZ/tkp0/1Owqey9Kb7P7V/ETYfyuw+TrgIrANjUDIOunjY1lhQDPWzG+hUMOA8VP5UmMrbH47XhWC3OeqDWrTD8nJPuAv8BfQF+KfwR9BN5X3wvdCN+N3QjW4DuB5cB64F14CrwXfA/WDoNbwVLgDzmIaEH8DTC3gJaaHjjoL8dJ447ot0/Ir0pWER3kii4/oTRZlJ2qbEox47Eg+fW6cZE7mi6DEk/g3OWpTZI80NKOzuViCrzkcymasJpyiQ6TfJMRS2zyK+dxd+nrznM/mrCAetx1h0PJrpu5ewm23zrs9krcOi8LUM12ov+YOw15js5p/Rtm/d3gxd92L8VQmdb4NiGxRUsZnKfnZQ45S3D+7K6nAt4Zxd6GNMyHrpGHTuoWJoF2BtFWG025/ad+3u5v/5yb8fOgaq+t+91nIbwjzGkHAmNP982GlOr5DJjBAGZidyCLwSngh9tCtCU/aXwJjnWM8X7uGeCYowicRLizJI2xB6+XdNfx/shFPI0EcTEoE9iKt3LLQe34RF2IXEJvyvLc9OrmFPwT/CstgCQetU5gHAuf6zTF5feSYbFCMo0L4+LAPHmnu+ZWzvDnAQjFBYXYdWUPIxZOMech9x949+MEIhbTvvysL5fzO0nDwNTgf7xQgFR6v9/da58XIzYKHbgeDhmmrgIvs7eAecmOOzfEcn50Pz8vK+iH0QFmFBEj0ofCnjvoSPwbxev7+dySi7O5wZTg13hlHe8DJYVP6MRG4f4kvDKtgfYTegFToU2pz0c+DaHfLrSF4RJRdC65/CS+wX4DxpYo1x9e8FPwPdzPL+PZu0veGesKpfKfIq3MZXXn/+234Q9r8LXT4//23fF2EciQ/AvHzT3y6Us+Qq9I4h1MM5lIeHlPDhe/OZyfe0xPXXUVD/pOvQdnwvDO2PTvgGGZbzQOLcLQvXvEnQsvfA6WARXDuUkVsWCQyQ5uFXvXdC/dAJrkVRh007CVVMd90JnSt1KTuevOcy2Z93kSub5cOa7b61T95IuXlhv5iSgjfAaHvV8F+Unalf45QbbftR9d8Qse3urW+Hi3fhSeQp62VBuUGhD66H6nTuLQW72b86k/0nofO2DuyCkuj7Tboo/Ggi1+2i1EXFf2U51+/K9DoX5uzC+cm7P5O9htBLSR0YzfZb/9T+el0atDt50U9V/R82Nszpd63/Y6b3YsJu+4bnMu2PQOHYtc+iTob2T5GOJuxjqjQmIXlpgfT6pD0NX4BbF+SnSafwYRsnpIkl40213zXAPem7cB9o/RaBZbAFQsof3kPYefbjTNbL/4Y95MtmjyCo/T1KFJgNmSsz+bJleqkdyfQd2kswy/98Jq/9W2BZP2fFXxWM8KWesg8A8yF7U1bGcu5D08BBMEJhdY1G+zvWe0yHHJ3t4uii0yTGolyndKKHnjrwYZR0stFP+lMdKvXrAewcRNltBijvAdUFtkVvD9yASNl+v6S3uq4SR5KrPRexvM07s7wDCYXz7XiofNHDwR2ke4D9IiyC5X8F83YeIm0SfDFH06qy6EHLsZuHf9XwWXhUjl7Aon7X5fLysk9nsl7Of5mT/RHfXtJTeEG7C4b+fxB/POOlhCltd8h1Cu9A5vSEXgQsdzK8Aka5C4l7uCsDH52i3CeyAksSeqg4En4ETg1ngQ9DZfVTnWvxuzO96vagWwTbczdUxoNnXXDNfxSq909w6Q6Mcfws+eNgHfgqSrTbD4+soQKDrO/OpUEx2vat//LQ+WwffBN2wjgy7HvlftFJqI/092c61etDXyesS4Yy0ofgujAtilz31Xs1nALm4dyLdcxf4Ypk8mXKfu+CYLRrvS6FXBdCruoFuIvalx8cR7P9qf/dHw7qQNd529+P/8PHG1I+YJ+eAdV5GXR974YVyFR2JBNaKvuOPonwA1l+GjRhP9XfK67vLs0JOdbczz2DFNU5J/7K/1PFhHxG9j0NoXvp5dCzRoom278IhmI+bkL8XNhtHYl6bUHEPuv1AHBYJufatzGsCyMo0v4ePRSOJd/9PsaXe2YdGEGJOg/toUzffjuTVf5aOA8cBCMUVleZBwBt3ZDJW+Zk6HlsUIygYLTaX1h3B60vcS5GHpwDbtBxyP9hJDYYxqKoc/L8bU12346eZwr05+2V/T6nQ702I92LgQf2oBeQvN5HknzlXCxXgePg2TDKGt4L8+Xtt1TGF3on9kKwLOZG0E2lE9yw3gzrvHiktlzAtVEVTsYxVQvl5A/g+w44EXo5zvvXbw9gt0M3mTqwP0rU68L+QBb/A2En/34nk3mS8OEsfiJhL7gZ5h+iHJd14fMoSv1lPctiFgTD387HxXsU/B75YetDPWTNtu0nwCjjxeEvGb9EmPJYvl3ob4YhH6F9b95RMC2T6voTeSH/LeJlMBNCPmpaznnt+N8ePg9Dl+Gp0I1Q25G+DfE64cFJ3ffB6QsUu56E7XcV5A+StF+iO2x0Cn88iKFcWQ83j2a29f/ePXh9Jmv/LAoHhXM9dN5DfCnoHOjEq8nTLz48zQAHxWjbj/p7qLJdrm3zRGIuPIJvZfzFbZFc3iCf+uAfUN2u75/rwL9nMp3mB9l9Y2dKal9uUaDlk0n+JgX5gyQN4wLcq36j2X7rltqPfugU9uP/ogvojNg9H2rHS82csBtWIFPZkUzIv8h4AebrWbQ2N2E/q0apYBJSl+YkfUSKfW7XXF7R5ykk2tYJBZnrkqYPD4NjC/Kbbv+s2Pw+dC3foMB+UZLz3PYcXpSZpR2SyeinOs9sqh+B2t8DdoLt8j4YY6zO+99IpvdQwk7w/OaZLex7r5mjk3CF9BFk1XlmjzLeiWJvUP53cOoeZcpmjyCoztFof2Ed00uCk9WNYQz04Bsd8FPiTWMZDDwKw2aEHtCWqNH4gujaMEcn2cMwbObDv+TkLb8mnAaWwVsRehqq1zY+m8UfI1wW9oIH86th1OuBJO4hoV/Y1/pXvfsWKHEcXJLl/6ggv0rSPgj/DaYL5WJ83wn1wwKwCB8n8UqYLoRugjdBD45LwkGhH7QR/k3Dtw+qPCm/PPHYvD9FfDXowVZ7u8A8fAx6CZr/Ebg+jPIfJN4LLlq/gdGez/YqUCH/8ESvG1YVxCOI9fpmiYLzIGNfK38rLLMYK+PCbZltYS98HgFl3XQnZfGzCN2MuiEeaL7fTSiX9wW+tSWdvx4Kn8i+Iz3CjUmfGcaDyY3Ee9UJkdLw4Bi29syVsl5eOs2/NJdXx+dYlDwCw36n8BlkFqzDYKIjHYNvS9LzUS+dMUd/ns8c4Pv9lI32fqiLnvUSuXz/dCnWMyu1748AnbAuGVHPOu1rbzkY61vR/HFtfwFq/2ewbmyNwmhbr9B5Wjc8P7j/adsDp48SgRmIxDp0eSTWHDZ9Ae5V3dFuf2rfPrgIXpjxKsIYE/363z1dHRvCFD4AXwDN81w3O+yEFchQbiQR+G6WFvXzx6KiPaEp+1bF8bki7HYxc/xeCvPwEuw+69zfKZ+Z+z6Fb9s5IUn3B66T4J+hZ6pOaKr9U2Bwe3gD3At6fiwL2257PD8VwXXQfH3TbV0uKlsmbQQh9e/RQXgW0u0zZeSx0PbWhREUqbfbBdh9NuzfT3xeWAdGUKLeM7som4u86zI5ZU+HrhN1YQRFo9X+wja8idSnskpZsRPhIcn3o8Tnh8OAB4JToQuH/CGcDzaNYzBg24MjxL2UxrfhtrAfuFjdA9XhYcZL3JbwRWjaRDgn7AQPBXGRUV6fjIN3w9C5IfF+MDWF0sH+gUSJkz59HPpKktdP1AOO9X0GrgTHwGuhafpiKVgEN+Vo51rErfMlWZrpb4OD4qsoUJf0oGn/xMH0LuJewOqAG+YT8IhEmRe8s+FbkrSIrkbkSeh8DLyPiPLLREKP0MXr9zDa1kO8dPa5mc6flC7xH8E5CP6dlfVSO/Y/yT3/++2sjO34aE/p/wjYdteTfXrIL03+c1Ddyq4MHad+d9ooyXoZJ/Dfw7J4mcAN1nar+z7oPPAR0O8ifod08SUY+du/nFLffy7LdD9AOGOi9gtZunY3SNLrjH4lsWG/Lp5xiyTdNa9uOO7c22xbtwPBUZmMj7bjYF1wXf8H1P6t0HWtCJeSqIxjxYfgupDavx2ln+vAv5PehP1ohwd59T8NF4jELDye0Dx9v3CWVmegD9L976bs27ToG+3fA6eDTeBjKNWGTPdf+yPS3SOagOvjnTDsXET8wox1XIBR1ROj2X4rl9rfPKnt/sTDL/36f5dMx4aJ3oh6prg4y7+CsNM+uEImM0KYwjp9GW4Niy7/yjZlf1N0Pwj1j/tmp/11EnmXwiJsRaLnYc9ZO8BOOIUM7UxIBDw/ldmPmmr/etj3PDIebgOrIPa1wwsKpQ87df5Yk5oa4UN/7pEmZvF0TCpzGuy0LxUUL5U0gpS6D+0i/WbyHs7kniBcvYtslawRhLXdab+fk7xrMhnlPGfXve6PZPpHo/2YLsb7SbbBRfxQcZHXTep+uXZfz7eH9AnwGRg+8YDyNlgF0yLs4h46PpUU3itJd6B5GCnC10iM8mcRjwm5HPEns7xHCMfDfrAUhR6F2rCNa0HxAxh2R4iHXaJ9wUXzRajOe+Evs7jf2uqEVciIy5mbjgtn1OvoToUqpj+U6bTvZ8rKfi5Lc4NaMkt7rQaOwzPguTU24C50HQGnqKjzm8hH/1XZ5OainJuBZe+EtqkMpkFojR6Cy5Lvo8SxMNrjeHVergy7YSsyo0w3ucjbl0i0P9aD2UiLuRx5EYaMa1JsircRt111wcNk2Pt8pnRWwrB3YV2GCvRo5xGo/YuS/NOzNNek+ZL0OqP7oSza/c4Cxa6NHlKV+XFB/qBJW2e61b9TgbJNkvxPFuQPmpTaDz90Cpuwb/2de66xeR+7v8V+8SPiTcH5G23eLTHiwT7SP56k1x11Hk+E2roZepmbBcaedAnxJvExlEc7674Al6n3aLc/tX8dFfYcNgeMR+pB/N/tAqpv7GcvyPr/suyb4FXo9ADwKqEOH03Ynxlb4ZsYN85ff0jMYxIJtq8TnGPOcZk+fqXyRQ8AkT9nRDqETbQ/NfUbPrwj2EdlsQWC+i3/ADA7aROzvHsJp4NNYASl2t8jp9wzjPeL6NPzidf54BzmRjIbh0ZCh3BF0h/OZB8nLNqfOxTtmDxCju07s0BC/1+d5StzOYy7ANHaMIIm9Y9G+1/VCB1qgx/MGJttDIAII38icl+Gw4STYGyDBvMHINu6WGLv/cTDD4Z3Qy8iZZHqP6SgkBeO0L9OQf6MpMUB9BrieV94eInD0w8LypdN2gDB56F18SJyXBb3+w5Ypc2IvwpuqGvCDeHvoTpTPsr3e6H5y8AUjlHTj4dpGeNPQdtv/vJwEHyIwr+AC+aUrM73arm0Jj7Ho9RfW+dPlH+UuBuMC1MdcC4dUYcidKjrKGjfVsG8CMdF9z7iVTeYgykT42D3KoYnE1nnr+PdNtwP0/Z/KUuP9hl6IfCQGHD9jfydI7Gm8K+Zbi8e2jwg+9Ze0dpEcm3YF03Rrtv2E58AAEAASURBVI2Ir5J8f682K/+tyP6Ix4dz/jv7lb+Aeoa8/NpQIF45yflzHbTt+UctD2Tx6/s9xJ1zdSO1bx1ugtZH/gNGnzRlHxMv40T+q63n4HgoToGmNeV7bQj9HH3gwXsMnArqC+3fBcs+NiLaF1zrw9c7Et8/+V6/L43lC02D6ESoff3gmKjrAoyqUhjN9lvB1P62fH8TRn8M4v9dMj2eUTrBNehvUHsXw5mgMN3z3wrQvBFYFU3Y96wVvknDHQoqN4m0SwvS06Tt+XgJvgA9zwUWyCKxDkyIjCycgdAzseU7oYn2h63PELkBbg6vh9anDLZASL8dXiC8CGl3ZvmelactkBk0aQQF2t+jQJFj/eks/zJCH+frxggKtX9oCcVvRebhTP7fhKuWKNNNZIRMbZ+ZE3IPiPOP+ffBeXMydX2OoGi02v+qNvw0q4iVKcvHX6Wh3o99UOeC4aVZ2AG3QgfkPLBuqPMxGG1/lvgaBUb8dTpkDJ2YZTE3gl7yD4IOsjymJuFA+BM4Jp+ZfX+F8GTYaUC6AJ0Il4NVsC7COyT8M/G0nRH/diKzHfGFYBV8HOHQ1Sv0EWJcptyNuJd85LuBLJuV6yfQt3PkCnrg3gG+MZfexOc3UGpbbofW413QNpm2MqwLRWOwX9396DoEY9Fnu/dhWN88nulwkZ6+Dx2jWWT/rO764NMFFdmVtAvgNfBgOBtM4YYcF1YvJnVeCjdCX/SNm3P4+TziTcN2xUbvy/tfoHXxsaiJtR+1r+ArxKLda7+S+ur/r/ofJul1Rz30hv3dEuVbJ+muoU2hk/1tMBj1atK+7XoTjPXOR8q3wbDdpO8x8zJSHzgvvYSH/Z3/I9Lof72E35HZvJPQw672L4TDQFMX4LJ1H+32p/bdg1136vB/mQuoPpoDuuZr83zoWe5q6Fmr6QcATFSy7zl1ErSuQeeuczgP5S7NJxZ8f4w0dXn+84K8J/wZFJ0eADxXnwPdBxeDRdiFRPVuWJSZpFX1/wTK+lC+VKbDO4Jn+DLo9gBg+UWhbbLep0LHZp0YQZm6ix4AtLMBfAYqY9/5Y0CdGEGZuss8AGh3RfggtMxjcJDz8Eim50zCPN5HguNPO4/Dd8AmMILS0Wr/q9rjwnIRvDqjlSqiTlfmSujEbApfQbH2n4Pvgn/Kvu8gbOKg/+5MvzZfhB64iuAl/XSonPwnfK1jNRoQ7aka3lux8e9B/oWS9u5HbrZM/5qEjoUy9fPyEC/GWfHSweJI+vjjpF8vKzUl4e+htq/N0poM5kJ5LPpeuLzcattN7vWCBWlIbCy2ddo+G3Yg5WJM7NWnjtEoNjtGXUut+yTY75r2lUyHej4J64Qbfvg2wjXrNNBF15cLbH+ri3xdWemjivth4DQi+uBpOF8kNhBOgc7roLZcW8fAqeCN0LRB5grFe6KT/ZsoOQz7UcFfZ/Y8hF2RxZv2fdjWB67zttf9fWIWv4NwGjgMfBQj2k+5zjAMY8M22lZt13kBRl1pjGb7rWQT9ndBrz7dUAM9MC/5t8G0/8fx7TndtBFYFU3ZX4uKeFazXp69PgKLMInES4syCtI+S1ra9iMzmVOy9AnZt8Fu8BY4Fm4L/wo9p+fRRPvnx4jtOgHukFE7T8H3wl7o9QBg+cXgPVB/nAqdn3VhBEXq3aOLwo3J80ys3CVwFlgXRlCk3rIPANr1QSzOTo8Sf7OJfWCEMtouegBQ3eYwHgH+TXxVE2vGCPpGq/0dm+JLo694Vkx6IY64B5F+D6sULQ0n8Nkw7Bp6cVwdNgEvID+B18MP9TAwHfmHwYuhE/i1Dvv7KuhkCj5BPPV9xCPf0MVen1WFvp4J7ghDbxp60Dd/KpgiyjkxU/mI/5z0onKpjl7xhRGIF/9HiLv4fg6GjcOJNwnH0/fgn2DYjPAXWd4mhK91/JgGRLt2HqAx6UX6AfTMOICuYRY9EGPR/j0HMDyWss5FdXkImwHWhQ1RFHU0dD0eFjxkuL6E/ceJ+zA2DOyLkbCrD96efDs3m8ZWGAj7nyb+4eR7kLlStt55++k6PQz71vNN8EUYfjAchu8x8zK25L+pbeMf+U/WUP7rIf8OGHU4byhW/89IExfg/9PeOzba7W/CvhdD+3O93s1/WWJ5/vsSjDGwCPEVsu8Rwqpo0r5nNc+RY7pUahJ5F3XJz2f9hoRo+9FZ5ilZ2oTsexXCh+Cy2bfB8fDA5DuiTbTfvWGnhP51VHxvFoa7hJ73bGOvc+WSyNyXyZ5GOB0UM0Pr0C9GKKj9PXooeDf5TTwCjKBX+4fCsoh+tNxV0DNgPxihkDrO7FLYfcB7p3I+Ojje6sQIykar/R3bkV4+fFl7J/QFxIpKLyJNwYH9N/g0zP/i62L4DPSCVmXAIN6iggemQDYWWvtbn0ffO/nqwLwoceFW7xPQQ2d82++dJtpY8u6FlnNB2ib59sBYdnNFtCO2JyfaezvxaL+vsLN1LFVPxr9QE7Y7hf4K+FrGeCofc9vF9fNw7wF4OWXDV18gPrljDioY66lj1gcA51W/vICy0f7PEq8Tl6AsdLsPDBNfwljY/sYQDc+KrXh8cGz9JauH+848sGm4/l4Lbbu/QN+RxQ2ngU0jb38iBq3LsOxH+07I7Gp7WL4P2/rgmsT+rcT9UWKY8CJh2+WawzSMLcfZHTDsnzdk+5obzfY3Yd9LlA+ZC6u8BxYk31+yw/+Gi8K3ZGkjhFUx2vYvpcKHlay0F+k4I9j2Y7JypxL6PQH6g9DvoH66MOHFWdrihCmabv+6GDsXTpka7RHfgnzbc3gPObOXhpOg8mfC+eH50HnSL0YoqL5eDwDq3xRGn+hzz+KBbSNSMRxBXvtl73M+wnoPtIzrs2epfjFCwfBlNx1bk/lCJusjQP7Bxb3CsdgPRijUb/v/TtlB2l9Y33WyClkpL1grZVLvS9LtgBmz9LoDHemrjvY70c4oO2AQbVHRA19DPnx/DvGl4P1Z2vOEjpFBcRAKwkYsYOuTFgvM9zoY+FxSbu9MxovJU1n6kVlaP8EmFLL8UTAuAFFHQx+mzPsFdLFvAiugdGf4dZjaNv7bLM9DwGsZbnb5ttX1bb/NOpk758AG2/8guv1VoC5sgCL75k91KaygZxZkfRT8N5y9Qrk6RL+MkvyY/FYdikvq2LLAvoefYWG07dvOZaAPZPbDMH2PuZexBf+NMbB9ljbMwEv47fDsYRpNbLkvR/vXTNKHFR3t9jdh38tCGUyN0JgcLesaYJ+cC/vBaNova9t25dtuX0wHb4G2v9/xWLYOVf2/EHV6AF4B3TvKItaYMg8A6lweesbRB3Ep/SjxfjFCQXWVeQDQhvUNu7Z1TrgXvA32gxEKaf/QgsIbkyYDOxLx7qn8dXAuOAhGKKwuH1N6wR8ao90+AqyaFHBvWjz5rhIdQbhT+1chb9lEWdr+a0kv1X4HchU4iG2o5T4BvfSI38KdoBewP8MnYRPwAhgXHG19I2fkYL5Nb9GMB3zJ+2Km+lZCD4Iewt8FL4IuzCfCFeGdsF+cTsH1oOPq8EyJ42oN6KQ/LEvLB15ENod/gd/OMq2XjwA+Uv08S+sn8NFh0S4F30qeFC7EK70cq/c/V6POl72RTO3NhJfBD0L99QV4I3ytYiYqPj9s8lC7Nvp/N5k6aBrq5frmmG0KG6L4pJqUO98ugfvWpK+KGi/+34WuOQ9XKViD7A/Q8Wk4W6brCcJvZvFhBCdjxE1+ucyYB6yjs/gwgtG2bxuvh+4174bD9D3mXsZv+K994MXj2JdThvuf5zH3NXjTcM2+Ys3x5n5zBzzvldThRUa7/XXb/zCu2wd6tu4HU1Jo4aygF6CqGE377vu/h1H/qnVX3rV4dvgC7OcM1FT7/dHS/fYX8CB4JTwLXgrLwktgGVyDkOvhBXCqrMAUWTiMwH1he3gMXBHeCv3BZSKsGzOg8Hj4mUyxZwHbegNcB/4LDgvWQ38fDWeBnou8E20A94Y/g3VjQRQeCT8FtRntd18s3f6qi40b3pLQTvUykuIIPuQwsCxGvpoZ+hLhi/Ab0AX0XGgHtKjfA4dkKp1cG0Mv/+JKuDN0ArgIezDZDvaLCykYl+lUh4tmt4XzKvLflhbI4qbLQbA/hX3wcJFZAjoP8nDcPQf1Q1NYC8VrwKfhVtDNbhxcHW4NredrFV6kHFf/q/BQ+Vpr//up812j1GGuR3HQGWYV/o0xN9wDMqOHEg7zwPH/sOf+d1Jm33p48B0WRtt+tFMf3AaH6fuwrQ9ca8dAzx+jgSMxaj1GA3VfgPtpw2i23/rWad+9T1Y9k1uPgOdzzwNxNo70MuFo2ncshf0ydS2SsbyPYT+B/ywS6JEW9uv2//ex+xj0sewluBM8Fq4I3Ue6wb9cFff+J+j537mQ0M6UPSWbE/gVqsfCQ6H3RDHFf4La/2tffS/RejPxtWE//Z+o6Stqn04Dj4Azw/NgtLup/vDhTHsB577tfyASXq/hFjTMje9UGE7+GvF7YNEFkOQWNXjAQ+8VcIUOunYk/WL4WrvEdGhOYbKL213Q8fcs9PBpXG4Gm8b0GNgfrpUYmo74e6B5LVoPtB5o3gOzYMIHUA9xszdv7r8suO9dAz30jsYjyGjbD4eMRtvDtj5o6nAXNtqw9UDrgdemBzwPPgL98enChF5QvSD3gmvLutCLXhmsiZAP8ikXK1Owg8wI6Z5rd+qQ3ynZH8o8G8e5+M5Ogj3SRzIdPyiQiztg2PCvDeYvkOs3aYSC6j6zooJds3JRL8OlK+oI8REili/Tfh8/5oX/M/DPhab+n2lt29DJxQP+KVdM7i8S9zHEX+NN8zIwD2zReqD1wOvfA85/f30fLWyO4Q+MlnHsjrb9UWx6a7r1QOuB1gOvaw948b8M+ufmZeCD6D7wFuiFPHg+8X5wDoU8V3++oHD+AcCHFv/kvi6MoEjb/rOGKvgYws/BuCMYvrGKgkS2avvXTsq20dYDrQca8IB/XuOk/hOMX5/eR9xHAP9kq+xiiWiL1gOtB1oPtB5oPdB6oPVA64HWA60HEg9sSPw4WPTLvn8ZcV2OV/Nd118f+7j/BPSvKcpgNoR8LEgv/hFfqoyCApmq7fefYr+zQE+b1Hqg9UBNHngHevaEM+T0zcd3+ic4LggtWg+0Hmg90Hqg9UDrgdYDrQdaD7QeaD3QeqD1QOuB1gOtB1oPtB5oPdB6oPVA64HWA60HWg+0HhjQA/7vJoyD/nOEJqB+/3fmZm9C+bB19usk/9cO/bOMOaB/Bu2/fb4L+mfQw4C/ri4KU/t38H3fMIxjo7U/uv73l3b/NyDs/5fgY9B/b/QgbAL+uu+f80zKlLf9P/z+9y8vPgzXgy7wRXANOh0eDf23ay1aD7QeaD3QeqD1QOuB1gOtB17fHpiW5vlPcyfA78C9Yd04EoU7wJthv3/aT9HXHvy3zV+AF0Ev+l6IUr7At/8fhN+GK8K6sRwK/V+hvwl66UttR9x/n30UXB/Wjdb+6PrfC+DP4UQY/Z0P7yTvMLgyrBtt/49O/69JR/4Vpn3t4nsq/Ck8Ep4BffxLZc7mexnYovVA64H+PDAzxdzLVxqQy1J+Stii9UDrgdYDrQdaDzThAX/4iTOg/wN6deOzKAz9/ug9Xd0GJkd946jUMdD/r9tovIfts+AJ8NfQw7aX78g3NN9L06BYHgUe8FPdN/L9W/hclm7+tTB9GPD/emN1OCiK7PvY4WXzBvgsTOsW8Sbta/d3MNofNtOwSfvDbP+atDO9ADoOr4Enwh/DtM1p3DFZxwWwU/9PRP/1cDT6P9rpY1x+bkRek/0fNrqFg9r3L4u+D8OGf33xBTgedoIXje/Ax6Hl7Js9YIvWA60HqnvgJorE/Bs09AzRovVA64HWA60HWg/U7YF9UBh71NPE31qzgfegz7tH2NihZv2TpbrtqZXOtNGPwANht/9LAy9cX4Px/43uBfVzsF/sRUEvm9p/CB4Ax8PAo0TMG58lzEO4J7wdmu6DgH+R4GWiH6T2ffE5BK4J/VOTwK1EtFXEOu0/iA19Ox4Gov1Ftk2r0/6w25+/AOrn3eFc0fgs7NR20we9AKb9r69/AH1UmgYGhtX/+XY6t2bJKnElYT7f7zr7v0h/r7R+7fuy+oesTfbhvnAMLAv/icZPYdTvJ8SnKFu4lWs9MEoemBm7qzTMBUu2zfkW86eO8NKSdlux1gOtB1oPtB5oPVDWA5sgGJdzwy3LFiwp9ybkvP/EPvjVkuXKiHnP8UfGfu6o4ynnnbcqPF/7Y1lXHEBuNPgXxD1Ul8WMCFo+OuVY4lUa6GH9x1D7cYnwcJRHXIDH5zK8oO0BvTyow8tElT/XSO1b3j89nx0WodsFMPw3iH19eBCctcB4tD/sdAoHsT8a7U8vgPGIlF66U1d0anOaXvUCmO9/y49W/6ftSOM+CAXOJJLm5eOD9n9eX9XvKvZdJ5QPGy7u/cI1IPT8sF8lbbnWA0PygJfuu2GM2brDF9Ddc+PP2po+ABxJmg8HVbgm8v5oEG3YkfjrBQvRkG2g/8b0s3AHWMdfm6GmFEbT/hLUcAfomcRH1p/Bg6H9uxhs0XqgDg9MhRLPvGMHZNG5uY76tTomDw8sTTXSy/lHa66W5/7bYOxjxxOv88ekr2e6v0NYBbbbu9GTsNPdpJM+/zrf9nT0lS8cCmjgw7BfbETBJ6C6joFlHXdoVsa/PtgMdkJcgMd3EPDXFC9K2v89nBqWQWr//T0KlHkA6Nf+U9judgGK9qu/F18r7Xfhjwugfbcq7IZe7Y78KhfA6P9nMLxlN+PkNdn/UfeisMoDgOX76f8iu/2mlbXvQqgNH/4M74KLwqrwVTX+EinqvEtVJa1864Ehe2AH7MV49fHX/XMQuoeHPi9rZTEGwSjnelgFzlfnbZT/XJXCk7HsGtTtnKRd0b4Irybv3Q3Wf7TsT0mbfPC4EkZbO4VXILMtLHvWQ7TFKHpgSWx7EXBv7MSdyet1DkPkFUwg1klXpH8EGR8UizAniZNgpzFWNd1/qjl9kaE27TXtgVmo/Y0wxsP3a26Nd5E/J/ovJj6mZhsnZ/p/XVHvhlk521718dl2WO7b8L/g4m3mC3CL/8qtnvAOivhKoc4vlyi+ayb7LOE6PeTjAjy+i5wXgYdhxwbnyqb2N8rlFX2WvQD2Y3+9IoNJWrRf3WVY2OGJPqOj3f64ANpny+bqVvRZpt0h4+bTC2n7e/lfXU31f9S5U/hg0pAziXeSS9Or9H9arq54L/sTsnZ4+d8YjmTfdxKOh2XhuHkAWu9T4MezuA86b4QtWg9Mrh7wsnU1dOy6By4G+4UHGA+/6nocVvlzQQ86Me+rPAAsQjnna5TdnfjrAQfTiGhTr9B/KmY/1onRsm9/XgDzbfbHCft5IjSez7fMONhi8vbALVQv33dF3z5GLlWiKSuU1KeNazvo81HCta+oHv2k+UPATB1stcmvTQ9MQbU928V48KLuflcnvoGy0O9aN3edyjNdRxFq44Tsu2zwoaycZSeULZTJxQPAgflyvsj9G6p073zmAN+bZzpdRFbromdx8vzVX/s7dpGLrEcz2fGR0CH0Iqdt9a7fQcbk1P7HusilWVUugHXbj/artywn5/ZPyNrhBXBtWAZl261crwtg2v8fLmMcmab6v1e7HkzqV/YBQJ1l+7+X/X7zO9l3Qb8Gqtd//iNmgOdA0ybCcbAX/Pda/4SW+S2cBqo7DrFlFloPC+tA16qZ4aDw4uWfXS0yqKIu5f3rJsfvsDAvht4Ol4Z1X3aG1YbJ1Y77leNXnjRAJXdJ9Hyxop4xSdmyDwDOz4lZOdfwXWGdcC77S+RO8Kvwe9AH432h6/VbofOgbnwLhdEfhmfAjaDtnROuDl2znoch9yPidSG1r19d174Gw9a3iR8D44xjeh32nd//gmHH84aH4hVgeth2/r8ZHggfgSH/EPFVYIvJ1wOOrXvhpA5M+//TJZqxPzLR/0XhC+T7GHk/3A92guPmbhg6vJc47yf0oPeW9PHgRr6Xg4NiLAp+BX8Kpx1UWR/lXY9d61z38nBdPAgeAKuufytR5pfQsAo8m30f7gc9X1XBexE+Gi5apVBO9rN8x9i4jXiVf6KeU1X4+R5SXWu14Q/YrnlNIB52z66o/BDko/3bVSz7j6ysPnwVHOAq/curUuv5ODLTfV4XdadkMqd1kUmzHs3kx6eJHeLhsMs75Jsc9k/tIpPPqnoBLGP/jLyRDt/R/hgIZcIy9kej/S4icQE8tEN7i5LLtDmVOaFISZYW/e9rYlk00f9pfTvF+30AKNP/nWzWkd7J/rtwuPrdvOdLnD89cdcj8+6A42AnvJEMDzLK/ga6MQYmEDHdQ/LCsBN2JeMhqKz0sOJfEPSCh2AvJGvmBGfh+yqoLn9tmRs2AS9B2qh7I8zX1U3b9SE2R23eCz8AX+9wPKVjM99ex8A4WPVAlNfjt3uAvpWrwqrwESvmggdp51EVjEE47JdZj51Tt2dlHBu7wLqwFoqOg87FqFOn0L8cOwZ6ea0Dm6EktfXJLkq9tGg/5D/URbZsVmrf9q+bFZxAGHbemaWtSZhewAex/2Z0PZbY+B3xOWEvzIHAyTDqZp27XS6cU0vApQu4FGmDXLbUrY4i3dp0vrbo7gH9/wC0P720zwo7YV4yQvYO4svBxaBr5lhYtS/nooxnsRhLjsctYCfsTsazMOQPJ+46Nigc91fB0OuYGiZcy8+BYX/ZxLjtOz3JWzHJKxP9VVbWOVsFqyMc9VmkSkFkr8jKHlixXIi7H8Zjq5fz5SOjpnAcetJ1fMua9Bap2Y1E/XhzUWaXtL9l5SzrA05ZuCY+Ay23eVrITnwhy+jnwJHqKorPQ+LTmX43yjxcpD04SA/yZRAX4PElhF2A3Ixs+ASYR9g3f4V8ZpfvqhfAXvZt/zJd7KVZ0X51VuGEVEkWH+32xwXQCe2CWxZV2q1spwtg2v4qi2jd/V+2PQ8mDjqTeNlyyk1IykY0bX8VXf3IFtk/noqoy8N7Hl5e4iBwB/HxeQG+rb8HFHWcBItewq/M8j9PWIRPkRjlXYMcB2dlaRsRdsM2ZFp295zQz/ielOX5sGDd6oYHK21cWrfinD432keg7Szijjn5YXzaz1MMwdB02JgIXT92hXlYj99B/fKNfGYf32+iTOzHF/dR/gDKRB9t10f5MUn5Q3uUX4j82zJ596+de8iXzX4bgrY92pGGT5B+L+y2B55NvvO4X+iDf8Kw28sP2lkH6gPLuEbPBPtF3r6PAYEJRKJerj2BCURehIPYn53yd2c61PNDWBXfp0DUbxLxTnv6uYlcyKehfdyPD/XdXT109zOvUPk/h0/T4ugT98MZCjwwG2kXJnJ17QVTonM/GGPaevwAepEJzEzkRBh1fIr49pE5YOi95ToYuh3Xw4RtS/16Gt+x301PPM5F1u/kJI9oKYTfTigl/X9C7yMaPlnp/5JLxaI93ywl/WqhsXzeCcP2tq/OHvhrKjRE/bRx8MAauytwf4q2LNVd9JXcZYjFHmNZz5UzvJLbPbI+2WFvXCr65SzDQ3JTOALFGj+swEAcWP5UkNcpKTb/8Z0Ecuna1b71yCPsX5LP6PHdzwWwm30ndFlE+6NDy4bd7I9W+4+n0Z36pps/yrY5lSu6AEb/X9bNWEFe3f2f1rNb3MNloOoDQLf+72azrrwi+/Hi6sZSBA90cRmfSHyRRGhJ4vdB6+cmODUswhdJVOa8gkw3VetwN5w2yZ+O+OegF7JOsKyHBOejG3Ye65Kg3d3zGXzvBb9fkt9CblGYx4dIUP92ScbixN8BxyZpHtJWzaUl2T2jlyOhnU58jDwvD03D/v0MvA1al+fgCFwNNgXHRNh7kfi7c4YO5zv84gG1DvwYJaFzywoKF0TWQ7Bl/wYdn1XhfAvbh3YpvAB5sQZ6KPlYF9myWfavY10/Rx2eJH4kfC+cD6ZwjnqQ+gQ8HablnuV7b9gPPkChsO/c9oeLXeBP4W+g68j50EO5l2QvPc7PY2GU2454v0jt/wElS8Dd4DHwahg29L/2d4Xj4VEw8vqxf1JS/rfE+4VrcdTjyA5KLkhkQjYf5vu7g6pXJbsO5fXkvy98VYn2o5MHpiLDc2n4z/HmWFsZrgTd1ybCyD+VeN1YD4UPwLBxKfGF4fLwpiT95iyNYGB4+b8ehs3DifezlvZbkVkoeHFi/1zicdEzPCfJO4O462BVHEkB2+dcrYI9EA6/vKtKQWT/npXdv2I5xV37wm63fakP1S8XiTOiNs6Gjv2mcTsGtOcaXgauyeGDCL9WpiAy7iOW8S9aXoVL+DLDw25T2AjF2phYYODyLM8NtizclNU3vmSBdTL5ewvkw/6eBXndkuLwYz3Kspv9ftpf1m7IdbM/Wu1/OPPfpt2cXZAXbaoSnlegJ/q/6mGx7v4v244HkzZUfQDo1v9l7Q8il7c/nraEvm4XyOmRc1FW9k7oYXsJqD7TXBi9PHSCB3jlnoBT5oTmyvI8vFfFeymg3oM6FFw3y/eglMc9JFi2DJ9Hbuu8Ar4dux6OPADMBE+Coe8Z4o7pz0AvQ6ar55dweVgFobNb+PEqCvuQ9eBzLiyqg+16Tx86yxZ5C4JxsXa9WiormB6GriXNPqgDc6PkMWhbXWd8hCiDoxEK/6xZpkCBzJhER6eD1vzIeODWVl2Xf+f/BZlO9dqn34JzwLJ4I4Je0MMHhsfBaWAVHIlw6LB9Ee8VOhdDxr7oF0dSMPS4ZkW8V3h/IlvV/upJ2UnEx8J+MSsF74PWV/8tDvPwgO0avnSOF/Id7ey2JyBWiFlIjfJXEs/rX5K0svOp0MD/WOK2tDf82St0DDWBBVCarg2uwbEeW6eTof1eB+ZFyfUw2uoaOEUdikvqsB2XwLB/OnHPP8L95TwYef7lmXt/PziIQuo5t2Lh9Izx6YplY33crWI57wbR5suJ1z1/l0FnnJFcQ91/hwH9Z7tcI9/Vw+A2mWz4IULPeav1KPvhpOwOqayH4SezzF5K0nJV424mUeHUuW4CNsC8FWBZPIqgZcaXLDAzcrGRe3gJpPZXicSSYT8XQOvcyf6bS9pVLNofPq0SdrI/Gu0fT1ui7lU3+yhXJfQwlV4A0/5/J3lVUHf/l23Hg0klzyRetlzIder/yG86TO275mjvkaRNnaJeAM+Byt8N4wLtJtjrgD9nVs6y+QuFm7uXLTf9TngfGbEJpzJu1G4caZvS/HX50ObuaSJxL6s+PExdkumYpcjLeAf/VfeB//l8w/GEtmNXuA68FJovfws9nO0LvVj9GVZB6OkWHlxFYR+yvpJ3s++hMN+3fZjpWGRzcmIPuZ24DzIvQOuk7YVhndgHZdHeMgettyD/YlbmlAEqMiax6+E3j/lIuAlaN/2xCxwUrv3pofs2vm1Pv9iYgq4p4T/Hf681Imwpd1lSNnQYejj0AP57eBa8Bj4OU5mIX0e6a0tVdLMfuiPUZ/+G8Z2G1/YwvBj5H4Y7ZYz1VB36y3QPnVUO29b9/VlZL2VRH8dj2NHmONgJPyEjyi3XSahL+puS8sd0kWuzuntgC7IvhNEXZcMrKONa2c/Yp9ir4NjbDB4LH4Cd6nA1eQfCleEgmJfCN8Cw891BlPVRdhbKeKYI+6cRj/nn5f+CJO9E4lPDfrEdBbXzz4oK7svKWfacCmX1rfuF5TyflMUcCE6ClnsMum7VialQ5qOC+t0/q9QN8YEwHaXdJ7T9BNwRFsE58AxUrojuAWvDInyExOeg5RxbtveVgeMhdAYTwD/+EzTyXy+sTuC54fgsTvDyIVgniFv+EzTy38fR6kB3EC4EHcTC9od9J/4w0Ml+k+1P29XJ/mi0f8GsYk5sFzr7p0nMiPLZ4EOZkcmp/5tsd6q7U/+nMk3GU/szZ4bSR41Otp8i493wL3DVTOhMwq2gl9pusL/dfLxIp/1vGRfGn8LPwAPg/tCLXYqN+TD/PTDqugbxVeDhMNYToqWwNVJHw+NKSf/nf0PlMGQnJvKfIG49fwK9tOmHz8IfQ+HlxDXPzVN7+ugCuDDcHtYNN7Cm4Ka1Qw/l9qvtqvPQthL6Fszsvkjow8kGcBF4AgxcRGTFjMpdDB1zg+AHFN4VjoNfgkfBbg9l3yHf8W0/Ow6awDwoPQcumSn/JKHjbxBY5+PhGzMllxFuBB/OvvsJzqCQfXc6XBpuBq3nR2A32Ne/hW9LhP5B3LJeYu9J0iPqIVz59eFucC4ovIieCb1El21LkX3PTUfCs+B1MNpF9A2bwNvgW+GmcDvoeBHLwpPhjtADYh5/JGGJfGL2rb+kOBh+7uVY7/98BZEvFohZNxm4m4jrUBEuIXHnLMNHzmuLhLqkrZ3kqasT7Cf7bJpOAg2lOz/PhlPAVaBrWxHs9/OzDPefGYqEkrRniZ+Wfa9O6FwtwoskXgBjH8vLLESCe9NaScb/I34Z/Cu8GXqed97OAZ23q8FloHAddNxZ953gLbAqpqfAnvDTUBu98GYE5BfglfAH8Fj4EiyLWNtcL8Rh0DoMCzNjyPXCMSFcwzaHz8HIcz6I38MPwBf86BPnZuXmJnRN+VsJPY7D+RI5x5lrVtG6mIi9HH0f/3XMO/4dR2VhP8RY/iTx28oWLCm3D3K2X3wXnv1ybDj/cc6+H3p+mAUeAXeAp8O74Fi4CdwIdoPjw3o7Lv4EH4b2k+PnnVC45m4NX/QjsDgRJ7eJdk6TuAnl2togMeIGZFrVgewCZLnxsCxuRNAyGyYFUvtV2/8V9BxagY8g28m+k6IKov1HU6hsHRwUnezr/6rtvzXTp84qTP3vwK5Stg5Zx3wg+t+NYlo4dQXW0f6wX6Vd6cbthlGlrLKp//uxX9VeXj61v3ZWfxe7MlgeIdsfOi23aImCHp6izPhM3g3pTjgJxtxQ5ukszfTgU8TNuwXODsVp0HXTy5CL+NXwuhzv4Nty9+XSY/4678rwGeRczAMu7h4MTsoSrJN2tsm+DaaByvzdjwQHEVe2Cs5D2DLduFYVhRVlPaR0sx15P6mot5v420vaDNtpeEc3xRXy3LBDrxf8TngPGSF3SCehkuljEl3uLQEvTI7vsPPZyBgw/FKi00PoLAPqS4uP58M5HHXePc3MxVfg23kassa3glX2RR+YvwAfg6HHc88CsBfy9h+iwMeh/ZEixqV71jxpBvFp4SfhEzDsX0Pc9SKP75LwT+h6mmecVdRxNCyLnyMYdh8nntfr9wOw2xi1vf+C6rHuU8Ky8DJtGcu69uX9Q9IrOJ1Y1HXYoWtyOpeK7F/4Sk1fPYaLZE1zTwmMEOkkZ/ptIZgLPZs77qKs4+BrcH7YC56rvgXTsf9vvjfrVTCXvwrf1i/qYGjbjod7Qte6NaD7zZZwX/hn+CxMy1zG94qwDBwn18Mo/6MyhWqUmRldFyX2zyQ+Xabf9fDiJM9zh/O8DlyCEtt8XAllzsO/ZfKefZ/M4mXKeq6O8X4q8bJYH8Hokyrlyup3XD+d2biBML/WltUzqNzKKLgPRls7hVHXNP9qynmGTNPycfttYfhfGEeKwm4mVRba/1JUIuFOZLS1XiJrpcJ+lY3WBcFy42FZ3IugZdZNCqT2m25/nfb7aX/4v672uwjoz6pM7a+dlfeC46JXhVXthvx47ASi/yNvGGHa/n7se4gK6K+qdR7UflV7efnU/vJZ/V3YemE5BOJg6KZzPlS343o87IbxZEY9Zs0ElyD8Njy0gL8mzUc5yzwMn4IeaD8IxRvhS/BkP4AHje/DvK5TSFPHebk8LwWm97vh7J+VX4MwcDsRfeKBQXwGasNHio2hmAe6DnnYqYIlEU4vBepNqb4pqiisKKufoj9Su/m4B9C64Pgosynn6+D37+qqBHougur0gLsozGNqEm6EythHc8BBoK+jTY7nwKpE4tDnmFo9MgYIl6FsHNwdl2UuGlXNebh6DtomLyRzwzwc37GnKue6OlteqMK3+q6F4Ufne7d+ydt3/ZkTdoIXHy9CnbAYGVfBsH8L8bk6CRekKxtlf1mQ3ynpyKTcuE5CJdL3SvTsV0I+RL6UlPtxJHYI9ybdBxD7fZh8CHvfgEdB51H4OR+6lgfKrEPuU4FziOT1xbf7VlGffoz0dI09ke+iuUJyVyxA7u9hau9DXUv8X+YuRNM6uK5Zdpr/E+kYm5WcT8F7YNh+hvg2sBts4z9glEnXvG7l6sqbCUUXJPb/QDy9/Mcl3fp5CZ4W1oX3oyja/a4eSj+dk/1C8r1Jj7KfSWTX7iGbZv81K/cEoeOqbvwIhdH+KvWqux7qc/x+Dd4Oo06uD3dC9y/XKteOyIvwftIcv+5td+Xyr+P7k9AzQiEcfKGo2wZVWLhCoofDJzNbb0vKzZClWYcqi01s1uMTXd2iU5IZB423JoL92k9UlIpOVcK+h/OyqNp+7XvJ0s91tb/fB4DU/vJZnVyo7aMqiHFbNXSiBdL+r6qnX/m0/f3YfzAqT3gmrFqPQe1XtZeXT+3PSP1jw186aVc+uiwJD0B1HQcdz5Y9D5o2EY6DnbAVGcq5WJbFegh6WDoLfgMuAQNHEFHfSpHQIVw3k9s9l38s35fAg0pyf+QWhMLDkO34ux8JrK+bwOPwWmj9rs9o/Ab4CHQzXQNWhf1zDlRXntpuGqdjIG83/62/64T7lptn0H4Lmy8k8e0SGcdmnVgZZY5D7Z5YoNgNPuq0d0F+1aQxib5Dc4XX4jv28ceIp3t5TrTU5xlIRd23LVWiP6HvJXZ+kFMxM9/Ok6jH0cTr6EPX9j8mekeIO47yyNt3bXHcDQrXx9NgtMvD9HQVlMZh8+IKZeLA7hgpamtZVZb9G7Tujv38+knSf+GDpHhgtswdcDbYopwHtkIsxok+3LNcsa5Se5Eb65Zr5WZdpd/whq+TH3VQ/iuwn8vuLJT7KQzbhrvBIsxFYuyV2v5+kVCDaekZRvs+nESbbcelMHzyW+Lu/XXCdeYiqI3H4fqwCJuSGOe0kzMB52jUz/P7ull6PtiChNgrT8lndvmeQF60/YAucv1mjaVg3AldJycnWLdxcCX4dxh+6BWejqzntEWh+0opeJhU8RqlpPsTslJR+fQCpra7s7y1/SiJR5FT3/iS8m/O5F0MZsqV6cd+TkXPz7cgYX272e80gYqUV21/+L+b/Sr+t063wujTsmHevgtgLCxvVGkFlLWZyjnW84j+T+Waiufbb12q2n8waUDVB4A67A/imyL7l9EedXqRKcKbSPT1U5kT4FQw4CH7HGje7XBhWISfkajM74oyu6RdTl7qb0XnhW54Pgz0gnNau7vnBH3s+1eWZ34ZeskUXpSU38mPHBbiex94DPQQ5/xyvdsb/hJ+B46Hg8D27wCjzuocBhbHSKx7YTsNj224Evow7F1C3M354SztacJVYFOwbWE7teMlJy5qjv8qF7xOdR2T2Dq0QMh94qlMxva/tUCmTFLsybbrOjg91HYTdMw6j7VlX3nwDxxFJHx7EvEpI6OG0Ll3FQz9BxToPCrJ95Bfp319eXGi/3vEy+IIBK23F8LxsBeWQEBZy/yxl3CJ/HHIxNlUna5pSxWUsy9/CJWRD8BlYYtyHvDc9QTUdy/Bj8C64F6lTnVrwzlfhP1JjP7zEXuDIqGKadsh/xyMdlmXFAvwcSMMu38h7traNF0vveR7ybsEhn3jzqHxcEl4KYy884m7/42vgbY7xSJ8xB7i/D0Mrgbnh9bVPSDm9T+IzwwDCxG5F1pPL9OuLyvB+aA6fgGjrPtTuu7y2RU/Jle9ls/XuWvBkpnbIxf+XatkmWGKvR9jTyZ1nEj8G3BTuDJcE34QHgnTc5Hr3wRYGm56OmL/0iWqC+6W2bipoOhxWZ6NK4to8PiSBbxc2MZrC+T7sV+gpmvSXuT2sn9wVw2vzqza/k+VsF/F/9bm1kyn7SrLIv/HBXAPlVZAWZup3O8K9Ef/p3JNxYvaX9W+B9nAmUSq1LUO+1Xs5WWL7O+TteGqaFQSejj5Z5Z/IuHUSV5EZyDyF6gtN5lxMIUbVsyXHdKMEnHH+L9ycl/jW1vr5NKLPtfNZHcvyLQtXhDKcPqk/MXE3bDTtCR7KFH7Qh+cAqcaisX/GHHjs4+1HfTgYZ80WY9N0P9SZvNuwnmhWAM+D63LfdCDTxPwoBWXbn+xCRxCJPywVSQOGHppDJ0e/org2I/6+AjgA3dVHECBsDPsMObjhkkd/KXFtaRueJB+BNpGx8qbYCC17+G6KfuuYdp3DC8Py+DNCEW/nFSiwKmJ/PtKyJcRWQqh/DnDfcL15xfwPOj8j3q6v3iJalHOAz42/RWG/75YrlglqS8n+h3j0+ZKu7aGfR8J3pnLH+RzYwq/ANXvw5+X04DraNgddjiCbR/Jhm037P0O2ynexkesESGTD/XXnGmhLL404Z0wL59+307+4pl82eCWTOeFZQtUlDs60++D0zQVyzYt/umsbvrQRwD3K8+LnTCWjG/CeGxxTdyok3A+/QMkaOhmOEU+s6bvS9CjjW8V6Ns8y7uLsOwhLg704wv0FSVdQ6L2PSjmEfYnktHNyflyVb7dmHrZ92BZ1n7V9v+thP2JFewj+l8bs+3rxSL/xwXwapVWQC9bRfk7FOiP/i+SrzutqP1V7T+YtKHqA0Ad9gfxSZH9uWhPHOLcsANuLJOg9jyATg07wctwPALcQXx8IrgHcXW4wXW6NH+FvBvheBhYn4jlfhMJhDNAL98emspgXYTUEReOMmW6ySyb6Tu4m1DDeR/O6nAU4XQN2ypS7zhYG1oP5848sGnEOPSw4MUoxaf4sI/lUbAp7I/isLMFccfC81maj0J1YQyKws6hXZSuR56HamWdE1UfAb6TlQ1bwwx3wfYU0Et/2F2NeFOINUhbXpRF3r6PW03hgyiOdp5cwcjRSTl/ILDORfg8iaH/AuKd5IrK9kqbBYHvwhhrYScNHyP/q9Cx26K8B3ZDNPx4OvE6+y1qoc4/J3Y+GRmEY+EDWZ6PU5vCurEnCqONNxCPPavq2Sl01BGeSD2uS+pVh84qOpyjefjI7DkrLpGh72HS9ob5hxuSXsHsxA6Hz8EoZ+ic/SmcA1aBYybOhD70NYHzUGod7Yd+4ONZVdiuhaFhJ2xIhnPBunlmXRGWhefNeJj3rLJ4p4JpBZwQ98A5ob8iOAjqxOooOx/aqKWhLzspPNDdBeeDO8IjYS88isCscBE4EXaDDv0jfAEuBrWVIrX/YTKOSjNriHup+QMsY/8jyJUZ8FXa70XmTyXtV2n/rejUn2XRqf1eAB1/LjD2lXUtAydIFTyIsJPPRSlF2v9pet3xTu2vat/DtnNVuIlt8HKs93/qst/bUrFEJ/tKexlwo74VrgAXhCNwXvhbuDW0fDd4uXeerQWd44ZPwhvgbNBNTDtFcJF1U/Qg+Ws4E/Rh1MOJeu6AwvXpCLgZPAX2wroInAU/AQ/tJVwi337/EjwQujkMG7tgcF+4D/zlsI2Por2jsL02/CA8H+bxGRIcG1+GVS5YeT3dvmck8ya4ALwN/hO+A4pV4aUvxwb/zxhUxBp5GPHdu6h0bzkVWuYR6Hi/EpbBVAhZb+faMPE4xi6GPmDEXnMd8V1hU3CNd1x4EPYc5L65JAz71xL/OGwKU6D4N3AuqH3X1/thL3jGuhwukQn+kfBg6FjzsL8cdC3YFop7oGPybj9qhnXxLOVaPTd8Ht4LL4OusdanRXkPTIuo64hjQV8uDW+HTeBNKP07dM5rw7H/Ivwa/CIU34auo03gDJRulCnei/C7WdzzhXNzmLDdk6Dr3kpQnwwT2r8CekEsgj55O5wZ2ld/g2Xnluub83926P50CfRMVRXTU8CLrPgZ3PnlWLn/rIbYCdA1aosuRfSBa8kt0PFYFuMRPA96/3grfAiWxbEIfgB+B+5dUGg60m6GC8NnoWdPfVgF2yB8XFbAs8qaZQo78WzQXdCOrwtOrouhun/ZRemumYwTw02qF7wAq3N8D0EH0g1Q2R93kQ37/0TGQVwXpkXRP2BZ+3W3fwy2b6xov2z7b8302rYy7OZ/J4Q6roXWuQzK2Exl9uqiNPo/la873q39Vew/mLTjTOJl61mX/bL28nLd7Lvm3Je1xQt/xH9HfBpYFjMgOAK17VrmAdv4VbDXRr8sMidBN7074PfgnDCFa9OW0AN1GYxD6AK4ShnhyVjGy+dHoePUeIvR8cB2mHU8pzyh5qq4/ob+Q0vo3gCZZ7IyDxO+tUSZyUHkkKzO0dZhhntgezTt716hA8Yh6yE59c9LfD+fS/Ocsxhs8drwwCZUM/rU/fYnDTP2dG2+D7qP/Bv67ZmmznsH6l6FZfh6AWrLR6NeZwFEWoyyB57Evv3l400V/Bphy0kfDTvhbDKU8aGh7HlOXV7cQ3+VddR9NfbJS1VUgPQesE9BftmkXyEYdVy3TCEP2ddnhX5DWMUh3fT70mZFHoLzdhGckrwroLIe2ntN0LIPAF461OniMxvshNT+WQj1st9JTz79CBKq2q+z/Uf1ab/Mq2SVB4Be/nfxjw3iSOJloF/LstcFMO3/sjqryPVqfxX7bpaBM4mUqUed9svYy8v0sm973gljgbS8v7C7LlWFB4vzYdTBS8miVZW08q0HJkMPuC97eIix7XwZD+tE1QcAbb8LPgut1yPwbTDgRWNyhIe3uBSEP4cRavM9cLTtV+kTD9KepdL1OXz1OOnfhO3DIE54DeFb1DX6cNjh97H9wcS+l/LTG6brUrTz3cRbTN4e8Mxuf7m++Mt4GXhe9HxsOcNu+AGZMR4mdBPM5Y3wHeVOzeV1+/TRK8od10Hw8kzGM2vZNhepWoBE/2pDe8cXCRSlLUdivMj9iPigjwCfRYcV8E9O/JWgF3w9js47lni3S3iZB4Cvo0P7Hkz8s5ReSO2fgHA3+710mX8w7Ne+7e92CS/Tfjflfu07QLvZJ7v0/wZAWf+nF0A3p16wbWVY9gKY9n8ZvWVlyra/rP10YSvzAFC3/bLtDrmy9u3vLeDzWb/+lHAmWBXzUMDHA+3752crwxatB14vHng7DfEXWMe3a3zd6OcBwDpsCuPQ4f60CtwKeqiZXDEjFZtzyJwhccZo20+qUirqjyg+6Hwc7gzXg46XFq89DyxDlU+Gfxkyf4+9ZeEvYJwRhh1+GdstJm8PfJfqxbj4WMmq7paUOaZHmY0T2ZN6yEb2qkkZ6+bd9o2R2SX0Lvk3GO3xnJvHvCRE/uH5zD6+z8r0ef/xB8ZSWB+pp6EV8U8p3KCqwovjd6A6PKh8GJaFDvbQbtk/wLlgEbpdgL00/Byqw8vEe2FZpPb/TKE5yhZM5NwQj4KD2u+3/dNi+8ga7Hu5HAs74VYybGM3VvV/egE8Gt3TdzLew27UqeoFMO3/0DFIWLX9Zew/mPik1wNAE/ar+KOqfZvmAdNXX+3cCbeHvuz2gmvVp+BD0LL3wBVhi9YDrzcPHEWD/gVnbaBh/T4AWJXNoXPe+fckfAp68GnReqD1QOuB1AOL8/FDeNSQeQj25oYtJm8P+IN0PHTfT9wfdrphPJlxL3T/8SzdDd5TJ0JlpXtXN7jX3gZDPkL/2lRd3XAAmSF/A3EfBPLwAT1kdsxn9vF9UKJviSrl10E4HGllvUCX/WsAf227HNqQZ+C2sCrUYYerw8uOr83TwRRRv/FJonXUiROhZb38bQSrIrV/N4V3gmUuINp5F7wF1mW/SvsdhNvUbH8S+nx9K2p/rweAfv2fXgD15bthEfRxN/Z7AUz7v5v+Xnn9tr+XfS+4gbOIdKpHU/Y72cun92vftvmq6sUhdNqXvgg7nxeCrgdeVBaGzvkfQedKyJ9MfD7YovXA69EDc9Oo9zfUsEEeAKyS9XoBxlx0HrdoPdB6oPVA64HWA1U84I+AsY9cRHyWDoXHkX5jIutfmZTB1giFfh+s/auAIniWvAyGrHef65Nv6+kPr0XYj8Qo54PGBkVCpPljt/U+Dc4BB8UiKLgQngBL/wVAGF2cSNpgHwL8sxlfVTwgBFS8FPwoPAdGQ/9O/G2wX+jwM2Hou4/4t6HO89AfDwBvJb46/Bq8HYb8CPGlYb/I278fRT+A74ELQjvbts8O/ecFX4DXwqbsd2r/Spn9/QnvbND+A+j+PvRybvung06CaG8+HCFvEP/nL4DXoc/xtwacE/rYkbeZfg96Acz3f6q7THyE+g3S/l72faTzIuwlu6g+I6Q3ab/IZpo2qH2q//L8+ghhurCnNvLxl5D9E1wbtmg90HqgPw+4t8Xccs+rCh/pHoGho30AqOrBVr71QOuB1gOtB7wI++NP7CX+IPhBOA+cHnpP+CKM+6By3pU8G5fF8QiG/ueJe895J/QO7H3Du2X8ValynrmXh2+GPhpE2X8Q3wV677XcrvAaGPmG34GvGXjB3Qnq9LQRxv8NdcoLubyb+f449IJWB96Lkr/CvP1O35ciu1UdhjMdrf3R87/jb7QvgG3/j17/xzSegsjb4VfgKfBK6OOTDwO+Cv8KutguClu0Hmg9MLgHfogKH7RXrajqk8jfDicmPJV4i9YDrQdaD7QeaD1Q1QMrUuBh2OnOl6b7WLBkRQPTI392Sf0PIucPvoENiKSPAGld8vHDkJ06Co526KG6LLyIrQ7fDe2MxeAsUNgxOv1ieBYcgTa8brwJhWXse2hpAq390fO/Y3VluCF8C1wYOv58fPIRaiK8EPrrr4fPJtD2/+j1fxP92epsPdB6oPVA64HWA60HWg+0Hpi8PbAU1TsW+hfPnXAcGZ+CXtKrYhoKHAg/DTtd0k8nbzd4F0yxHB+HQ+8oRbiNxM/C3xZljlZalQeA0apja7f1QOuB1gOtB1oPtB5oPdB6oPVA64HWA60H/jc94J11I7gJ9EFgDLwf+mf2Xv796/NBsSAKtoD+0D0r9Nf966F/xdbrx2V/JF8XLgRfhPfCEXgB9LtF64HWA60HWg+0Hmg90Hqg9UDrgdYDrQdaD7QeaD3QemC4Hqjr3+gPt9attdYDk4cH/HdDS0P/acDc0JfCZ2CL1gOtB1oPNOmBmVH+XJMGuugeTdtdqtVm/Y95wPOr/0O5j/+PtbttbuuB0fbAClTgq3B7uCmcF14FX4JNY38M+L/99ERiaBHipvvPf/0nwaOBOTH6Zeg94J5RqMBM2PSfL2h/0ijYb022Hvif8IB/gvRr6ERL/0c+XPwuhpvD1zN8+PB/E6RF64HWA8P1wMaY83/80nXHP338IBwWRtP2sNrY2nlteMD//Z8R6P9i9ydgi9YDrQeG44FtMfMC9KLt/+bbTdD96AjYNPyTfG356CBcB74J/eHNf5e/OBw2psWg/77/MfgwrPo/mkuRgeBZ/KPQS793krVgiyF5YArsHAb/Cofd8UNqYmsm84D/wyA/gemlv1P8JOS8KL8esACN2BdeDl1obbOPHS64x8D0fxGVzxatB1oPNOAB/82jF550zfHfFfprTNMYTdtNt63V358HZqPYD6EH0GHCQ7/nrXQefGmYFWhttR74H/bAP2n71dDLuPAO9D3ofFwONomxKNfO++BHYFx6v058ZjhsvAeDt0D3ZddC/xJ4mFgTY/aF5/FfwvGwcSyKhXPgUXDYiz8mJys48GIjOniyqllbmTo94GX+DBh9bXgx/Bz8APwMPBum+X/m20eD1yr8E8uvwqdh2q6iuA8jr+W2Uv0WrQcmaw98itoVzb1vDKHWo2l7CM1rTVT0gOe+P0LH4wEVyw4i7iH/fFg0D/zz1xatB1oPNOcBH9+cex/OmZgjS98+l173ZzwA+L/ybz1OhAvVbaSEviWQifvAucSXLVGmThHbfALUB1fAof34vDzGfHXRsFwGDgIvGf7biWHBK4pcAABAAElEQVRj9hoMbomO8MO/iC9Qg85WxeTngRmokg9e0dcPEfflrwhbk/goDNkDi4ReA2k+ePwhaYe/NJ4Obc+ucE8YC2C09UjSWtTvgflQuRwc9uty/S15bWtcmuofAy+Eh0L7ZZjYAWMx19JwGBef0bQ9TB+3tsp5wH0gxqC/Pm1WrthAUh7+/Su0sJsPrccuA1loC7ceaD3QzQNxAX9vgZDzcYeC9DqTwv5NKF2nTsUldc2MnGuffwl7J9wKDhPTYeyL8En4APwY9DF2KFgBK/HyYmf7i+egxv2V1IX7V3A8bBrjMPBL6IXm3AGMeRh8HOoHB8OasMXrzwNOuLOg/SwnwvGwG95JphNU+efhUvC1BOf0aTDa7IVnyQ4NWIX0exLZzTvItcnlPOCDaGBdIn+H0Q+GF0EfYVsM1wOO/3/DtC+u53uaIVZjDLb+kavD7XzX8ZjdqxmjabtX3f4X8j1wXwMdh6vDp+D74WjAy75ntnQuODcG/TGoV1viLw60e0Ji/3ziHsajPp0e5xFpDIug2cP4+nCKxqy84Q3uD9vAfeF+JTg57MdTU88d4EqwF1ZG4BC4RC/BhvMXRf9n4OIN2ymr3jH1Ufhz6L/Bb3KMob4j4gLuepSH82+HfGLN393s12zqv9R9iBTvv669+0F/JBsmNsXYXdA7xfehvhBrwRlfjjX4Hw+d6eXfg6ivIYMiLtEOHi/S34SzDqq0oLx1/QbURmwUxvvBtBRKD+bb9aOkLTPZe8Bf/v8EY7xMIl52Q/h6Um5/4q8l7ENlo82/J+7hvxsWI/NpaBkvKC0G98D7UOH/0I4+NXwki/v9GBz2n5xhcqiYgLWfwu/CXgdH5+R34I/hFrAJHITSmBNpuGUTxrronIO8/eCvs9DvYWE0bRe1cS4SvRDVDc86HrKFbfZCMr8fBfBQ7vonHHu7vxyr/z8Lo/IhOBHemXEWwmFjaQz+G6ZzIOI3k97E2S3aOJLZdZ5Pl8W1fQL0wnZjlrY14TCxGsa8FIQffJDoNF4GrddpiZ2w1yt8y6BGByzvOm4dPSP0Gh9XZbL+uhnziujQ8QcsWudb4JRDt/5qg65Bf4ZpPx/H92jUq9sF3PrtAJtEN/tN2p0J5bbP+bdQk4Y66PaCHz9avzGTeQfhpdDH2DWytEYCDTohYwCeQdzLUR14AiWhN0Jt7Qzr2NydJB+Bk2Doj7DfB4BvJro8oLZ4fXrAQ3aMlX8SX6ZCMxdNyl5Yodxoi85JBWJO3k687CHzMGTDV7FAlWmLh7WjoPPog7DXAQGRvjE1Jf2F5qvwCLgjHCbGY2xv+Fv4V+iltQhuMI9C/XkytE+E4+8maLp/CjsavwK4nr4H7gZXhU1gT5TGWDL0xdt+K4KH7ydhKm//1o0foTC1EfFt6zaU0zct3/q8DNwvpykjWEJmTBeZfvO6qOya5WXvEuihPNajDxP34PMLWDeco/bvXnAEenFZDOahr++G98DNoeP0eFg31kbhdTDWBOvmY8D1cHs4LNjvI9CzlNT/1sVzVKQdTrwpTI/ipTPlxrUtf5WlOU4Wz+LDCpbCkH0RdYnQvdO8OuGjb+h/jvi18OoePI58/TJaSNfyC0pUYgdkoo22rfFfNjvU6cCkHl60RgtvwvD/Z+8swPYorr/9QYI7BA/kxYNrkOJanJdCkRIguLdA8UKBYoEiKU6xBNcixTUQXFNcAgkQgkNwC/y/+5fsgcmwu8/u86y8yTvnuu7s7Mg5M2dnx/ZJor5kPnGvZcxzjdo5bVSX9piMqlufmPgio9LsF2nH11WXXauHa1/rwytB/ta8sDqUJnOj+V2wjqcTEC1KipKvUCTdd8PFYJOK4vSVvZXGrUz5Z8DqrqsW37KlcDMHAGtTzur4AGFtKoKMnx6wzdYwmpd3MteiXf1L/extyCOTk7kN6pi498WuvS8bEM4qfcho5TbNWoh8WkBbOV01HvwNukCRsg3KtEh1bf3IfdF24uo8EZE6NJQ9176+pMXZ1wGr8j0K/viyWpSm9LI24KiOlamIfRjcNvwrNmfzkWqvv6GXvScTVN5FvFsfhfXezZCQv9noZSn4E7i2PuW+aDtWP+m9GmRTG1BtrNSP4kR96BhQfxoFA0GLhGZkPQq9AmrnW9AOJmsReBGUNhy2AJNVCTwHShsBvaEoUb+TTunW+kOLYvlE94dCkdIdZbuAO1bcy30fmA5cWZebs0D1EFoXHALyU5EyG8oOhgfBbH1AWOOkfFGXfIxh1UeHlFWK3oMbwXzRr0rjjq1uhIdE9dCzPxDuiO5Vt5Gg96ko+SeKrM2trIuLqk8jPRuRwcZMrYFmbVQgSj+Vq7XzBsJaS1Uti2LQ6nBm1cYje2tyVR+yepxPeEEYGsWpz20GVcq0GFN92mOMqj7bxcQXGZVmv0g7vq667Fo9zP7tRHwDH8JOUOq7MTsGrLPpod8ERW7+UffL18ardIMsB4+D7BnXE54LssqcZLwarLyuWpzYoNk/StNCMY9oUfYeSJ8eQNYBjay1ihbVj4EWNVqwqx1lyEIofQnug40dA+qkWri9AIfBZGCiwfVz+KpkPkH/U3AETAVZpCeZ9oLps2SOyWMbGfWVLLIEme4BDaTqY6PgGpgFqpKbMSTb2tyo32QVbQZUTmydtRD59E6eBneDBjbTcQvhIg5AuqBHE6fp1TPRoqIfrANly9QYGARm/3XCx8DOMA/4ovdGebVwWspPjO4/4qo8VU/+2txYO9zrklG9irh0S7AxPEH5Cwn5503I30q0/P08fAE6eNAXubLkfhS7Plb4hARjR8bk1eFRXtH4rTHHtfsD9/OB/Kmwm/Yj99qA9gDbkFt6Wv8le25ZgRJmQ/6XHbWxKxQpe6NM+r8Ha4vaPRL+ACaa014GzVuWT1eNL+ojE0CRojlAdVB/PwVka0+oUz7GuOpxXYWV0PPWetB8rrF1ygrtmymtg91x/fAoQf3iRLD66T04IEpr5dKFwnYIpjmko4vWMvZuaO21QI4Kq623g/nwpBxli8yq91h1UP2L3vc0qmcfMth4qzHZfdc15mrNrLppvFkaqpJpMSS77TEGNydu+pj4IqPS7Bdpx9dVl12rh9lXXzgdyvyl7GibM/CnNnP2Et5MuIyXwAYJOwCQcU2eO4A2rGZfm/XjIW2wn5z0o8HdSGiS0sujQcWkPwHplc48ci6ZrT4b5ilYc97psK+2Wt3l1xVLqNPOjg3Z0iGMnon6kruw1AS2KEjeAKtXVdeh2JxHxkuUHui29jyTwc7K5LF3wcrZdRhpM2bQUUQWm/TuzqnsGPJbfVfNWday6+DOXdz1t4QWru47qzFsphZ05S2qxeBdYH7RwrDRhmVv8mjReATEiQ4UbCOkTVGVcgnGrC3utXfBlXgwxs6FCTb+EZP3NeLc8T6haIeN1jN2/WthbQDiROOL5XGv88dlTok7KEHP34n/c0Ka5uRdE9JOJb5V0Tw7EjR/6b1w2/djFD+ca5GHUJOg7zn4FD4A6U8aNzYiTXXSYYCuJ0AZ0obS62Au0PpoP1gN6pSPMa42q15ViMbOa8H6wEOEp6zCcIwNdyy8kfQJvTx/4t5dh17AverfrKxLQWv3Uc0qqajcrNh5B1RfvaNrQF7RBudFsDbvmFdBAfkPduxvVoC+LCrUR85x7H5BeL2YguoPtqZ+l3D3mDxlRNlGtL0M5Rl01mW/LrvmErO/k0WUeZ0C5Y+BvXy3EZ64JIO26bkqRv/UxJ0MdhKm+oyA7UCToCtbcvM2WJ018PQDbX596U+E8mlRkVUWI6O9cBdnLdSB8mmBdCWYfz4k3K3g+mnw0sLkLTA750c21uJ6vxM/jPBUoIFrW+hTMvui/ymwemlyKatPo3r0Lx3M1imKSJFJSVO/Vv4vYXtYBP4G34LitfCpQu7EiOzJdlbRZusNUDkteiaDVuR0CkuX2LQFRes7es4j7I8ZLajOVFSDtbXjoEwlxmTSBiRJDiFBOuVvf9GZVKaoeLc91i5tynoWZSDS04PrEyAb0n85JC309Q5fBvarmccJzw+tiHT+Fe4HvXerQpqoj2qOFLukZcyYpkNTmxflA0OHc3FyH5GWx67yR97xfdcYPdK3F2jONd3uVX7aIiEtzxiCiljZjNhvwLXphzWXLRRburlItUf9bnNYCnQIsAPEifqpDgvUP7XeeB80D7Yis1N4zkiB5shtIGnsWpY0jb+SFWHx0aFq/vgYM3oW11VgTm3UGtGe/aOE5Zs65DCMWj2eIaz1cpwsQ+RwsLw3E7ZnFZc/LU5joOmZNy1jzWkau55y6rpnC/WZm7LWx7QHWLUFXc0U1TuocVR+17OrQi7AiD1n7We070iSP5NgeZ8lnNQPk8o3E28b0fZmChdQpi77ddk1l1VmX5PXbWAd6x7C2qCUJbbQ0eCeJFrQ3QpWJ10fgeVBX8HuBzftdu57QpL0J0H58xwADIjKjOSad2FFkQ4jf6Em5qvjS6qVOqsmaNnRAOouzo6N4pV2OFQtfTFo7ZcvypA2lL4PspNlg7RBlFf5DwRXbMMnPfJr2aIJ3H1eWey5fersLAUy5NHCSv7QYqJZGURB6RgGaZtqkksRbdhk/3+QtIDPY3gmMmv8kc7t8xQsKK/mBi32ZV/ocKqVBR7FU2U6UkUWUb/Vl6ciRIs9a6OuWnxqnomT/Yl08yp8QFzGnHFHkd/Vq/d/qwQdaxI/yst/VkLetOgpSRzi6XmDe407k8LLXtpb3GsunAie89Le5X4WKEq02Xsd5JOvo+tnXLU2KFq0SWtzlKYdtM1MPvnNJC2v5Wl0vZIMes8Xh3tB6xS9+77MQYTm16tgJfge/g1VyccY0vPQmFC2nIABex8+IlzFXBjXpj8QaZvCEYS7x2Vy4jQmPQGqu8aRaSCvqH9Zn9cBZ0cVzXHXgz2ncwqo6MroUL+Wzk+g6sOPByPbP3KdEcqWuzCgtt4DWexpvWX+vpFwEeMPahJF753stSfmKDehLvt12TVvVmb/fCxah9Imu+xTpSwHAOaEdQm85NTP6mlXLVDWt8wp1/6kqYwm1iyixcc3oDLHZSnQgfNokH4F1Bb5sizphWJ7Lkc4RrS4ejNK08aoanHtDy7BuBYEb4C1/awMNtaK8quP9fDyrxKlSd9CXlpHuF2OSug9Uv3eAy2Ii5BtUGI+nL0JhRowbaF2WBPlWy0iP1j992lVWVT+0kinxmW9x3XJIhjWOJtlgVJXHWX397B6zgosQH57bu5VhwJxoj7v5lNYG9NWF2J6vjvA1XAZrAhponGiP9wAvaHZ/qENy0lwExwDM4DJTAROAKXp6j5/HQQcG6WdyHUWKFLOQJl8q02nNv1PR/fPcm22rRQtVX6P9tVzWpic/DoQ1lzwNajN58Dc4MucRAwA5VFelZG9qaEK0bOQ7esqMKb+9HJkTzb7VWDTN7EkEfZMdF3az5BwPxnxms+0mW1GtqOQ2iyKmkuaqUejMn2jOqqe90HXRgUypvchn7Vfa1fN7VXJLhgy21X4fhLsqV9lHdPkYzs0UD1PhjJFvped9jKNpOiuy35dds0Vldg/EGvW2V8kPJ1ZL/Ga5wBA1VCH3xts8lF9PwH9HCbrgNOfvCqnjUsW0cBtflksS4EOnueaqD1fllhPbbRHRXYu8uxowSB/fuHFV3Vblv3ZaMDrYH1lMGEt6LJITzLp8MCXvxIhfT9AVQs7vw5J99qY6yuI1W+VpIxNxC8c6ZXuNZoov5RTfqUmyrdapJdjf9lWlVFeh5/yxbegvjKuiBavC9VU2Z2x+zOcDVNmrMMy5JOffe5OKG/zl5tf80qrBwAJ5n6JzrpA/KVAgYE6bOvL54+wdtQOHbANgv9G93GXZjbgcXqajWum/w3AmNuX3LA7jqn96ttuuoUfa7bCOcvZGkzzaRXiHwKcWoXRyIZsvwPysfyuXwJUJbbBU/+fqSqjOe3sQH7rf68Tnj5n+UbZ+zr67yGcda3fSG+jdG28NJ6rbU82ylxTuuroHo5p3ClLKtmIplS+Lvt12TVXlG5fE+tPoI7+HswJVYgtoK7KaUw/pfo76CtF3oOK/pRRO/ViZ5HeZLLBrXuDAtqktUPeOjVQW2iyviCqPe8WqnVsZd0iG7LjT9QDozT1szrkXoyqXsMKNK4vZ6+C9ROFFdeKzENhHZJIZ3/oSDIpldGEaO3dreDKacFluvU+5ZXlKWDll8hbuID82vSbfW0qWxEN/sNB+g5uRVENZfthU+PsodClYvtaCNkzGEp4zQz2tbkd7JSz8kn9+/SYvFdGdvTcihYdRuvrtzYhQ6AdqpI6bWu8aTT3+n7Q85ef8hwA+TpauW+m/6mdS8E7oK/M6n86/JgPfJE/DgLlsbx7Era1Rxn9D/W/SNUHADKsecHd7Jz8S23KC+iZ6BnYWKCxrCrRGsLW5bdVZTSnndXIrw8U8s9IWBCKFo3L/wF7BucWbSBF3/WO3TLalmI6c5LWivY+6lmslrlkvowaU/QMqpx33BrWZb8uu9b2Uu3rtO59sJdLJ459K2AXbDR7AEDRpqU/JdVWLUyzyKZkMt8s16CATsOVd2CDfHUl/w7DWhSpjvolQFlyOIrNZxs5RhYlrJNspd3kxFcV1ABu9m8syKi/KHkCvTO2qFsHSS+A/PQJtHqYgIpC5Qq02fM9s1DNY5Qt7+hv9M7FmZ/LKb9JXIaS42Zz7G/Zoq1zIl3/49q1RV1VF+8X1V19RQdGi8RUQIs7LbKLZnd0Wh+163nETQVp0oPEO0CbqmGwByTJJCScC5/CSDgNJgOJNoD6Qq2+kCRqe1ZRn/4OrC26/gA9oWyp03azbcu6Ae9o/W8/Gqxn+yc4LAqvxdUX1VsHBa+B/orAyzAYTLL0P8vbzNU2HFrzVCmzYExttffgxJKNX+7Y6l+yLV+9HfBYf/DTi77XId8pEHfgFGdL+bQ+Uf1GwbpQlkyO4qfBnrvekywyL5luBrVL70xe2ZQCZvP4vIUrzK9n931UVz2TrM8wTxWnjfS35ylUYN667Ndl11xXqv0DoodqnbzK67hwAKABxHxysD2RmGsP4rQgU977YtLrjNIvJnqDDdY6VV6uhApNiU5NWpoM5IdXoAto4F0H3gbz5eqEq5QVMDYUzP5KBRifGR0vOTofJyxftyLaVNwLqqcOazaGjiR/ozLmQ9WzawmV00QrGxofJm5S//BIx4VNlm+1mC1StfhoVrS5s3dplWaVZCinn6xPWgJnoNP6iq5aoKj/WJ+RXR2YuXnKDr+FPY1FZcvOGFBbPoM+0Krsg4I43xzXquIM5cu0rbmhjL63e4y/4g6AOlr/a6Pe64OJDs00h8bJJkR2jxI077RFYV2K7n+O6tHBug4AZNw/BDjBr1xB93YAo/fuQWh2Lmq2Oi9SULa/BG2Ay5ZnMCB7mnf/0MCYPhzq8MnGpD83yF9E8mwosXlda9gNGijdkPTPQXXUWmoGyCt65jrglQ7NHRqvOqpsT8XsebxKeLqCK1rqRjRDXeuyX5ddc0mp9rfBinUafaV5LAP+pPlthjKm9z3HXkc7ANiIuvUG/yV/OqqzBp+kQeTSKI98uTe4sgQ3WpD4L6Q2Jzo00CK/TOz56qqB075qnUT4XXi/AD5ChwZZ15a+okm3Fv5uvDYBVYkG8EfAtf/XAozPhA6boKVb70Srm/+u6LgBrK5V+gmzDUWn4faMhxDWIqBo0ST/BcgH57ag/JhIh/qeFtFVixZEaoP8tW6Txs+JdNzZZPksxbqRyRZV1u/Kvmo8XQymAnvWZds0/RpnjwZ/jCeqUNkZbWZT19ugewsWdvD0me4DW9CZtWhZtjvCAVBd/S+r75vNV3T/8+tR5wGA6uIfAhzrV7DF+3bKu3Nd0rqvRTOJxXuRYu94/8RcxSb8AXW2VtM6ca8E9RMRfz9Y/TRPVSVLYsj2DXp3F00w/Bfi1QbVMa0tCcXHitY6xNq62lgpHe+mr1PXewh3LbCKpW5EM9SzLvt12TWXlGLfOoY2RyZHELjDblKu2gj8x0nXgLAFvO3EJQUHkqDBWwcBU0NHkpujyizDdV+nYvrKcj3MDrfClvAWSLTBPBp66wYZAuePDo35YwEuD4NOcNeEP4LJSgTku6pEm1QtGHWaLVFdtOEqS9RmYSLfHAA3WUQFV/UxPU/JO6CJQZvsVkSb//tgoUjJU1zXgc+j+2YuXSh0ObRHhTWpqt91FFmcilwKE4Am3o3hUyhSuqFM75k2hl9CK4u6Uym/C8wM2nytAep/Vcl5GNJBW0+4BjaDuyGPaJyVyCdlica0WctSnqB3PuKXhOdgflDfUr8qUn6PMncMl+7XYFt4QjeRrM11Obsp8Lq0p2s97l+Av8KFXlqW26vJdBjM62QeQXiAc+8HlyLiA3jXT8h5X5btKaiH3o8qRf19RdC7qEV96H84YRyU96nz6nA/qA/9DbRh/zu0Kouh4DLQmDQSNoRPoErZ3jGmebcK+Q9GNG5qvpkezgStcbRmGgUmpxBYLbq5h+s+UbiKy7MY2QZU16ngv6DxW+OcROuof4EdXnxKWGO+1gDNivrCblFh6RoYhTvi5VAqpTFNa4c14XTYE4IED4zlga7R3VCug2EJUEdpdACgF+xokDwPc8GUoI1lo4FAg8mqILkRthsd6jh/fEFVpoY/gwYY2ygrfAPopdJg8zLcCpOANpe2gP6O8FbwPUgmhyuiq+6f0x+OrERYyKdliurzOrziGdEAIaqy/wi2NElXKfpSsRS0wb3wLbQiM1L4Plg4UvI013VAC4VmRQuNS0CHaJIvQfU8WTclyYvovTijbh143AxasOv5/QlegiJFGzG9KzoEkOhdPHd0qPk/vomKzsFVY9ze0B9M/klgM5jQIgq+Thvp00LlTjgeDo/iGl3k65mjTJ8nZFZfvAa+gs3Bxh2Cv8gshHaGO+CpX2J/DfyP4Pww369RhYUORdMqnrZB3Gtxq3lHooW8KFq6Owr/j/DZcBBYn1CyxvpbYGLdVCDTYOMCWAe2AtUrq6jeq8KBoHn0JTgJPoQk0binMWQ/uDgpU4b4smxrnFPfWxw0BhYpWQ+AQv8r0uvV6tKz0/rlVZgSjoAR0Mq8MTvl/wsaf0fBH+EVqFK0Nt8yMjic6/0VGh+IreVB831P2BMWBvnhI9AG2Nb58ovi5acq5SaMHQz/hB6gvcTqMDlcCRpfJUNhXdDBbyvyMIWlay7QPKt1hNZnHVH+j0r1Bs2zGv/3AM0VZ0KQ4IFYD2xNrDqO0AuTJoeQaHk3IrxXdP8T1xUgTfSiWtmFCH8V3V+VVqjgtP6Rze+4Lubp3jVKUx0/gUWd9CkI3wVWf/+qwXEtJ78Gcbe9Giwnc9JDcNzzwIxU+XmwZ/804ekKaIYmFdNZ5TVL1XXIpQnQ6nVglkJN5NFG1GyUdX3Lq9cbFdh026KJOKvoUE4LK5XXmBsnOxBp+t2xx817TZRnsBtZUbhfZFt1/B4OgrIOW1A9luzMnewOB1sQjpWBG9XlbNA7/ULBvIs+ezbu9V7i54AqxHwg+7dB9yqMRjbqtK0quPZ1aKkFsDYIVYnZH47B8bH/fUy71K+uq8qhMXYmIO4CsPfrOcLdYvJljdIhgnSYvt2zFiw4n9bgVofjCtadVZ0djlo93qHg8fADKE5f3OeGOuVCjFv9tEbRu2b3jxCeCYqSf6DIdGsNJP+ov6RBcm2igyybg34kvFYBNZkWHfJBewG6mlFRl/267JqPSrHf1bRz1QZcG/kV4XLYAB4DX7Yg4tgoUieEOimVaILbGBSnjqbFvC/7EbFJFCkbL/kZargf4dn8N/dLgE7NpocHQSec98DXoIF5O9geFgbJUJAftMAYCRINDjqJXF83iA4TNoKOemqoOgZJ98CMJN8Hi0TZnuWqvv5ZdN/K5SEKXw9VLtCHZKzweeT7XZT3Uq7/zFgub7ZtKbAhaFNWhmji0gGeK2rXclCWTdeW7D/hRjQI/0T6i7AY9IaTYRS4ooNbExun7F7XBWDTKOL16FrHRfOBnq822lWJ/K0xWPNa0juqjeGeUIbsjNLzHcU6cNZBzumgulUt62FQhxz7w0UVG6/TthbBO4L/7pftgtD/yvWwNv+am3aKzGisXBM+ju6buZxKoUWjgv24ntuMkgLK2JgtVf0L0NeMii8opDX9KbAvaG1yKEi0jlXam7qpUTS2Lw5Lg61RVJ0BsBt8r5uC5GL0HAZd4KQILqkylFTV6/3UXOUkatxTPxoEE8PVMDd8DkGCB37jgXmI+RQ0cenFuQBWBb34vUCDrRZMSn8SpgKTqQkMBqVpoXMcLAwzwwpwCShNvALTgOQrUJwOIKqS/hiyesbZ1At+aZRH+bQQ/xfoQCCL6JBAA6PKCk1IS0KQcdcD+qrwHNgzfYZw1v4w7rb61/9nWu1+DCYZlxszDtZ9F+psfU5j0hROG/Zz0pRHY7MOaE3mI6BDViuvw6qqRYvHvqAFSNXizk9V25Y9HQCY758ivKAiE0SHx5o/i+ZtdFod3OvtxGtel9Rpe0wNyvlzJ9ReAdOVo76h1nGp/zVsTEwGrWvUp66LSSs7Spv/c8D6tMa5mQowOjDSeQvXCQvQ16yKy6N63NOsgoLL7YE+HQjI31rfbwQdRfR+/we0Th8Jeu/Lkr+h2PZA1vfSrj+QX/NwnbIpxr+EZ6HVeXhadKi97VCH1GW/Lrvm48rsa7NuhwBJHXsgeWawmjnXGQnrC1dSOcVr8z8HmHxFQPEd6QBAddMEcyK4L7teIh2CrA862DDpSmAR0GmkNklu+zUxKS3IuOuBblT9f2DPtbNs/jXJa1JVu9+BWSBItR7ogrnHwfreh4S12NFkbnFaCGsRbvfKL0Y5cZcRDlKtB3QAoGfwD9AckSSa3O09s2dYxfUa7GrxXJdtzbFlSt0b8DLblkV31v6XRVdcno+JVD/V2FO1nIVBe0e0pixqbpocXSvDpFCnaKOmL8eqT0cRfbRbCeLW/h2hjvJVFc+tDTtrwFoZmIM8HUH04aaI8bayjWiC0+qyX5ddc0Mp9uMWJY9icQk4DdrBPQV9n/tT4RTQxtiXj4jQ4Pl3+Au4X6u+4/4C0AmaThJNfowC31pEBdcsNjW5HAwDQZPNXDAl7BrB5f9Jj0743HYqXqK0fiBfqO1Bxk0PaLK7FxaLqj+Yqwb+T6P78fWyOA27AvT+693UWKD3P0i1HvgJc/L9HaA+qENWneibaPO/D0wGU8PasCyYaBzTF979LSJcK/PAUCxpEf9EA4sjSdeYorxFLNJcc0tzo/7jyjfcHASa1yR12h5Tg3L+1IF9Z5as/W9c89EZVHjPqNKvcV0dipqb9G4MinTXedG68pE6KxBj+3PiHoqJ7yhRenZVyDCMiHFJvh+XKhvq2jE8MBPV2AC2Av0yYGLIKjp9Xxd6w+9Bi9M42ZzIAbBQXGJJcQug90L4U0b9k5JvN3C/AmthHceHxOuApDsEGbc9oM2/+8yf5b4z/Oxfh13vgfXvLQkHqdcDGnv7wMVwFZwAS4Er2jxuAjoU0OHNMbAwBOm8HtiZptt7rOtjMH9F7qjTdkVN7NRmdLClPnVshV7oG9mU3bdg9gptB1PBA53dA9PiAL17/qFyVX6py35dds2vpdjXgjFIPg+0kV2HIVpEaTOon+h+Au+DFleDQS9IkHHbA7NS/Tth0agZ2vyvBeP7l/9JaOOTYO3+jPB9UIS8iBJtSkcVoSzoCB4IHmjoAW3Czwf9Ik3v3vGgX5VUIXXarqJ9nd3G5DhAB4xPQ9wvQsvwz5oovRU0T+kruQ6nb4QgwQPBA+V7QBtRrQn1K8Q63ru67Ndl155o3fatHuEaPNApPPAyrdRBjtACpzN8+aeZo/9lX2t3GddeMhIkeCB4oBIPaBOugzf/1yJVGK/TdhXtCzbq8cA6mLV/O+p7wjoUCBI8EDxQvge0EdW6sL18U7EW6rJfl11zQin2u5r2cA0eCB4YywM9oztt/vX3qnXq2RnkHhp5EvQoobFD0Cl/BgkeCB6oxgP69c5lUMe/Q1On7Wq8G6zU4YG7MLoe6Bd6+rdPToRlIEjwQPBAuR7Qv7PwOrxTrplE7ZrHdPj3SWKOchK+Ra3+erd+6V2H1G2/jjYHm8EDtXngv1j+D0xTWw2C4eCB4IHggeCB4IHggTgP6NdkV0FdXyPj6hTiggeCB8r1wMTlqg/agweCB4IHggeCB4IHggeCB4IHggeCB4IHggeCB4IHqvGA/vetHUG/yH0VHoR9odHhRxfy7A4PwBvwCOwP+jdTShf9N3kHwxKlW4o3ULd9/T2NI6Gun6PV3f7Obj++V4bY4IHggeCB4IHggeCB4IHggeCB4IHggWQP6K/m3whx/wbXQ8RPkVB0IuJvSyj3cFy5ov4NAJ1W7ATHwFSg/x6mSqnbvvy4BxwFeghF/avpqMokdbe/M9hXGy8D/deYafI2iX+H4WmZmkgL9oP/s/Q//S8Vh4H+vYUiJfS/zt3/1Jfy9IEdi+x8OW2XMf52pQ5aXDUa/18gzyEQxn+cUKDk6XtlPP/Obl9fFq+ERv1/GHkOhzL6f3/0NrL/Lnn0Ea5o+6gMEjxQiQcOwsomCZZWJL4f7BKTrvdO/zZKnPyOyFNht7jEVuJWpfBg+BkuhTaoUuq2r3+R9iXQf62k/25pdqhS6m5/Z7GvX3f8Xwr6h0mOAP2jRGVIsB/8n9b/fqTTnQ5l/W8Vof917v6nMa3OPlCn7Sxt/4hM+gigjVIZ0tHbH+a/zj3/f0mnPxQmLaPzo7NR//+GPEdD0tfRkqoV1HZCD+hn+Oprb4L+FxJ9bPkb6JC4CNHhVdpaTzb1a2tf9A8UppXTP6Co/7q1EJkDLfoHWGRQ/7L3CiDRArSsSXC0geiPuu3PTT1uBLVff89iaZDMDPoVQNlSd/s7m/2kCUgHXwNgtpIf+LhgX4OSFgFLlOCLLO3vjPY1/twOC0JnbL/7/oX2l/f+6ZVOewcvIb3Mw+86bae1/QcS9WVF9StTOmr79f6V/ezl19D++MV93f7/iWdzEcyqh1SiJD1/zX9XgNajQTqPB7TeORluAvW/jaEK0Sb/TlC/87mBuAmgFdEHRF9v3P0inhH98j4unx/X0yuX+1b/mIBOO74G/bcIu4J+HqUKHAc6idNJeFlSt32doBwDOk0ZAduBHroGqFPge9gdypK6299Z7cdNQI/ykJct60F7ejuyfb3/+kmSTiA1LqwORUta+zur/Vdw8gbgtl+/BFBc0RL8/9sJ1t5/1//ja/9Xf4rrAzr8rmIMrNN2UttvIWF+JVYgHbH9VT17uTe0/7fjT93+H8RzsQ9fZb8Ccc9ff9VYP20O0rk8sC3N1cGrv7nVB+myPz7vHGPXrceWpLci2ktqD+3qjAv7h+1qt/akcXnduJnI07To7yW8DVpk9gO9lFr87ADvwbdwPJT1Bbxu+3q4aqcc3Rf0xUmO14HHx6Cfwf0dyuqEdbe/M9t3J6ARPOPeoJe1KkmyvwIV0CnoUiVXJMn+Kth9Fn6GS6ENypBg/9fB/XMcvD9onDX/a5DXLwEWgzIk+P9X/7vvv/l/fO//6lNuH3iX+yrHwDpt+21/mYh1FVmhdKT2V/3s5ebQ/l/Hn7r9rz3AVhX2ff/5aw3eB6pcf6kOQer3gL58a//pbmrd8BElV1FrbdeeH9YauFW5BgW+Xvf+yQQD1zUo97BfLu/fWfgPCh6E34MmQZ2+nQ46Bbwa/goanMoQ/d2eOu1rs38l3A17whuwBvQDdcpL4CD4EMqQutvf2e3bM9ULvhd8aREVX83+dNhVf9Sh1FOgTUkVYva1INOJ6xbwDKwIj0LZ0pHtP07j9Ty0MBlakiM0Ae0OE8FlIP9rLNoI9EVyLdDPMd+DMiTN/1W0P9gfM/7EvX9V+F99Sn37pKhzbRNd/Yv6ZhmSxfb9GC5rHSL7F0HPCC5jyf9xdz0MHyu2uJuO0P5Gz75s/wf7Y/pT0rtXtv9Pxvyk0GdMNX7z5z3ElNn/+6JfH+E018bJICLLev/j7HXGOP1V711Aez99jR8I2gMpXKbsivKuKQa0Nj8mJb3VpMkbKNA+sVU5GAWrQ7cYRd8St0dMvKIOhNVgBvBFH6f39CPz3mtya4fZQAsxffV4DlaDskULno5ivwd1uTaqjzZf+gormQcGwFq6KViytH9ObJ4HqxVsW+qC/V/7XwnubajS/K+T97/DN6BNvwbELlC2uPZ1yur/FaDObn9tHKCx8CdoL8EZcf7XoH4YTAKaiAeCxsitoWiJs/8hRtT/JoQ62h/sV+d/9SfrA+pjSbxKmg6jipY6bastWezrAMbWAp2x/WU9+6z+D/bLefey+v8lMq5bdMeP9GV5/14n76Yl2Q9qf/XAUgQ/AH8O0IegGX/NVkro1hi7fj2mKsXyGKXHN7Cv9VgRMj9KHgC3bfJvrwbKVe4+r9xj3C/RoFymZFXmZtDXz09Apy1VbD4w88sEXLf9O6iLNl96AXYCLX6ngVPge3gbFoWixQbAuPbr1Ok40OnQCFgSipZgf8zL2F60YzPqM//rGeuU9SQoc6Dzq+Xa/5HEfqC4qiTJfhsV+Bdo4CtTkuzPi1F9ldfYOAiWhzLEta+D18tgdmiDS0BxL8D6UIa49t3nX0f7g/1f37+q/K8+ZX3AXZRY+FPS94WJlLEEqdO2mpNm/x3S7a9DrEy4jEVwmn3X9wthf2ooWoL9sRfj1u917ez+/xgf7A1dQWtfrYeLlrT+NxJjB8DEsABoPRykHA9Mhlrtcdz+74ZvL8fsL1ovTrGtemhvqj1ZWTIziuMOP2RbflE/LVL0sX1ZaMupVPXUQY3WiIWJGjkKzoTpC9OaTZENAK79CSi6NfwPVsqmpulcZl+br5NBk6w62q6gL1H6Gvc3mALKELPvt387jGnTr0OJY6CMwRe1vyyAOrv9djmjBrHnr01mzxrt34/tBTuAfR1+2E8BNfBqI1SmmP+t/bJ/IujQbzjolxllitl/CiMrgNv+z7jXAqzMic/sN2q/6tYNipZgf8yiqy7/63naM/g/wobmg7Mg7meHRBcmddpWI+Lsa849GiaHReBOkF96Q9ESZ9/1/ZwYvBx0ELhT0cbRF+z/2ufj+n5n9L8OYnX4Ph20wdUg3+wIRUtc/9Ov7c4DHbhpozMA1P93hiDleEDrHOv/SVcdwpQl+qVhkl3Fn1+WYUevxvrnwa3HM9zP5+QZL4Nq8PY1tcwGALOvU5FHQXW6Aco49UbtL2L2bXJfiRQ9dNm/CrpDmWL2rf36KYi1/0bCc5VpHN1Z7Zf9BaJR+8u2316yn5PUm/87u/1NcdB28B58DceDNsNli/lf9rcFHbp9B7Jf1qEfqn8R177aL/taAP0btAAqW1z7ce3XodCtoPFQ6UVLsD/Gt0n9r2z/63naM9AzFveAFkNVSJLtSTG+A5T9Dvj2Nedr06eDj7NhFLwOej5liG/ffK/Dh3+ADiPeh12hDAn2x/R5v+93Vv/fQSfTmDMlaA7UXKg5qYzNP2p/M/YMJG5xmAz+DloLfAh7QBWidutd3we2gOmgDMlrZ2kqsTvsBkuUUKEj0GnvQNJ1o4Ls6oPGYrA6zOHo7Ec4zvZzxNtz0JpQ/bOVjxGy78vERGjOUb9bCfTs9dFD94qP+wVcnB6yNhQ9+z/BUbA/LAxZRHvh7eFYOBAWhUJETm8vRFN+JTYBqWNfBD/DYFgHqhCzr7/2cAXIF7K/ClQhZt9t/0sYrrr9SfbnpC5VfIGo2357FQ87xoY9/85uX4tcvXvXgDspxLis0Cjzv9m/Ee1zF2ohXZlvX78EWRI0IWnDXdUXWL/9mnBPB30NehP+CGWI337zf7Bfjf/1TO0ZvEN4szIecorOONv6GvUW6K9F9UopW0SS2decuxp0BS3+P4Uv4ABQXFli9l3fb40x3X8PfUGb0bIkq/3pqUCXEioR7I+Z9xo9/7L9P4xnuwlMAJp3RoA2/9psaBM0I5TxHtjzfxf9W4JEc43ef/tVrjZMytfshouimUTt/wi0DjE+Jyx/FCl57Oi53w5WH7veSJw2hEXJHigy3UnX5QswtgY63vBs/Zd79S+Jxr4HQP3hBVD/06Zfz/8SUJ+w+g0k3BOyyDxkug6+gp/gWXDnuoHcm964qw5mTbYh8DxIz5dwFfSALLIymWytZXa05z0D0sbXNUn3+6bKndmgHMmNRRVpb5ytlBx6sLKvxmjS3RPSHEFyoWL2VQc5eHcoe6BxG2D21f7PYF/QQDsp7AD2YhAsRZLsa9HxD/gG1GF3hTKko9hvL6NxGXRa+zu7/VfxlQa5qsX8/yKG16raOPbM/tuEtfHRAkwTkyZJLcCWhTLF7Fv7NfZqMfAxaLI8BOJOv4kuRMYV+3PQWo3JRUvW9pdlX+2xOmxadOMy6HNtL0n+QaC5+DboCWWL2W/H0OqghZ3mYi02Z4WyxezL90uA2/75yzaO/kb2tfg+DrQO0LhQtAT7Y/p70vOvyv/tPNil4RHQ+3czzAPaZJ4IOowr+/kvio37QfbvggVhCjgaNBeVYR+1o2VF/tRht2z7aDzYCIqQPHa0D3kY/PrY/d1FVCjS0Z2r1hum279qPaK1QSuyPIV1qOnr1v1zkDS/Kv6phHKfEK9+mibzkqj1TJzdvaOCAxPSrYwdAByckO994ntAmsxH4hdgOv1r34TCPYlX//fz2/0JCeUyR0uRBoA6xCaA6zHerYYKmP1Lsa1w1WL2r8awtX8rwm+BBt1eUKbE2dcp3Dugl1WdsoovEG7767DfTjvrEPN/sF+H939dAHcE//sLoIUrcInb/1bB3mDQfHAFzA5lS0e3rzH5LNDiUL9SKloatb9s+2qPW4ei29dIn9l+jIw/gQ6i1mxUqMB0s/8SOtXvnwAtVKsSs2/tfxXDG0TGdSChDVCZkmRfm48d4D3QOuR4KOMgMNgf0+/851+1/5/k+er903vwe5D9XeBD0OHPP0AfpooWe/7a6I6CIaAv5BPAtvAuaB16EkwMZcmDKLYNVdz1lYIM57HzhwZ1Uj3XLaheUqP5TYcdfvu/Ik4HF63KIBT4ut37fRIM7Nug3LUJ5Sz6vynlNbbNDANT8qiOOgCYA9xfILh1V/gaSJOLSfTLuPfSPVOMggEZytneMaZ44yhVor1xtlJy2AAQ7I/56a+9JLfh7Z6leHxspa7/lyDJtT//2FlLuetI9ktpYAOlbvsbZC0lOdgfMyi3l+LdxkrN/7YA0kJDC7CqxOzry6fmgaehiMk+a/2T7HdBgb6KKb1MSbI/EUb3g5HwORwEWhQXLXXbV3usDu1FNy6DPrP9JXn3hzI2GWnVMPsjyNQHtPGoUsy++tgBoH63AmhDqMW4DuXKlDj7v8OgfXG7inCZB4Hjiv0y3n0916ztL9u+++tT9Tn9RFrzwWUwK5T1Xlr79f4fApPAcvA4yP51MCeU+V6qbTr8kL00ZiG9Fclr518YS6uP0vq2UqGYsusS9wDoS/UncD0sDK2KxrVGPpatOLmdyDQ/qK5JonVE2qZdereGgZBmQwcAOzbI8zXpafI6iWk2lLZxjIIs5TaIKZc5SobbM+cuNqMNAJ3dviZ8vSB1fQEx+69Sh5Y6U87uYc8/zn5Zk55bRbPf2ftfaL/bK6oLW//T5HEwaKKsUsz+BxjdGap459z2xdnXIkTj4I+gzUiZEmd/PQzqIEbj8bkwPZQlddtXu6wO7WU1MkWv2d4yJU+ZSWa/jrarXWZ/c8KzwWWg9dgLsDqULb79SzGog4fnYDUoWzq6fW0gdgEdEO1UgjMatb8q+5vRtu5wJaj/6QBgZdCmdQ94HzQ/FC3W/j+ieGa4GNT/NP6vBZqPdoB3YEcoQyZGqdrciDlaNJ7XztkZ6nRKC3XSQc+pMAD+Dm2QJNoTnAH94UDI+8VZbddzTfPxjaTHyX1EppX7Pq5QFKcDpbSySlO/Gtggnw4A9mqQZxTp6q9JMoSERnVpjymcpVxLezZVKs5wTF0Kj7IBoLPbr/sLiPsFovCHnKLQnr9rf1LyHwr6NyE0CZQpZr+z97/Q/jJ7WbJu639bJWcpNcXsb1qqlWTlrv35yHYLaD56BJaBssW1Py/G/guy/zAsBWVL3fbVPqtDe9mNjdFfp+262+7av5kbrQH0k2ttNNMWkiQXJuZ/s6+vflroauNZhaTZn5sKlF2PNPtrYP9/oPHgCpgGipaOYv9WGvY1fAS7gfrf2qCNuDZul8BUULRY+29AsdaAn8FfoCusAs+A/K+fVytvWWLPWbbiGEH8BAUYz2NHBx9xdXHjmlk3qB062Hb1KPwtbAGuaAOtscHPq3FiJTdjhvATMXpcvTpYiJOTiHTz+WHN1WnSyOeLUHgg+Hrd+3tI79Ugjz5ipsllJLo6/fAo0meNUXBpg3L6UDJjTLnMUapIe+bcxWa0AaCz26/7C8jmxT7WzNrs+Zt9XYeCXobTYCIoU8x+Z+9/of1l9rJk3aH/jZkU78VFOskfBptBVWL+N/vDMbxNVcaxk2Z/SdK1ACtbrA7tZRuK0V+nbVWno9jXfHc6TKNKVSjWftk/E6av0LZMxdlvI/5q0Lp0HShT4uzPhcH/gOw/AstAWdJR7GsT0Q9UHx2E2qZvEOEloCxx269NaTfoAdrwy//aNC4HZcsfMSB7SexZUAXy2NGHsCEpdXqRtGbWx/ul6NQcrA2xidbgST7RIYCeV1bRgdJPEKfvDeKTDpj0yyjZiisnfdKbJvo6nvTrA23KJQMhTr/F3aNMyI1gce5V9VhTGVJkYdJ0yOKWc8NnJJRtVO6UhHKZo1WJ9sy5i81oA0CwX6xfs2rrKP7/GxW2n/roK9xCWRvQYr6O0v7Q/1t8kE0WD89/zIRUd//7juf3D5isyefYbDF7/pqYj4UpmlXUZLk4+5rw7wTNy/oKWbZYHeroA3Xall87iv2dyn7ICfqt/dsnpJcd7drXu6d3UO/ih1BFnVz7k2PzmMi+fvLeB4r46ouaROko9relhlPCCaBN4LvQGyT6a1j3wqa6KVis/frarbH/SPgG9Px3Bv0SYWm4FTaGMkX/zosOwjTuGto49oUiJY+dBTD8Olh97KrNvw6qmpG3KWR64q7nRUp1AKFnEZfH4g6M8ma9bEHGjz2dj3FvbZmV8J9Bm1r5aV6QqA+8CWZX18/B+ijBVNmaVNeuNuzng9ooGQiubj9sBwAaoy4D90BBfXUzyCLrkekz8PVfSlzaYU5SuQso1xXGkt9EjJUaboIHOp4HjqVKQ2B9uL3jVS/UKHggeKBED+yM7stK1N9I9Y5kuLJRphLTZf9OOBF2h+GgBbcORYOM/x7QF646RYvpOmVljGsNoC+KJ4Peg6+gKjH7M2FQv8TQQcAXVRnHTpz9H4jXRqEKWQMjfWEGOBWOi8JXc9Wm7dkILqXI8mg9EmaHM+Eo0GbrYtgWXorgUpqchOYbYXPoDh/ADfAcFCl57LyK4UVAz2AZUH94HK6DHyGvTEaBORoU0qGDRPmUP00sb1oeN+0abv4LK8L0oDX/MyD5I/SHycFE/fAA+Bf0hDVBhwUfwd0wErKI5nY9y16gfqVnOgJMDifQzW5irh9GcV9z7Q2HwsLwFTwJ30MW0d5mHtDznA80xtwBeqZponJzw+YwL2i8VjnzHcHmRZ2qvfniLZW0E8BgvyU3Nl24o/j/HFowSdOtaL5gR2l/6P/NP8NWSobnP2ZREfpfK72o+bLW/7RA0RcKTex/hYmhKrE61NEH6rQt/wb7HeP91xr0ZrAvgXo2VYg9f9m/BeavwqhjI86+NihHwpewjpO3jKBr/0YMaHOiDdg/4BvQJml76AJliGtfmxxt8rQOPAzUfm28doOJIEjrHpgAFdrEqr8ncX1kZoaUPFb2xChvq5clUGAHXqbbvW7YqoEM5dXvdODwDvwEQ0EHA11hnJIJx6nahsoGD4z5+pX1FC34K3ggeCB4YHzywFY05jZYAPTzRy2GggQPdBYPHExDNwYtuuuQ/TGqTcZrdRjHpuxvBPoSrjroC6M+itwPVchfMNIOy8ArcAicDRqPBoA2RGXKgShfD2TvJdABhOzq/jxo5ms3xYJ4HtCm2jb4XtIvt9dGoU+4DvwlNj6gXyIUIfuhJO2QR/2xTNEm/1Y4DLqD9tBtcAzIHzo4KVK6oUzv+kKQR/cs5F8JFoXEfX5iAoWCBA8EDwQPBA8EDwQPdBwP7ENVtoP3O06VQk2CByrzQF0bb2tgXQcPZl8bAv0MWJveR0A/Dz4Iqtr46kv8A3AVvAjaYBwA+gpfhWgDdhfcCG/BkrA3fAZBivWA+tWwBJXXEH+1k7YH4U+dezfYlxv9/L0IWbiBkkUapLeavCMK1kxQooOxLRPS8kbrPdehyQfwKOhd09izEaTJzCTqF1L6Rc4geA6GgQ5NfyPhAOA3LgkRwQPBA8EDwQPBAx3SA8M7ZK1CpYIHggeq8IC+PE4Fa8MfQT9DrlKOxtisoI3IevAqVCknYEyHHmr7GjAnaIOkr6RBivWADpmXg/PhY9A/aDcEDoStQb8SMHmFQC/QoYD+epp+CfI89IFDoSiR7jQZmZZYQNqGDXQ02qA3KD46We/3QNgM3D16D+5vgs0hTqYmUodzqsMETgb9Gw06MJO+scRVPlZCuAkeCB4IHggeCB4IHggeCB4IHgge6BAeOJ1aLAb31FSbftjVV9hbarKvv26wIOiXIPKB6vEtvA5BiveA/m2FXWFG6AI6fDkZdBjgy5tEbAXTgn6poX46AIoUfd1OE22Qy5TJGihvlN6g+OjkA/gz6ZcO2tjrHZh0dM6x/9AvNhYYO+qXOys3yS8xBMIBgOuNEA4eCB4IHggeCB4IHggeCB4IHuh4HrifKlX1c/+41j9Qs/1nsX8aPAPdYQPQLwE+gSDjvwfOpYn6qy9xokOgo+MSCox7ooGuRukNio9O3qRBJh3GrBiTp9GvD2aizFi/lAkHADFeDFHBA8EDwQPBA8EDwQPBA8EDwQPBAx3GA/+mJtvC4aAvzLdBkM7jge9pqv76y6mgv5Yg0b8/cRH8Dj6FMkW/wPkgwcBbxJ+TkJYneroMmePy6JcXjWSscuEAoJG7QnrwQPBA8EDwQPBA8EDwQPBA8EDwQJ0euB3j+isA+oflfqizIsF2bR74Bst/BX0JnwKmhp3ADgQIliba/K8Jz3sWnoziP/fim7nVX29pJHF5svx7HGPlCQcAjdwc0oMHxnjgOy5fQV0/NQv2O7f/dfKtn35+AXVI6H+du/+pz9XZB+q0rbbr7xm/B/rXleuQutsf7Hfu91/PX3PPR3V0fmzKvjZ+J8I7ECR4QB5Qn6haXsTg4rAk6K+g6Jcoy8IbUISc3UDJINKfi8nTqNy9lHk5plzmKJ1+LJ85d7EZ9Y8X1G3/berQq9hmZdbWEdpft//rtK8HNXHmp1VOxmC/HL9m1Rrn/80pvE1WBS3mm6HF8q0Wj2t/qzrzlA/283irnLx1PoM6bZfjzXxa625/Z7ef72kVn7tu/xffonwa4/7hs3waQu7ggXHDA/qFi/6XBR/9Owf6ty+SJKmcNv6zJhUK8cEDwQPBA4080IcMWSbhhci3ciNl40G6BmL9nTP97KsNggQPBA8EDwQPBA8EDwQPBA8ED7TigfUprP++T784eBSOhGmgkaxLhuvhf/AgHAZTQpDggeCB4IGmPHACpXQaeQekHQJo869faugfZlkJxlfRX5+6H+yE9iHCXcbXxoZ2BQ8ED4z2wAL8+UIKkwU/BQ/ggQlguegaHBI8EDwQPJDXA9q0D4YO98sfLXSvAVv86u9haGIMEjwQPDD+eUCb3WvB3vekQ4AFyfN+1D8anAAAPhdJREFUlG8U161hfJVDaJj5w65HltjY9dB9HjwD+juQQ0B/F+x8WBP0jMqUuu2X2bagO3ggqweWIKO973HX8KUlqyfH33xL0zTNl7ONv00MLQseCB7ojB7Q17+4iU9xW3ZGh9TQZn1l2BuuhCtgV+hwp0TUKcj444GuNCXtEMDd/P9E3iL+XvxS6DkLnoShMLxFBlK+CNEC7wfwx8EfiSv630jRLyqejrHl236JPCtA0VK3/aLbE/QFD7TigXAA0Ir3xu+y09E8/UNc+ith+kfCggQPBA8ED4xXHviY1viLT/d+ovGqtR2vMTNRJf2dENfnCmuTlOXvh5AtyDjsgVmo+34x9e9N3CIx8UVGJR0C+Jt/1aVV0Rf2n8Hv563cv9JqpSg/BbyaUi/9S7BTQRHyO5Tof57I2mYdSmxfhOFIR93205qi5zA3qM/PCGX/AgITY0lntz+WMzrRTUc6ANA/Cqp+GKR+D2xGFT4AjdVb1F+dUIPggeCB4IHiPdBoMaov00HK88B/UJ30DPoXaLYXuoo4UJgWPe0F1qtOVWthvNGCa2byrFhSJbX517/mqeevv5NvsiMBbZa1AFnYIku6+ocA92HnPVCd9OV/W2hV9JP2pD7eSrw27q2KfnLfqA6XtGqE8lrcxx226q8AXAb6R16eB78u6gd/glalbvtx9V+bSP01iOHgt/t74u6BfWF6KEM6u/0yfDqu6ewoBwCz4jh9CHgAGs1J45qPte7QwWczbO80VmOYq2N+J62ooA57LwcbjzQ+FSmLoky/KngQHocLQAezvmjOvBgegcegP6wHQYIHggeCBwrzgA10Sdd/F2ap8yrSPyBzNKzkuWBq7rXJSvL9t6T5fxVgZeKugEkgq6iMJk5NJK0cAmjzr0lLmxJtUsdl2ZTK6yfe98JkCQ3pRrw2ZV/Ccgl5WolWHdznr0MA2/xbn9i/FQMxZW8jbojHMO7Nnnv9zstn5fYkPo/8l8yu3qLCr+WpRExevUNbwlbwOvj1GhalKU9SHyEpk5xILlf/G9wvG1NSB3U6FLC8etc2iMmXN6pu+2599S7p3zuwNja6fkbeg8AfC4lqSjq7/aacNp4W0hjQMwXN3WXLnBhwxx9tDqdswajekz4O2nSWIXOjtI/D5AlGtG5o9I4npe/s6NR87ObTcytSFkeZ5hSzMYKwDgSKEPWjk0Hjuel3r+cQr76oeebqhDzKfz0oX5DggeCB4IGWPeAOQnHh9Vu20LkVaODvC/KtNpIrgslcBOJ87sbp57AmtpFX+s2QZSJwy6jco6CDh7xim3+r27h+CKDJ/lNQe24Hf3Oh9tpGTJu12aFImRll2njeCOZT/6oDG+WZB4qSF1Dk28l7f3jOymgD59rYmnv98qBVuuSsR1p2+dqto8KD0wrkTHvT0a+DlXlTyk9Kmi0CT0rJlyepbvtWVx0e/Qi+r7PcD6KcOx6azjzXzm4/j6/Gp7zaWJ1bIJsV5ByNA2+B3//V15s9BNDc5eo7hPsypDdKXTvdE4z49XHLNAq7HxrKPADYmLp/5bWnyMP3/o5ujf+3gg7Gv3biHyF8j3OvX0HdATeBWzcdAmhdGSR4IHggeKAlD2hSTBuEW1LeyQu7m3/zsQ4B7Cdf2nTq3tL864ekTQgSfyOvvDoE8Deuymsi+3Ebm4eJz3OyrQn8cfDrp9NybVbiRJu7ReMSnDgtfuZ07v2g0tMWQfqpZC8wH/nlG92r7Oegdt0IqrNEvjG/vU24DYqWtVDo+zPpfvcCje+KLm3gXS5LqIsWJ8d4eVVuJcgq6h9+u/Rc6xItIo+CB0D9d1iEFlt+PX9w0i2frjpEyyP+AlgLv0aiw42DoWujjBnS67ZvVexLwPexey9/67BIh4tuvBseSlp3aEay2FcdXHt+uEz7vq24+1bsN+OzZstMQ8GRFTKgQUX9dyDOt3ni9DW3VdFf7xoBSXbzztNWH7+tHe0AQPOH3mGfOYjThtf88SJhtcWkrAOAvTHwE5hduy5ghlu87uHofpnwPI6+WQjrsMds2nUwcXM7+fTBQPOOpR/tpIVg8EDwQPBA0x7QQGsDi3st+qunW8FZuZkPmt28ubqaCWtjOT1M0EzhjGWk+3RwfarwF7ACSLTB8tPt/oDROeI3/8pzETTynyYOTTqm064PEZflEEATcNzmfwjxmrB90YR2PYwE2doe4kT1eheURxux7cDkWAJvgNJ0+p30jK6K8uhL/gUp+UhKlN+RYocw1xCeGmxC1uJsXihD1kKp2peF3cuoQKRzQa7vRfXQIkgHBNdG96rbLTAJNCvqP34by/JpozrqsGm4U58XCD8UMcyJ9+vr30tHHtGCz9Wh97ZKqdu+2roTuD6wsN5zLcDbwN7ziQmvBGdA3MHM08RPDnkkyb7Gsb2gDWRf/d3qlnQt0n6SjbT4ZuzTrEol7r1Pa1Oradc1aF3R9Tm5gb1GyUuS4SNw230W9/d6cdr0aU7KI35bO9oBQNL4fxqNNH9obaDx2pVu3Fi6rj3dxCbD+3o6Tf8o4rs2qdMtpnHqO5DeD2A28EVrUb3TZvslwjpA82VGIt4H5XsHZoAgwQPjqwc2pGHaTwSpwAOLYkObrcdgt5LsrYNeG+T86z9Lsumq1UL4fLBBVHX4Bm6FtaEM0aLybPDbq0OA5aALnAM/g+XRRkz+UNmV4SuwNLtqE9Fo80+W0aLDllfAytp1EHGafJJEC4k8m3/T47ZXk9/ylhBdNbEOBKvH24Q1uZnoWWgCtvTjLcG57ueky3cbOWmNgjr40QbD+Bths/VxFJb9XZ08yjsFFCVqbzvcAGZbV7cf6F1UnjYoQ7T5t3dBfW6HyIiez7Vg9dKmqNlDAPUh02PXpAUgWUuVy9FuddChkd4vk0MIWFqj63ArlPE6p6f7wYzl3Gxa7DX7DOq2vzB1j9vI9yV+YreRMeG5iXsW/Gfy75i8SVFJ9k+gwEReoSwHAKpLEfb9NuW5z2Pfa2Ilt3HvfZ725c17XYNWFV2fYxvYS0vW4f9IcNuovijRhtE/BNA8ELchVP448duqsa0M6Y1Stw3dE4z49ZkvJp87B2tttHhMnqIPAPbEhlt/N/xRjP1moty290tRMAtp74E+RsT5x4r+mYDGzbR1m+V1r+pXv4eD4SQ4AnaHOD8TPVrm4k+tCQ4FldEz+gOoTUGCB8r0gN71t8DdF5RlTzZOgyfgUTga9L7UIXqvB0OjdVFs3SZwYqci/KxzX2bwnyg/r4EBOdbfCMYVmYZITQBFy04o1MY0zbGXkK5NnxarRcqEKJPt3TylaufaoI43P/wONAlpgzAUtPm/HaYAVy7mZmfQZjGrzEbGgeBPLjoEWB++Alc0yN8Jy7qRhN+A1eEdL9697crNXaB8kvehF9jG6RTC+4PkB1A75QNXNNH9y4n4E+Ero3vlvw9kR3IcHD46NPYfeh/kT1/aibjBj8xwr682ejmLks1RdA3Ye3s04ddhAHQBiU3YY+6K+3MhVMmHM4P6kd6P/mAi38rfqqPkVtgM8r4b6kefgSvqg0PciIrCI7Gj8UXyLrgLVi2ST1CCI8MIH+jcW/AbArfZTYbrJOT5GuyZyt9LQ56+pLFT/XwT8N9VolKlbvv/pXYbejXU+32GF5d0q/FP48nvnAw/EV4cXnTikoJ57N+Ckg2SFDnxrdp3VDUVbGR/IrRu2ZTm/IVUF40Vrsj+Zm5EyWHNRw+n2PDHIc2vmvfSRPP2mbC6l0nzs/pI3vdQaqTrZnA3cEdwfyyYTEZAfXZNi+Cq+XEd+NyJSwr6bT2UjNo0Fi29UXipo3QOwjbHO9GjN4zuHLAAia85GXYjfG50/yNX+fbu6N69dOPmIydCB9ivOPd5ghqPbgI94zgZRaTmhNNA43Wz4j4LrWf2TVG0KWlq4/kpefIm6T3U85fd6RIKv0n8X+CWKH0JrueA5pw4+ZZI1fFw+DIuQ4gLHmjRA2dQ/l0oY9xyq6Z34kmYGx6AyUF7Ho3xGqtbefcpnku05j4bdgHNAd9B06KBR5ufKtBAmSYPkZinHnJEkbIjylz7GsD0gLXB/dBL+w/3E0LRIp0aNN16KDwSeoEvKxOhBYaf/yLimq2fNjxDYnSq408BJuo7j4NvW2U1yWeR6cnk2nqae3XqzcHVq8k/SVx/adO1DMwK74Hp0DNM8sekpMWJNhL3OKj9ps+uPzrplnce4vKKFnr9wF3wSce6cBA8B7J5FJhsQ2AUjIDdYVdwpQs3J8FsbmSOsMq/ArL7E2wPcaL38FownxwTl6lBXNw4NG+DMmUkq39bO3Qd7hnRGOamKzzYy9PKrSYZV//b3C+WQ+HyUflHucqneaUu+0tSUbfdCl+Qt/Lknwnc9156rsygJ699LYL9+ibdN2s/SV/e+DT7ce9dXv1Z83+X4TnUncX3h8a/NNGcMgB8H9xPnMaSZmQ9Cmnt4ercN0GR5krNO25evcNZ3n2/rRrbypDeKHXr1z3BiF+fBZx8Wg9oDjI92ztpfnBGJ5/y9/QzZLyfhXyfgtlMu15PPs2DzYrb9n7NKmmy3AyU88f9tLbuRf4V4QdIy2dpQ8g3NxQlR6BIfSpI5/aAxofXIWn9XqR3+qJM/XlvR+mZUdyfnLgygzqE0L5Ta1J7t1puu04ytGkyhWVed8BOkqxGgm/bnQDUUC2G3Tw6kWwkmqB7RqRtzNrIowWK6b+KsAZGEw3u+4E2fJZHp6GNZAIydIvQA8wiqvPFYHbsOpK4ZRwFKxP+KiZfK5t/Uz8HAfnXbNv1fuK0sNGE1ermHxWjZSH+/BzMxh2Ev3DuLyacJjq9djfnekEeAdM3jLD7LLkdS7K8RHr+muSl80s4EqwvtDpha9M/CKRbVzsEWJew+uTPcDDsAb5sQcSeoC/Hymd5uhC+AqTzVWj2EED97WPYDtJE/rkWHgT1j7wyNQVUV5d58yopIL/6tVsH9SVXDuHGTVd4sJshZ1jjwywOfyXs69dmQM/fzZcUXt8p/yxhbYjTpG77Vrd/EHDbrfdf42YzooMwX9fEDRTltX+LZ8O154fVlrz2fR2t3KfZ9/t7K3Yalf2uwTPoCMm+P15JqZTG2MvAb/e9xGld1Yz8gULfg6tTz29gCnHz8FPkb7Te8Nt6CGXKkGYPALRuk6wFrk8OHx2b/Me/SXL9Z3qSS8SnDPD0uDrjwv+MV5Mp1n0W/TKVKCaT1k5PgtserfvOg6NBv2x4DNx0bfw/8OJe5v5sUJkz4DlwywzlfhooQh5CSZU+KqLOQUfxHrgZlVsXr/Y3GrUf+whGgMImsxLQmvtuiyj5Oin6N4zQLxr1fimuZdkbDfay6uXWpmJVWAW0yVwJVoTfRazAdXlYDpYFfZkW2iwsDUvBkqCBwPQ+QNh1HrdjieWzqyZXLV77Qn/4A0gGg+XRtdFE2+bl5zZWziLW9GpxNwHE2d/dyaeNkQZQk20JXAfSpQ20xB3Yh42OyfaH2j8ArE52/Yw4+VjP5auY9IuIS/MzyZmlBzmHgtm26/3ExS06hhBv7SaYKKpfm4c2sabfvWoy6unl1XOZ2YtT39PzcMsq/BNsBm0eer5ZRfW9AqTva1gVJBp8pF/xx0OzMi8F3wfpEYNgc9CC2eIuIJwkh5Fg+TQg6X2+3IlTnfX+Jok27OrzSWjCTUpz4+8g3/0peY8lLUnkY9Xd2qHrgkmZS4x331fVYbhnS4tkt44Ka0xqVnx7vu5W71+hYt1TKle3favaEwTctmoca1YmpeBX4OpbvYEy3/7FDfKr37v6G4Xz2m+kL296kv2yn79bT41nHV18f+j9iRPNzzYnuG3UYnCyuAIZ4nqTZxS4+loJ69d006fY9duqsa0MUbvcdiSNR359NP73gi+d8ucRTpP9SXRtKaz1Q16ZkwJxz+I54gfAY+DbUf5FoBlx296vGQVNltmPctaObwnvBBPE6NLa/02wvHbVh5s/xuRX1MbwCVjeotql9UhRulAVZBz0wBrUWe9gXF8tujlLoFB9WGtqXzQ/aF7r6ieUfK93QHXSWie3+JU9Ew3rw3qgDa0GbL28rYgGXQ0mEg0S28HPuskgfyKPNiValPWI8m/PVRubpUCbLhMN+MfaTQvXjZyymgingjj7ZxMvm/PBDKDDkAfhr3AymLQTWBSyttnK2VVt3BG00NjGIrlOC/eAnpN85MrF3OwMeWxOQv5dXCVe+Hru1TZXVnNvnLDybuLc+8FzidAkqa+9Q/3EhPu5iNfpsiu3cqOOv6YbmRDWxvK6mDQt0vTiNhINMBeCNvvKr+f6AEiuhIlBfj8UNIEeA3lE5deCa2CfqOBKXIXJCALPwOpwv0VGVw1On8LzoP6m+p4BrtzMjdJeA51k+qK+tIEfWcJ92mClPvsGzOvYlS/V1/PIF2QeDk+DDj5alalQ0BXUb8dF0a+oBoH6mPxbtWS1P7dXsbzP3S2u9/Qh+L0TKf3+u+Mk/+YnqtrIFSl57RdpW7qS7I8krdkNa946/l9MgcmJ05xalTyJobNaNKbx4HLYwtNzF/ea/7LMK17R0X996xwiJ/QTWrhfirJ6j/Tua44Y12QhKnwuTBlVXPP+nlE47rIhkf+MS2gibkvKdPHKHc798WD9eAfCFzl5lH8P2MuJ6+hBtcFEa5wb7ca7PsL9KvA/mD5Kkx82ggeje/+idcc68ChojbEtaC35E4zLond0YvgRxvW2jIvPQf7XXmtvsHexzHYsGCmPWz+9SZrWOG0wBMZZmZmafwhyqEjbFJKcKno5tGExXb1Tc4/5im95dZWojBunsDYwEjf+vjFRiX+2efnjMmpw+jnKpwWRJM3+haRbHbYfnXvMz6wtzq59SJvWyTuMsC/aYGixmsRjpJm+RlcN0kl6FD8J+OLWr5H+VtNtA9iqTX19uwdaqY/VxfeHf79/ZOd7ruv7idG93hXrPxsn5EmKzuOL/jFKDiEuqx+WiSmvqDx1yGorLp+eWZqcQmJcuWbivkHXaZD1OVu9poipw8fEDYvQL3D8+gwmrlnR5qtfAhcRr0WGb6+Z+xHoWRh8qerZJ9lXfdzx19q2sl/RnPfnk9906fq3lPLN2M/7C4C89t26FxFOs5/imtKTqup/5sPrGrTIr88rXv6u3F8Lps+utxOXd6xxVc/DzbwloTbFid9WzSVliL+W6p5gxK/PV+Qz/z5JWGNzkixKwheg/D9EVyvbk/u8osMGK6/rYwkKrvfyvZiQr1G02/Z+jTIXlK4Di1Gg9r2UUafmVPOL1ptZ5L9ksjJzZing5dHYNdhB/eIj515pm0JVshWG1J4DKjLot9/1hYVXr6guMqN+o7FO1zpEh1bXVGhYh4563jq88uUqIpTWy08o+V77OdnVc8gtmsR8+YCIneGmKEEv+v0wJLrPczmWzEtGBfSgLmtQeKYG6ZY8gQWcq9lxosYKZtGticV0a3BJEsvzvpNhliisDaAvOh10J6043XqJVvQLNnm/QoNyVv8G2UpP/hwLM3pWVuNefcWvo/rl6qAB30QTvGTiMZfRf07NnwNhjtF3Y//Rh1tN6K58594Q3ha00dNCzpV/c7MhnA7D4TA4HiSyfzIcBTpcWQNuA1fUnhPgXBgGQZI98E+StgEdRrYq2ljvC/ODnp8GyyzyNZnUP6dxMs9AWCSJ8rbDNzAMXoes9nSwpL6RJHeRoP7TlpSB+PtgkJPeh3AP517BWeFSWEo3NUiafb0jwhUtTFsRGyNMh6/f4nUtw76r32z4cXYfZ9/Sirqmtb8oG+O7Hh0UacH3B6+hGvMVp3e5Wfmk2YIZyn2bIU9HzGJrpzep3AagsTlONF9okzkVaNzdG86DVsRfRzySoOxh4t3+oHXIuCJaewrJl2MuDf9087nhtIJuPq2Z8sqjFHCf/Z+5fwducBS95oTLDmod+Da08r7nqaPf/riyqk9VsgeGzoAdoD9UKRoTjoA1qzQa2YqbQ+PiaqhaPpNdE7LfTLwGzt1Ajr4UVoKfIKusTsa/Rpn1ouyetaCX7xbuR8BsTrwtlJ8ibpkoflonPS74l7jIDHFp9oc55VeIwqdzPduJf4vwTbCWEzfMCXfmoCbpjx0HzE74LLCX6W7CC0J30OSuPqkX/keIE5W7AGzSlm4NmhuBRM/mSXhJNzHSi7iLQZuG9WEgmOjQRhv7BeBBmAk0+ejdOBH2geVAz1ltUNtcOY0b9cENYTHwD4qkX+/MOnAomKguNlnqPdgV3rBE53oFYbWtHywSxctPWqyaXEbgQnjVIrzrN9wPgXmd+OGED4A8775T/P/NxY38Y89Uaf/THymig7XV4BLQMylC9Dw3AL3PWeU2Mm6dNTP52sBdjLzO/d5wFzQSLRhfbpSpQfpqpN8J6p+SjaHH6NCvf6hOOqSoS9Lsq69/BtM5lZvFCTcTnNUr5B7aekmj3/ui7fs28tr3y7d6n2a/Vd2tlNezv74VBTnLal5oRjQW64B6E6+wxpXNQO1oRfak8HGtKEgoqzFf88t7CekdPfoTKrgefJhQ0UmJvxFsvPtbdH9eQv6s0d95GbUOiRN/nBoZl6mDxqnPai2jddPSoDWO+kuS6B34o5O4CmGVlY4k6UbCulHi91y1rsgrOuAWJpsTeBa05qlDHsLol3BtRcb99ldkNtHMm6Rob/N2Yo7yEg5EteaLoeWZ+I1mjUGSacZcxvpT6zeJ5RlzNw7/OTl1fwW0kRFHQFbRAk6Dgcr9DGtAFmkjk9nT1UQbwH/B1dDbIrmuBG5+N83JNvrvmrv5kjaA0zr63AEqyf6c5NfGSLpHgTZ2Ei0OLoDjQRvFSeAZsDrsRdgX17blK+uqydIXPW/VOYlrSMtaH21Gk/Qo3t2UcjtaNKloUWY23iAsn2hC0sbU4s8nnCSHkWD59FzWhsngKSd+COHpIU60SR0A0qGBfXlwZS5urF8PIiyfSXqAxd9P2Pfv0cRJ54+wESSJ+s+3oLziIlgItGizOG1Kk0QHHJZPPlsLDnfi9C7qACJN5ifxUzA9up6ZViAlTeOANrWurru575pSxk9anIidQe04NgdaRL8Gru2Luc8jer+Hg6ujUXgf8m8FD0TltNhRGxpJFe//81TCX6haveq2b/Vwx0n5+hRLaOI6IWU+APeZrdVAj2//1Ab5tfFz9TcK57XfSF/e9CT7U9OOjytC71RHF/990FpIovn8dfD9rgVpUfIXFPn6W7lX3WdNqZzf1kNS8raS1JvCbju6Jyjz66O5bIWEvBZ9OQHTrbBkRrA4XXsqMqdcSH5Xh+qiOdIV9YkPwc13mZshR9hte78c5VrNqnHW6q95M8lX05B2g5PXyjxHXBvEyWxEPgaW9/q4TE3EPUSZKn3kV1E+OsqPDPele0D9aRioL1Ypi2FMffiqGKN6Z7R27xKTVmaU3gHVadIyjGjz9UNkQJuXXhmN6ETMXvY8C7iulFs3YjWuWcTs2HV/r9Ai3FuaXTUxxIkWjPNGtMVliIm7hDjTq02gP1FpcrjNyTOCsG0cCf4iExFaK4UjSTM7ja4HpeiRjbydVC+auzk3++r0b4Pd2/Ve4uLaSHSinE2Klf+G8OJOzi2dNOX5i5NmQbVLm37TcZglcJ0d3E30fdx3ddLdoHxzHUjPZ7AkSKTjTVD8U6AFsysLcGOLAG0K9Dwl6o8qo7ptA2mi/ncRKL+uupdoolH9dSixG5wF/jPUIcPu8C7If2uCiR0C3EWEDkQayWpksPdedREHQB6ZhMy2CTYdLxGnvlSV7Iwhs63r400Y7kaZf8AgGAbvR/j+MTttpEv2BYvTs2wkk5Khb5O8TjmzZVfV18K6PgHTQ5LUbd/qdQIBt94aX3Q42Iz8nkKurq+5VzvTJM7+JCkF8hwANGPfrX+r4TT77sajVTuNyn+X4s+OkuT7ww4AVL8eoH7ptvNn7neComQXFLnzmWzp+akeScSNAzqAnQXSxG/rIWmZW0hr9gBg6wY2jyDdnoXGOXvHZ3Dild4T8sq6FDDddtWh4q6wDKhNQ8HS7Lobcc2I+yz6NaOgyTKa52z9ojZ8D5dCH5AP/ggng5tH+X4Ea7P65wUgn6iMnpvWdV+A5dEmyT9AIaopeYhSVfqoqUqGQoV74GI07l241sYKJyCL3v33oIuTfTbCGv/vdOKqCuod0Ls1aVkGD40MyIgmnskbGNrByf8c4bTFUwNVmZIXcOzZIJN2PSGT1uyZNMkM8eqgjcYlcCtoULT6aLBcE/LKihTQ5s/02PV84q6Kif+UONu4EmxJtGF7FMymXV8jbnaYG/zFkPLcA436CllGy3b8aXp11b0vxxBheUYRXsfJMCfhj5z0mwjrZXVlOW40+ZgOTUxJog3HbaC80rsaaCGl++dBzzxO5PORoHx6LlokmL3dCWeRCcnUB3R1pSc30qcBSDqvBjvEUJ9W3DcgO6uCL38iYjI/MuXefY+lWwPc5in53ST5/nJQOUN+nBuqFC1EzL6urxZo/DFPt9lpi2zs66RrHCxTZkT5O2B10PVm5/4BwlNBWVKkfb2nbjsU/msTFdcB3LOerv9k0BNn/8CUcnkOAJq17/uj2fs0+9N6vmrWRpZy36X4s6Mk+f7Q2seV+bh5D9z2asO+hZupxfA2lNdcZzZ+JKy4ONFcoDnB8ur6EswCjcRv6yGNCjSZ7o/H3RP0+PWZJyGfov8ImpvU3ndBi3GT6Qm4/tAc2oxo/HT1NAprHlYbmhG37f2aUdBCGR1o6KNHo/ZZ+lnk1XrD7htd9d5vAEWJ6jt/UcqCnnHCA1pjvwi29q260sdjUP3cPYA4M4rbqurKYK+lA4AsTjwRI+vCKrAA/BP2gjjRQH16lPA9V01WupYpWtSvChqkG8mFZDi0Uaac6Z+Qf03QgnuxqOyyXIUrX3Ejf9zrRmYIr0ieO2BKL+8F3O8G2iiqQ7qdbzru7wHVazA0K9r83wlaFLsyhJvVQROuRP4fCNqIm8i2NuIbw7cWGXPtQtxK8D7MAufCJeDL34lYGNrhOdBAcBdIVJcRoI35G7AdyCeuPM7NLnApqN6Tgi9HORHa6KsN3eB+J/5hwvs491pkLeTcP0J4PdgyQkmvg9p2FEjkv8tGh377x89E9f9t9OjDt5mJt36wBeEJYCgcBJKJQRN43LtwhTLkkIvJOz8cEpWRLfluBDwSxSVdjiVBBw4mGgP03N60iJqu6mt1yLQlG/0I/aeB+2srO2zR+7sppL2DJLckRdrXe3ofrOHU6HjCT8AgJ65RUJPyEk4mjQfS00ji7B9HIdmPe68a6bP0Vuybjlaujex/h3K3/7Riq1HZH2MyaC2idUZVos370y0Y05i+NgwEOxDWXKxx/Uu4HVqVy1Gg9/ZKmBjkI82NOlg/H0wUr7yaE0w0L+kd+sAixuGr+m6c9CJyAGhukp82gRFgklTO0rNe5VeNCz0yFuhHvpEZ83akbE9RmaXgAnDHX7+Oo4j4JxwJepfl/xNhKkiSwSTsALoWJapvkM7lAc1RB4P6YB1yEkY1Hmifq/FGY/Hv4EG4BsZL0cCnAU0DqlgPfNEk9BhYnv39DCXfT4P+4Y59q4dd9ZDKlElQrjbrdMps6qrFsTa1c0BeWYkCWky4+hTWAD0hmMj3V4Cf72PiFrdMOa/yp/s8TbcWPrPH6GojbhhYPrtqAxK32Sb6N7IwMVroJIlethmTEomfCbqnpCupR0q61TnP9Tr05cmvvHek1CEpqY2Ew0Flk+zpeSmPJvEiRBO73z71qflSlO9Mml8/9zAgpWjhSb29ugwp0ELcu6F2t0U29uVqftC4VLasiAGzp+swuB7S3ieSC5Mi7S9NrX4Ctz1fcL9RhtqqvRd7ZaVHG6SsEmdfB7ia8H25hQi3nknhVu0n6c0an8e+38Yq7qfN6Mes7W2UT+Namvj1eSUhs/rK5+Da+4b7VRLyNxOt9ZY2uK6Nv0SKNPdr4emmvcC95sKs4rf1kKwFc+bzx+PuCeX9+swdk09lR4C1e+uYPFrDWLquPWPyZI2ai4wPgKsvLizfT5ZVaUw+t+39YtKriloWQ8fBrfAI3AWXwd4Qt5adnvjt4CK4DVRGa7/TYG0IEjzQqgf0MfGeVpUUUF5j6xnwLDwJx8IUUIccj9EbYaKyjWsRbwPee4Rn8Az+w0m/l7A2D3VJG4Y3AE3OmiCrFg3i88Gs4G7U89RjJTJr0Wk+t+sFCTrVzstj8mvDZr9MIJhJNHE+DmbTrkmbf1PaRmBoTDltWrMeApC1Njkcy8ZxhL8Ha7tdz3byKO9m3n3chuBVL8/W3OeVtShgdWh03T2v8pT8Wsw84dlWP+gWU+b3xP3o5T0qJl9VUb29ugwp0HAVBwB5xg4d+rj9Qpv/Vn/xUKf9/b32qG0/w1Wgtvqiw0G9V6+B6weFXwKNaXkkyf7VKHHtx73vZdn39Wa9b6b9eXxVRF5345O1Xa3kK+oAQG3X4Zc/V+tQQIcAs0S0ukBbHT1fgtvmI7i/1ot7gXstUPOI7/uvKax1Q9H49e+eUEm/Ptp8u6LFthbf5gvN1XEyNZGWR9eecZlyxGlNqznE1emG3yetRw59cVndtveLyxDiggc6qQdWot2LdNK2d4hmuxtMLTBNNAGOAg2Gn0LSwE5SkAweWJk8/oJCvr0Q0hblWvBfCu6kpPBHsChkkWY3/6a7B4E3wa/D7cRNapk6+HVi6qdDC7XhQ9Dz0CJa9/qFRzeIE20M7GuQ3pWdQZsWldsLWpG6DgBUZy1i3wL3meqE3/3SsTj3X3h5ruC+TumNcbfOQwqszGOebrOzK/H6yf29Tvo7hPOKFpsD4MCMBdvJZ3XQtW/GcknZ6ravep0Dbpvc8AjSHoTb4Cnwv5BaXh1WzwPNSJr9d1Eo+x+A2Yq7lmU/zlZcXCv2m/FZs2XcjU9cO4qOu65BRf36vNIg/5qkfwdJ9Vy+QfksySuQaWSKjedJmzGLIi+P39akNhQdn7RO9Oszl1NfjUs3gNVFYcXFyVREWj5de8Zlyhn3hqfT9OvQpFdOXXHZ3bb3i8sQ4oIHggeCB+rwgDaHb4ENen0I65R1qBO3JeEgzXtAm81mNv9msQuBAWDPyK7ayDY6PdPJ+uMxZfXFN2myJuk3MicxcRPlLcQnTda/UVJThH5JYQuMzwgvEdVjNq7WpmcI611wZUFudNAif98M0iPZFxSng4BtoVnRs9Hzuxbsmf5E+Bvn/lHCi8N0ULToAMnf4OsQUAdS6hvDweql68MwCdQpvTHu1umFAiuTdADg2rPwy03YPSWqu/pNnwzlL43ym832DGXSstRt3+p2GAE7RLO2Zb0+S9k5TFGT185uv0m3jfPFpqUFbj9rdACgBm8EP3jlTEcRBwCyoUNmm2dMt67PQTObf4qN/gfrXF1VhZPWFL7v21TJSNbh6tZPB+6fgObqkaA5Sr800IbcPxQs4gBAel37CsvmqlCEuG3vV4TCoCN4IHggeKAoD6yCIm08bODTps4GRC1CgzTvAW3ytFE3f9r1QuLSvvz7FnUI0B+svF0HE5e2AVeaJh3Lr+sQSJqoSUoULbzfAFfXfom5O0aCfHxZVGctIvxFWxtx70Tp2uDqeUnawDbA9xOeFFw5ihv5QT+Pb4dmpQ8FzZ96B7eD1cBdlBzLfVmyPopHgdVB17Pgf17cm9zPCHXLkVTAret9OSo0JXkHpqBFn6s7LaxDmzyyP5l9fccRN1GCkm2I/9kpo0XxVAl5s0TXbd+v45pEaDPv+yTpXu/D8TA5FCGd3X4RPhzXdExLhd3+leUAQG0c4JUzHf5corzNysIU1C87TLfG327NKqOcxpWtasD9BZlbfd/3bU7ihoSt3XmvrR4AzBNj+yPilnHq12rQbXu/VpWF8sEDwQPBA0V7QIsrf/AdRtw0RRvqhPq02HS/6l7EfZ7Nv7msC4GLwZ7TV4SXssSUq3sI0Ozm39TrEEA6VIfTQbo7svSictrg6svBGgkVXYB4+9lv7yjPaVzVRv16QhvHOLE8L5DYzPOUTi2Y7gLb/CtOsjpo0/MclL3x3gcb1qfiriNJXwiaFf2i6P0C0DNyN8Wqq8atrKKxLK59zcTpnc4jq5D5e/BtvUWcvkhvAsqzHdwMfr4jiGtF6rYfV3eNHZvBlaC/Zua3+WfingC1fTYoWjq7/aL92dH1uRsx9bWsBwAXkNfvm7ov8gBAvpsP3oZWN//S1dHE932bU8E6DwD8da/mcj2HIsVte78iFQddwQPBA8EDRXhAJ8ZPgk102pBo0RikGA/YIcBFqGt2s6iaqOyFoE3tepBVtNjVRqN71gIp+WYnTZtfHUiMC/InKqlFRposRuKhTga9D/+C6Z04Pyif9oU2PyHnvQ4Bfh9TZkXiyt78m9kzCNi77171C4e1LVOTV3cB5OpuNawN9Tw56qQv6K3a1KHbHjlsulk35ibuEKBRne6iXFdXUZPhuu2nVVvj2iywOGhjpec6BVQlnd1+VX6u044/DnW0AwD5Zk6YoU4nlWhbv6IzNHea6N2z+LxXV4/py3qdi4w6ZLfxVweRZYw5qmO3iDL0ozpI8EDwQPBAax6Yn+I2IPZtTVUoHeOBRYjTZNeqSIc2h0GCB4rygA5zbgVbDNl1twIM+Atv093KVQcTO+Ssmw51DkjhLdL8Or0b5d+bq77Sqy2tiDa3b4BvJ+n+EvIWuWis234rvgtlgwda8YA/DmU9AFgVo7vHMFMrlQlla/WA5rsHQOOufn20HQQJHggeCB7o1B7YldY/AxN3ai+ExgcPdD4P6Au5/sqBbUZPLcgF06BHv1hpFX19HwIXw5JQtDyGQmu7XQcXbQR9k4A2FI+DfGK27Kq/rqLDmDWgDKnbfhltCjqDBxp5oNkDgEZ6Q/q45wF94NJ4ex2U8deLxj2PhBoHDwQPBA/ggVn+f3v3AmNHVcdxfO52dylaqSCgtiFSxVpaqCC15dFii7UFjbYomiBRFExQYlQiobxCUKIIJKCJhlYipRgJyrOAKWgly0MIQqGgVAWlPNpCK5S2VCm923v9/XZndJjefXB7z7m33e9J/jtzz8yc/8xnbwnnzJlZFBBAYEgKeArqiwo/h96I2So7E2KsAYC8yQh98GCGH7OYqThEMVwRqzQ7f6zrJA8CfoGkO3xZ+BEvytAT8COBTylmD71L54oRQAABBBBAAIHaAhNV3chp57WztF5tMwYAWk+BM0IAAQR2TYHJuqyzFJ4FRUEAAQQQQAABBBCQgDv/JzdLolqtTlQ0Jb/+j/AzHaW2tYqX9IDoF2QwTrF/LAtd9+RKpbLa4fVYecmDAAIIIIAAAggggAACCCAw9AT8pvllik2KMbEvX53ednV+lyk2aT1qfv0Zhsm7l9o2DC+1VR1ed10sA13vFMUGRVa8Hi1/rOskDwIIIIAAAggggAACCCCAQGsInKfTyF5Ed6/Wo74DQB3e87LerwYB7tV6lPzq6E/Jd/4LgwBTQv9qdJ3Fzn/G4EGA4PlDXx/tI4AAAggggAACCCCAAAIItJbAQTqd4t+oPyvWKaqje5A6/W9kPd90GTx/X53/WIMA7uAr8nf+CwQ92xgEiPVFJA8CCCCAAAIIIIAAAgggsIsL+G8iP6zI7v5nSw8IHBz62tXjHabO/8PFnm86IBAsf3Ha/26ltnVZxz+/HupxAF3vmzr/ut51mUF+XXU8DhD6S0j7CCCAAAIIIIAAAggggMAQEThH15l1+ovL5drWGdJBHdxzso5vcamO8HLVhchfUif/hXyHX0kmZJ+9nh8E0PoqGZQa5aBrKunaXsiuN+3wT8g+azkhPwig9VU+plH5aQcBBBBAAAEEEEAAAQQQQGDoCYzXJW9RFDv++c8/CsWiTu14dW635Dq+tVZD5P/fAIA7+u7w+xqzAQCv5wcBtM9qVTWsA+7OvK67ZwBAy7X63JM/u3jnd5229cwK0NJ/GaBh+d0+BQEEEEAAAQQQQGDXEPCbvCkIIIDAYAQmaaf56Y5+FOCb6bpfAvhYut6RLkMsJqljO1/htoe1tbX15NdnvwQwZH41X5nVlrQdlySVW/WswzPFi9uaJE8Or1amlJK24ytJZYm295xkcb96PpdKJeWvztKxx2n9FsXKYjuqe1L7+Pn/47W+RNGw/MVcfEYAAQQQQAABBBDYeQV25C7RHrrseYoZCr+B+z7FxYr1ihhlXyXxm8iPVPj54z8oLlX8WxGzfEXJzlT8WnGRIkY5VEl87bXKIlXeXmtDg+tmq73TFaMVTyguUHjqc+hymRKM6SPJUtVnHdQ+dmlY9T5q6WzFNMV/FDcrfqbYpohRJiqJ//3578+vU/xCcaMiVhmuRK+nydQxTu6Mldh51Nl9U351eKPm9zl4BoCXW6qVHfnvqJuoq3hUwAfq2puSv66T5iAEEEAAAQQQQACBnVLAd/keUvh/QO9R/DFdf1zL3RShy0gl+Idis+JaxWKFz8V3Ij0YEau4E+gBD+eO1fH0tZ2Y5nxKSz93nY8v63PocqoSVBT+HdyhKCtWKvx7CV080JK/Xq+vUPh3cJUiRnm3kjyr2KRYpPCAiz1uUcQongLu7/5GxUKF7377+j0QFau4A+6cjmNjJc3yeADAHeC0RM/v88g/ApCdV8xldvExc5ILAQQQQAABBBBAYGgKuJPp//H/fu7yr0vrTsrVhVq9IM3lu9BZ+blWYndGFqY5nTfmAIDvvDvnOEXssrcSuvPpQZ9ssMcdT59P8D/Fphy1ygmqdP4zam0MUHd5ms+zT7Lifws+h09kFQGXN6S5pqc5PB3fM3B8R96DEzEKAwCaAZDNAogBXszBAEBRhM8IIIAAAggggAACAwnUe7c8u+PmTndWbkpXPppVBFx+Um3/S3FXLoc7pC4f6l0E/3mUMpysuDV4pu0T7JVWeep37PIlJXy74gcKP3rhcr3CszBiTX93znyZm36I9bs4XPl89/2B3EksSdePyNWFWp2phl9WdKUJ7L5A4U75nLSOBQIIIIAAAggggAACCCDwJoF6XwLo4zz9e3WuNU+Bdql3UKH36MH99CyDLF92RHbn85WsIuDS13+l4mnFZYqsA6rVKGVPZSkrdld8W+EBgeUKd4B9FzpkcefTOfzox0jFGMVKRWwDpewpHfr5KcXjCp9HjGJ7fwdKisy7M028NV2GWnjWxTsVfy0k8HfR5SO9C34igAACCCCAAAIIIIAAAuEErlLT7gydFC5Fny2P05bnFX4e31PUQ5fvKoGv1Z3hSel6zEcArlZO331/VfGsYpXC53Ozwp3SkOWfanyN4quK1xXOu0XxLUUzyiwl9TlcGDH5N9Kcp6Q5PQjhWRD2GJvWhVr49+sBiOcKCabpsx1+W6gP9dGzDZzPcWyoJH21q+nvvAMgfQagLyPqEUAAAQQQQAABBBAIJTBdDXcrfBc6uxOq1SjlDmVxJ+RZxcGK0GW0ErymcIfPpRkDANmd/tN6TyHxM+Cegm+Hz6d1oRYb1LAHHjwD5HOKYxTZS/imaj128UwMX/chkROfoXyeeu8BET+O8qLiaEWM8icl8TUfkEvmASjXdeXqQq4yAMA7AEJ+v2gbAQQQQAABBBBAoEUFfOdxo8J3ofdrwjl+UTmvUfiu6L0KP58estygxv3291FpkmYMAHxQuSem+bPFDK24A3htVhFouTnNMzvXvu8AO/eiXF2MVd8NX6NYGSNZLoc73p6C70GQyxV+F4YHhfzdcMc4dPmsEtj7acVFilsUDytc93tFjMIAAAMAMb5n5EAAAQQQQAABBBBoIQF3RDz9+xnF+5t8Xp6C7g7Q+QHPw3e7neMahe92O05VuM535f15D0Uzyv5K6vO4O3Byv3iwovC096y8SyvO/UhWEWnpF+45748j5XOaNoU7/6sV+d+17/77XH6iiFFOVJJliucVCxVHKpz/ekWMwgAAAwAxvmfkQAABBBBAAAEEEGgRgU/rPHzX/QnFeyOe0z7KdaZiViHnB/TZHaDfFeob+fE7aQ7n6Ss8CBCyvE2NH64YU0jiWQE+pzsL9Y3++Giapz3XsGddOLe/CzHLpUrmvB+LmPTANOc1NXKuVd1zNepjVJ2gJLa4MEYy5WAAgAGASF810iCAAAIIIIAAAgg0SsB3M+sp++ug6xR/V0xX+PnnWMUd4MsUXy8k9BvxXbp7F0F+3qhWZxQiO4/b0/o/B8n8/0Z9t/1BhTu/+TIu/fBUvjLAugcAXNwRzsp70pWY3wOnnKvwn8O73x8iFc9+cMm+b72fen/upoXfCxC6/FQJfllIMjP9vLRQz0cEEEAAAQQQQAABBBBAYIcE/Myx33juu87NKCuV9DXF+3LJL9G674DOy9XFWJ2U5p0fI1maw1PQNymy6x+mdT/77esPPQPBMy+cZ4EiK2drxXVnZRURlhPSnAsj5MqnsPU6xQbF6NyG7A78r3J1oVZvUsP2PipNsL+W/vfgwSe/FyFGYQYAMwBifM/IgQACCCCAAAIIINBkgX2V33dB3QH1M9/F8F3y0OV4JfCdfr+N3p0h3wF2h2i5YoQiZmnGAMBsXaAfv1ivsPdfFL7+KxUxyg1K4nx3Kdzh9e9ipSL/TLw+Bi3nq3Wfw5ygWWo3frKq/W9greIqxW8UWxX+fYxVhC6HKoEH4JzP3/+X089HaBmrMADAAECs7xp5EEAAAQQQQAABBBokUO8jALcp/92KVTXipQadW3/NeAaC73T7efcDFL6OCxWu26yIWTwIsVjhwYdYxR1v//UF/w7c4XRH9GuK0xUxyolK4rv971AcqHAn2PYeFIpV3AH19yDkOx/6upZF2nCM4h7FZMUYxQKFO+ahH8FQiuQxhfM/oPC7L5Yq3Pn3oyEUBBBAAAEEEEAAAQQQQAABBBBAoGECzABgBkDDvkw0hAACCCCAAAIIIBBHoN4ZAHHOjiwIIIAAAggggAACCCCAAAIIINAQAQYAGsJIIwgggAACCCCAAAIIIIAAAgi0tgADAK39++HsEEAAAQQQQAABBBBAAAEEEGiIAAMADWGkEQQQQAABBBBAAAEEEEAAAQRaW4ABgNb+/XB2CCCAAAIIIIAAAggggAACCDREgAGAhjDSCAIIIIAAAggggAACCCCAAAKtLcAAQGv/fjg7BFpVYKtObLWioni6CSe5tVqtrlY0K38TLpmUCCCAAAIIIIAAAggggAACCDRHYG+l/XBzUieJOv97K5qWv1nXTV4EEEAAAQQQQAABBOoVKNV74LokGVHu6OjS8Vs2lMvHTEgS3xGkIIAAAggggAACCCCAAAIIIIBACwq013tO5c7Oj+sW3GE+fmR7+9Sku/vuetvaWY6bmiR7asRkTlIqzdE5j1eMSs99jZYr5LG4miSL70+SV9N6FggggAACCCCAAAIIIIAAAgi0hEDdAwDq6HZk0wf0IoGOlriaQCcxPUmGb0uSM9Txn6cUI2ukGau6sdo+VyYbp1WrlwxLkiu6NDuixr5UIYAAAggggAACCCCAAAIIIBBdgJcADkB+RJKMrpRK96lz/0PtWqvzX2xhpPf1MT62uJHPCCCAAAIIIIAAAggggAACCDRDgAGAftTdge8olR7SbIdJ/exWc5OP8bEMAtTkoRIBBBBAAAEEEEAAAQQQQCCyAAMAfYBP17R/deBvVUe+7rv4PtZtuK0+0lCNAAIIIIAAAggggAACCCCAQBQBBgD6YPYz//Xc+S825zZ63h9Q3MBnBBBAAAEEEEAAAQQQQAABBCIKMABQA9tv+09f+Fdjax1VenlgT5t1HMohCCCAAAIIIIAAAggggAACCDRCgAGAGoo9f+pvcC/8q3F0zaqRaZs1N1KJAAIIIIAAAggggAACCCCAQGgBBgBqCZdKc2pV71BdiDZ36IQ4GAEEEEAAAQQQQAABBBBAYCgJtBcvdl2SjOju7JxZSZKO4rb857Zq9XA9395TKm1tR6/q7Nwjv724rpGGcvvWrUv3TZLNxW0t+Hl8gHMK0WaA06RJBBBAAAEEEEAAAQQQQACBXVFguwGAckdHV1KtHqYp6/2WrPPvnUrV6rn97qyN3l9tL0vK5X7/pN5eSXWBcp+i3bc7t4FyDLC9W+dw9fqkdNoA+3nzqEHs81Z3CdHmWz0H9kcAAQQQQAABBBBAAAEEEBiiAts9AqDOd3coi8G0rX0OUv5Gd/59Se1p26Euj3YRQAABBBBAAAEEEEAAAQQQaFmB7Tra28rlGe3Dhk2vtLf3+wiAZgkcqZjXc2Wl0vf01vxH+7vKtu7ucve2bV397eNtryTJtL2SZJzu1m93bgMd2992Dz6sT5K/9bdPbtsarY/NfW7EqtukIIAAAggggAACCCCAAAIIINAUge062fslyevJtm1LFP2ekJ7571SnuqeUKpUHR3V339XvAYPeWKqoo75i0LuH2dH5GzoAIKsnw5wqrSKAAAIIIIAAAggggAACCCAwsMB2jwAMfMgQ2KNaXdzoq6xWq7c1uk3aQwABBBBAAAEEEEAAAQQQQGCwAgwA1JDS4wceANhYY1O9VRvTNus9nuMQQAABBBBAAAEEEEAAAQQQ2CEBBgBq8N2fJK/q/QaX1NhUX5Xa6mmzvqM5CgEEEEAAAQQQQAABBBBAAIEdFmAAoA/CYUlyhZ7bf6SPzYOudhtua9AHsCMCCCCAAAIIIIAAAggggAACAQQYAOgDtStJtpSr1bnqwK/uY5cBq32s23BbA+7MDggggAACCCCAAAIIIIAAAggEFGAAoB/cB3s78FPqmQngY9T5n+I2+knBJgQQQAABBBBAAAEEEEAAAQSiCDAAMACzO/Bt1eo0vRPgXO06mBcDbvS+PobO/wC4bEYAAQQQQAABBBBAAAEEEIgm0F5vJt3hLmfHVnLrWd2utOzqncJ/8dRqdb6ue05SKs3R9Y1XjEqvc42WK9TxX+y3/fPCv1SFBQIIIIAAAggggAACCCCAQMsIqD9bX1mXJCPKHR1dOvqNDeXyjAlJsrW+ljgKAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAIF4Av8F3lCm8+nJd9oAAAAASUVORK5CYII=";
7462
- class Hr {
7471
+ const ti = "data:image/png;base64,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";
7472
+ class Ir {
7463
7473
  map;
7464
7474
  options;
7465
7475
  contourCache;
@@ -7542,7 +7552,7 @@ class Hr {
7542
7552
  async getIconImage() {
7543
7553
  return this.iconImagePromise ? this.iconImagePromise : (this.iconImagePromise = new Promise((e, t) => {
7544
7554
  const r = new Image();
7545
- r.crossOrigin = "anonymous", r.onload = () => e(r), r.onerror = () => t(new Error("Failed to load wind shaft sprite image")), r.src = ei;
7555
+ r.crossOrigin = "anonymous", r.onload = () => e(r), r.onerror = () => t(new Error("Failed to load wind shaft sprite image")), r.src = ti;
7546
7556
  }), this.iconImagePromise);
7547
7557
  }
7548
7558
  async getOrLoadWindData() {
@@ -7568,17 +7578,17 @@ class Hr {
7568
7578
  if (!l || !d) return null;
7569
7579
  const h = new Float32Array(l * d), a = new Float32Array(l * d);
7570
7580
  for (let p = 0; p < l * d; p++) {
7571
- const A = Number(u.grayArr[p]), w = Number(s.grayArr[p]);
7572
- h[p] = Number.isFinite(A) ? A : 0, a[p] = Number.isFinite(w) ? w : 0;
7581
+ const A = Number(u.grayArr[p]), y = Number(s.grayArr[p]);
7582
+ h[p] = Number.isFinite(A) ? A : 0, a[p] = Number.isFinite(y) ? y : 0;
7573
7583
  }
7574
- const D = {
7584
+ const b = {
7575
7585
  width: l,
7576
7586
  height: d,
7577
7587
  u: h,
7578
7588
  v: a,
7579
7589
  extent: Bt(e.extent)
7580
7590
  };
7581
- return this.contourCache.set(t, D), D;
7591
+ return this.contourCache.set(t, b), b;
7582
7592
  }
7583
7593
  createWindShaftSource(e, t) {
7584
7594
  const r = this.getWindShaftConfig(), {
@@ -7590,10 +7600,10 @@ class Hr {
7590
7600
  maxLevel: d,
7591
7601
  spriteCellSize: h,
7592
7602
  baseFontSize: a,
7593
- iconYOffsetRatio: D,
7603
+ iconYOffsetRatio: b,
7594
7604
  firstRowMaxLevel: p,
7595
7605
  firstRowStartX: A,
7596
- firstRowY: w,
7606
+ firstRowY: y,
7597
7607
  secondRowOffsetX: v,
7598
7608
  secondRowY: B
7599
7609
  } = r, N = this.getVisibleWindSpeedScope(), E = document.createElement("canvas"), [L, X, R, S] = e.extent, z = R - L, C = S - X;
@@ -7602,12 +7612,12 @@ class Hr {
7602
7612
  ratio: 1,
7603
7613
  interpolate: !1,
7604
7614
  canvasFunction: (P, F, M, I) => {
7605
- const g = I ?? [1, 1], b = Math.max(1, Math.floor(g[0] ?? 1)), y = Math.max(1, Math.floor(g[1] ?? 1));
7606
- E.width !== b && (E.width = b), E.height !== y && (E.height = y);
7607
- const T = this.map.getSize(), O = Math.max(1, Math.floor(T?.[0] ?? b)), H = Math.max(1, Math.floor(T?.[1] ?? y)), G = b / O, V = y / H, J = (G + V) * 0.5, Y = E.getContext("2d", { alpha: !0 });
7615
+ const g = I ?? [1, 1], D = Math.max(1, Math.floor(g[0] ?? 1)), w = Math.max(1, Math.floor(g[1] ?? 1));
7616
+ E.width !== D && (E.width = D), E.height !== w && (E.height = w);
7617
+ const T = this.map.getSize(), O = Math.max(1, Math.floor(T?.[0] ?? D)), H = Math.max(1, Math.floor(T?.[1] ?? w)), G = D / O, V = w / H, J = (G + V) * 0.5, Y = E.getContext("2d", { alpha: !0 });
7608
7618
  if (!Y) return E;
7609
- Y.clearRect(0, 0, b, y);
7610
- const W = o / a * J, j = h * W, K = h * W, [Z, U, te, se] = P, _ = te - Z, $ = se - U;
7619
+ Y.clearRect(0, 0, D, w);
7620
+ const j = o / a * J, W = h * j, K = h * j, [Z, U, te, se] = P, _ = te - Z, $ = se - U;
7611
7621
  if (_ <= 0 || $ <= 0 || z <= 0 || C <= 0) return E;
7612
7622
  const ae = Math.max(Z, L), ne = Math.max(U, X), he = Math.min(te, R), ue = Math.min(se, S);
7613
7623
  if (ae >= he || ne >= ue) return E;
@@ -7627,7 +7637,7 @@ class Hr {
7627
7637
  if (ve > ee || oe > Pe) return E;
7628
7638
  for (let we = oe; we <= Pe; we += le)
7629
7639
  for (let Fe = ve; Fe <= ee; Fe += le) {
7630
- const st = Z + _ * Fe / Ae, at = se - $ * we / pe, qe = (st - L) / z * (e.width - 1), ct = (S - at) / C * (e.height - 1), Ve = $t(e.u, qe, ct, e.width, e.height), Se = $t(e.v, qe, ct, e.width, e.height);
7640
+ const st = Z + _ * Fe / Ae, at = se - $ * we / pe, qe = (st - L) / z * (e.width - 1), ct = (S - at) / C * (e.height - 1), Ve = _t(e.u, qe, ct, e.width, e.height), Se = _t(e.v, qe, ct, e.width, e.height);
7631
7641
  if (!Number.isFinite(Ve) || !Number.isFinite(Se)) continue;
7632
7642
  const Ze = Math.atan2(Ve, Se) * (180 / Math.PI), Me = Math.sqrt(Ve * Ve + Se * Se);
7633
7643
  if (Me <= s) continue;
@@ -7637,7 +7647,7 @@ class Hr {
7637
7647
  continue;
7638
7648
  }
7639
7649
  const Ke = Math.min(Math.ceil(Me / l), d - 1);
7640
- let lt = A + Ke, ft = w;
7650
+ let lt = A + Ke, ft = y;
7641
7651
  Ke > p && (lt = Ke - v, ft = B), Y.save();
7642
7652
  const ht = Fe * G, Oe = we * V;
7643
7653
  Y.translate(ht, Oe), Y.rotate(Ze * Math.PI / 180), Y.drawImage(
@@ -7646,11 +7656,11 @@ class Hr {
7646
7656
  ft * h,
7647
7657
  h,
7648
7658
  h,
7649
- -j / 2,
7650
- -K * D,
7651
- j,
7659
+ -W / 2,
7660
+ -K * b,
7661
+ W,
7652
7662
  K
7653
- ), Y.globalCompositeOperation = "source-atop", Y.fillStyle = u, Y.fillRect(-j / 2, -K * D, j, K), Y.globalCompositeOperation = "source-over", Y.restore();
7663
+ ), Y.globalCompositeOperation = "source-atop", Y.fillStyle = u, Y.fillRect(-W / 2, -K * b, W, K), Y.globalCompositeOperation = "source-over", Y.restore();
7654
7664
  }
7655
7665
  return E;
7656
7666
  }
@@ -7705,7 +7715,7 @@ class Hr {
7705
7715
  r && t.setSource(r);
7706
7716
  }
7707
7717
  }
7708
- class ti {
7718
+ class ri {
7709
7719
  map;
7710
7720
  options;
7711
7721
  constructor(e, t) {
@@ -7785,7 +7795,7 @@ class ti {
7785
7795
  ...o,
7786
7796
  ...this.buildWmsParams()
7787
7797
  };
7788
- return new fn({
7798
+ return new dn({
7789
7799
  interpolate: !0,
7790
7800
  url: i,
7791
7801
  params: u,
@@ -7803,15 +7813,15 @@ class ti {
7803
7813
  }).then(async (h) => {
7804
7814
  const a = (h.headers.get("content-type") || "").toLowerCase();
7805
7815
  if (!h.ok) {
7806
- const D = await h.text();
7816
+ const b = await h.text();
7807
7817
  throw new Error(
7808
- `WMS tile request failed: ${h.status} ${h.statusText}; ${D.slice(0, 240)}`
7818
+ `WMS tile request failed: ${h.status} ${h.statusText}; ${b.slice(0, 240)}`
7809
7819
  );
7810
7820
  }
7811
7821
  if (!a.includes("image/")) {
7812
- const D = await h.text();
7822
+ const b = await h.text();
7813
7823
  throw new Error(
7814
- `WMS tile response is not image: ${a}; ${D.slice(0, 240)}`
7824
+ `WMS tile response is not image: ${a}; ${b.slice(0, 240)}`
7815
7825
  );
7816
7826
  }
7817
7827
  return h.blob();
@@ -7841,7 +7851,7 @@ class ti {
7841
7851
  o && this.delete();
7842
7852
  const u = o ? o.getZIndex() : t, s = this.createSource();
7843
7853
  if (!s) return;
7844
- const l = new zr({
7854
+ const l = new qr({
7845
7855
  className: i,
7846
7856
  source: s,
7847
7857
  zIndex: u,
@@ -7887,17 +7897,17 @@ class ti {
7887
7897
  });
7888
7898
  }
7889
7899
  }
7890
- function ri(n) {
7900
+ function ni(n) {
7891
7901
  return String(n ?? "").trim().replace(/\/+$/, "");
7892
7902
  }
7893
- function ni(n, e) {
7903
+ function oi(n, e) {
7894
7904
  const t = ye();
7895
- return `${ri(
7905
+ return `${ni(
7896
7906
  e || t.typhoonServiceBaseUrl || t.serviceBaseUrl
7897
7907
  )}/${n.replace(/^\/+/, "")}`;
7898
7908
  }
7899
- async function on(n, e) {
7900
- const t = ye(), r = e?.authorization ?? t.typhoonAuthorization, i = await fetch(ni(n, e?.serviceBaseUrl), {
7909
+ async function sn(n, e) {
7910
+ const t = ye(), r = e?.authorization ?? t.typhoonAuthorization, i = await fetch(oi(n, e?.serviceBaseUrl), {
7901
7911
  credentials: "include",
7902
7912
  signal: e?.signal,
7903
7913
  headers: r ? { Authorization: r } : void 0
@@ -7916,15 +7926,15 @@ async function on(n, e) {
7916
7926
  }
7917
7927
  return await i.json();
7918
7928
  }
7919
- function oi(n) {
7929
+ function ii(n) {
7920
7930
  const e = n?.dataPath || ye().typhoonDataPath;
7921
- return on(`fileServer/${e}/typhoon_list.json`, n);
7931
+ return sn(`fileServer/${e}/typhoon_list.json`, n);
7922
7932
  }
7923
- function ii(n, e) {
7933
+ function ui(n, e) {
7924
7934
  const t = e?.dataPath || ye().typhoonDataPath;
7925
- return on(`fileServer/${t}/${n}.json`, e);
7935
+ return sn(`fileServer/${t}/${n}.json`, e);
7926
7936
  }
7927
- const ui = ["BABJ|WTPQ20", "RJTD|WTPQ51", "RJTD|WTPQ50"], Ir = ["#d9480f", "#1971c2", "#2b8a3e", "#862e9c", "#0b7285", "#c92a2a"], si = {
7937
+ const si = ["BABJ|WTPQ20", "RJTD|WTPQ51", "RJTD|WTPQ50"], Rr = ["#d9480f", "#1971c2", "#2b8a3e", "#862e9c", "#0b7285", "#c92a2a"], ai = {
7928
7938
  TD: "热带低压",
7929
7939
  TS: "热带风暴",
7930
7940
  "TROPICAL STORM": "热带风暴",
@@ -7936,16 +7946,16 @@ const ui = ["BABJ|WTPQ20", "RJTD|WTPQ51", "RJTD|WTPQ50"], Ir = ["#d9480f", "#197
7936
7946
  function Xt(n) {
7937
7947
  return Array.isArray(n) ? n : Array.isArray(n?.points) ? n.points : [];
7938
7948
  }
7939
- function ai(n) {
7949
+ function ci(n) {
7940
7950
  return Number.isFinite(n?.lon) && Number.isFinite(n?.lat);
7941
7951
  }
7942
7952
  function Ht(n) {
7943
- return n.filter(ai).slice().sort((e, t) => {
7953
+ return n.filter(ci).slice().sort((e, t) => {
7944
7954
  const r = Date.parse(e.datetime || ""), i = Date.parse(t.datetime || "");
7945
7955
  return Number.isFinite(r) && Number.isFinite(i) && r !== i ? r - i : Number(e.validtime || 0) - Number(t.validtime || 0);
7946
7956
  });
7947
7957
  }
7948
- class ci {
7958
+ class li {
7949
7959
  map;
7950
7960
  options;
7951
7961
  abortController;
@@ -7962,7 +7972,7 @@ class ci {
7962
7972
  async add() {
7963
7973
  ge(this.map, this.getClassName()) && this.delete(), this.abortController?.abort(), this.abortController = new AbortController();
7964
7974
  try {
7965
- const t = await oi({
7975
+ const t = await ii({
7966
7976
  serviceBaseUrl: this.getConfig().serviceBaseUrl,
7967
7977
  dataPath: this.getConfig().dataPath,
7968
7978
  authorization: this.options.authorization,
@@ -7971,7 +7981,7 @@ class ci {
7971
7981
  if (this.abortController.signal.aborted) return;
7972
7982
  const r = this.getSelectedTyphoonNums(t), i = await Promise.all(
7973
7983
  r.map(
7974
- (o) => ii(o, {
7984
+ (o) => ui(o, {
7975
7985
  serviceBaseUrl: this.getConfig().serviceBaseUrl,
7976
7986
  dataPath: this.getConfig().dataPath,
7977
7987
  authorization: this.options.authorization,
@@ -7993,7 +8003,7 @@ class ci {
7993
8003
  }
7994
8004
  getPrimarySource(e, t) {
7995
8005
  const r = t === "obs" ? e.obs : e.fcst, i = Object.keys(r ?? {});
7996
- return (this.getConfig().sourcePriority ?? ui).find((u) => i.includes(u)) ?? i[0];
8006
+ return (this.getConfig().sourcePriority ?? si).find((u) => i.includes(u)) ?? i[0];
7997
8007
  }
7998
8008
  getLastPoint(e) {
7999
8009
  return e.length ? e[e.length - 1] : void 0;
@@ -8022,7 +8032,7 @@ class ci {
8022
8032
  const o = i ? i.getZIndex() : r, u = new vt();
8023
8033
  t.forEach((l, d) => {
8024
8034
  const h = e.find((a) => a.num_inati === l.typhoon_num);
8025
- this.appendTyphoonFeatures(u, l, h, Ir[d % Ir.length]);
8035
+ this.appendTyphoonFeatures(u, l, h, Rr[d % Rr.length]);
8026
8036
  });
8027
8037
  const s = new ot({
8028
8038
  className: this.getClassName(),
@@ -8041,15 +8051,15 @@ class ci {
8041
8051
  if (Object.entries(t.obs ?? {}).forEach(([d, h]) => {
8042
8052
  const a = Ht(Xt(h));
8043
8053
  if (!a.length) return;
8044
- const D = d === u;
8054
+ const b = d === u;
8045
8055
  this.addLineFeature(e, a, {
8046
8056
  kind: "obs",
8047
8057
  sourceName: d,
8048
8058
  color: i,
8049
- isPrimary: D,
8059
+ isPrimary: b,
8050
8060
  typhoonName: o,
8051
8061
  typhoonNum: t.typhoon_num
8052
- }), D && this.addPointFeatures(e, a, {
8062
+ }), b && this.addPointFeatures(e, a, {
8053
8063
  kind: "obs",
8054
8064
  sourceName: d,
8055
8065
  color: i,
@@ -8061,18 +8071,18 @@ class ci {
8061
8071
  Object.entries(t.fcst ?? {}).forEach(([d, h]) => {
8062
8072
  const a = Ht(Xt(h));
8063
8073
  if (!a.length) return;
8064
- const D = d === l, p = this.getForecastAnchorPoint(t, d, a, u), A = p ? [p, ...a] : a;
8074
+ const b = d === l, p = this.getForecastAnchorPoint(t, d, a, u), A = p ? [p, ...a] : a;
8065
8075
  this.addLineFeature(e, A, {
8066
8076
  kind: "fcst",
8067
8077
  sourceName: d,
8068
8078
  color: i,
8069
- isPrimary: D,
8079
+ isPrimary: b,
8070
8080
  typhoonName: o,
8071
8081
  typhoonNum: t.typhoon_num
8072
8082
  }), this.addForecastLabelFeature(e, a[a.length - 1], {
8073
8083
  sourceName: d,
8074
8084
  color: i,
8075
- isPrimary: D,
8085
+ isPrimary: b,
8076
8086
  typhoonName: o,
8077
8087
  typhoonNum: t.typhoon_num
8078
8088
  });
@@ -8081,12 +8091,12 @@ class ci {
8081
8091
  addLineFeature(e, t, r) {
8082
8092
  if (!(t.length < 2))
8083
8093
  for (let i = 1; i < t.length; i++) {
8084
- const o = t[i - 1], u = t[i], s = new dn([
8094
+ const o = t[i - 1], u = t[i], s = new mn([
8085
8095
  rt([o.lon, o.lat]),
8086
8096
  rt([u.lon, u.lat])
8087
8097
  ]);
8088
8098
  e.addFeature(
8089
- new jt({
8099
+ new Wt({
8090
8100
  geometry: s,
8091
8101
  featureType: `${r.kind}-line`,
8092
8102
  grade: u.grade,
@@ -8097,7 +8107,7 @@ class ci {
8097
8107
  }
8098
8108
  addPointFeatures(e, t, r) {
8099
8109
  t.forEach((i, o) => {
8100
- const u = o === t.length - 1, s = new jt({
8110
+ const u = o === t.length - 1, s = new Wt({
8101
8111
  geometry: new mr(rt([i.lon, i.lat])),
8102
8112
  featureType: u ? "latest-point" : "obs-point",
8103
8113
  datetime: i.datetime,
@@ -8110,7 +8120,7 @@ class ci {
8110
8120
  });
8111
8121
  }
8112
8122
  addForecastLabelFeature(e, t, r) {
8113
- const i = new jt({
8123
+ const i = new Wt({
8114
8124
  geometry: new mr(rt([t.lon, t.lat])),
8115
8125
  featureType: "fcst-label",
8116
8126
  datetime: t.datetime,
@@ -8159,14 +8169,14 @@ class ci {
8159
8169
  })
8160
8170
  });
8161
8171
  else {
8162
- const D = t === "latest-point";
8172
+ const b = t === "latest-point";
8163
8173
  a = new Be({
8164
8174
  image: new Vt({
8165
- radius: D ? 6 : 4,
8175
+ radius: b ? 6 : 4,
8166
8176
  fill: new be({ color: h }),
8167
- stroke: new de({ color: "#fff", width: D ? 2 : 1.5 })
8177
+ stroke: new de({ color: "#fff", width: b ? 2 : 1.5 })
8168
8178
  }),
8169
- text: D ? new yt({
8179
+ text: b ? new yt({
8170
8180
  text: u,
8171
8181
  font: "bold 13px sans-serif",
8172
8182
  fill: new be({ color: "#1f2937" }),
@@ -8180,7 +8190,7 @@ class ci {
8180
8190
  getGradeColor(e, t) {
8181
8191
  const r = String(e || "").trim();
8182
8192
  if (!r) return t;
8183
- const i = si[r] || r, o = this.options.config.legend.find((s) => s.name === i), u = this.options.config.legend.find((s) => s.name === "其他");
8193
+ const i = ai[r] || r, o = this.options.config.legend.find((s) => s.name === i), u = this.options.config.legend.find((s) => s.name === "其他");
8184
8194
  return o?.color || u?.color || t;
8185
8195
  }
8186
8196
  delete() {
@@ -8200,22 +8210,22 @@ class ci {
8200
8210
  }, this.add();
8201
8211
  }
8202
8212
  }
8203
- const li = {
8213
+ const fi = {
8204
8214
  center: [118.7969, 32.0603],
8205
8215
  zoom: 5,
8206
8216
  layers: []
8207
8217
  };
8208
- function qi(n, e) {
8209
- e?.mapMethodsConfig && gn(e.mapMethodsConfig);
8218
+ function Vi(n, e) {
8219
+ e?.mapMethodsConfig && An(e.mapMethodsConfig);
8210
8220
  const t = {
8211
- ...li,
8221
+ ...fi,
8212
8222
  ...e ?? {}
8213
8223
  };
8214
8224
  return new Promise((r) => {
8215
- const i = new cn({
8225
+ const i = new fn({
8216
8226
  target: n,
8217
8227
  layers: [],
8218
- view: new ln({
8228
+ view: new hn({
8219
8229
  center: rt(t.center),
8220
8230
  // projection: 'EPSG:4326', // EPSG:3857(默认坐标格式)
8221
8231
  zoom: t.zoom
@@ -8223,7 +8233,7 @@ function qi(n, e) {
8223
8233
  controls: []
8224
8234
  });
8225
8235
  t.layers.forEach((o) => {
8226
- fi(i, o);
8236
+ hi(i, o);
8227
8237
  }), r(i);
8228
8238
  });
8229
8239
  }
@@ -8234,17 +8244,17 @@ function ze(n, e) {
8234
8244
  const t = ge(n, e);
8235
8245
  t && n.removeLayer(t);
8236
8246
  }
8237
- function fi(n, e) {
8238
- const t = new zr({
8247
+ function hi(n, e) {
8248
+ const t = new qr({
8239
8249
  className: e.id,
8240
- source: new hn({
8250
+ source: new gn({
8241
8251
  ...e.source
8242
8252
  }),
8243
8253
  zIndex: e.zIndex ?? 0
8244
8254
  });
8245
8255
  n.addLayer(t);
8246
8256
  }
8247
- function Vi(n, e) {
8257
+ function Gi(n, e) {
8248
8258
  ze(n, e);
8249
8259
  }
8250
8260
  function Ne(n, e, t) {
@@ -8253,11 +8263,11 @@ function Ne(n, e, t) {
8253
8263
  r && r.setVisible(t);
8254
8264
  }
8255
8265
  const ie = [];
8256
- function Gi(n, e) {
8266
+ function ki(n, e) {
8257
8267
  if (!n) return;
8258
8268
  const t = Array.isArray(e.type) ? e.type : [e.type];
8259
8269
  if (t.includes("gradual")) {
8260
- const r = new Yr(n, e);
8270
+ const r = new Zr(n, e);
8261
8271
  if (ie.push(r), t.includes("grid")) {
8262
8272
  const i = { ...e, type: "grid" }, o = new Zt(n, i, async () => {
8263
8273
  const u = await r.getOrLoadContourData();
@@ -8268,10 +8278,10 @@ function Gi(n, e) {
8268
8278
  height: u.height
8269
8279
  } : null;
8270
8280
  });
8271
- Lr(e.id, o);
8281
+ Fr(e.id, o);
8272
8282
  }
8273
8283
  } else if (t.includes("uv")) {
8274
- const r = new $o(n, e);
8284
+ const r = new ei(n, e);
8275
8285
  if (ie.push(r), t.includes("grid")) {
8276
8286
  const i = { ...e, type: "grid" }, o = new Zt(n, i, async () => {
8277
8287
  const u = await r.getOrLoadContourData();
@@ -8282,47 +8292,47 @@ function Gi(n, e) {
8282
8292
  height: u.height
8283
8293
  } : null;
8284
8294
  });
8285
- Lr(e.id, o);
8295
+ Fr(e.id, o);
8286
8296
  }
8287
8297
  if (t.includes("windShaft")) {
8288
- const i = new Hr(n, e, async () => r.getOrLoadWindVectorData());
8298
+ const i = new Ir(n, e, async () => r.getOrLoadWindVectorData());
8289
8299
  ie.push(i);
8290
8300
  }
8291
8301
  } else if (t.includes("grid")) {
8292
8302
  const r = new Zt(n, e);
8293
8303
  ie.push(r);
8294
8304
  } else if (t.includes("arrow")) {
8295
- const r = new ao(n, e);
8305
+ const r = new co(n, e);
8296
8306
  ie.push(r);
8297
8307
  } else if (t.includes("micaps")) {
8298
- const r = new Oo(n, e);
8308
+ const r = new Xo(n, e);
8299
8309
  ie.push(r);
8300
8310
  } else if (t.includes("isoline") || t.includes("contour")) {
8301
- const r = new _o(n, e);
8311
+ const r = new $o(n, e);
8302
8312
  ie.push(r);
8303
8313
  } else if (t.includes("wms")) {
8304
- const r = new ti(n, e);
8314
+ const r = new ri(n, e);
8305
8315
  ie.push(r);
8306
8316
  } else if (t.includes("typhoon")) {
8307
- const r = new ci(n, e);
8317
+ const r = new li(n, e);
8308
8318
  ie.push(r);
8309
8319
  } else if (t.includes("windShaft")) {
8310
- const r = new Hr(n, e);
8320
+ const r = new Ir(n, e);
8311
8321
  ie.push(r);
8312
8322
  }
8313
8323
  }
8314
- function ki(n) {
8324
+ function Qi(n) {
8315
8325
  for (let t = ie.length - 1; t >= 0; t--)
8316
8326
  ie[t].options.id === n && (ie[t].delete(), ie.splice(t, 1));
8317
8327
  const e = sr(n);
8318
- e && (e.delete(), io(n));
8328
+ e && (e.delete(), uo(n));
8319
8329
  }
8320
- function Qi() {
8330
+ function ji() {
8321
8331
  ie.forEach((n) => {
8322
8332
  n.delete();
8323
- }), uo((n) => {
8333
+ }), so((n) => {
8324
8334
  n.delete();
8325
- }), so(), ie.length = 0;
8335
+ }), ao(), ie.length = 0;
8326
8336
  }
8327
8337
  function Wi(n, e) {
8328
8338
  ie.filter((i) => i.options.id === n).forEach((i) => {
@@ -8331,7 +8341,7 @@ function Wi(n, e) {
8331
8341
  const r = sr(n);
8332
8342
  r && r.toggleVisible(e);
8333
8343
  }
8334
- function ji(n) {
8344
+ function Ui(n) {
8335
8345
  const e = ie.filter((r) => r.options.id === n.id);
8336
8346
  console.log("🚀 ~ updateLayer ~ layer:", ie, n, e), e.forEach((r) => {
8337
8347
  r.updateParams(n);
@@ -8339,107 +8349,108 @@ function ji(n) {
8339
8349
  const t = sr(n.id);
8340
8350
  t && t.updateParams({ ...n, type: "grid" });
8341
8351
  }
8342
- function Ui(n, e) {
8352
+ function Yi(n, e) {
8343
8353
  ie.filter((r) => r.options.id === n).forEach((r) => {
8344
8354
  typeof r.updateColor == "function" && r.updateColor(e);
8345
8355
  });
8346
8356
  }
8347
- function Yi() {
8357
+ function Ji() {
8348
8358
  return ie;
8349
8359
  }
8350
- function Ji() {
8360
+ function Zi() {
8351
8361
  const n = new globalThis.Map();
8352
8362
  return ie.forEach((e) => {
8353
8363
  const t = e?.options;
8354
8364
  !t?.id || n.has(t.id) || n.set(t.id, t);
8355
8365
  }), Array.from(n.values());
8356
8366
  }
8357
- function Zi(n, e, t, r, i = !1) {
8367
+ function Ki(n, e, t, r, i = !1) {
8358
8368
  if (!n) return Promise.resolve(null);
8359
8369
  const o = ie.find((u) => u.options.id === e);
8360
8370
  return o && typeof o.getValueByLonLat == "function" ? o.getValueByLonLat(t, r, i) : Promise.resolve(null);
8361
8371
  }
8362
8372
  export {
8363
- ao as ArrowLayer,
8364
- Li as CommonMethods,
8365
- Yr as FcstLayer,
8373
+ co as ArrowLayer,
8374
+ Fi as CommonMethods,
8375
+ Zr as FcstLayer,
8366
8376
  Zt as GridLayer,
8367
- _o as IsolineLayer,
8368
- Oo as MicLayer,
8369
- ci as TyphoonLayer,
8370
- $o as WindLayer,
8371
- Hr as WindShaft,
8372
- ti as WmsLayer,
8373
- Yo as addIsolineLayer,
8374
- fi as addTile,
8377
+ $o as IsolineLayer,
8378
+ Xo as MicLayer,
8379
+ li as TyphoonLayer,
8380
+ ei as WindLayer,
8381
+ Ir as WindShaft,
8382
+ ri as WmsLayer,
8383
+ Jo as addIsolineLayer,
8384
+ hi as addTile,
8375
8385
  Bt as bboxFromLonlatTo3857,
8376
- $t as bilinearInterpolate,
8386
+ _t as bilinearInterpolate,
8377
8387
  tt as clampByte,
8378
- Qi as clearAllLayers,
8379
- so as clearLinkedGridLayerMap,
8380
- gn as configureMapMethods,
8381
- Hi as convertContourGeoJSONTo3857,
8382
- Xi as convertContourGeoJSONToLngLat,
8383
- Jo as createIsoline,
8384
- So as createMicContour,
8385
- pn as createTdsRequestUrl,
8386
- io as deleteLinkedGridLayer,
8387
- Mi as fetchExcel,
8388
- Cn as fetchImageBase64,
8388
+ ji as clearAllLayers,
8389
+ ao as clearLinkedGridLayerMap,
8390
+ An as configureMapMethods,
8391
+ Ii as convertContourGeoJSONTo3857,
8392
+ Hi as convertContourGeoJSONToLngLat,
8393
+ Zo as createIsoline,
8394
+ Mo as createMicContour,
8395
+ Dn as createTdsRequestUrl,
8396
+ uo as deleteLinkedGridLayer,
8397
+ Oi as fetchExcel,
8398
+ En as fetchImageBase64,
8389
8399
  ir as fetchTdsGet,
8390
- Oi as fetchTdsImageBase64,
8400
+ Xi as fetchTdsImageBase64,
8391
8401
  or as fetchTdsResponse,
8392
- Si as fetchTxtOrJson,
8393
- yn as fetchXMLFromUrl,
8394
- Gr as fetchXmlData,
8395
- uo as forEachLinkedGridLayer,
8402
+ Mi as fetchTxtOrJson,
8403
+ Cn as fetchXMLFromUrl,
8404
+ kr as fetchXmlData,
8405
+ so as forEachLinkedGridLayer,
8396
8406
  ur as gaussianBlur2D,
8397
8407
  Ee as generateLegend,
8398
8408
  Gt as getContourParams,
8399
8409
  it as getGrayDataFromImage,
8400
8410
  ge as getLayerByClassName,
8401
- jr as getLegendItemsByScope,
8411
+ Ur as getLegendItemsByScope,
8402
8412
  wt as getLegendValueScope,
8403
8413
  sr as getLinkedGridLayer,
8404
- Ji as getLoadedLayerOptions,
8405
- Yi as getLoadedLayers,
8414
+ Zi as getLoadedLayerOptions,
8415
+ Ji as getLoadedLayers,
8406
8416
  ye as getMapMethodsConfig,
8407
- In as getMenuList,
8408
- On as getNCXmlData,
8409
- Br as getNodeData,
8410
- ii as getTyphoonDetail,
8411
- oi as getTyphoonList,
8412
- kn as getUrlFromTime,
8413
- Zi as getValueByLonLat,
8414
- Hn as getVariableMinMax,
8415
- Gn as getWidthAndHeight,
8416
- Er as getXmlData,
8417
- qi as initMap,
8417
+ jn as getMenuList,
8418
+ Gn as getNCXmlData,
8419
+ xr as getNodeData,
8420
+ Yr as getRasterRequestGeometry,
8421
+ ui as getTyphoonDetail,
8422
+ ii as getTyphoonList,
8423
+ qn as getUrlFromTime,
8424
+ Ki as getValueByLonLat,
8425
+ Qn as getVariableMinMax,
8426
+ zn as getWidthAndHeight,
8427
+ Nr as getXmlData,
8428
+ Vi as initMap,
8418
8429
  Nt as lerp,
8419
- Gi as loadLayer,
8420
- Ii as mapValueToRGBA,
8430
+ ki as loadLayer,
8431
+ Ri as mapValueToRGBA,
8421
8432
  nt as normalizeSmoothnessLevel,
8422
- Nr as parseAlpha,
8433
+ Er as parseAlpha,
8423
8434
  zt as parseColorToRGBA,
8424
8435
  et as parseCssNumber,
8425
- _t as parseXML,
8426
- zn as pixelTo3857,
8427
- qn as pixelToLngLat,
8428
- zi as preloadIsoline,
8429
- Zo as removeIsolineLayer,
8436
+ $t as parseXML,
8437
+ Hn as pixelTo3857,
8438
+ In as pixelToLngLat,
8439
+ qi as preloadIsoline,
8440
+ Ko as removeIsolineLayer,
8430
8441
  ze as removeLayer,
8431
- ki as removeLayerById,
8432
- Mo as removeMicContour,
8433
- Vi as removeTile,
8434
- ro as renderFcstCanvasByWebGPU,
8435
- Fi as resetMapMethodsConfig,
8436
- Ri as resolveLayerLoadOptions,
8437
- Qr as resolveSymFunction,
8438
- Lr as setLinkedGridLayer,
8442
+ Qi as removeLayerById,
8443
+ Oo as removeMicContour,
8444
+ Gi as removeTile,
8445
+ no as renderFcstCanvasByWebGPU,
8446
+ Si as resetMapMethodsConfig,
8447
+ zi as resolveLayerLoadOptions,
8448
+ jr as resolveSymFunction,
8449
+ Fr as setLinkedGridLayer,
8439
8450
  Wr as smoothGridByLevel,
8440
- Ko as toggleIsolineLayer,
8451
+ _o as toggleIsolineLayer,
8441
8452
  Ne as toggleLayerShowHide,
8442
8453
  Wi as toggleVisibleById,
8443
- ji as updateLayer,
8444
- Ui as updateWmsLayerColor
8454
+ Ui as updateLayer,
8455
+ Yi as updateWmsLayerColor
8445
8456
  };