namazu-ts 0.3.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/dist/browser/index.js +116 -6
  2. package/dist/node/index.js +116 -6
  3. package/dist/sismomap.d.ts +33 -1
  4. package/dist/types.d.ts +11 -2
  5. package/docs/assets/highlight.css +17 -10
  6. package/docs/assets/navigation.js +1 -1
  7. package/docs/assets/search.js +1 -1
  8. package/docs/classes/LngLatBounds.html +11 -11
  9. package/docs/classes/SismoMap.html +34 -5
  10. package/docs/index.html +1 -1
  11. package/docs/modules.html +1 -1
  12. package/docs/types/Answer.html +2 -2
  13. package/docs/types/City.html +2 -2
  14. package/docs/types/CleanedFDSNQueryOptions.html +1 -1
  15. package/docs/types/EventFeature.html +2 -2
  16. package/docs/types/EventGeoJSON.html +2 -2
  17. package/docs/types/EventGeoJSONProperties.html +2 -2
  18. package/docs/types/EventGeojsonDescriptionProperty.html +2 -2
  19. package/docs/types/EventPhases.html +1 -1
  20. package/docs/types/FDSNQueryOptions.html +2 -2
  21. package/docs/types/FilterQuery.html +3 -0
  22. package/docs/types/Form.html +2 -2
  23. package/docs/types/GeoJSON.html +1 -1
  24. package/docs/types/InfosPhase.html +2 -2
  25. package/docs/types/Magnitude.html +2 -2
  26. package/docs/types/Origin.html +2 -2
  27. package/docs/types/Question.html +2 -2
  28. package/docs/types/QuestionChoice.html +2 -2
  29. package/docs/types/QuestionCondition.html +1 -1
  30. package/docs/types/QuestionGroup.html +2 -2
  31. package/docs/types/SisEvent.html +2 -2
  32. package/docs/types/Station.html +2 -2
  33. package/docs/types/StationGeoJSON.html +2 -2
  34. package/docs/types/StationPhases.html +1 -1
  35. package/docs/types/Street.html +2 -2
  36. package/docs/types/Survey.html +2 -2
  37. package/docs/types/Testimony.html +2 -2
  38. package/docs/types/Zone.html +2 -2
  39. package/docs/types/Zones.html +2 -2
  40. package/docs/variables/Intervals.html +1 -0
  41. package/docs/variables/MagnitudesColors.html +1 -0
  42. package/docs/variables/PossibleEvents.html +1 -0
  43. package/docs/variables/ZoneNames.html +1 -1
  44. package/package.json +1 -1
  45. package/src/maputils.ts +4 -1
  46. package/src/sismomap.ts +132 -1
  47. package/src/types.ts +43 -4
  48. package/docs/variables/mapLayers.html +0 -1
@@ -26610,9 +26610,12 @@ function EventToEventGeoJSON(e) {
26610
26610
  let evGeoJson = { type: "FeatureCollection", features: [] };
26611
26611
  const lng = e.preferredOrigin.longitude;
26612
26612
  const lat = e.preferredOrigin.latitude;
26613
+ let eWithMag = e;
26614
+ eWithMag.mag = e.preferredMagnitude.magnitude;
26615
+ eWithMag.type = e.eventType;
26613
26616
  let feature = {
26614
26617
  id: e.publicid,
26615
- properties: e,
26618
+ properties: eWithMag,
26616
26619
  geometry: { coordinates: [lng, lat], type: "Point" },
26617
26620
  type: "Feature"
26618
26621
  };
@@ -29504,7 +29507,7 @@ class Err {
29504
29507
  var fromThrowable = Result.fromThrowable;
29505
29508
 
29506
29509
  // src/types.ts
29507
- var mapLayers = [
29510
+ var PossibleEvents = [
29508
29511
  "event",
29509
29512
  "earthquake",
29510
29513
  "quarry blast",
@@ -29520,8 +29523,7 @@ var mapLayers = [
29520
29523
  "outside of network interest",
29521
29524
  "landslide",
29522
29525
  "explosion",
29523
- "induced",
29524
- "stations-layer"
29526
+ "induced"
29525
29527
  ];
29526
29528
  var ZoneNames = [
29527
29529
  "la-reunion",
@@ -29530,6 +29532,38 @@ var ZoneNames = [
29530
29532
  "monde",
29531
29533
  "les-antilles"
29532
29534
  ];
29535
+ var MagnitudesColors = [
29536
+ "step",
29537
+ ["get", "mag"],
29538
+ "#fff900",
29539
+ 2.5,
29540
+ "#ffce01",
29541
+ 3,
29542
+ "#ff9d02",
29543
+ 3.5,
29544
+ "#ff5003",
29545
+ 4,
29546
+ "#e36450",
29547
+ 4.5,
29548
+ "#c74246",
29549
+ 5,
29550
+ "#a94143",
29551
+ 5.5,
29552
+ "#843e4f",
29553
+ 6,
29554
+ "#6f4e4e"
29555
+ ];
29556
+ var Intervals = new Map([
29557
+ ["small", ["all", ["<", ["get", "mag"], 2.5]]],
29558
+ ["3.0", ["all", [">=", ["get", "mag"], 2.5], ["<", ["get", "mag"], 3]]],
29559
+ ["3.5", ["all", [">=", ["get", "mag"], 3], ["<", ["get", "mag"], 3.5]]],
29560
+ ["4.0", ["all", [">=", ["get", "mag"], 3.5], ["<", ["get", "mag"], 4]]],
29561
+ ["4.5", ["all", [">=", ["get", "mag"], 4], ["<", ["get", "mag"], 4.5]]],
29562
+ ["5.0", ["all", [">=", ["get", "mag"], 4.5], ["<", ["get", "mag"], 5]]],
29563
+ ["5.5", ["all", [">=", ["get", "mag"], 5], ["<", ["get", "mag"], 5.5]]],
29564
+ ["6.0", ["all", [">=", ["get", "mag"], 5.5], ["<", ["get", "mag"], 6]]],
29565
+ ["inf", ["all", [">=", ["get", "mag"], 6]]]
29566
+ ]);
29533
29567
 
29534
29568
  // src/utils.ts
29535
29569
  function formatString(str) {
@@ -54971,6 +55005,7 @@ class SismoMap {
54971
55005
  maxWidth: "200px"
54972
55006
  });
54973
55007
  map.once("load", () => {
55008
+ this.addLegend();
54974
55009
  map.removeLayer("ferry");
54975
55010
  map.removeLayer("boundary_2_maritime");
54976
55011
  map.setProjection({
@@ -54982,6 +55017,7 @@ class SismoMap {
54982
55017
  let titles = ["event-layer", "station-layer"];
54983
55018
  titles.forEach((title) => {
54984
55019
  map.on("mouseenter", title, (e) => {
55020
+ console.log(e);
54985
55021
  map.getCanvas().style.cursor = "pointer";
54986
55022
  if (e.features == undefined)
54987
55023
  return;
@@ -55106,13 +55142,16 @@ class SismoMap {
55106
55142
  } else {
55107
55143
  eventList = EventToEventGeoJSON(eventOrList);
55108
55144
  }
55145
+ eventList.features.forEach((_, i) => {
55146
+ eventList.features[i].properties.type = eventList.features[i].properties.type || "event";
55147
+ });
55109
55148
  let layerSpec = {
55110
55149
  id: "event-layer",
55111
55150
  source: "src",
55112
55151
  type: "circle",
55113
55152
  paint: {
55114
55153
  "circle-radius": ["*", 8, ["ln", ["+", 1, ["get", "mag"]]]],
55115
- "circle-color": "#B42222",
55154
+ "circle-color": MagnitudesColors,
55116
55155
  "circle-opacity": 0.8,
55117
55156
  "circle-stroke-width": 1,
55118
55157
  "circle-stroke-opacity": 0.9
@@ -55169,6 +55208,75 @@ class SismoMap {
55169
55208
  this._layers.push(layerSpec.id);
55170
55209
  return ok(null);
55171
55210
  }
55211
+ addLegend() {
55212
+
55213
+ class MagnitudeLegend {
55214
+ _map;
55215
+ _container;
55216
+ onAdd(map) {
55217
+ this._map = map;
55218
+ this._container = document.createElement("div");
55219
+ this._container.className = "legend box";
55220
+ this._container.innerHTML += '<h4 style="margin: 0;">Magnitudes</h4>';
55221
+ this._container.style.margin = "10px";
55222
+ let magnitudes = [
55223
+ { color: "#fff900", text: "M < 2.5" },
55224
+ { color: "#ffce01", text: "2.5 ≤ M < 3.0" },
55225
+ { color: "#ff9d02", text: "3.0 ≤ M < 3.5" },
55226
+ { color: "#ff5003", text: "3.5 ≤ M < 4.0" },
55227
+ { color: "#e36450", text: "4.0 ≤ M < 4.5" },
55228
+ { color: "#c74246", text: "4.5 ≤ M < 5.0" },
55229
+ { color: "#a94143", text: "5.0 ≤ M < 5.5" },
55230
+ { color: "#843e4f", text: "5.5 ≤ M < 6.0" },
55231
+ { color: "#6f4e4e", text: "6.0 ≤ M" }
55232
+ ];
55233
+ for (var i = 0;i < magnitudes.length; i++) {
55234
+ this._container.innerHTML += '<i style="margin-right: 8px; background: ' + magnitudes[i].color + '; height: 18px; width: 18px; float: left;"></i>' + magnitudes[i].text + "<br>";
55235
+ }
55236
+ return this._container;
55237
+ }
55238
+ onRemove() {
55239
+ if (this._container?.parentNode) {
55240
+ this._container?.parentNode.removeChild(this._container);
55241
+ }
55242
+ this._map = undefined;
55243
+ }
55244
+ }
55245
+ this.map.addControl(new MagnitudeLegend, "bottom-right");
55246
+ }
55247
+ applyFilter(filterQuery) {
55248
+ if (filterQuery.magnitudes.length == 0 && filterQuery.events.length == 0) {
55249
+ this.map.setFilter("event-layer", null);
55250
+ return ok(null);
55251
+ }
55252
+ let filter2 = ["all"];
55253
+ if (filterQuery.events.length > 0) {
55254
+ filter2.push(["any"]);
55255
+ for (let eventName of filterQuery.events) {
55256
+ if (!PossibleEvents.includes(eventName))
55257
+ return err(Error("Wrong Event type " + eventName));
55258
+ let subfilter = ["==", eventName, ["get", "type"]];
55259
+ filter2[filter2.length - 1].push(subfilter);
55260
+ }
55261
+ }
55262
+ if (filterQuery.magnitudes.length > 0) {
55263
+ filter2.push(["any"]);
55264
+ for (let magnitude of filterQuery.magnitudes) {
55265
+ if (!Intervals.has(magnitude)) {
55266
+ return err(Error("Wrong magnitude " + magnitude));
55267
+ }
55268
+ filter2[filter2.length - 1].push(Intervals.get(magnitude));
55269
+ }
55270
+ }
55271
+ this.map.once("load", () => {
55272
+ console.log(filter2);
55273
+ this.map.setFilter("event-layer", filter2);
55274
+ });
55275
+ return ok(null);
55276
+ }
55277
+ clearFilter() {
55278
+ this.map.setFilter("event-layer", null);
55279
+ }
55172
55280
  addStation(coord) {
55173
55281
  const geometry = new ConeGeometry(50, 100, 3);
55174
55282
  const material = new MeshPhongMaterial({
@@ -55207,11 +55315,13 @@ class SismoMap {
55207
55315
  var export_LngLatBounds = import_maplibre_gl4.LngLatBounds;
55208
55316
 
55209
55317
  export {
55210
- mapLayers,
55211
55318
  eventTypes,
55212
55319
  ZoneNames,
55213
55320
  SismoMap,
55321
+ PossibleEvents,
55322
+ MagnitudesColors,
55214
55323
  export_LngLatBounds as LngLatBounds,
55324
+ Intervals,
55215
55325
  EventToEventGeoJSON,
55216
55326
  Client
55217
55327
  };
@@ -38013,9 +38013,12 @@ function EventToEventGeoJSON(e) {
38013
38013
  let evGeoJson = { type: "FeatureCollection", features: [] };
38014
38014
  const lng = e.preferredOrigin.longitude;
38015
38015
  const lat = e.preferredOrigin.latitude;
38016
+ let eWithMag = e;
38017
+ eWithMag.mag = e.preferredMagnitude.magnitude;
38018
+ eWithMag.type = e.eventType;
38016
38019
  let feature = {
38017
38020
  id: e.publicid,
38018
- properties: e,
38021
+ properties: eWithMag,
38019
38022
  geometry: { coordinates: [lng, lat], type: "Point" },
38020
38023
  type: "Feature"
38021
38024
  };
@@ -41866,7 +41869,7 @@ class Err {
41866
41869
  var fromThrowable = Result.fromThrowable;
41867
41870
 
41868
41871
  // src/types.ts
41869
- var mapLayers = [
41872
+ var PossibleEvents = [
41870
41873
  "event",
41871
41874
  "earthquake",
41872
41875
  "quarry blast",
@@ -41882,8 +41885,7 @@ var mapLayers = [
41882
41885
  "outside of network interest",
41883
41886
  "landslide",
41884
41887
  "explosion",
41885
- "induced",
41886
- "stations-layer"
41888
+ "induced"
41887
41889
  ];
41888
41890
  var ZoneNames = [
41889
41891
  "la-reunion",
@@ -41892,6 +41894,38 @@ var ZoneNames = [
41892
41894
  "monde",
41893
41895
  "les-antilles"
41894
41896
  ];
41897
+ var MagnitudesColors = [
41898
+ "step",
41899
+ ["get", "mag"],
41900
+ "#fff900",
41901
+ 2.5,
41902
+ "#ffce01",
41903
+ 3,
41904
+ "#ff9d02",
41905
+ 3.5,
41906
+ "#ff5003",
41907
+ 4,
41908
+ "#e36450",
41909
+ 4.5,
41910
+ "#c74246",
41911
+ 5,
41912
+ "#a94143",
41913
+ 5.5,
41914
+ "#843e4f",
41915
+ 6,
41916
+ "#6f4e4e"
41917
+ ];
41918
+ var Intervals = new Map([
41919
+ ["small", ["all", ["<", ["get", "mag"], 2.5]]],
41920
+ ["3.0", ["all", [">=", ["get", "mag"], 2.5], ["<", ["get", "mag"], 3]]],
41921
+ ["3.5", ["all", [">=", ["get", "mag"], 3], ["<", ["get", "mag"], 3.5]]],
41922
+ ["4.0", ["all", [">=", ["get", "mag"], 3.5], ["<", ["get", "mag"], 4]]],
41923
+ ["4.5", ["all", [">=", ["get", "mag"], 4], ["<", ["get", "mag"], 4.5]]],
41924
+ ["5.0", ["all", [">=", ["get", "mag"], 4.5], ["<", ["get", "mag"], 5]]],
41925
+ ["5.5", ["all", [">=", ["get", "mag"], 5], ["<", ["get", "mag"], 5.5]]],
41926
+ ["6.0", ["all", [">=", ["get", "mag"], 5.5], ["<", ["get", "mag"], 6]]],
41927
+ ["inf", ["all", [">=", ["get", "mag"], 6]]]
41928
+ ]);
41895
41929
 
41896
41930
  // src/utils.ts
41897
41931
  function formatString(str) {
@@ -67333,6 +67367,7 @@ class SismoMap {
67333
67367
  maxWidth: "200px"
67334
67368
  });
67335
67369
  map.once("load", () => {
67370
+ this.addLegend();
67336
67371
  map.removeLayer("ferry");
67337
67372
  map.removeLayer("boundary_2_maritime");
67338
67373
  map.setProjection({
@@ -67344,6 +67379,7 @@ class SismoMap {
67344
67379
  let titles = ["event-layer", "station-layer"];
67345
67380
  titles.forEach((title) => {
67346
67381
  map.on("mouseenter", title, (e) => {
67382
+ console.log(e);
67347
67383
  map.getCanvas().style.cursor = "pointer";
67348
67384
  if (e.features == undefined)
67349
67385
  return;
@@ -67468,13 +67504,16 @@ class SismoMap {
67468
67504
  } else {
67469
67505
  eventList = EventToEventGeoJSON(eventOrList);
67470
67506
  }
67507
+ eventList.features.forEach((_, i) => {
67508
+ eventList.features[i].properties.type = eventList.features[i].properties.type || "event";
67509
+ });
67471
67510
  let layerSpec = {
67472
67511
  id: "event-layer",
67473
67512
  source: "src",
67474
67513
  type: "circle",
67475
67514
  paint: {
67476
67515
  "circle-radius": ["*", 8, ["ln", ["+", 1, ["get", "mag"]]]],
67477
- "circle-color": "#B42222",
67516
+ "circle-color": MagnitudesColors,
67478
67517
  "circle-opacity": 0.8,
67479
67518
  "circle-stroke-width": 1,
67480
67519
  "circle-stroke-opacity": 0.9
@@ -67531,6 +67570,75 @@ class SismoMap {
67531
67570
  this._layers.push(layerSpec.id);
67532
67571
  return ok(null);
67533
67572
  }
67573
+ addLegend() {
67574
+
67575
+ class MagnitudeLegend {
67576
+ _map;
67577
+ _container;
67578
+ onAdd(map) {
67579
+ this._map = map;
67580
+ this._container = document.createElement("div");
67581
+ this._container.className = "legend box";
67582
+ this._container.innerHTML += '<h4 style="margin: 0;">Magnitudes</h4>';
67583
+ this._container.style.margin = "10px";
67584
+ let magnitudes = [
67585
+ { color: "#fff900", text: "M < 2.5" },
67586
+ { color: "#ffce01", text: "2.5 \u2264 M < 3.0" },
67587
+ { color: "#ff9d02", text: "3.0 \u2264 M < 3.5" },
67588
+ { color: "#ff5003", text: "3.5 \u2264 M < 4.0" },
67589
+ { color: "#e36450", text: "4.0 \u2264 M < 4.5" },
67590
+ { color: "#c74246", text: "4.5 \u2264 M < 5.0" },
67591
+ { color: "#a94143", text: "5.0 \u2264 M < 5.5" },
67592
+ { color: "#843e4f", text: "5.5 \u2264 M < 6.0" },
67593
+ { color: "#6f4e4e", text: "6.0 \u2264 M" }
67594
+ ];
67595
+ for (var i = 0;i < magnitudes.length; i++) {
67596
+ this._container.innerHTML += '<i style="margin-right: 8px; background: ' + magnitudes[i].color + '; height: 18px; width: 18px; float: left;"></i>' + magnitudes[i].text + "<br>";
67597
+ }
67598
+ return this._container;
67599
+ }
67600
+ onRemove() {
67601
+ if (this._container?.parentNode) {
67602
+ this._container?.parentNode.removeChild(this._container);
67603
+ }
67604
+ this._map = undefined;
67605
+ }
67606
+ }
67607
+ this.map.addControl(new MagnitudeLegend, "bottom-right");
67608
+ }
67609
+ applyFilter(filterQuery) {
67610
+ if (filterQuery.magnitudes.length == 0 && filterQuery.events.length == 0) {
67611
+ this.map.setFilter("event-layer", null);
67612
+ return ok(null);
67613
+ }
67614
+ let filter2 = ["all"];
67615
+ if (filterQuery.events.length > 0) {
67616
+ filter2.push(["any"]);
67617
+ for (let eventName of filterQuery.events) {
67618
+ if (!PossibleEvents.includes(eventName))
67619
+ return err(Error("Wrong Event type " + eventName));
67620
+ let subfilter = ["==", eventName, ["get", "type"]];
67621
+ filter2[filter2.length - 1].push(subfilter);
67622
+ }
67623
+ }
67624
+ if (filterQuery.magnitudes.length > 0) {
67625
+ filter2.push(["any"]);
67626
+ for (let magnitude of filterQuery.magnitudes) {
67627
+ if (!Intervals.has(magnitude)) {
67628
+ return err(Error("Wrong magnitude " + magnitude));
67629
+ }
67630
+ filter2[filter2.length - 1].push(Intervals.get(magnitude));
67631
+ }
67632
+ }
67633
+ this.map.once("load", () => {
67634
+ console.log(filter2);
67635
+ this.map.setFilter("event-layer", filter2);
67636
+ });
67637
+ return ok(null);
67638
+ }
67639
+ clearFilter() {
67640
+ this.map.setFilter("event-layer", null);
67641
+ }
67534
67642
  addStation(coord) {
67535
67643
  const geometry = new ConeGeometry(50, 100, 3);
67536
67644
  const material = new MeshPhongMaterial({
@@ -67569,11 +67677,13 @@ class SismoMap {
67569
67677
  var export_LngLatBounds = import_maplibre_gl4.LngLatBounds;
67570
67678
 
67571
67679
  export {
67572
- mapLayers,
67573
67680
  eventTypes,
67574
67681
  ZoneNames,
67575
67682
  SismoMap,
67683
+ PossibleEvents,
67684
+ MagnitudesColors,
67576
67685
  export_LngLatBounds as LngLatBounds,
67686
+ Intervals,
67577
67687
  EventToEventGeoJSON,
67578
67688
  Client
67579
67689
  };
@@ -1,5 +1,5 @@
1
1
  import maplibregl from 'maplibre-gl';
2
- import { EventGeoJSON, SisEvent } from './types';
2
+ import { EventGeoJSON, SisEvent, FilterQuery } from './types';
3
3
  import { Client } from './client';
4
4
  import { Result } from 'neverthrow';
5
5
  import * as MTP from '@dvt3d/maplibre-three-plugin';
@@ -25,6 +25,38 @@ export declare class SismoMap {
25
25
  private updateSource;
26
26
  private centerView;
27
27
  private displayGeoJSON;
28
+ private addLegend;
29
+ /**
30
+ * Event Types :
31
+ -'event',
32
+ -'earthquake',
33
+ -'quarry blast',
34
+ -'thunder',
35
+ -'mining-explosion',
36
+ -'chemical explosion',
37
+ -'building collapse',
38
+ -'nuclear explosion',
39
+ -'mine collapse',
40
+ -'sonic boom',
41
+ -'rockslide',
42
+ -'ice quake',
43
+ -'outside of network interest',
44
+ -'landslide',
45
+ -'explosion',
46
+ -'induced']
47
+ * Magnitudes : [
48
+ -'small' : M < 2.5
49
+ -'2.5' : 2.5 ≤ M < 3.0
50
+ -'3.0' : 3.0 ≤ M < 3.5
51
+ -'3.5' : 3.5 ≤ M < 4.0
52
+ -'4.0' : 4.0 ≤ M < 4.5
53
+ -'4.5' : 4.5 ≤ M < 5.0
54
+ -'5.0' : 5.0 ≤ M < 5.5
55
+ -'5.5' : 5.5 ≤ M < 6.0
56
+ -'inf' : 6.0 ≤ M
57
+ */
58
+ applyFilter(filterQuery: FilterQuery): Result<null, Error>;
59
+ clearFilter(): void;
28
60
  private addStation;
29
61
  getEventNumber(): Result<number, Error>;
30
62
  getSourceGeoJSON(): Result<EventGeoJSON, Error>;
package/dist/types.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import 'maplibre-gl/dist/maplibre-gl.css';
2
- export declare const mapLayers: Array<string>;
2
+ export declare const PossibleEvents: Array<string>;
3
3
  export type EventGeojsonDescriptionProperty = {
4
4
  fr: string;
5
5
  en: string;
@@ -16,7 +16,10 @@ export type EventGeoJSONProperties = {
16
16
  mag: number;
17
17
  magType: string;
18
18
  };
19
- export type EventFeature<T = EventGeoJSONProperties | SisEvent> = {
19
+ export type EventFeature<T = EventGeoJSONProperties | (SisEvent & {
20
+ mag: number;
21
+ type: string;
22
+ })> = {
20
23
  id: string;
21
24
  type: string;
22
25
  properties: T;
@@ -242,6 +245,8 @@ export type StationGeoJSON = {
242
245
  features: StationPhases[];
243
246
  };
244
247
  export declare const ZoneNames: string[];
248
+ export declare const MagnitudesColors: (string | number | string[])[];
249
+ export declare const Intervals: Map<string, (string | (string | number | string[])[])[]>;
245
250
  export type Zones = {
246
251
  type: string;
247
252
  features: Zone[];
@@ -278,3 +283,7 @@ export type Zone = {
278
283
  };
279
284
  };
280
285
  export type GeoJSON = EventGeoJSON | StationGeoJSON;
286
+ export type FilterQuery = {
287
+ events: string[];
288
+ magnitudes: string[];
289
+ };
@@ -5,18 +5,20 @@
5
5
  --dark-hl-1: #D4D4D4;
6
6
  --light-hl-2: #A31515;
7
7
  --dark-hl-2: #CE9178;
8
- --light-hl-3: #008000;
9
- --dark-hl-3: #6A9955;
10
- --light-hl-4: #AF00DB;
11
- --dark-hl-4: #C586C0;
12
- --light-hl-5: #001080;
13
- --dark-hl-5: #9CDCFE;
14
- --light-hl-6: #0000FF;
15
- --dark-hl-6: #569CD6;
16
- --light-hl-7: #267F99;
17
- --dark-hl-7: #4EC9B0;
8
+ --light-hl-3: #AF00DB;
9
+ --dark-hl-3: #C586C0;
10
+ --light-hl-4: #001080;
11
+ --dark-hl-4: #9CDCFE;
12
+ --light-hl-5: #0000FF;
13
+ --dark-hl-5: #569CD6;
14
+ --light-hl-6: #0070C1;
15
+ --dark-hl-6: #4FC1FF;
16
+ --light-hl-7: #008000;
17
+ --dark-hl-7: #6A9955;
18
18
  --light-hl-8: #098658;
19
19
  --dark-hl-8: #B5CEA8;
20
+ --light-hl-9: #267F99;
21
+ --dark-hl-9: #4EC9B0;
20
22
  --light-code-background: #FFFFFF;
21
23
  --dark-code-background: #1E1E1E;
22
24
  }
@@ -31,6 +33,7 @@
31
33
  --hl-6: var(--light-hl-6);
32
34
  --hl-7: var(--light-hl-7);
33
35
  --hl-8: var(--light-hl-8);
36
+ --hl-9: var(--light-hl-9);
34
37
  --code-background: var(--light-code-background);
35
38
  } }
36
39
 
@@ -44,6 +47,7 @@
44
47
  --hl-6: var(--dark-hl-6);
45
48
  --hl-7: var(--dark-hl-7);
46
49
  --hl-8: var(--dark-hl-8);
50
+ --hl-9: var(--dark-hl-9);
47
51
  --code-background: var(--dark-code-background);
48
52
  } }
49
53
 
@@ -57,6 +61,7 @@
57
61
  --hl-6: var(--light-hl-6);
58
62
  --hl-7: var(--light-hl-7);
59
63
  --hl-8: var(--light-hl-8);
64
+ --hl-9: var(--light-hl-9);
60
65
  --code-background: var(--light-code-background);
61
66
  }
62
67
 
@@ -70,6 +75,7 @@
70
75
  --hl-6: var(--dark-hl-6);
71
76
  --hl-7: var(--dark-hl-7);
72
77
  --hl-8: var(--dark-hl-8);
78
+ --hl-9: var(--dark-hl-9);
73
79
  --code-background: var(--dark-code-background);
74
80
  }
75
81
 
@@ -82,4 +88,5 @@
82
88
  .hl-6 { color: var(--hl-6); }
83
89
  .hl-7 { color: var(--hl-7); }
84
90
  .hl-8 { color: var(--hl-8); }
91
+ .hl-9 { color: var(--hl-9); }
85
92
  pre, code { background: var(--code-background); }
@@ -1 +1 @@
1
- window.navigationData = "eJyVlVtTwjAQhf9Ln1EE77wpCKPDzYEnHR9iu9Bom3SSFO04/HfTFkrbpCQ8cs6eb5LdbXj/cwT8Cqfn9AMMRDgtJ0LCl7/dAHEOvJ3r574IA2l+Y+I5vU73btsqkmOyHiPxSGPicTVfdhVKKy+T5YJ7Z5ifSSIwggKnxF9gHtIJilT23jl2ugfCf4AdsiKJZDJXq7nuxf1t57pbyvaxSOrJVDPmAkAEvOFgMX2NgSWzSGBKuILSl5noTxs5kCEgETOoI8ueFWcE9GUxm2o5O8+W88UpGQB3Gc7uMWc0AqY20FB+yql3GQxKa/VVVuy5j3gDMLdMFNPYT533kLJQYUjNlGsYreVUn8mK8uzCdcDBMTEmaE2wiD0FURgmwozhNSb1eK6asrLHPG1wPb3XbfN9n2JXuULVtWZR4uFjhyoKbIkjRuOoiZaZJpJ8RbPtrkP2ujEvkO5GO9ky3bCsVdeSpf+CK6aZxADUjmSqMRuzDSjPXq6asst0biElSrwwTIQ3SpRdTTWbnNKzTDQlIV2SZVp/iG8Qw+gzkIiDW+VclhEhisYoAaYlFOYRQHrQKQr1RyjMI4Bs05dU/5+4iombPdVtTVkVenO1/fgH8hEWyw=="
1
+ window.navigationData = "eJyVlU1z2jAQhv+Lz6RJ6GdyS0nJtJMAGTgl04OKN6BWljxamZTJ5L9HlsHGlvAqR/bd50FeyfLjS2Lgv0kuk5HgIE0ySHJm1vb3UjBEwNOq/mFtMmHDf1ymyeX58NvroCZv5eqWme+qkCn6/GHqWQZVm203mJ5wPLFG0JKJ5MA/55ipO5b77n3St7oric+gG9Zsc0tW1TY3PLv4ev55eMCOuNl2ybJGcgKYhHR8PZ/cF6C309xwJdFThdso+4+N3ZAxMFNo6CoPsyjPDahf8+kk6NllsZ6/qOQ14FJz9xwzrXLQ/gCJ9vesesdw8EYb7opyz9YMjwiriLJQ2/7e/R5zYV8KR3iqJiItSmcebmsUd+SARJ6Nn/JJoRtbV9AklOOOrSQ3Reop6oAyTDVfcdnFqyrF2uFiuU1del+P5UdrxZfeI7TTaJeSKe9bVN0Qa7zRqsiP2VxImexd7N6RrmRfJ3nDQk+0K0fSRw5rO410he+BVkibNIA/EVcl2UJvwHvhqyrFLsp9y5T08DqgDA9Keme1rMVw3sxckSKhPCSLsr/BN0xz9kdYRZO2PR/bl429DDdMBA112COoLxQcKaF00NPt6dHNFCK3kDv/QVm7o0dVjnDCsvBw6rBH4P5hocLf/KdCLt2n6DTQ1pZ++fT6+w39dGQc"
@@ -1 +1 @@
1
- window.searchData = "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";
1
+ window.searchData = "eJytXV2T2zay/S8zr1MOG/z2266z2cqt3cR3nd2HdaVSHIlj81ojKaLkeJLKf7/4IKlGo0G2JD9sbTxq9AHBg0ajD0j+cXfY/dbfvX7/x92nbru+ew2qerjbNs/t3eu7N5uu3R7vHu5Oh43+52rT9H3bf+P+/Orj8Xmjfxv+qn+/+/Nh9JKDmrysdtv+eDitjrvDnKt73w65fbjbNwfTkalHZyCVZOf+NvvuTbPZzKJom5WzuQbh8dRt1v97ag8vsyDW7NfB7Bqc1aZttss41uwmnEPbHNs33fHlp7Y/ds+77QKgtV9p+yOyvx75++26+9ytT83mEvxuanVrL57a4+rjX7b9b+2hnwW2hs1keDWWHuqu7f/68pf1c7ftNN+bY/e5fbNbt8vwK9v28aXx2q5c25t79M9G/0PeiefB/Grcv31eiC0Orx3MbsMR3Nx2tLsa6bvd4XkZ58lZXY3y7nT43M7PEmvXj3ZXI8mmpDW9eR7qQWmO3+q5/d2/5tGs4VobPl27SjgX/2w+bLvjaWneWdtnZHsN4of2+ObjrlvNY30wAzlYXYtyOhhTBzbPeYPmrFeT9W2o/2k2p+UrdLafB9srEe2cfvux6Zcv0k7r/Wh6Jd4/mv7oVonWrP6a67vtErD+67EZ2vx6bnNlD35ovxylyFttezvi20P7ududeinqfrC/HVmKeDvSu2NjHOjV77+7bfuD+fsCZj+0eHz5XbfYuhZXoo+Yf31ZXgu1+Qj4+HLLmjjgLs6b3wejazC6/s1Op2h2oN7p8eqfunY9C9j1q6lFj1pcg963x7/q6f7vw/xGQJs9arPT4dq9gHYwrZDf6tFaQpvWyLUzvgZT53zbfqNXP8uYn17286iTuWXM0Zlfg3vamyXXhcBZRGfYjIbXY01D+4/dqlmMBq7NNMKbcxthD/C2913XP+/+2ewDxPGHr7L19ZyJNr9Tv1C3E5VNaL9smhduH+Mjna2uRHlu9v2qZfhOcJDdlUj97nTg8hgCdDa7Dmfd9qu3u/1p4YbfG7v9YHcd0vMSqe6dxXXet9z65bufXbAY/6S8st+8fNfpTfcSm63l02h5HZqpbSzOmsHmBgTR9VjLG69n3fV7PfUi21HCNGe7sCUVIo5JjgyzP1tfhzqm5z+cnh8XB3ZM0Lej8dWY72wQ+Hu7+593P/6wjOpixod293/9zDLB4tYl5OcQT9ZEs8b237g/zi4T3sxdkQ1b4OV+aZM2dCPiv1vPuO7iida81zH//mXWvW91Dc5nb2MZIsxvJgPf9A6a6ifxbv4kv3tNvJZH3N1fUroz3ZLezzPCzCjPedRJol8NoX6RwRXed9sPC+6RxeX+vZWPup7fpM14NWv9xs89qW/PRIQQsM+U8Nv1d9+++8HW+3/c+8F6QOStZjlKkWxU/q5tjqcDHSz8k5z3Ono+t8cDnTyBs3tkyI+R1zUp50OcGe5LEPaH3b49mPL2IpJnej3iEW/gYliz27YICnvv6eKIAIef5Pf+yUGyI4Wd3SPDmSsYu3bhOHlIy+MUosTGyWQF3+p0/9DZifbW3W6W6XFr+Wi2NMJIPN+38aCzdB2xu0oTGVE/Zirx8n7MMfbt7MQMjC5YuU/H3bMO3yu533vcZplrqOvR3ef++PEC/NH+62BPt+SiHuBWX6MfkexjrhOL+ciFPYhkKLNdWMxZLuvDc/PhAnRn/ZVwf5oPsAy2ONou4x+7IHubAx/MvwryZZf9Fa/5hKrTy8BzRepFXDayEvEMdcH9clFmuZC8XpS1+vvi5thsdnRWsP7uz7b8OAWdjGHutsdD93jCNdtZXM/+Nux2u2YmA497tr0R09z0ILmOYE62XwGTmXwzqLNzT4rr5HwR6GR6G2K3XW30CtFsNtMhAtH0uI80/Fq92R26D51spt5zrb5OPw6H7nOzuawX5za39SGSc/Dgi9mGGLV77mQEHC1vxIvkNRHMxYxGijuRVjzLaYtb8b9wiXUM+st8Vn0B6kW08u1vx77oZpMGN6M/ByeqFtCXj1VdgH5o1t1JFkmw9Y24+k9ylp2Nb0a9jGWe/e3Yl7HMb3Az+oUs8xvcjH4Jy5D1bbjb3VrntiLQyfQ2xN3TU9/KlqnJ9EbEw7o9PNICWwRysr0Nsz82h6M438bWt+G6wyrr5ukYCIc8NGlwMXqwX7NKtv94wYB//uWC6qUvafOe7hfEbNynpZxiEUuSMrN4wUjhI90DmP6TfGzW7VNz2gRTafRxf/490k3TgZj+ctid9sFYTK6nny/3HG4HJ69zu78Zj4xCd/Y5q9DNeR215fggYIvL/XPJ6+R6Pk/1vVJe8VKMRIWhnr7fPu16W7Mhzs4/XFAPd5ur77+d93U/2M1wAXXrwtp7gLVYbxdg/d49n4I0LUCarK7FMY8IbdsNcwSAYg2WsycAlvHWnTljvloCQ2bXIo0nKgWXNpreeG3b9vjb7vBJADhY3ojnahuL1HdmNzHfPo0guC5rd+NV7bvVp8VrMkY3XdFwaExwTYPljVfFJG0UaDZTkyH8q+3tQ4YCpMPZ9AJEGsvDZ5Ic4vT3CyL5h3a7otmd7+d+suG7fO5NPIJ/DIrkFGO0uRLDPfC5/gvNoAjMYDZTsF1Eas0xMktOc2Ay2OQRwLN1P1pfjasNgykawM0X3mUobw/tU3s4tDS748D2yPZKzCCLJDi3XE+37duDgBij3S3MiJUcCNRyoUGOxOixMbTZNFSO+G+dHxyOTbcNTrnEgE9ei2vxWx0f1kv0d1a38CWyuhOcxcV9EWdaCU/bBWZOK+Fp5lmuRbyhNLA0DcYKwmVIdH360Q4PQXJ/vHFlQk6WlqWhE5esSZ73+QVp0Tu7ZyEAC/uVeYzYiocxlpe7eQyuaI39z9epBb6Z+BX4nw1cAox4xAqgJKFKgtgHS2cI1c8smfMYbXM4fnzWmXG4AccwZ7OZQLWANJ/reGjSRGcJkctyfKD5FEfgP5bfBDDLyc08WpDZYISrryGa03jelxOaeZSIdIQxFtUiGcKb3fapW+tg3v5DjzrdRnGAq6nFZmhxC74sQIzWt8eImDDmoS1qYUKMCwZ3bPKVRnd0Jxze0fz28Y3kihhtMVGcR3D538Li5YxuWL2Y6gX2P1u5WPYsJ4ax/jqcMJ5kdDCWtzMhlvVipOWUN8Cg+W7wIgqHMv75gpzXPoPG8Mpzde/MZpk1dSlageaeJPRhlp4lXMSYXtUwD4PNrkOyElYw4X0YazMz45cwgrXcd3+D5+fT5tjtN/P3HBldh2LV8FmI0eI6/4f211MX5lQ+BDK6DqU/PR7bL3Q++yBnm+swFgFu8740uy+d17FoRF4l5UO5H+WRKcp+5EgyB4ZOXcFRDCRj6jxWeLKeQ5o7US/D4Z5K5pDmn06OYkXv/hhVY9Dj7xepyGPrv5tgGvFsf/sKzDr7kRDL9ejyGY1QRNOa4tARetf1/luaHNz45wtPyzCpgOdJcOZ96lDsrHsbHDvxIQaD67wHd9f3PXNjFz3HdsEEYXkfvIRkhOoNk4z7QNjqOpyp2hDT93zAyXxZUBAjs5XbCOxutL0S8/S46VYL/EBG16GYG/I7fukWh4KMrkOJ7TN8mOWdxhKO6WSQ5vogxuSy8Qoi2JF7l8HwV3n8ijz1j/0sP/A/9iXK28gDvx6K4CH8ECcyKvyBLP9H+RhFno5n3C0/H086KM8+ObT5FSWGFBkz9hlC77eLcpB3x0MbHDp2f5SPfKS6idwsVzeHjlxY5fMgFqt88xjMaUnsfva8ZOA5GGf/BcKDe/vHC7OYtzaKh4Hr7Gsoty9Ge9elCNanud7ef5p5yfG8X26UkeP5UZ71rOPSNtgxY9+TgdA7vYfhq5kdxvT3C2pTS28v8n1e8gqjcy/F2ExivIg/G9QW+zDHZAItI/Miokm8fwrTTgJmrGbTzmWc3eF56ZKMzS3Xold6fQu6LfcGAQI1md52vz52Hz5u9P+OwQQjeL7hlWhh7CEoc+Fn0XtktSIQiwvWMk5kzaJAi8vWItK20ZPyOxHBrentLP/11GzCN7gRrLPRlSjufYHzIJPNlRiRPQ1BWdzULOKc9M75b/MnAAimaSE+CLCMf1z9yD1gRkGPq4WHyzgkulL+NxxQ86eb9zuTk+XNju3CpTuds3/BNocgcGPA+b/gTRyRHc3Zy/JGxvVCvn9BvmdXDOo3Vf7ablamc78/N4euedxo/+cfZ4chxc/aHNuD98KCs7fpN6mzqRjUv9ltdgfOJzWRun676/tOeyDvmj079g2kbsf31XMep99mnRXnG+5eYL5jX0z3dNqubKD5hrHiAH5+uNP+2y93r/+4+9weerPlf32nXqWvam351LWbtTZ8P2b8q93zsyvlrnerk/3Pnwez/7TmFdzG2Fl/k9w9vE8ecniV1/Dzzw/vx8b2B/uH0cf5L7Yh6H/BQ1a8yirlNYSgIXgNlf6X4hBV0FB5DVP9r5RrmAYNU69hpv+VcQ2zoGHmNcz1v3KuYR40zL2Ghf5XwTUsgoaF17DU/yq5hmXQsPQaVvpfFdewChpWXkPNoPc117AOGtY+AQwfgOUOhOQBwh5LH2AbMwTyGQSGF8ByCEISgc8iMNwAlkcQEgl8JoHhB7BcgpBM4LMJDEeA5ROEhAKfUWB4AiynICQV+KwCwxVgeQUhscBnFhi+AMstCMkFPrvAcAZYfkFIMPAZpgxnFMswFTJM+QxThjOKZZgKGaZIjLJBio9STJjyGaYMZxTLMBUyTPkMU4YzimWYChmmfIYpwxnFMkyFDFM+w5ThjGIZpkKGKZ9hynBGsQxTIcOUzzBlOKNYhqmQYcpnmDKcUSzDVMgw5TMsNZxJWYalIcNSn2Gp4UzKMiwNGZb6DEsNZ1KWYWnIsJSshHYp5NdCZjH0GZYazqQsw9KQYanPsDSPLftpSLDUJ1hqKJOy7ExDgqU+wVJDmZRlZxoSLPUJlhrKpCw705BgqU+w1FAmZdmZhgRLfYJllmAsO7OQYJlPsMxQJkse0ko3rvzGIcEyn2CZoUzGsjMLCZb5BMsMZTKWnVlIsIykWzbfYtmZMRmXT7DMcCbjs7WQYZnPsMxwJmMZloUMy3yGZYYzGcuwLGRY5jMsM5zJWIZlIcMyn2GZ4UzGMiwLGZb5DMsNZ7Kam5J5yLDcZ1huOJNrhqlXkJIUN2RY7jMsN5zJWYblIcNyn2G54Yzew3PdDhmW+wzLDWdylmF5yLCcJPU2q89YZCav9xmWF/EBCxmW+wzLDWfy/CEtXtWq9BuHDMt9huWGM3nBNg4ZlvsMy+toJMlDhuU+wwrDmZzldhEyrPAZVliGsdwuQoYVPsMKyzA2ehYhwwqfYYXhTJE8ZOkrAP+ai5Bhhc+wIove5yJkWOEzrDCcKYBFDhlWkK2j3TuqhzR/ldWF35jZPfoMKwxnCnZiFCHDCp9hheFMkbHdDhlW+Awr6ni3Q4YVPsNKw5mCjdtlyLDSZ1hpOFOwcbsMGVb6DCsNZwp+xx0yrPQZVlqGsdwuQ4aVPsNKw5mi5ka7DBlW+gwrDWfKhIthZciw0mdYaThTsnG7DBlWkgJFPIaVTI3CZ1gZj2FlyLDSZ1hpOFOyOUkZMqz0GVYZzpTsxKhChlU+wyrDmZKdGFXIsMpnWKWiE6MKGVb5DKsMZ8qcu89VyLDKZ1hlOFOyE6MKGVb5DKssw9iJUYUMq3yGVZZhfDkqZFjlM6yyNTA26FchwypSBrN1MHZDVzGVMJ9hleFMxcbtKmRY5TOsNpyp2ISmDhlW+wyrDWcqlp51yLDaZ1htOFOxKXMdMqz2GVYbzlRs6K1DhtU+w2rDmYplWB0yrPYZVufRSFKHDKt9htWGMxVLzzpkWO0zrC6jYagOGVb7DKstwyr2PocMq0mx1TKML7cy9VZacDWkqSMVV67kSmquieFNzRddE6bqmpCya2KoU/N114QpvCak8poY9tR86TVhaq8JKb4mhkA1X31NmPJrQuqvieFQzRdgE6YCm5ASbGJoVPM12IQpwiakCpsYJtV8GTZh6rAJKcQmhkw1X4lNmFJsQmqxia3188XYhKnGJoR/Q8WfJyBX8w+K/rbqn0TK/lzdnzDQVf4TnoJc7Z8W/131P+E5yNX/qQDgFICEJyGnAVARwKkACc9CTgegQoBTAhKehpwWQMUApwYkPA85PYAKAk4RSHgicpoAFQWcKpDwTOR0ASIMgK3189szYKQBINoAqHhlDRh1AIg8ALbiDxHxi1EIgEgEYKv+fFYIjEgARCUAW/iHiIDGCAVAlAKwxX+IiWgMDYlaAFYAgIiQxggGQBQDsCIAvwECRjMAIhqA1QEgIsYxugEQ4QCsFgARQY7RDoCIB2D1AIiIcox+AERAgNSpoPxMZDQEICICpI6H/ExkdAQgQgJYbUBPL1bIZ7QEIGICWH0AeJEOGD0BiKAATlHghTpgRAUgqgJYoQB4sQ4YYQGIsgBWLOC3d8BoC0DEBbB6AfCCHzD6AhCBAaxmoGcofxMYIhKRAaxuoGco64DRGYAIDWC1Az1DeQcMEYnYAJmT5EveAUNEIjiA1RDMV+pZBwwRiegAVkfgN2/AyA5AdAfIHA/5mcBID0C0B8jipWFg1Acg8gNYRUGHCP4KGB4SCQKyaoZGjAoBRIYAqyzwWxtghAggSgRYcQF4RRQYMQKIGgFWYNAxiu0BI0gAUSQgVzPhjBElgKgSkLvTIfxcZoQJIMoEWLFBBzn2LjLiBBB1AqzgALxMCoxAAUShgLyYCQaMSAFEpQArPMSCASNUAFEqwIoPkZWd0SqAiBWQ1zPBhNErgAgWYDUIvjwKjGQBRLOAwvEwctqG4SHRLcBKEcArzsBIF0C0CygcD/mFnZEvgOgXUDge8ik2I2EA0TCgyGcCMiNjANExwEoTkYDMKBlApAwoypmAzKgZQOQMsApFJCAzggYQRQOsSBELyIyoAUTVACtU8BUuYHQNIMIGWK1Cr9X8uS2GhkTcAKtXAH8IABh9A4jAAVaz4CtlwEgcQDQOKN15OT43Y2QOIDoHWOkC+MMEwEgdQLQOsPJFbElh5A4gegdYCQP4EwnASB5ANA+wMkYkvWRUDyCyB1glA/hTDcAoH0CkD7BqBvAnG4BRP4DIH1DBzJrGKCBAJBCoHA/5cMioIEBkELDKBvBHJIBRQoBIIWDVDf6UBDBiCBA1BCrHQz6cMoIIEEUErMihEx7eAcNDooqAFToi0YzRRYAII2C1DuCPawCjjQARR8DqHcAf2QBGHwEikIDVPIA/tgGMRgJEJAGre+iEiXfA8JAIJWC1D50wsZfAaCVAxBKoZ8o2jFwCRC8BK4HohIu/AoaHRDMBJ5rwLGBUEyCyCdTFzE1klBMg0glYNYRXJIERT4CoJ2AFkRg+w0IioEDtWMiHEkZDASKiqMSxkD9tyqgoiqgoKomfmVKMiqKIiqKSGRIqRkZRREZRVhYB/liMYnQURXQUZXURXqpUjI6iiI6irC6ik2a+A8xBYyKkqCS+VVaMkKKIkKKSma2yYpQURZQUZZURnbXzV8CcOSZSirLSiM7aeQfMuWOipSinpfBHdRSjpSiipSinpRT8SXFGS1FES1FOSyl4HjJaiiJaihqepGDTAsVoKYpoKcppKfzRHcVoKYpoKcppKfzxHcVoKYpoKcpKI/wZMcVIKYpIKcoqI/xJL8UoKYooKcopKfwRIsUoKYooKcoKI/yZLcUIKYo+YWGFEX5BU9wzFvQhC+VYyMci7jmL4EELy8KSjyXssxaEhVYZ4TdZinvcgj5vYYURfoujuCcu6CMXVhfhpSTFPXRBn7pwOgp/HEtxD17QJy+Ue7iHD+fcwxf06QsnpJQp74AhIX0CQ8VPlyruGQyioyino5R8KGN0FEV0FOV0lJJ/8IXRURTRUZSVRfgzwYqRURSRUZSTUfizVoqRURSRUZSTUSI3kZFRFJFRlJNR+ANbipFRFJFRlJNR+ENbipFRFJFRVOp4yIcCRkdRREdRTkfhD28pRkdRREdRTkeJEJnRURTRUVQWL9goRkZRREZRVhWJxBJGRVFERVFORan4WMCoKIqoKMqpKBWfljAqiiIqirKqCPAn0RQjoygioygno0SyCkZGUURGUVYWAf44m2J0FEV0FOV0FP5Im2J0FEV0FOV0FP5Ym2J0FEV0FGV1kUhWwegoiugoysoikayCkVEUkVGUk1H403GKkVEUkVGUVUUiWQWjoiiioqg8vk1WjIiiiIiinIhS8bGIEVEUEVGUE1H4g3aKEVEUEVGUE1H4s3aKEVEUEVGUE1H4w3aKEVEUEVGUFUWAP22nGBVFERVFORWFP26nGBVl/Jt92cBn+/LR791LB96/v/tl07y05iUOf9z9MryKIM3Hlx38cafXgtd//Pnn+dUD+l/o7QPmN4P1y3Oz71eteWMJ8lMgP6XMj3sVjd+dErmpRG64V32dHebZ2aGmh3VhFv7rPLtXfJy9m2Rhcm/SAZHb4dNRyI1Cd8HI+rahkfRE/uwL+bG/rDq702FJ7iS4PuzJlGNFrvbdqtlssB+FRknoY795ebJfv/YuDNCFCT2dvwKMrgtSdF1KOM7DR7nwfSvwfYPxvsn4j77BdXapN2GTxzIbHKpy9CycEuM3gvEVZ/iKZX4eT91m/av7Ajuao2iKitysmmOz2X3APkrEq0o2/N7HiPGF4bmjZGyfPi6BqIUGPh9nYJXJ3Nm3dqGgg4YoF7rYtM22XT+t+60d8N1++CgF8orGrAC51+AGIibIO+fPQzShMyEJjA9mRqOhyqS96cw/kZPk7CORuUBf/cDRrsbRLpe60ivEybyQx/OFPLmWqdjf8dA9noi/EnWtksUX9/09w83j+UWciE6Ioxf4s2+QxiGwxCFQjYFKOA+tS+2q+2y/TMx2FMVYWaRYt0/NaeN3M8ELGcjC3/CBQXQTENHKIZkwx07EzoL1FadNIJzU4ccCsUN8OwrZEok+CYg94RErZJN83far/W5vvs6A1gvkKJXxwvg5dHv3JnA0/mhWlUIudP3eZL3DS8ZQ4MFRUDYBBl/DN1F9b2g2ZeKeDd+7x4sZ5kMqY5b/qUV8B3E4K2TBtfUGvEDdKWXsbLdr96rMs5cKTZtKNvXC9zjikIOZ6ZYfMw9lN9EyYXgNoBcO0WAJ54119aHd/V/v07RAa1ohi9XYFSL/8FZFPxwiqpVChiDv+EWNyCka0lI216dPYaIbjeZnVQ/3JRuz2EI2L9z7i4e3tqO5j6goTMvoVzQxhfDUyKZQfsHNOr9hGW8H8UZnzNpNlVfs1md6gnNbuIDgx12MnKaWcO6jcJ1GH3pBdxtdbD1kzEZlvsihf71VhfsmczWXMpdoNRTmc+c3hKLZgdaKohquFAaCm7qZzDFJSQoUFo24LnVCwyvgq1TCNPOpPZoNldn0+yOG4oDckU4ydUB5fJmvxeA93+W+9VZ55WVjaArLWGzdtZ/J5gHQbQBZPD078umLk37Zamk9mdeb+9EJ72jlfvrhmwk4BcDphNwTm4d7FQTh3LT7vWADap68RCMl9EVHKcGpLgjZqp34G5gKDVEtvGnWifmczpO/58PRWjgNrSv0DSUcH3D2JvZGVyQcUYUFXv+qChwSZGwkL9HH3alxd2T3jFvEvKmmZAQ6vwIbXRya/EU6RvZi+A9h7fSDmTLuc4f4UlEPpRd6XJ0O5oXRTH0KvErshf6Gz/vhLAB5E1+lDXnb0/MjqeEgpmbiS43kecpbFaXONo3ZTJnVrDUFy57uHBXii5LNcu112345st68NE/qTWein7vdqWc94qRMFqi1R9YTCq3iiXF0Ugwz0zJE40xMu3GL/PhiPgJg2+MuojipZHFS+xw9Pb4ESzguwwuL+YNDn3o4jxLyePyuL14FcEIhLG5bPyT3x1NUOEe9r4ng2IEnlVBX868KX1Q+VDTzIU4W4w5PjXXzbPgFxmwZqlHCqEcRLoHxP2RD1G1XG71ENpvNtFx6A1Yh4teySXl26T4n6PtDLK1lU3L05yQn3xuiaC2blt32adfbAOkvfV52KJs++DuUODvETM3GO1SMG5tENge68wcHMOXwSp8Lu9mfC/O9jiD9U+cTGVd+hBrWJ5IRlzjSqnEzJ6xLnj9yg2YGLqQPY1gO/z+SHcpxf6zGJCOTrW0joh6Yp27dblftRoc/T1w1z5ahVEO2uo1+Y3VkrLSCMO3bdM+dn1ujgFrLZjn6kClOhfHynchuvPFkmBQKhjgzS4XDdf7oELrzaE7nA5PK4f/rcTaV4w1X2XjnL4ScvfU4GJSyuDI5jt57vGssZVNXx2SvjID6VcrmFr8JwukMpFNNUUYBfqEwb91BK6uMl2dXq+FDKDiZxsur8NTG5DAoq6EYV4/Lp3AnMjmNykN4WueyEKSd0j7iIFpJvfiiEFoehKHwufkSKHJ4lamlY/SFC+O1VwYS94gNDDUe5UQ23bUvdgbUeIYnskCsfR2adefLJrjua17KJnLUHj/qjTyRlXCPxlwQhHrcs/FCbmKN57iwgKz9sHcRl2CENVXjir2LOEwIk1Tti7+LeM0R5lXaF3MXcRlAuBI+n/SKut/4gTXHHBWqcuRjeDjbwwu08GQW3RbiNGY8S5WPEV+NuwU17h+ER3227fG33eFTmAXggRQeCNzudAbdeLcDb9ISWY/G78XhFQkHH2ERevw6K85t8d5fqB7vDuuWVDHx/J5kPGH+Zt09kmqvVxeXhcPx++447njlVdncdm7o4T9809JRPxbKOM5jeFASx7BSNsHt3i4gJi6AgVA63HerT+QiccULhKKQObqxaWhFKUexS3jYZT98uo3RSPDaqIQnJScNN1Iox+U44SScXDJEw/q9Es7GiKyOLrYYAxeMurAw/2KVZixJKuGcmr4vigM3HjvhUT6u7Ai4UGje/HCJo19IrQmNmnBWjp6YOjzepYGw9DK5G8sRvkd8qcKsc/RoC32+N1zTECaeozciP+LIIaxLH9pfTx09HYHPr0It65Je0h51ODPfRsQFG1wFko2UdjTJj+sdecoAXaFwfeu7PpR88WEfJcyFtaPnHd3FoFkoDNXj93fxHMTxRngItj82hzANS/DSLZSOh1q9H11wJVwoZQ5+wvUM90moQE6+TuTGpZiZufDGOWecjIiPPSmhqja4C5UrwGf3lVBl6o+HliSD+JSpEk7j/vR4bL8QkuOURChtM0cI8KFLJVRX+PMDJdZ9hIW38KpwFlgP542VcGNMJwxOmKtxJ5tOpTsZIYzT2Rod7rGwGGZ8HtreHor2Z5N3okPewWitD6+OwlLO+ePemPz45sJ4X4Qna4+HZtvrzLNlD5rhopWUNsQFThGLUbYatjbVeGh9rM1DPdVsx7K9MNSc9uZUSPhAFi6ZCPeaztW6eSIPTJjXnqMYf0m/AvkHBwh32s4odeNO+yLf04wfy+7e5eNHhoRe/TwCh45quk2y3QP/XXi8/nqSuSzCoe++Y094EgiPQgRnM/D+O5+uVTbVg2mJdUclLJsbJ3S7gd0ID2yNgj3Z/+ENh/B5tkCpB6wsqVwQE35+0Jvkfbvp9Pi8fv/zn3/+P3GQwbY=";