@forgeroute/ui 0.4.0 → 0.4.2

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.
@@ -4,7 +4,7 @@ import { HttpClient, HttpErrorResponse, HttpParams } from "@angular/common/http"
4
4
  import { takeUntilDestroyed, toObservable } from "@angular/core/rxjs-interop";
5
5
  import { catchError, debounceTime, distinctUntilChanged, skip, switchMap } from "rxjs/operators";
6
6
  import { Subject, catchError as catchError$1, debounceTime as debounceTime$1, defer, distinctUntilChanged as distinctUntilChanged$1, filter, map, of, switchMap as switchMap$1, take, throwError } from "rxjs";
7
- import { DOCUMENT, DatePipe, DecimalPipe, NgTemplateOutlet, isPlatformBrowser } from "@angular/common";
7
+ import { DOCUMENT, DatePipe, DecimalPipe, Location, NgTemplateOutlet, isPlatformBrowser } from "@angular/common";
8
8
  import * as i1 from "@angular/forms";
9
9
  import { FormControl, FormsModule, NG_VALIDATORS, NG_VALUE_ACCESSOR, ReactiveFormsModule } from "@angular/forms";
10
10
  import { NavigationEnd, Router, RouterLink, RouterLinkActive } from "@angular/router";
@@ -3511,6 +3511,7 @@ var TextInputComponent = class TextInputComponent {
3511
3511
  this.min = input(void 0, ...ngDevMode ? [{ debugName: "min" }] : /* istanbul ignore next */ []);
3512
3512
  this.max = input(void 0, ...ngDevMode ? [{ debugName: "max" }] : /* istanbul ignore next */ []);
3513
3513
  this.maxDecimals = input(void 0, ...ngDevMode ? [{ debugName: "maxDecimals" }] : /* istanbul ignore next */ []);
3514
+ this.step = input(void 0, ...ngDevMode ? [{ debugName: "step" }] : /* istanbul ignore next */ []);
3514
3515
  this.valueType = input("string", ...ngDevMode ? [{ debugName: "valueType" }] : /* istanbul ignore next */ []);
3515
3516
  this.showErrors = input(false, ...ngDevMode ? [{ debugName: "showErrors" }] : /* istanbul ignore next */ []);
3516
3517
  this.focused = output();
@@ -3525,6 +3526,10 @@ var TextInputComponent = class TextInputComponent {
3525
3526
  this._value = signal("", ...ngDevMode ? [{ debugName: "_value" }] : /* istanbul ignore next */ []);
3526
3527
  this._reveal = createFieldReveal(this.showErrors);
3527
3528
  this._numeric = computed(() => this.valueType() === "number" && this.type() === "number", ...ngDevMode ? [{ debugName: "_numeric" }] : /* istanbul ignore next */ []);
3529
+ this._stepAttr = computed(() => {
3530
+ const step = this.step();
3531
+ return this.type() === "number" && typeof step === "number" && Number.isFinite(step) && step > 0 ? String(step) : null;
3532
+ }, ...ngDevMode ? [{ debugName: "_stepAttr" }] : /* istanbul ignore next */ []);
3528
3533
  this._warned = false;
3529
3534
  this._formatting = computed(() => this.phoneFormat() || this.type() === "tel", ...ngDevMode ? [{ debugName: "_formatting" }] : /* istanbul ignore next */ []);
3530
3535
  this._issue = computed(() => this._check(this._value()), ...ngDevMode ? [{ debugName: "_issue" }] : /* istanbul ignore next */ []);
@@ -3779,6 +3784,13 @@ var TextInputComponent = class TextInputComponent {
3779
3784
  isRequired: false,
3780
3785
  transformFunction: null
3781
3786
  },
3787
+ step: {
3788
+ classPropertyName: "step",
3789
+ publicName: "step",
3790
+ isSignal: true,
3791
+ isRequired: false,
3792
+ transformFunction: null
3793
+ },
3782
3794
  valueType: {
3783
3795
  classPropertyName: "valueType",
3784
3796
  publicName: "valueType",
@@ -3842,6 +3854,7 @@ var TextInputComponent = class TextInputComponent {
3842
3854
  [disabled]="disabled()"
3843
3855
  [readOnly]="readonly()"
3844
3856
  [attr.maxlength]="maxlength() ?? null"
3857
+ [attr.step]="_stepAttr()"
3845
3858
  [attr.autocomplete]="autocomplete()"
3846
3859
  [attr.required]="required() || null"
3847
3860
  [attr.aria-label]="ariaLabel() || null"
@@ -3909,6 +3922,7 @@ i0.ɵɵngDeclareClassMetadata({
3909
3922
  [disabled]="disabled()"
3910
3923
  [readOnly]="readonly()"
3911
3924
  [attr.maxlength]="maxlength() ?? null"
3925
+ [attr.step]="_stepAttr()"
3912
3926
  [attr.autocomplete]="autocomplete()"
3913
3927
  [attr.required]="required() || null"
3914
3928
  [attr.aria-label]="ariaLabel() || null"
@@ -4050,6 +4064,14 @@ i0.ɵɵngDeclareClassMetadata({
4050
4064
  required: false
4051
4065
  }]
4052
4066
  }],
4067
+ step: [{
4068
+ type: i0.Input,
4069
+ args: [{
4070
+ isSignal: true,
4071
+ alias: "step",
4072
+ required: false
4073
+ }]
4074
+ }],
4053
4075
  valueType: [{
4054
4076
  type: i0.Input,
4055
4077
  args: [{
@@ -4536,6 +4558,7 @@ var TableToolbarComponent = class TableToolbarComponent {
4536
4558
  "min",
4537
4559
  "max",
4538
4560
  "maxDecimals",
4561
+ "step",
4539
4562
  "valueType",
4540
4563
  "showErrors",
4541
4564
  "disabled"
@@ -5019,126 +5042,6 @@ function getEligibleIds(items, selectedIds, action, options = {}) {
5019
5042
  skippedCount: selected.length - eligible.length
5020
5043
  };
5021
5044
  }
5022
- var SkeletonComponent = class SkeletonComponent {
5023
- constructor() {
5024
- this.height = input(20, ...ngDevMode ? [{ debugName: "height" }] : /* istanbul ignore next */ []);
5025
- this.width = input("100%", ...ngDevMode ? [{ debugName: "width" }] : /* istanbul ignore next */ []);
5026
- this.radius = input(8, ...ngDevMode ? [{ debugName: "radius" }] : /* istanbul ignore next */ []);
5027
- this.mb = input(0, ...ngDevMode ? [{ debugName: "mb" }] : /* istanbul ignore next */ []);
5028
- }
5029
- static {
5030
- this.ɵfac = i0.ɵɵngDeclareFactory({
5031
- minVersion: "12.0.0",
5032
- version: "22.2.2",
5033
- ngImport: i0,
5034
- type: SkeletonComponent,
5035
- deps: [],
5036
- target: i0.ɵɵFactoryTarget.Component
5037
- });
5038
- }
5039
- static {
5040
- this.ɵcmp = i0.ɵɵngDeclareComponent({
5041
- minVersion: "17.1.0",
5042
- version: "22.2.2",
5043
- type: SkeletonComponent,
5044
- isStandalone: true,
5045
- selector: "ui-skeleton",
5046
- inputs: {
5047
- height: {
5048
- classPropertyName: "height",
5049
- publicName: "height",
5050
- isSignal: true,
5051
- isRequired: false,
5052
- transformFunction: null
5053
- },
5054
- width: {
5055
- classPropertyName: "width",
5056
- publicName: "width",
5057
- isSignal: true,
5058
- isRequired: false,
5059
- transformFunction: null
5060
- },
5061
- radius: {
5062
- classPropertyName: "radius",
5063
- publicName: "radius",
5064
- isSignal: true,
5065
- isRequired: false,
5066
- transformFunction: null
5067
- },
5068
- mb: {
5069
- classPropertyName: "mb",
5070
- publicName: "mb",
5071
- isSignal: true,
5072
- isRequired: false,
5073
- transformFunction: null
5074
- }
5075
- },
5076
- host: {
5077
- attributes: { "aria-hidden": "true" },
5078
- properties: { "style.margin-bottom.px": "mb() || null" }
5079
- },
5080
- ngImport: i0,
5081
- template: `<div class="sk" [style.height.px]="height()" [style.width]="width()" [style.border-radius.px]="radius()" aria-hidden="true"></div>`,
5082
- isInline: true,
5083
- styles: [".sk{position:relative;overflow:hidden;background:#f1f5f9}.sk:after{content:\"\";position:absolute;inset:0;background:linear-gradient(90deg,transparent 25%,rgba(255,255,255,.65) 50%,transparent 75%);transform:translate(-100%);animation:sk-shimmer 1.5s ease-in-out infinite}@keyframes sk-shimmer{to{transform:translate(200%)}}\n"],
5084
- changeDetection: i0.ChangeDetectionStrategy.OnPush
5085
- });
5086
- }
5087
- };
5088
- i0.ɵɵngDeclareClassMetadata({
5089
- minVersion: "12.0.0",
5090
- version: "22.2.2",
5091
- ngImport: i0,
5092
- type: SkeletonComponent,
5093
- decorators: [{
5094
- type: Component,
5095
- args: [{
5096
- selector: "ui-skeleton",
5097
- standalone: true,
5098
- changeDetection: ChangeDetectionStrategy.OnPush,
5099
- template: `<div class="sk" [style.height.px]="height()" [style.width]="width()" [style.border-radius.px]="radius()" aria-hidden="true"></div>`,
5100
- host: {
5101
- "[style.margin-bottom.px]": "mb() || null",
5102
- "aria-hidden": "true"
5103
- },
5104
- styles: [".sk{position:relative;overflow:hidden;background:#f1f5f9}.sk:after{content:\"\";position:absolute;inset:0;background:linear-gradient(90deg,transparent 25%,rgba(255,255,255,.65) 50%,transparent 75%);transform:translate(-100%);animation:sk-shimmer 1.5s ease-in-out infinite}@keyframes sk-shimmer{to{transform:translate(200%)}}\n"]
5105
- }]
5106
- }],
5107
- propDecorators: {
5108
- height: [{
5109
- type: i0.Input,
5110
- args: [{
5111
- isSignal: true,
5112
- alias: "height",
5113
- required: false
5114
- }]
5115
- }],
5116
- width: [{
5117
- type: i0.Input,
5118
- args: [{
5119
- isSignal: true,
5120
- alias: "width",
5121
- required: false
5122
- }]
5123
- }],
5124
- radius: [{
5125
- type: i0.Input,
5126
- args: [{
5127
- isSignal: true,
5128
- alias: "radius",
5129
- required: false
5130
- }]
5131
- }],
5132
- mb: [{
5133
- type: i0.Input,
5134
- args: [{
5135
- isSignal: true,
5136
- alias: "mb",
5137
- required: false
5138
- }]
5139
- }]
5140
- }
5141
- });
5142
5045
  let nextTooltipId = 0;
5143
5046
  var TooltipDirective = class TooltipDirective {
5144
5047
  constructor() {
@@ -5276,6 +5179,263 @@ i0.ɵɵngDeclareClassMetadata({
5276
5179
  }]
5277
5180
  }
5278
5181
  });
5182
+ var StarComponent = class StarComponent {
5183
+ constructor() {
5184
+ this.tooltip = input("", ...ngDevMode ? [{ debugName: "tooltip" }] : /* istanbul ignore next */ []);
5185
+ this.size = input(16, ...ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []);
5186
+ this.hasTooltip = computed(() => !!this.tooltip(), ...ngDevMode ? [{ debugName: "hasTooltip" }] : /* istanbul ignore next */ []);
5187
+ }
5188
+ static {
5189
+ this.ɵfac = i0.ɵɵngDeclareFactory({
5190
+ minVersion: "12.0.0",
5191
+ version: "22.2.2",
5192
+ ngImport: i0,
5193
+ type: StarComponent,
5194
+ deps: [],
5195
+ target: i0.ɵɵFactoryTarget.Component
5196
+ });
5197
+ }
5198
+ static {
5199
+ this.ɵcmp = i0.ɵɵngDeclareComponent({
5200
+ minVersion: "17.1.0",
5201
+ version: "22.2.2",
5202
+ type: StarComponent,
5203
+ isStandalone: true,
5204
+ selector: "ui-star",
5205
+ inputs: {
5206
+ tooltip: {
5207
+ classPropertyName: "tooltip",
5208
+ publicName: "tooltip",
5209
+ isSignal: true,
5210
+ isRequired: false,
5211
+ transformFunction: null
5212
+ },
5213
+ size: {
5214
+ classPropertyName: "size",
5215
+ publicName: "size",
5216
+ isSignal: true,
5217
+ isRequired: false,
5218
+ transformFunction: null
5219
+ }
5220
+ },
5221
+ ngImport: i0,
5222
+ template: `
5223
+ <span class="star"
5224
+ [uiTooltip]="tooltip()"
5225
+ [attr.role]="hasTooltip() ? 'img' : null"
5226
+ [attr.aria-label]="hasTooltip() ? tooltip() : null"
5227
+ [attr.aria-hidden]="hasTooltip() ? null : 'true'"
5228
+ [attr.tabindex]="hasTooltip() ? 0 : null">
5229
+ <svg [attr.width]="size()" [attr.height]="size()" viewBox="0 0 20 20" aria-hidden="true" focusable="false">
5230
+ <path class="star-shape" d="M10 1.5l2.6 5.3 5.9.9-4.25 4.15 1 5.85L10 14.9l-5.25 2.8 1-5.85L1.5 7.7l5.9-.9L10 1.5z" />
5231
+ </svg>
5232
+ </span>
5233
+ `,
5234
+ isInline: true,
5235
+ styles: [":host{display:inline-flex;vertical-align:middle;line-height:1}.star{display:inline-flex;align-items:center;justify-content:center;border-radius:3px}.star:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.star-shape{fill:#f5b301;stroke:#d99a00;stroke-width:.75;stroke-linejoin:round}\n"],
5236
+ dependencies: [{
5237
+ kind: "directive",
5238
+ type: TooltipDirective,
5239
+ selector: "[uiTooltip]",
5240
+ inputs: ["uiTooltip", "tooltipPosition"]
5241
+ }],
5242
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
5243
+ });
5244
+ }
5245
+ };
5246
+ i0.ɵɵngDeclareClassMetadata({
5247
+ minVersion: "12.0.0",
5248
+ version: "22.2.2",
5249
+ ngImport: i0,
5250
+ type: StarComponent,
5251
+ decorators: [{
5252
+ type: Component,
5253
+ args: [{
5254
+ selector: "ui-star",
5255
+ standalone: true,
5256
+ changeDetection: ChangeDetectionStrategy.OnPush,
5257
+ imports: [TooltipDirective],
5258
+ template: `
5259
+ <span class="star"
5260
+ [uiTooltip]="tooltip()"
5261
+ [attr.role]="hasTooltip() ? 'img' : null"
5262
+ [attr.aria-label]="hasTooltip() ? tooltip() : null"
5263
+ [attr.aria-hidden]="hasTooltip() ? null : 'true'"
5264
+ [attr.tabindex]="hasTooltip() ? 0 : null">
5265
+ <svg [attr.width]="size()" [attr.height]="size()" viewBox="0 0 20 20" aria-hidden="true" focusable="false">
5266
+ <path class="star-shape" d="M10 1.5l2.6 5.3 5.9.9-4.25 4.15 1 5.85L10 14.9l-5.25 2.8 1-5.85L1.5 7.7l5.9-.9L10 1.5z" />
5267
+ </svg>
5268
+ </span>
5269
+ `,
5270
+ styles: [":host{display:inline-flex;vertical-align:middle;line-height:1}.star{display:inline-flex;align-items:center;justify-content:center;border-radius:3px}.star:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.star-shape{fill:#f5b301;stroke:#d99a00;stroke-width:.75;stroke-linejoin:round}\n"]
5271
+ }]
5272
+ }],
5273
+ propDecorators: {
5274
+ tooltip: [{
5275
+ type: i0.Input,
5276
+ args: [{
5277
+ isSignal: true,
5278
+ alias: "tooltip",
5279
+ required: false
5280
+ }]
5281
+ }],
5282
+ size: [{
5283
+ type: i0.Input,
5284
+ args: [{
5285
+ isSignal: true,
5286
+ alias: "size",
5287
+ required: false
5288
+ }]
5289
+ }]
5290
+ }
5291
+ });
5292
+ var SkeletonComponent = class SkeletonComponent {
5293
+ constructor() {
5294
+ this.height = input(20, ...ngDevMode ? [{ debugName: "height" }] : /* istanbul ignore next */ []);
5295
+ this.width = input("100%", ...ngDevMode ? [{ debugName: "width" }] : /* istanbul ignore next */ []);
5296
+ this.radius = input(8, ...ngDevMode ? [{ debugName: "radius" }] : /* istanbul ignore next */ []);
5297
+ this.mb = input(0, ...ngDevMode ? [{ debugName: "mb" }] : /* istanbul ignore next */ []);
5298
+ this.ariaLabel = input("", ...ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []);
5299
+ }
5300
+ label() {
5301
+ return this.ariaLabel().trim();
5302
+ }
5303
+ static {
5304
+ this.ɵfac = i0.ɵɵngDeclareFactory({
5305
+ minVersion: "12.0.0",
5306
+ version: "22.2.2",
5307
+ ngImport: i0,
5308
+ type: SkeletonComponent,
5309
+ deps: [],
5310
+ target: i0.ɵɵFactoryTarget.Component
5311
+ });
5312
+ }
5313
+ static {
5314
+ this.ɵcmp = i0.ɵɵngDeclareComponent({
5315
+ minVersion: "17.1.0",
5316
+ version: "22.2.2",
5317
+ type: SkeletonComponent,
5318
+ isStandalone: true,
5319
+ selector: "ui-skeleton",
5320
+ inputs: {
5321
+ height: {
5322
+ classPropertyName: "height",
5323
+ publicName: "height",
5324
+ isSignal: true,
5325
+ isRequired: false,
5326
+ transformFunction: null
5327
+ },
5328
+ width: {
5329
+ classPropertyName: "width",
5330
+ publicName: "width",
5331
+ isSignal: true,
5332
+ isRequired: false,
5333
+ transformFunction: null
5334
+ },
5335
+ radius: {
5336
+ classPropertyName: "radius",
5337
+ publicName: "radius",
5338
+ isSignal: true,
5339
+ isRequired: false,
5340
+ transformFunction: null
5341
+ },
5342
+ mb: {
5343
+ classPropertyName: "mb",
5344
+ publicName: "mb",
5345
+ isSignal: true,
5346
+ isRequired: false,
5347
+ transformFunction: null
5348
+ },
5349
+ ariaLabel: {
5350
+ classPropertyName: "ariaLabel",
5351
+ publicName: "ariaLabel",
5352
+ isSignal: true,
5353
+ isRequired: false,
5354
+ transformFunction: null
5355
+ }
5356
+ },
5357
+ host: { properties: {
5358
+ "style.margin-bottom.px": "mb() || null",
5359
+ "attr.aria-hidden": "label() ? null : 'true'",
5360
+ "attr.role": "label() ? 'status' : null",
5361
+ "attr.aria-live": "label() ? 'polite' : null",
5362
+ "attr.aria-busy": "label() ? 'true' : null",
5363
+ "attr.aria-label": "label() || null"
5364
+ } },
5365
+ ngImport: i0,
5366
+ template: `<div class="sk" [style.height.px]="height()" [style.width]="width()" [style.border-radius.px]="radius()" aria-hidden="true"></div>`,
5367
+ isInline: true,
5368
+ styles: [".sk{position:relative;overflow:hidden;background:#f1f5f9}.sk:after{content:\"\";position:absolute;inset:0;background:linear-gradient(90deg,transparent 25%,rgba(255,255,255,.65) 50%,transparent 75%);transform:translate(-100%);animation:sk-shimmer 1.5s ease-in-out infinite}@keyframes sk-shimmer{to{transform:translate(200%)}}\n"],
5369
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
5370
+ });
5371
+ }
5372
+ };
5373
+ i0.ɵɵngDeclareClassMetadata({
5374
+ minVersion: "12.0.0",
5375
+ version: "22.2.2",
5376
+ ngImport: i0,
5377
+ type: SkeletonComponent,
5378
+ decorators: [{
5379
+ type: Component,
5380
+ args: [{
5381
+ selector: "ui-skeleton",
5382
+ standalone: true,
5383
+ changeDetection: ChangeDetectionStrategy.OnPush,
5384
+ template: `<div class="sk" [style.height.px]="height()" [style.width]="width()" [style.border-radius.px]="radius()" aria-hidden="true"></div>`,
5385
+ host: {
5386
+ "[style.margin-bottom.px]": "mb() || null",
5387
+ "[attr.aria-hidden]": "label() ? null : 'true'",
5388
+ "[attr.role]": "label() ? 'status' : null",
5389
+ "[attr.aria-live]": "label() ? 'polite' : null",
5390
+ "[attr.aria-busy]": "label() ? 'true' : null",
5391
+ "[attr.aria-label]": "label() || null"
5392
+ },
5393
+ styles: [".sk{position:relative;overflow:hidden;background:#f1f5f9}.sk:after{content:\"\";position:absolute;inset:0;background:linear-gradient(90deg,transparent 25%,rgba(255,255,255,.65) 50%,transparent 75%);transform:translate(-100%);animation:sk-shimmer 1.5s ease-in-out infinite}@keyframes sk-shimmer{to{transform:translate(200%)}}\n"]
5394
+ }]
5395
+ }],
5396
+ propDecorators: {
5397
+ height: [{
5398
+ type: i0.Input,
5399
+ args: [{
5400
+ isSignal: true,
5401
+ alias: "height",
5402
+ required: false
5403
+ }]
5404
+ }],
5405
+ width: [{
5406
+ type: i0.Input,
5407
+ args: [{
5408
+ isSignal: true,
5409
+ alias: "width",
5410
+ required: false
5411
+ }]
5412
+ }],
5413
+ radius: [{
5414
+ type: i0.Input,
5415
+ args: [{
5416
+ isSignal: true,
5417
+ alias: "radius",
5418
+ required: false
5419
+ }]
5420
+ }],
5421
+ mb: [{
5422
+ type: i0.Input,
5423
+ args: [{
5424
+ isSignal: true,
5425
+ alias: "mb",
5426
+ required: false
5427
+ }]
5428
+ }],
5429
+ ariaLabel: [{
5430
+ type: i0.Input,
5431
+ args: [{
5432
+ isSignal: true,
5433
+ alias: "ariaLabel",
5434
+ required: false
5435
+ }]
5436
+ }]
5437
+ }
5438
+ });
5279
5439
  const MIN_VISIBLE_PERCENT = 2;
5280
5440
  var ProgressBarComponent = class ProgressBarComponent {
5281
5441
  constructor() {
@@ -5529,6 +5689,8 @@ var SelectComponent = class SelectComponent {
5529
5689
  const v = this._norm(this._value());
5530
5690
  return this.options().findIndex((o) => this._norm(String(o.value)) === v);
5531
5691
  }, ...ngDevMode ? [{ debugName: "_selectedIndex" }] : /* istanbul ignore next */ []);
5692
+ this._selectedDescription = computed(() => this.options()[this._selectedIndex()]?.description ?? "", ...ngDevMode ? [{ debugName: "_selectedDescription" }] : /* istanbul ignore next */ []);
5693
+ this._describedBy = computed(() => [this._activeError() || this.hint() ? this._selectId + "-desc" : "", !this._activeError() && this._selectedDescription() ? this._selectId + "-opt-desc" : ""].filter(Boolean).join(" "), ...ngDevMode ? [{ debugName: "_describedBy" }] : /* istanbul ignore next */ []);
5532
5694
  this._reveal = createFieldReveal(this.showErrors);
5533
5695
  this._issue = computed(() => this._check(this._value()), ...ngDevMode ? [{ debugName: "_issue" }] : /* istanbul ignore next */ []);
5534
5696
  this.invalid = computed(() => !!this.error() || !!this._issue(), ...ngDevMode ? [{ debugName: "invalid" }] : /* istanbul ignore next */ []);
@@ -5738,14 +5900,14 @@ var SelectComponent = class SelectComponent {
5738
5900
  [attr.required]="required() || null"
5739
5901
  [attr.aria-label]="ariaLabel() || null"
5740
5902
  [attr.aria-invalid]="_activeError() ? 'true' : null"
5741
- [attr.aria-describedby]="(_activeError() || hint()) ? _selectId + '-desc' : null"
5903
+ [attr.aria-describedby]="_describedBy() || null"
5742
5904
  (change)="onChange($event)"
5743
5905
  (blur)="onBlur()">
5744
5906
  @if (placeholder()) {
5745
5907
  <option value="" [disabled]="true" [selected]="_value() === ''">{{ placeholder() }}</option>
5746
5908
  }
5747
5909
  @for (opt of options(); track opt.value; let i = $index) {
5748
- <option [value]="_key(opt)" [selected]="i === _selectedIndex()">{{ opt.label }}</option>
5910
+ <option [value]="_key(opt)" [selected]="i === _selectedIndex()" [attr.title]="opt.description || null">{{ opt.label }}</option>
5749
5911
  }
5750
5912
  </select>
5751
5913
  <svg class="sl-chevron" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" aria-hidden="true"><polyline points="6 9 12 15 18 9"/></svg>
@@ -5755,6 +5917,9 @@ var SelectComponent = class SelectComponent {
5755
5917
  } @else if (hint()) {
5756
5918
  <p class="sl-desc" [id]="_selectId + '-desc'">{{ hint() }}</p>
5757
5919
  }
5920
+ @if (_selectedDescription() && !_activeError()) {
5921
+ <p class="sl-desc sl-opt-desc" [id]="_selectId + '-opt-desc'">{{ _selectedDescription() }}</p>
5922
+ }
5758
5923
  </div>
5759
5924
  `,
5760
5925
  isInline: true,
@@ -5806,14 +5971,14 @@ i0.ɵɵngDeclareClassMetadata({
5806
5971
  [attr.required]="required() || null"
5807
5972
  [attr.aria-label]="ariaLabel() || null"
5808
5973
  [attr.aria-invalid]="_activeError() ? 'true' : null"
5809
- [attr.aria-describedby]="(_activeError() || hint()) ? _selectId + '-desc' : null"
5974
+ [attr.aria-describedby]="_describedBy() || null"
5810
5975
  (change)="onChange($event)"
5811
5976
  (blur)="onBlur()">
5812
5977
  @if (placeholder()) {
5813
5978
  <option value="" [disabled]="true" [selected]="_value() === ''">{{ placeholder() }}</option>
5814
5979
  }
5815
5980
  @for (opt of options(); track opt.value; let i = $index) {
5816
- <option [value]="_key(opt)" [selected]="i === _selectedIndex()">{{ opt.label }}</option>
5981
+ <option [value]="_key(opt)" [selected]="i === _selectedIndex()" [attr.title]="opt.description || null">{{ opt.label }}</option>
5817
5982
  }
5818
5983
  </select>
5819
5984
  <svg class="sl-chevron" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" aria-hidden="true"><polyline points="6 9 12 15 18 9"/></svg>
@@ -5823,6 +5988,9 @@ i0.ɵɵngDeclareClassMetadata({
5823
5988
  } @else if (hint()) {
5824
5989
  <p class="sl-desc" [id]="_selectId + '-desc'">{{ hint() }}</p>
5825
5990
  }
5991
+ @if (_selectedDescription() && !_activeError()) {
5992
+ <p class="sl-desc sl-opt-desc" [id]="_selectId + '-opt-desc'">{{ _selectedDescription() }}</p>
5993
+ }
5826
5994
  </div>
5827
5995
  `,
5828
5996
  styles: [":host{display:block}.sl-field{display:flex;flex-direction:column;gap:6px}.sl-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.sl-required{color:#ef4444;margin-left:2px}.sl-wrap{position:relative;display:flex;align-items:center}.sl-select{width:100%;box-sizing:border-box;padding:9px 32px 9px 12px;font-size:.875rem;font-family:inherit;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;appearance:none;cursor:pointer;transition:border-color .15s,box-shadow .15s}.sl-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.sl-error .sl-select{border-color:#ef4444}.sl-error .sl-select:focus{box-shadow:0 0 0 3px #ef44441f}.sl-disabled .sl-select{opacity:.5;cursor:not-allowed}.sl-select-sm{padding:6px 32px 6px 12px;font-size:.8125rem;border-radius:6px}.sl-chevron{position:absolute;right:10px;pointer-events:none;color:#94a3b8;flex-shrink:0}.sl-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.sl-desc-error{color:#ef4444}@media(max-width:480px){.sl-select{font-size:1rem}}@media(pointer:coarse),(max-width:480px){.sl-select,.sl-select-sm{min-height:44px}}\n"]
@@ -8210,10 +8378,14 @@ var DataTableComponent = class DataTableComponent {
8210
8378
  this.pageSize = input(50, ...ngDevMode ? [{ debugName: "pageSize" }] : /* istanbul ignore next */ []);
8211
8379
  this.tableLabel = input("Data table", ...ngDevMode ? [{ debugName: "tableLabel" }] : /* istanbul ignore next */ []);
8212
8380
  this.emptyMessage = input("No records yet.", ...ngDevMode ? [{ debugName: "emptyMessage" }] : /* istanbul ignore next */ []);
8381
+ this.retryLabel = input("", ...ngDevMode ? [{ debugName: "retryLabel" }] : /* istanbul ignore next */ []);
8382
+ this._retryLabel = computed(() => this.retryLabel().trim() || "Try again", ...ngDevMode ? [{ debugName: "_retryLabel" }] : /* istanbul ignore next */ []);
8213
8383
  this.lockedColumn = input("", ...ngDevMode ? [{ debugName: "lockedColumn" }] : /* istanbul ignore next */ []);
8214
8384
  this.savedViews = input([], ...ngDevMode ? [{ debugName: "savedViews" }] : /* istanbul ignore next */ []);
8215
8385
  this.page = input("", ...ngDevMode ? [{ debugName: "page" }] : /* istanbul ignore next */ []);
8216
8386
  this.showToolbar = input(true, ...ngDevMode ? [{ debugName: "showToolbar" }] : /* istanbul ignore next */ []);
8387
+ this.showSearch = input(true, ...ngDevMode ? [{ debugName: "showSearch" }] : /* istanbul ignore next */ []);
8388
+ this._showHeader = computed(() => this.showSearch() || this.showToolbar() || this._effectiveTabs().length > 0, ...ngDevMode ? [{ debugName: "_showHeader" }] : /* istanbul ignore next */ []);
8217
8389
  this.countsEndpoint = input("", ...ngDevMode ? [{ debugName: "countsEndpoint" }] : /* istanbul ignore next */ []);
8218
8390
  this.params = input(null, ...ngDevMode ? [{ debugName: "params" }] : /* istanbul ignore next */ []);
8219
8391
  this.tableButtons = input([], ...ngDevMode ? [{ debugName: "tableButtons" }] : /* istanbul ignore next */ []);
@@ -8227,6 +8399,7 @@ var DataTableComponent = class DataTableComponent {
8227
8399
  this.itemLabelPlural = input("", ...ngDevMode ? [{ debugName: "itemLabelPlural" }] : /* istanbul ignore next */ []);
8228
8400
  this.bulkUpdateOptions = input([], ...ngDevMode ? [{ debugName: "bulkUpdateOptions" }] : /* istanbul ignore next */ []);
8229
8401
  this.rowClick = output();
8402
+ this.linkClick = output();
8230
8403
  this.rowClickableFn = input(null, ...ngDevMode ? [{ debugName: "rowClickableFn" }] : /* istanbul ignore next */ []);
8231
8404
  this.rowLabelFn = input(null, ...ngDevMode ? [{ debugName: "rowLabelFn" }] : /* istanbul ignore next */ []);
8232
8405
  this.tableButtonClick = output();
@@ -8483,7 +8656,9 @@ var DataTableComponent = class DataTableComponent {
8483
8656
  col,
8484
8657
  cf: this.getColFilter(col)
8485
8658
  })).filter((f) => f.cf !== null), ...ngDevMode ? [{ debugName: "_phoneFilterCols" }] : /* istanbul ignore next */ []);
8659
+ this._showColumnControls = computed(() => !this._error() && (this._items().length > 0 || !!this._sortField() || Object.values(this._colFilterValues()).some((v) => v.length > 0)), ...ngDevMode ? [{ debugName: "_showColumnControls" }] : /* istanbul ignore next */ []);
8486
8660
  this._hasPhoneControls = computed(() => this._phoneSortOptions().length > 1 || this._phoneFilterCols().length > 0, ...ngDevMode ? [{ debugName: "_hasPhoneControls" }] : /* istanbul ignore next */ []);
8661
+ this._injector = inject(Injector);
8487
8662
  this._silentNext = false;
8488
8663
  if (typeof window !== "undefined" && typeof window.matchMedia === "function") {
8489
8664
  const mq = window.matchMedia("(max-width: 640px)");
@@ -8938,6 +9113,80 @@ var DataTableComponent = class DataTableComponent {
8938
9113
  phoneCell(value) {
8939
9114
  return formatPhone$2(value);
8940
9115
  }
9116
+ _safeHref(raw) {
9117
+ if (typeof raw !== "string") return null;
9118
+ const h = raw.trim();
9119
+ if (!h || /[\u0000-\u001f\u007f]/.test(h)) return null;
9120
+ if (/^(mailto|tel):\S/i.test(h) || /^https?:\/\/\S/i.test(h) || /^\/(?![\/\\])/.test(h)) return h;
9121
+ return null;
9122
+ }
9123
+ linkView(col, item) {
9124
+ let target = null;
9125
+ try {
9126
+ const r = col.linkFn?.(item, item[col.key]);
9127
+ if (typeof r === "string") target = r.trim() ? { href: r } : null;
9128
+ else if (r && typeof r === "object") target = r;
9129
+ } catch {
9130
+ target = null;
9131
+ }
9132
+ let raw;
9133
+ try {
9134
+ raw = col.render ? col.render(item) : item[col.key];
9135
+ } catch {
9136
+ raw = item[col.key];
9137
+ }
9138
+ const own = raw === null || raw === void 0 ? "" : String(raw);
9139
+ const text = own !== "" ? own : typeof target?.label === "string" && target.label !== "" ? target.label : "—";
9140
+ if (!target || text === "—") return {
9141
+ text,
9142
+ link: null
9143
+ };
9144
+ let href = null;
9145
+ let tree = null;
9146
+ const rl = target.routerLink;
9147
+ if (rl !== void 0 && rl !== null && (typeof rl === "string" ? rl.trim() !== "" : rl.length > 0)) try {
9148
+ const router = this._injector.get(Router);
9149
+ tree = router.createUrlTree(typeof rl === "string" ? [rl] : [...rl], { queryParams: target.queryParams });
9150
+ href = this._injector.get(Location).prepareExternalUrl(router.serializeUrl(tree));
9151
+ } catch {
9152
+ return {
9153
+ text,
9154
+ link: null
9155
+ };
9156
+ }
9157
+ else href = this._safeHref(target.href);
9158
+ if (!href) return {
9159
+ text,
9160
+ link: null
9161
+ };
9162
+ const blank = target.target === "_blank";
9163
+ const external = /^https?:/i.test(href);
9164
+ const label = typeof target.ariaLabel === "string" && target.ariaLabel !== "" ? target.ariaLabel : null;
9165
+ return {
9166
+ text,
9167
+ link: {
9168
+ href,
9169
+ tree,
9170
+ blank,
9171
+ rel: blank || external ? "noopener noreferrer" : null,
9172
+ download: target.download === true,
9173
+ ariaLabel: label === null ? null : blank ? `${label} (opens in a new tab)` : label
9174
+ }
9175
+ };
9176
+ }
9177
+ onLinkClick(e, link, col, item) {
9178
+ e.stopPropagation();
9179
+ this.linkClick.emit({
9180
+ item,
9181
+ column: col,
9182
+ href: link.href
9183
+ });
9184
+ const plain = e.button === 0 && !e.ctrlKey && !e.metaKey && !e.shiftKey && !e.altKey;
9185
+ if (link.tree && plain && !link.blank && !e.defaultPrevented) {
9186
+ e.preventDefault();
9187
+ this._injector.get(Router).navigateByUrl(link.tree);
9188
+ }
9189
+ }
8941
9190
  getInitials(name) {
8942
9191
  return name.split(" ").filter(Boolean).map((p) => p[0]).slice(0, 2).join("").toUpperCase();
8943
9192
  }
@@ -8952,6 +9201,7 @@ var DataTableComponent = class DataTableComponent {
8952
9201
  return v ? this._datePipe.transform(v, col.dateFormat ?? "MMM d, y") ?? "—" : "—";
8953
9202
  }
8954
9203
  case "phone": return formatPhone$2(item[col.key]);
9204
+ case "link": return this.linkView(col, item).text;
8955
9205
  case "days-ago": {
8956
9206
  const days = item[col.daysKey ?? col.key];
8957
9207
  return days != null ? `${days}d ago` : "Never";
@@ -9046,6 +9296,13 @@ var DataTableComponent = class DataTableComponent {
9046
9296
  isRequired: false,
9047
9297
  transformFunction: null
9048
9298
  },
9299
+ retryLabel: {
9300
+ classPropertyName: "retryLabel",
9301
+ publicName: "retryLabel",
9302
+ isSignal: true,
9303
+ isRequired: false,
9304
+ transformFunction: null
9305
+ },
9049
9306
  lockedColumn: {
9050
9307
  classPropertyName: "lockedColumn",
9051
9308
  publicName: "lockedColumn",
@@ -9074,6 +9331,13 @@ var DataTableComponent = class DataTableComponent {
9074
9331
  isRequired: false,
9075
9332
  transformFunction: null
9076
9333
  },
9334
+ showSearch: {
9335
+ classPropertyName: "showSearch",
9336
+ publicName: "showSearch",
9337
+ isSignal: true,
9338
+ isRequired: false,
9339
+ transformFunction: null
9340
+ },
9077
9341
  countsEndpoint: {
9078
9342
  classPropertyName: "countsEndpoint",
9079
9343
  publicName: "countsEndpoint",
@@ -9168,6 +9432,7 @@ var DataTableComponent = class DataTableComponent {
9168
9432
  },
9169
9433
  outputs: {
9170
9434
  rowClick: "rowClick",
9435
+ linkClick: "linkClick",
9171
9436
  tableButtonClick: "tableButtonClick",
9172
9437
  panelActionClick: "panelActionClick",
9173
9438
  saveViewClick: "saveViewClick",
@@ -9197,12 +9462,15 @@ var DataTableComponent = class DataTableComponent {
9197
9462
  <!-- ── HEADER ──────────────────────────────────────────────── -->
9198
9463
  @if (!_hasLoaded()) {
9199
9464
  <!-- Skeleton header: shaped to match real controls -->
9465
+ @if (_showHeader()) {
9200
9466
  <div class="dt-sk-toolbar">
9201
9467
  <div class="dt-sk-toolbar-left">
9468
+ @if (showSearch()) {
9202
9469
  <div class="dt-sk-search">
9203
9470
  <div class="dt-sk-shimmer dt-sk-search-icon"></div>
9204
9471
  <div class="dt-sk-shimmer dt-sk-search-text"></div>
9205
9472
  </div>
9473
+ }
9206
9474
  @if (_effectiveTabs().length) {
9207
9475
  <div class="dt-sk-tab-strip">
9208
9476
  @for (_ of _effectiveTabs(); track $index) {
@@ -9218,10 +9486,11 @@ var DataTableComponent = class DataTableComponent {
9218
9486
  </div>
9219
9487
  }
9220
9488
  </div>
9221
- } @else {
9489
+ }
9490
+ } @else if (_showHeader()) {
9222
9491
  <div class="dt-header alive-header">
9223
9492
  <div class="dt-header-left">
9224
- @if (!_emptyUnfiltered()) {
9493
+ @if (showSearch() && !_emptyUnfiltered()) {
9225
9494
  <ui-search-input
9226
9495
  [value]="_search()"
9227
9496
  [placeholder]="_effectiveSearchPlaceholder()"
@@ -9305,6 +9574,23 @@ var DataTableComponent = class DataTableComponent {
9305
9574
  }
9306
9575
  </ng-template>
9307
9576
 
9577
+ <!-- Shared link-cell markup (table cell + mobile card). Real anchor; text is escaped by interpolation. -->
9578
+ <ng-template #linkCell let-col="col" let-item="item">
9579
+ @let lv = linkView(col, item);
9580
+ @if (lv.link; as lk) {
9581
+ <a class="dt-link"
9582
+ [attr.href]="lk.href"
9583
+ [attr.target]="lk.blank ? '_blank' : null"
9584
+ [attr.rel]="lk.rel"
9585
+ [attr.download]="lk.download ? '' : null"
9586
+ [attr.aria-label]="lk.ariaLabel"
9587
+ (click)="onLinkClick($event, lk, col, item)"
9588
+ (keydown)="$event.stopPropagation()">{{ lv.text }}@if (lk.blank && !lk.ariaLabel) {<span class="dt-sr-only"> (opens in a new tab)</span>}</a>
9589
+ } @else {
9590
+ {{ lv.text }}
9591
+ }
9592
+ </ng-template>
9593
+
9308
9594
  <!-- ── TABLE ─────────────────────────────────────────────── -->
9309
9595
  @if (!_isPhone()) {
9310
9596
  <div class="dt-table-wrap">
@@ -9327,11 +9613,11 @@ var DataTableComponent = class DataTableComponent {
9327
9613
  [style.width]="col.width ?? null"
9328
9614
  [style.min-width]="col.width ?? null"
9329
9615
  [style.max-width]="col.width ?? null"
9330
- [attr.aria-sort]="_isSortable(col) ? sortAriaLabel(col.key) : null"
9616
+ [attr.aria-sort]="_isSortable(col) && _showColumnControls() ? sortAriaLabel(col.key) : null"
9331
9617
  [class.dt-th-sorted]="_sortField() === col.key"
9332
9618
  [class.dt-th-actions]="col.cellType === 'actions'">
9333
9619
  <div class="dt-th-inner">
9334
- @if (_isSortable(col)) {
9620
+ @if (_isSortable(col) && _showColumnControls()) {
9335
9621
  <button
9336
9622
  class="dt-sort-btn"
9337
9623
  (click)="onSort(col.key)"
@@ -9347,7 +9633,7 @@ var DataTableComponent = class DataTableComponent {
9347
9633
  } @else {
9348
9634
  {{ col.label }}
9349
9635
  }
9350
- @if (getColFilter(col); as cf) {
9636
+ @if (_showColumnControls() ? getColFilter(col) : null; as cf) {
9351
9637
  <ui-column-filter
9352
9638
  [label]="col.label"
9353
9639
  [options]="cf.options"
@@ -9379,7 +9665,7 @@ var DataTableComponent = class DataTableComponent {
9379
9665
  @else if (_error()) {
9380
9666
  <tr>
9381
9667
  <td [attr.colspan]="visibleCols().length + (_isSelectable() ? 1 : 0)" class="dt-state-cell">
9382
- <ui-error-state [message]="_error()!" (retry)="load()" />
9668
+ <ui-error-state [message]="_error()!" [retryLabel]="_retryLabel()" (retry)="load()" />
9383
9669
  </td>
9384
9670
  </tr>
9385
9671
  }
@@ -9513,6 +9799,11 @@ var DataTableComponent = class DataTableComponent {
9513
9799
  <ng-container [ngTemplateOutlet]="imageCell" [ngTemplateOutletContext]="{ col: col, item: item }" />
9514
9800
  }
9515
9801
 
9802
+ <!-- Link cell -->
9803
+ @case ('link') {
9804
+ <ng-container [ngTemplateOutlet]="linkCell" [ngTemplateOutletContext]="{ col: col, item: item }" />
9805
+ }
9806
+
9516
9807
  <!-- Actions cell -->
9517
9808
  @case ('actions') {
9518
9809
  <span class="dt-actions-cell" (click)="$event.stopPropagation()">
@@ -9528,6 +9819,9 @@ var DataTableComponent = class DataTableComponent {
9528
9819
 
9529
9820
  <!-- Default: plain text -->
9530
9821
  @default {
9822
+ @if (col.starFn?.(item); as starTip) {
9823
+ <ui-star class="dt-cell-star" [tooltip]="starTip" />
9824
+ }
9531
9825
  {{ col.render ? col.render(item) : (item[col.key] ?? '—') }}
9532
9826
  }
9533
9827
 
@@ -9545,7 +9839,7 @@ var DataTableComponent = class DataTableComponent {
9545
9839
  <!-- ── CARD LIST (phone, ≤640px) — only one tree is rendered per viewport ─── -->
9546
9840
  @if (_isPhone()) {
9547
9841
  <!-- Phone sort + column filters: the table header (which owns them on larger screens) isn't rendered here -->
9548
- @if (_hasPhoneControls()) {
9842
+ @if (_hasPhoneControls() && _showColumnControls()) {
9549
9843
  <div class="dt-phone-controls" role="group" aria-label="Sort and filter">
9550
9844
  @if (_phoneSortOptions().length > 1) {
9551
9845
  <label class="dt-phone-sort">
@@ -9599,7 +9893,7 @@ var DataTableComponent = class DataTableComponent {
9599
9893
  }
9600
9894
 
9601
9895
  } @else if (_error()) {
9602
- <ui-error-state [message]="_error()!" (retry)="load()" />
9896
+ <ui-error-state [message]="_error()!" [retryLabel]="_retryLabel()" (retry)="load()" />
9603
9897
 
9604
9898
  } @else if (_items().length === 0 && !_hasActiveFilters()) {
9605
9899
  <ui-empty-state iconType="table" [message]="emptyMessage()" />
@@ -9645,8 +9939,15 @@ var DataTableComponent = class DataTableComponent {
9645
9939
  <ui-avatar [initials]="initials" [name]="displayName" [size]="32" />
9646
9940
  <span class="dt-card-name">{{ displayName }}</span>
9647
9941
  </span>
9942
+ } @else if (tc.cellType === 'link') {
9943
+ <span class="dt-card-name dt-card-name-plain">
9944
+ <ng-container [ngTemplateOutlet]="linkCell" [ngTemplateOutletContext]="{ col: tc, item: item }" />
9945
+ </span>
9648
9946
  } @else {
9649
9947
  <span class="dt-card-name dt-card-name-plain">
9948
+ @if (tc.starFn?.(item); as starTip) {
9949
+ <ui-star class="dt-cell-star" [tooltip]="starTip" />
9950
+ }
9650
9951
  {{ tc.render ? tc.render(item) : (item[tc.key] ?? '—') }}
9651
9952
  </span>
9652
9953
  }
@@ -9696,7 +9997,11 @@ var DataTableComponent = class DataTableComponent {
9696
9997
  <span class="dt-card-detail-label">{{ dc.label }}</span>
9697
9998
  <span class="dt-card-detail-value"
9698
9999
  [class.dt-overdue]="dc.cellType === 'days-ago' && isCardOverdue(dc, item)">
9699
- {{ val }}</span>
10000
+ @if (dc.cellType === 'link') {
10001
+ <ng-container [ngTemplateOutlet]="linkCell" [ngTemplateOutletContext]="{ col: dc, item: item }" />
10002
+ } @else {
10003
+ {{ val }}
10004
+ }</span>
9700
10005
  </div>
9701
10006
  }
9702
10007
  }
@@ -9768,7 +10073,7 @@ var DataTableComponent = class DataTableComponent {
9768
10073
  </div>
9769
10074
  `,
9770
10075
  isInline: true,
9771
- styles: [":host{display:flex;flex-direction:column;flex:1;min-height:0}.dt-host{display:flex;flex-direction:column;height:100%;min-height:0}.dt-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap;justify-content:space-between;position:relative;z-index:10}.dt-header-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap;flex:1;min-width:0}.dt-header-right{display:flex;align-items:center;gap:8px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.dt-sk-shimmer{position:relative;overflow:hidden;background:#f1f5f9}.dt-sk-shimmer:after{content:\"\";position:absolute;inset:0;background:linear-gradient(90deg,transparent 25%,rgba(255,255,255,.65) 50%,transparent 75%);transform:translate(-100%);animation:dt-shimmer 1.4s ease-in-out infinite}@keyframes dt-shimmer{to{transform:translate(200%)}}.dt-sk-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.dt-sk-toolbar-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.dt-sk-toolbar-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.dt-sk-search{display:flex;align-items:center;gap:10px;width:380px;height:36px;padding:0 12px;border:1px solid #e2e8f0;border-radius:6px;background:#f8fafc;box-sizing:border-box}.dt-sk-search-icon{width:16px;height:16px;border-radius:50%;flex-shrink:0}.dt-sk-search-text{flex:1;height:11px;border-radius:4px}.dt-sk-tab-strip{display:flex;gap:2px;padding:3px;background:#f1f5f9;border-radius:8px}.dt-sk-tab{height:28px;width:70px;border-radius:6px}.dt-sk-icon-btn{width:32px;height:32px;border-radius:6px}.dt-skeleton{border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.dt-sk-header{display:flex;gap:24px;padding:12px 16px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.dt-sk-row{display:flex;gap:24px;padding:13px 16px;border-bottom:1px solid #f1f5f9}.dt-sk-row:last-child{border-bottom:none}.dt-sk-cell{flex:1;height:13px;border-radius:4px;position:relative;overflow:hidden;background:#f1f5f9}.dt-sk-cell:first-child{max-width:100px}.dt-sk-cell:after{content:\"\";position:absolute;inset:0;background:linear-gradient(90deg,transparent 25%,rgba(255,255,255,.65) 50%,transparent 75%);transform:translate(-100%);animation:dt-shimmer 1.4s ease-in-out infinite}.dt-sk-head{height:10px}.dt-table-wrap{flex:1;min-height:0;overflow:auto;border:1px solid #e2e8f0;border-radius:10px 10px 0 0}.dt-sk-reload-row td{padding:10px 14px;border-bottom:1px solid #f1f5f9}table{width:100%;border-collapse:collapse;font-size:.875rem}thead tr{background:#f8fafc;border-bottom:1px solid #e2e8f0}thead{position:sticky;top:0;z-index:2}th{padding:10px 14px;font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-right:1px solid #e2e8f0;text-align:center;background:#f8fafc}th:last-child{border-right:none}th.dt-th-sorted{background:#f1f5f9}th.dt-th-actions{width:48px}.dt-th-inner{display:flex;align-items:center;justify-content:center;gap:4px}.dt-sort-btn{display:inline-flex;align-items:center;gap:4px;background:none;border:none;cursor:pointer;font-size:inherit;font-weight:inherit;color:inherit;font-family:inherit;padding:0;text-transform:inherit;letter-spacing:inherit}.dt-sort-btn:hover{color:#1e293b}.dt-sort-btn:focus-visible{outline:2px solid #60a5fa;outline-offset:2px;border-radius:2px}@media(pointer:coarse){.dt-sort-btn{position:relative}.dt-sort-btn:after{content:\"\";position:absolute;left:-4px;right:-4px;top:50%;height:44px;transform:translateY(-50%)}}.dt-sort-icon{transition:transform .15s}.dt-sort-desc{transform:rotate(180deg)}.dt-sort-inactive{opacity:.4}tbody tr{border-bottom:1px solid #f1f5f9;background:#fff;transition:background .1s}tbody tr:last-child{border-bottom:none}tbody tr:hover{background:#f8fafc}.dt-row-clickable{cursor:pointer}.dt-row-clickable:focus-visible{outline:2px solid #3b82f6;outline-offset:-2px}td{padding:10px 14px;color:#334155;vertical-align:middle;white-space:nowrap;border-right:1px solid #f1f5f9}td:last-child{border-right:none}.dt-td-actions{text-align:center;padding:6px 8px}.dt-td-width{overflow:hidden;text-overflow:ellipsis}.dt-img{display:inline-block;vertical-align:middle;object-fit:cover;border:1px solid #e2e8f0;background:#f1f5f9;flex-shrink:0}.dt-img-ph{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;color:#94a3b8;background:#f1f5f9;border:1px solid #e2e8f0;flex-shrink:0}.dt-img-ph svg{width:55%;height:55%}.dt-img-circle-md{width:40px;height:40px;border-radius:50%}.dt-img-circle-sm{width:28px;height:28px;border-radius:50%}.dt-img-rounded-md{width:48px;height:32px;border-radius:6px}.dt-img-rounded-sm{width:36px;height:24px;border-radius:5px}.dt-avatar-name{display:flex;align-items:center;gap:8px}.dt-name-text{color:#1e293b}.dt-overdue{color:#dc2626;font-weight:500}.dt-none{color:#94a3b8}.dt-tags{display:flex;align-items:center;gap:4px}.dt-tags-more{font-size:.75rem;font-weight:600;color:#475569;background:#f1f5f9;border-radius:999px;padding:2px 7px;cursor:default;-webkit-user-select:none;user-select:none;border:1px solid #e2e8f0}.dt-tags-more:focus-visible{outline:2px solid #60a5fa;outline-offset:2px;border-radius:999px}.dt-tag-tooltip{position:fixed;z-index:9999;pointer-events:none;background:#1e293b;border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;gap:5px;box-shadow:0 4px 6px #0000000f,0 10px 24px #00000024;transform:translate(-50%) translateY(-100%);animation:dt-tip-in .12s ease;max-width:220px}@keyframes dt-tip-in{0%{opacity:0;transform:translate(-50%) translateY(calc(-100% + 4px))}to{opacity:1;transform:translate(-50%) translateY(-100%)}}.dt-actions-cell{display:flex;align-items:center;justify-content:center}.dt-bulk-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;align-self:flex-start;padding:10px 14px;margin-bottom:8px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px}.dt-bulk-count{font-size:.875rem;font-weight:600;color:#1e40af;white-space:nowrap;flex-shrink:0}.dt-bulk-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:1;min-width:0}.dt-bulk-actions ui-select{max-width:180px;min-width:120px}.dt-bulk-hint{font-size:.8125rem;line-height:1.35;color:#475569}.dt-card-cb{display:flex;align-items:center;padding:0 0 6px}.dt-card-selected{background:#eff6ff!important;border-color:#bfdbfe!important}.dt-th-cb{width:44px;padding:0 10px!important;text-align:center!important;border-right:1px solid #e2e8f0;background:#f8fafc}.dt-td-cb{width:44px;padding:0 10px!important;text-align:center!important;border-right:1px solid #f1f5f9}.dt-row-selected{background:#eff6ff!important}.dt-row-selected:hover{background:#dbeafe!important}.dt-state-cell{padding:0!important;border:none!important;background:#fff!important}@media(max-width:1024px){th{padding:10px 12px}td{padding:11px 12px}.dt-sort-btn{padding:4px 0}.dt-td-actions{padding:6px}.dt-bulk-bar{align-self:stretch}}@media(max-width:768px){th{padding:9px 10px;font-size:.8125rem}td{padding:10px;font-size:.8125rem}.dt-sk-search{width:100%}}@media(max-width:640px){.dt-header{flex-direction:column;align-items:stretch}.dt-header-left,.dt-header-right{width:100%}.dt-table-wrap{display:none}.dt-sk-search{width:100%}.dt-sk-toolbar{flex-direction:column;align-items:stretch;gap:8px}.dt-sk-toolbar-right{align-self:flex-end}.dt-bulk-bar{align-self:stretch;padding:10px 12px;row-gap:8px}.dt-bulk-count{flex:1}.dt-bulk-actions{width:100%}.dt-bulk-hint{flex-basis:100%}.dt-bulk-actions ui-select{max-width:100%;flex:1}}.dt-confirm-msg{margin:0;font-size:.9375rem;color:#334155;line-height:1.5;overflow-wrap:anywhere;word-break:break-word;white-space:pre-line}.dt-confirm-details{margin:10px 0 0;padding-left:20px;font-size:.875rem;color:#64748b;line-height:1.5;overflow-wrap:anywhere;word-break:break-word}.dt-confirm-details li+li{margin-top:4px}ui-pagination{flex-shrink:0}.dt-phone-controls{display:flex;flex-direction:column;gap:8px;margin-bottom:8px;flex-shrink:0}.dt-phone-sort{display:flex;align-items:center;gap:8px}.dt-phone-sort-label{font-size:.8125rem;font-weight:600;color:#64748b;flex-shrink:0}.dt-phone-sort-select{flex:1;min-width:0;min-height:44px;box-sizing:border-box;padding:0 12px;font-family:inherit;font-size:1rem;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px}.dt-phone-filters{display:flex;flex-wrap:wrap;gap:8px}.dt-card-list{display:none;flex-direction:column;gap:8px;flex:1;min-height:0;overflow-y:auto}@media(max-width:640px){.dt-card-list{display:flex;padding-bottom:8px}}.dt-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;contain:layout style;padding:14px 16px;display:flex;flex-direction:column;gap:10px;transition:background .1s}.dt-card:has(.mm-dropdown){position:relative;z-index:1}.dt-card-clickable{cursor:pointer}.dt-card-clickable:active{background:#f8fafc}.dt-card-clickable:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.dt-card-header{display:flex;align-items:center;gap:10px}.dt-card-title{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.dt-card-name{min-width:0;font-weight:600;color:#1e293b;font-size:.9375rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dt-card-name-plain{flex:1}.dt-card-actions{margin-left:auto;flex-shrink:0}.dt-card-badges{display:flex;flex-wrap:wrap;gap:6px}.dt-card-tags{display:flex;flex-wrap:wrap;gap:4px}.dt-card-details{display:flex;flex-direction:column;gap:5px}.dt-card-detail-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:.8125rem}.dt-card-detail-label{color:#64748b;flex-shrink:0}.dt-card-detail-value{color:#334155;font-weight:500;text-align:right;min-width:0;overflow-wrap:anywhere;word-break:break-word}.dt-card-sk{gap:12px}.dt-card-sk-header{display:flex;align-items:center;gap:10px}.dt-card-sk-badges{display:flex;gap:6px}.dt-card-sk-rows{display:flex;flex-direction:column;gap:8px}\n"],
10076
+ styles: [":host{display:flex;flex-direction:column;flex:1;min-height:0}.dt-host{display:flex;flex-direction:column;height:100%;min-height:0}.dt-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap;justify-content:space-between;position:relative;z-index:10}.dt-header-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap;flex:1;min-width:0}.dt-header-right{display:flex;align-items:center;gap:8px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.dt-sk-shimmer{position:relative;overflow:hidden;background:#f1f5f9}.dt-sk-shimmer:after{content:\"\";position:absolute;inset:0;background:linear-gradient(90deg,transparent 25%,rgba(255,255,255,.65) 50%,transparent 75%);transform:translate(-100%);animation:dt-shimmer 1.4s ease-in-out infinite}@keyframes dt-shimmer{to{transform:translate(200%)}}.dt-sk-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.dt-sk-toolbar-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.dt-sk-toolbar-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.dt-sk-search{display:flex;align-items:center;gap:10px;width:380px;height:36px;padding:0 12px;border:1px solid #e2e8f0;border-radius:6px;background:#f8fafc;box-sizing:border-box}.dt-sk-search-icon{width:16px;height:16px;border-radius:50%;flex-shrink:0}.dt-sk-search-text{flex:1;height:11px;border-radius:4px}.dt-sk-tab-strip{display:flex;gap:2px;padding:3px;background:#f1f5f9;border-radius:8px}.dt-sk-tab{height:28px;width:70px;border-radius:6px}.dt-sk-icon-btn{width:32px;height:32px;border-radius:6px}.dt-skeleton{border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.dt-sk-header{display:flex;gap:24px;padding:12px 16px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.dt-sk-row{display:flex;gap:24px;padding:13px 16px;border-bottom:1px solid #f1f5f9}.dt-sk-row:last-child{border-bottom:none}.dt-sk-cell{flex:1;height:13px;border-radius:4px;position:relative;overflow:hidden;background:#f1f5f9}.dt-sk-cell:first-child{max-width:100px}.dt-sk-cell:after{content:\"\";position:absolute;inset:0;background:linear-gradient(90deg,transparent 25%,rgba(255,255,255,.65) 50%,transparent 75%);transform:translate(-100%);animation:dt-shimmer 1.4s ease-in-out infinite}.dt-sk-head{height:10px}.dt-table-wrap{flex:1;min-height:0;overflow:auto;border:1px solid #e2e8f0;border-radius:10px 10px 0 0}.dt-sk-reload-row td{padding:10px 14px;border-bottom:1px solid #f1f5f9}table{width:100%;border-collapse:collapse;font-size:.875rem}thead tr{background:#f8fafc;border-bottom:1px solid #e2e8f0}thead{position:sticky;top:0;z-index:2}th{padding:10px 14px;font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-right:1px solid #e2e8f0;text-align:center;background:#f8fafc}th:last-child{border-right:none}th.dt-th-sorted{background:#f1f5f9}th.dt-th-actions{width:48px}.dt-th-inner{display:flex;align-items:center;justify-content:center;gap:4px}.dt-sort-btn{display:inline-flex;align-items:center;gap:4px;background:none;border:none;cursor:pointer;font-size:inherit;font-weight:inherit;color:inherit;font-family:inherit;padding:0;text-transform:inherit;letter-spacing:inherit}.dt-sort-btn:hover{color:#1e293b}.dt-sort-btn:focus-visible{outline:2px solid #60a5fa;outline-offset:2px;border-radius:2px}@media(pointer:coarse){.dt-sort-btn{position:relative}.dt-sort-btn:after{content:\"\";position:absolute;left:-4px;right:-4px;top:50%;height:44px;transform:translateY(-50%)}}.dt-sort-icon{transition:transform .15s}.dt-sort-desc{transform:rotate(180deg)}.dt-sort-inactive{opacity:.4}tbody tr{border-bottom:1px solid #f1f5f9;background:#fff;transition:background .1s}tbody tr:last-child{border-bottom:none}tbody tr:hover{background:#f8fafc}.dt-row-clickable{cursor:pointer}.dt-row-clickable:focus-visible{outline:2px solid #3b82f6;outline-offset:-2px}td{padding:10px 14px;color:#334155;vertical-align:middle;white-space:nowrap;border-right:1px solid #f1f5f9}td:last-child{border-right:none}.dt-td-actions{text-align:center;padding:6px 8px}.dt-td-width{overflow:hidden;text-overflow:ellipsis}.dt-img{display:inline-block;vertical-align:middle;object-fit:cover;border:1px solid #e2e8f0;background:#f1f5f9;flex-shrink:0}.dt-img-ph{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;color:#94a3b8;background:#f1f5f9;border:1px solid #e2e8f0;flex-shrink:0}.dt-img-ph svg{width:55%;height:55%}.dt-img-circle-md{width:40px;height:40px;border-radius:50%}.dt-img-circle-sm{width:28px;height:28px;border-radius:50%}.dt-img-rounded-md{width:48px;height:32px;border-radius:6px}.dt-img-rounded-sm{width:36px;height:24px;border-radius:5px}.dt-avatar-name{display:flex;align-items:center;gap:8px}.dt-name-text{color:#1e293b}.dt-overdue{color:#dc2626;font-weight:500}.dt-none{color:#94a3b8}.dt-link{position:relative;display:inline-block;max-width:100%;padding:1px 2px;vertical-align:bottom;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#2563eb;text-decoration:none;border-radius:3px;cursor:pointer}.dt-link:hover{text-decoration:underline;color:#1d4ed8}.dt-link:focus-visible{outline:2px solid #3b82f6;outline-offset:-2px;text-decoration:underline}.dt-card-detail-value .dt-link,.dt-card-name .dt-link{white-space:normal;overflow-wrap:anywhere}.dt-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dt-tags{display:flex;align-items:center;gap:4px}.dt-tags-more{font-size:.75rem;font-weight:600;color:#475569;background:#f1f5f9;border-radius:999px;padding:2px 7px;cursor:default;-webkit-user-select:none;user-select:none;border:1px solid #e2e8f0}.dt-tags-more:focus-visible{outline:2px solid #60a5fa;outline-offset:2px;border-radius:999px}.dt-tag-tooltip{position:fixed;z-index:9999;pointer-events:none;background:#1e293b;border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;gap:5px;box-shadow:0 4px 6px #0000000f,0 10px 24px #00000024;transform:translate(-50%) translateY(-100%);animation:dt-tip-in .12s ease;max-width:220px}@keyframes dt-tip-in{0%{opacity:0;transform:translate(-50%) translateY(calc(-100% + 4px))}to{opacity:1;transform:translate(-50%) translateY(-100%)}}.dt-cell-star{margin-right:6px}.dt-actions-cell{display:flex;align-items:center;justify-content:center}.dt-bulk-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;align-self:flex-start;padding:10px 14px;margin-bottom:8px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px}.dt-bulk-count{font-size:.875rem;font-weight:600;color:#1e40af;white-space:nowrap;flex-shrink:0}.dt-bulk-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:1;min-width:0}.dt-bulk-actions ui-select{max-width:180px;min-width:120px}.dt-bulk-hint{font-size:.8125rem;line-height:1.35;color:#475569}.dt-card-cb{display:flex;align-items:center;padding:0 0 6px}.dt-card-selected{background:#eff6ff!important;border-color:#bfdbfe!important}.dt-th-cb{width:44px;padding:0 10px!important;text-align:center!important;border-right:1px solid #e2e8f0;background:#f8fafc}.dt-td-cb{width:44px;padding:0 10px!important;text-align:center!important;border-right:1px solid #f1f5f9}.dt-row-selected{background:#eff6ff!important}.dt-row-selected:hover{background:#dbeafe!important}.dt-state-cell{padding:0!important;border:none!important;background:#fff!important}@media(max-width:1024px){th{padding:10px 12px}td{padding:11px 12px}.dt-sort-btn{padding:4px 0}.dt-td-actions{padding:6px}.dt-bulk-bar{align-self:stretch}}@media(max-width:768px){th{padding:9px 10px;font-size:.8125rem}td{padding:10px;font-size:.8125rem}.dt-sk-search{width:100%}}@media(max-width:640px){.dt-header{flex-direction:column;align-items:stretch}.dt-header-left,.dt-header-right{width:100%}.dt-table-wrap{display:none}.dt-sk-search{width:100%}.dt-sk-toolbar{flex-direction:column;align-items:stretch;gap:8px}.dt-sk-toolbar-right{align-self:flex-end}.dt-bulk-bar{align-self:stretch;padding:10px 12px;row-gap:8px}.dt-bulk-count{flex:1}.dt-bulk-actions{width:100%}.dt-bulk-hint{flex-basis:100%}.dt-bulk-actions ui-select{max-width:100%;flex:1}}.dt-confirm-msg{margin:0;font-size:.9375rem;color:#334155;line-height:1.5;overflow-wrap:anywhere;word-break:break-word;white-space:pre-line}.dt-confirm-details{margin:10px 0 0;padding-left:20px;font-size:.875rem;color:#64748b;line-height:1.5;overflow-wrap:anywhere;word-break:break-word}.dt-confirm-details li+li{margin-top:4px}ui-pagination{flex-shrink:0}.dt-phone-controls{display:flex;flex-direction:column;gap:8px;margin-bottom:8px;flex-shrink:0}.dt-phone-sort{display:flex;align-items:center;gap:8px}.dt-phone-sort-label{font-size:.8125rem;font-weight:600;color:#64748b;flex-shrink:0}.dt-phone-sort-select{flex:1;min-width:0;min-height:44px;box-sizing:border-box;padding:0 12px;font-family:inherit;font-size:1rem;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px}.dt-phone-filters{display:flex;flex-wrap:wrap;gap:8px}.dt-card-list{display:none;flex-direction:column;gap:8px;flex:1;min-height:0;overflow-y:auto}@media(max-width:640px){.dt-card-list{display:flex;padding-bottom:8px}}.dt-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;contain:layout style;padding:14px 16px;display:flex;flex-direction:column;gap:10px;transition:background .1s}.dt-card:has(.mm-dropdown){position:relative;z-index:1}.dt-card-clickable{cursor:pointer}.dt-card-clickable:active{background:#f8fafc}.dt-card-clickable:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.dt-card-header{display:flex;align-items:center;gap:10px}.dt-card-title{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.dt-card-name{min-width:0;font-weight:600;color:#1e293b;font-size:.9375rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dt-card-name-plain{flex:1}.dt-card-actions{margin-left:auto;flex-shrink:0}.dt-card-badges{display:flex;flex-wrap:wrap;gap:6px}.dt-card-tags{display:flex;flex-wrap:wrap;gap:4px}.dt-card-details{display:flex;flex-direction:column;gap:5px}.dt-card-detail-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:.8125rem}.dt-card-detail-label{color:#64748b;flex-shrink:0}.dt-card-detail-value{color:#334155;font-weight:500;text-align:right;min-width:0;overflow-wrap:anywhere;word-break:break-word}.dt-card-sk{gap:12px}.dt-card-sk-header{display:flex;align-items:center;gap:10px}.dt-card-sk-badges{display:flex;gap:6px}.dt-card-sk-rows{display:flex;flex-direction:column;gap:8px}\n"],
9772
10077
  dependencies: [
9773
10078
  {
9774
10079
  kind: "directive",
@@ -9907,6 +10212,12 @@ var DataTableComponent = class DataTableComponent {
9907
10212
  "size"
9908
10213
  ]
9909
10214
  },
10215
+ {
10216
+ kind: "component",
10217
+ type: StarComponent,
10218
+ selector: "ui-star",
10219
+ inputs: ["tooltip", "size"]
10220
+ },
9910
10221
  {
9911
10222
  kind: "component",
9912
10223
  type: MoreMenuComponent,
@@ -9922,7 +10233,8 @@ var DataTableComponent = class DataTableComponent {
9922
10233
  "height",
9923
10234
  "width",
9924
10235
  "radius",
9925
- "mb"
10236
+ "mb",
10237
+ "ariaLabel"
9926
10238
  ]
9927
10239
  },
9928
10240
  {
@@ -10099,6 +10411,7 @@ i0.ɵɵngDeclareClassMetadata({
10099
10411
  FormsModule,
10100
10412
  BadgeComponent,
10101
10413
  AvatarComponent,
10414
+ StarComponent,
10102
10415
  MoreMenuComponent,
10103
10416
  SkeletonComponent,
10104
10417
  ProgressBarComponent,
@@ -10118,12 +10431,15 @@ i0.ɵɵngDeclareClassMetadata({
10118
10431
  <!-- ── HEADER ──────────────────────────────────────────────── -->
10119
10432
  @if (!_hasLoaded()) {
10120
10433
  <!-- Skeleton header: shaped to match real controls -->
10434
+ @if (_showHeader()) {
10121
10435
  <div class="dt-sk-toolbar">
10122
10436
  <div class="dt-sk-toolbar-left">
10437
+ @if (showSearch()) {
10123
10438
  <div class="dt-sk-search">
10124
10439
  <div class="dt-sk-shimmer dt-sk-search-icon"></div>
10125
10440
  <div class="dt-sk-shimmer dt-sk-search-text"></div>
10126
10441
  </div>
10442
+ }
10127
10443
  @if (_effectiveTabs().length) {
10128
10444
  <div class="dt-sk-tab-strip">
10129
10445
  @for (_ of _effectiveTabs(); track $index) {
@@ -10139,10 +10455,11 @@ i0.ɵɵngDeclareClassMetadata({
10139
10455
  </div>
10140
10456
  }
10141
10457
  </div>
10142
- } @else {
10458
+ }
10459
+ } @else if (_showHeader()) {
10143
10460
  <div class="dt-header alive-header">
10144
10461
  <div class="dt-header-left">
10145
- @if (!_emptyUnfiltered()) {
10462
+ @if (showSearch() && !_emptyUnfiltered()) {
10146
10463
  <ui-search-input
10147
10464
  [value]="_search()"
10148
10465
  [placeholder]="_effectiveSearchPlaceholder()"
@@ -10226,6 +10543,23 @@ i0.ɵɵngDeclareClassMetadata({
10226
10543
  }
10227
10544
  </ng-template>
10228
10545
 
10546
+ <!-- Shared link-cell markup (table cell + mobile card). Real anchor; text is escaped by interpolation. -->
10547
+ <ng-template #linkCell let-col="col" let-item="item">
10548
+ @let lv = linkView(col, item);
10549
+ @if (lv.link; as lk) {
10550
+ <a class="dt-link"
10551
+ [attr.href]="lk.href"
10552
+ [attr.target]="lk.blank ? '_blank' : null"
10553
+ [attr.rel]="lk.rel"
10554
+ [attr.download]="lk.download ? '' : null"
10555
+ [attr.aria-label]="lk.ariaLabel"
10556
+ (click)="onLinkClick($event, lk, col, item)"
10557
+ (keydown)="$event.stopPropagation()">{{ lv.text }}@if (lk.blank && !lk.ariaLabel) {<span class="dt-sr-only"> (opens in a new tab)</span>}</a>
10558
+ } @else {
10559
+ {{ lv.text }}
10560
+ }
10561
+ </ng-template>
10562
+
10229
10563
  <!-- ── TABLE ─────────────────────────────────────────────── -->
10230
10564
  @if (!_isPhone()) {
10231
10565
  <div class="dt-table-wrap">
@@ -10248,11 +10582,11 @@ i0.ɵɵngDeclareClassMetadata({
10248
10582
  [style.width]="col.width ?? null"
10249
10583
  [style.min-width]="col.width ?? null"
10250
10584
  [style.max-width]="col.width ?? null"
10251
- [attr.aria-sort]="_isSortable(col) ? sortAriaLabel(col.key) : null"
10585
+ [attr.aria-sort]="_isSortable(col) && _showColumnControls() ? sortAriaLabel(col.key) : null"
10252
10586
  [class.dt-th-sorted]="_sortField() === col.key"
10253
10587
  [class.dt-th-actions]="col.cellType === 'actions'">
10254
10588
  <div class="dt-th-inner">
10255
- @if (_isSortable(col)) {
10589
+ @if (_isSortable(col) && _showColumnControls()) {
10256
10590
  <button
10257
10591
  class="dt-sort-btn"
10258
10592
  (click)="onSort(col.key)"
@@ -10268,7 +10602,7 @@ i0.ɵɵngDeclareClassMetadata({
10268
10602
  } @else {
10269
10603
  {{ col.label }}
10270
10604
  }
10271
- @if (getColFilter(col); as cf) {
10605
+ @if (_showColumnControls() ? getColFilter(col) : null; as cf) {
10272
10606
  <ui-column-filter
10273
10607
  [label]="col.label"
10274
10608
  [options]="cf.options"
@@ -10300,7 +10634,7 @@ i0.ɵɵngDeclareClassMetadata({
10300
10634
  @else if (_error()) {
10301
10635
  <tr>
10302
10636
  <td [attr.colspan]="visibleCols().length + (_isSelectable() ? 1 : 0)" class="dt-state-cell">
10303
- <ui-error-state [message]="_error()!" (retry)="load()" />
10637
+ <ui-error-state [message]="_error()!" [retryLabel]="_retryLabel()" (retry)="load()" />
10304
10638
  </td>
10305
10639
  </tr>
10306
10640
  }
@@ -10434,6 +10768,11 @@ i0.ɵɵngDeclareClassMetadata({
10434
10768
  <ng-container [ngTemplateOutlet]="imageCell" [ngTemplateOutletContext]="{ col: col, item: item }" />
10435
10769
  }
10436
10770
 
10771
+ <!-- Link cell -->
10772
+ @case ('link') {
10773
+ <ng-container [ngTemplateOutlet]="linkCell" [ngTemplateOutletContext]="{ col: col, item: item }" />
10774
+ }
10775
+
10437
10776
  <!-- Actions cell -->
10438
10777
  @case ('actions') {
10439
10778
  <span class="dt-actions-cell" (click)="$event.stopPropagation()">
@@ -10449,6 +10788,9 @@ i0.ɵɵngDeclareClassMetadata({
10449
10788
 
10450
10789
  <!-- Default: plain text -->
10451
10790
  @default {
10791
+ @if (col.starFn?.(item); as starTip) {
10792
+ <ui-star class="dt-cell-star" [tooltip]="starTip" />
10793
+ }
10452
10794
  {{ col.render ? col.render(item) : (item[col.key] ?? '—') }}
10453
10795
  }
10454
10796
 
@@ -10466,7 +10808,7 @@ i0.ɵɵngDeclareClassMetadata({
10466
10808
  <!-- ── CARD LIST (phone, ≤640px) — only one tree is rendered per viewport ─── -->
10467
10809
  @if (_isPhone()) {
10468
10810
  <!-- Phone sort + column filters: the table header (which owns them on larger screens) isn't rendered here -->
10469
- @if (_hasPhoneControls()) {
10811
+ @if (_hasPhoneControls() && _showColumnControls()) {
10470
10812
  <div class="dt-phone-controls" role="group" aria-label="Sort and filter">
10471
10813
  @if (_phoneSortOptions().length > 1) {
10472
10814
  <label class="dt-phone-sort">
@@ -10520,7 +10862,7 @@ i0.ɵɵngDeclareClassMetadata({
10520
10862
  }
10521
10863
 
10522
10864
  } @else if (_error()) {
10523
- <ui-error-state [message]="_error()!" (retry)="load()" />
10865
+ <ui-error-state [message]="_error()!" [retryLabel]="_retryLabel()" (retry)="load()" />
10524
10866
 
10525
10867
  } @else if (_items().length === 0 && !_hasActiveFilters()) {
10526
10868
  <ui-empty-state iconType="table" [message]="emptyMessage()" />
@@ -10566,8 +10908,15 @@ i0.ɵɵngDeclareClassMetadata({
10566
10908
  <ui-avatar [initials]="initials" [name]="displayName" [size]="32" />
10567
10909
  <span class="dt-card-name">{{ displayName }}</span>
10568
10910
  </span>
10911
+ } @else if (tc.cellType === 'link') {
10912
+ <span class="dt-card-name dt-card-name-plain">
10913
+ <ng-container [ngTemplateOutlet]="linkCell" [ngTemplateOutletContext]="{ col: tc, item: item }" />
10914
+ </span>
10569
10915
  } @else {
10570
10916
  <span class="dt-card-name dt-card-name-plain">
10917
+ @if (tc.starFn?.(item); as starTip) {
10918
+ <ui-star class="dt-cell-star" [tooltip]="starTip" />
10919
+ }
10571
10920
  {{ tc.render ? tc.render(item) : (item[tc.key] ?? '—') }}
10572
10921
  </span>
10573
10922
  }
@@ -10617,7 +10966,11 @@ i0.ɵɵngDeclareClassMetadata({
10617
10966
  <span class="dt-card-detail-label">{{ dc.label }}</span>
10618
10967
  <span class="dt-card-detail-value"
10619
10968
  [class.dt-overdue]="dc.cellType === 'days-ago' && isCardOverdue(dc, item)">
10620
- {{ val }}</span>
10969
+ @if (dc.cellType === 'link') {
10970
+ <ng-container [ngTemplateOutlet]="linkCell" [ngTemplateOutletContext]="{ col: dc, item: item }" />
10971
+ } @else {
10972
+ {{ val }}
10973
+ }</span>
10621
10974
  </div>
10622
10975
  }
10623
10976
  }
@@ -10688,7 +11041,7 @@ i0.ɵɵngDeclareClassMetadata({
10688
11041
  }
10689
11042
  </div>
10690
11043
  `,
10691
- styles: [":host{display:flex;flex-direction:column;flex:1;min-height:0}.dt-host{display:flex;flex-direction:column;height:100%;min-height:0}.dt-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap;justify-content:space-between;position:relative;z-index:10}.dt-header-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap;flex:1;min-width:0}.dt-header-right{display:flex;align-items:center;gap:8px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.dt-sk-shimmer{position:relative;overflow:hidden;background:#f1f5f9}.dt-sk-shimmer:after{content:\"\";position:absolute;inset:0;background:linear-gradient(90deg,transparent 25%,rgba(255,255,255,.65) 50%,transparent 75%);transform:translate(-100%);animation:dt-shimmer 1.4s ease-in-out infinite}@keyframes dt-shimmer{to{transform:translate(200%)}}.dt-sk-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.dt-sk-toolbar-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.dt-sk-toolbar-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.dt-sk-search{display:flex;align-items:center;gap:10px;width:380px;height:36px;padding:0 12px;border:1px solid #e2e8f0;border-radius:6px;background:#f8fafc;box-sizing:border-box}.dt-sk-search-icon{width:16px;height:16px;border-radius:50%;flex-shrink:0}.dt-sk-search-text{flex:1;height:11px;border-radius:4px}.dt-sk-tab-strip{display:flex;gap:2px;padding:3px;background:#f1f5f9;border-radius:8px}.dt-sk-tab{height:28px;width:70px;border-radius:6px}.dt-sk-icon-btn{width:32px;height:32px;border-radius:6px}.dt-skeleton{border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.dt-sk-header{display:flex;gap:24px;padding:12px 16px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.dt-sk-row{display:flex;gap:24px;padding:13px 16px;border-bottom:1px solid #f1f5f9}.dt-sk-row:last-child{border-bottom:none}.dt-sk-cell{flex:1;height:13px;border-radius:4px;position:relative;overflow:hidden;background:#f1f5f9}.dt-sk-cell:first-child{max-width:100px}.dt-sk-cell:after{content:\"\";position:absolute;inset:0;background:linear-gradient(90deg,transparent 25%,rgba(255,255,255,.65) 50%,transparent 75%);transform:translate(-100%);animation:dt-shimmer 1.4s ease-in-out infinite}.dt-sk-head{height:10px}.dt-table-wrap{flex:1;min-height:0;overflow:auto;border:1px solid #e2e8f0;border-radius:10px 10px 0 0}.dt-sk-reload-row td{padding:10px 14px;border-bottom:1px solid #f1f5f9}table{width:100%;border-collapse:collapse;font-size:.875rem}thead tr{background:#f8fafc;border-bottom:1px solid #e2e8f0}thead{position:sticky;top:0;z-index:2}th{padding:10px 14px;font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-right:1px solid #e2e8f0;text-align:center;background:#f8fafc}th:last-child{border-right:none}th.dt-th-sorted{background:#f1f5f9}th.dt-th-actions{width:48px}.dt-th-inner{display:flex;align-items:center;justify-content:center;gap:4px}.dt-sort-btn{display:inline-flex;align-items:center;gap:4px;background:none;border:none;cursor:pointer;font-size:inherit;font-weight:inherit;color:inherit;font-family:inherit;padding:0;text-transform:inherit;letter-spacing:inherit}.dt-sort-btn:hover{color:#1e293b}.dt-sort-btn:focus-visible{outline:2px solid #60a5fa;outline-offset:2px;border-radius:2px}@media(pointer:coarse){.dt-sort-btn{position:relative}.dt-sort-btn:after{content:\"\";position:absolute;left:-4px;right:-4px;top:50%;height:44px;transform:translateY(-50%)}}.dt-sort-icon{transition:transform .15s}.dt-sort-desc{transform:rotate(180deg)}.dt-sort-inactive{opacity:.4}tbody tr{border-bottom:1px solid #f1f5f9;background:#fff;transition:background .1s}tbody tr:last-child{border-bottom:none}tbody tr:hover{background:#f8fafc}.dt-row-clickable{cursor:pointer}.dt-row-clickable:focus-visible{outline:2px solid #3b82f6;outline-offset:-2px}td{padding:10px 14px;color:#334155;vertical-align:middle;white-space:nowrap;border-right:1px solid #f1f5f9}td:last-child{border-right:none}.dt-td-actions{text-align:center;padding:6px 8px}.dt-td-width{overflow:hidden;text-overflow:ellipsis}.dt-img{display:inline-block;vertical-align:middle;object-fit:cover;border:1px solid #e2e8f0;background:#f1f5f9;flex-shrink:0}.dt-img-ph{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;color:#94a3b8;background:#f1f5f9;border:1px solid #e2e8f0;flex-shrink:0}.dt-img-ph svg{width:55%;height:55%}.dt-img-circle-md{width:40px;height:40px;border-radius:50%}.dt-img-circle-sm{width:28px;height:28px;border-radius:50%}.dt-img-rounded-md{width:48px;height:32px;border-radius:6px}.dt-img-rounded-sm{width:36px;height:24px;border-radius:5px}.dt-avatar-name{display:flex;align-items:center;gap:8px}.dt-name-text{color:#1e293b}.dt-overdue{color:#dc2626;font-weight:500}.dt-none{color:#94a3b8}.dt-tags{display:flex;align-items:center;gap:4px}.dt-tags-more{font-size:.75rem;font-weight:600;color:#475569;background:#f1f5f9;border-radius:999px;padding:2px 7px;cursor:default;-webkit-user-select:none;user-select:none;border:1px solid #e2e8f0}.dt-tags-more:focus-visible{outline:2px solid #60a5fa;outline-offset:2px;border-radius:999px}.dt-tag-tooltip{position:fixed;z-index:9999;pointer-events:none;background:#1e293b;border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;gap:5px;box-shadow:0 4px 6px #0000000f,0 10px 24px #00000024;transform:translate(-50%) translateY(-100%);animation:dt-tip-in .12s ease;max-width:220px}@keyframes dt-tip-in{0%{opacity:0;transform:translate(-50%) translateY(calc(-100% + 4px))}to{opacity:1;transform:translate(-50%) translateY(-100%)}}.dt-actions-cell{display:flex;align-items:center;justify-content:center}.dt-bulk-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;align-self:flex-start;padding:10px 14px;margin-bottom:8px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px}.dt-bulk-count{font-size:.875rem;font-weight:600;color:#1e40af;white-space:nowrap;flex-shrink:0}.dt-bulk-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:1;min-width:0}.dt-bulk-actions ui-select{max-width:180px;min-width:120px}.dt-bulk-hint{font-size:.8125rem;line-height:1.35;color:#475569}.dt-card-cb{display:flex;align-items:center;padding:0 0 6px}.dt-card-selected{background:#eff6ff!important;border-color:#bfdbfe!important}.dt-th-cb{width:44px;padding:0 10px!important;text-align:center!important;border-right:1px solid #e2e8f0;background:#f8fafc}.dt-td-cb{width:44px;padding:0 10px!important;text-align:center!important;border-right:1px solid #f1f5f9}.dt-row-selected{background:#eff6ff!important}.dt-row-selected:hover{background:#dbeafe!important}.dt-state-cell{padding:0!important;border:none!important;background:#fff!important}@media(max-width:1024px){th{padding:10px 12px}td{padding:11px 12px}.dt-sort-btn{padding:4px 0}.dt-td-actions{padding:6px}.dt-bulk-bar{align-self:stretch}}@media(max-width:768px){th{padding:9px 10px;font-size:.8125rem}td{padding:10px;font-size:.8125rem}.dt-sk-search{width:100%}}@media(max-width:640px){.dt-header{flex-direction:column;align-items:stretch}.dt-header-left,.dt-header-right{width:100%}.dt-table-wrap{display:none}.dt-sk-search{width:100%}.dt-sk-toolbar{flex-direction:column;align-items:stretch;gap:8px}.dt-sk-toolbar-right{align-self:flex-end}.dt-bulk-bar{align-self:stretch;padding:10px 12px;row-gap:8px}.dt-bulk-count{flex:1}.dt-bulk-actions{width:100%}.dt-bulk-hint{flex-basis:100%}.dt-bulk-actions ui-select{max-width:100%;flex:1}}.dt-confirm-msg{margin:0;font-size:.9375rem;color:#334155;line-height:1.5;overflow-wrap:anywhere;word-break:break-word;white-space:pre-line}.dt-confirm-details{margin:10px 0 0;padding-left:20px;font-size:.875rem;color:#64748b;line-height:1.5;overflow-wrap:anywhere;word-break:break-word}.dt-confirm-details li+li{margin-top:4px}ui-pagination{flex-shrink:0}.dt-phone-controls{display:flex;flex-direction:column;gap:8px;margin-bottom:8px;flex-shrink:0}.dt-phone-sort{display:flex;align-items:center;gap:8px}.dt-phone-sort-label{font-size:.8125rem;font-weight:600;color:#64748b;flex-shrink:0}.dt-phone-sort-select{flex:1;min-width:0;min-height:44px;box-sizing:border-box;padding:0 12px;font-family:inherit;font-size:1rem;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px}.dt-phone-filters{display:flex;flex-wrap:wrap;gap:8px}.dt-card-list{display:none;flex-direction:column;gap:8px;flex:1;min-height:0;overflow-y:auto}@media(max-width:640px){.dt-card-list{display:flex;padding-bottom:8px}}.dt-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;contain:layout style;padding:14px 16px;display:flex;flex-direction:column;gap:10px;transition:background .1s}.dt-card:has(.mm-dropdown){position:relative;z-index:1}.dt-card-clickable{cursor:pointer}.dt-card-clickable:active{background:#f8fafc}.dt-card-clickable:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.dt-card-header{display:flex;align-items:center;gap:10px}.dt-card-title{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.dt-card-name{min-width:0;font-weight:600;color:#1e293b;font-size:.9375rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dt-card-name-plain{flex:1}.dt-card-actions{margin-left:auto;flex-shrink:0}.dt-card-badges{display:flex;flex-wrap:wrap;gap:6px}.dt-card-tags{display:flex;flex-wrap:wrap;gap:4px}.dt-card-details{display:flex;flex-direction:column;gap:5px}.dt-card-detail-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:.8125rem}.dt-card-detail-label{color:#64748b;flex-shrink:0}.dt-card-detail-value{color:#334155;font-weight:500;text-align:right;min-width:0;overflow-wrap:anywhere;word-break:break-word}.dt-card-sk{gap:12px}.dt-card-sk-header{display:flex;align-items:center;gap:10px}.dt-card-sk-badges{display:flex;gap:6px}.dt-card-sk-rows{display:flex;flex-direction:column;gap:8px}\n"]
11044
+ styles: [":host{display:flex;flex-direction:column;flex:1;min-height:0}.dt-host{display:flex;flex-direction:column;height:100%;min-height:0}.dt-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap;justify-content:space-between;position:relative;z-index:10}.dt-header-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap;flex:1;min-width:0}.dt-header-right{display:flex;align-items:center;gap:8px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.dt-sk-shimmer{position:relative;overflow:hidden;background:#f1f5f9}.dt-sk-shimmer:after{content:\"\";position:absolute;inset:0;background:linear-gradient(90deg,transparent 25%,rgba(255,255,255,.65) 50%,transparent 75%);transform:translate(-100%);animation:dt-shimmer 1.4s ease-in-out infinite}@keyframes dt-shimmer{to{transform:translate(200%)}}.dt-sk-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.dt-sk-toolbar-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.dt-sk-toolbar-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.dt-sk-search{display:flex;align-items:center;gap:10px;width:380px;height:36px;padding:0 12px;border:1px solid #e2e8f0;border-radius:6px;background:#f8fafc;box-sizing:border-box}.dt-sk-search-icon{width:16px;height:16px;border-radius:50%;flex-shrink:0}.dt-sk-search-text{flex:1;height:11px;border-radius:4px}.dt-sk-tab-strip{display:flex;gap:2px;padding:3px;background:#f1f5f9;border-radius:8px}.dt-sk-tab{height:28px;width:70px;border-radius:6px}.dt-sk-icon-btn{width:32px;height:32px;border-radius:6px}.dt-skeleton{border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.dt-sk-header{display:flex;gap:24px;padding:12px 16px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.dt-sk-row{display:flex;gap:24px;padding:13px 16px;border-bottom:1px solid #f1f5f9}.dt-sk-row:last-child{border-bottom:none}.dt-sk-cell{flex:1;height:13px;border-radius:4px;position:relative;overflow:hidden;background:#f1f5f9}.dt-sk-cell:first-child{max-width:100px}.dt-sk-cell:after{content:\"\";position:absolute;inset:0;background:linear-gradient(90deg,transparent 25%,rgba(255,255,255,.65) 50%,transparent 75%);transform:translate(-100%);animation:dt-shimmer 1.4s ease-in-out infinite}.dt-sk-head{height:10px}.dt-table-wrap{flex:1;min-height:0;overflow:auto;border:1px solid #e2e8f0;border-radius:10px 10px 0 0}.dt-sk-reload-row td{padding:10px 14px;border-bottom:1px solid #f1f5f9}table{width:100%;border-collapse:collapse;font-size:.875rem}thead tr{background:#f8fafc;border-bottom:1px solid #e2e8f0}thead{position:sticky;top:0;z-index:2}th{padding:10px 14px;font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-right:1px solid #e2e8f0;text-align:center;background:#f8fafc}th:last-child{border-right:none}th.dt-th-sorted{background:#f1f5f9}th.dt-th-actions{width:48px}.dt-th-inner{display:flex;align-items:center;justify-content:center;gap:4px}.dt-sort-btn{display:inline-flex;align-items:center;gap:4px;background:none;border:none;cursor:pointer;font-size:inherit;font-weight:inherit;color:inherit;font-family:inherit;padding:0;text-transform:inherit;letter-spacing:inherit}.dt-sort-btn:hover{color:#1e293b}.dt-sort-btn:focus-visible{outline:2px solid #60a5fa;outline-offset:2px;border-radius:2px}@media(pointer:coarse){.dt-sort-btn{position:relative}.dt-sort-btn:after{content:\"\";position:absolute;left:-4px;right:-4px;top:50%;height:44px;transform:translateY(-50%)}}.dt-sort-icon{transition:transform .15s}.dt-sort-desc{transform:rotate(180deg)}.dt-sort-inactive{opacity:.4}tbody tr{border-bottom:1px solid #f1f5f9;background:#fff;transition:background .1s}tbody tr:last-child{border-bottom:none}tbody tr:hover{background:#f8fafc}.dt-row-clickable{cursor:pointer}.dt-row-clickable:focus-visible{outline:2px solid #3b82f6;outline-offset:-2px}td{padding:10px 14px;color:#334155;vertical-align:middle;white-space:nowrap;border-right:1px solid #f1f5f9}td:last-child{border-right:none}.dt-td-actions{text-align:center;padding:6px 8px}.dt-td-width{overflow:hidden;text-overflow:ellipsis}.dt-img{display:inline-block;vertical-align:middle;object-fit:cover;border:1px solid #e2e8f0;background:#f1f5f9;flex-shrink:0}.dt-img-ph{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;color:#94a3b8;background:#f1f5f9;border:1px solid #e2e8f0;flex-shrink:0}.dt-img-ph svg{width:55%;height:55%}.dt-img-circle-md{width:40px;height:40px;border-radius:50%}.dt-img-circle-sm{width:28px;height:28px;border-radius:50%}.dt-img-rounded-md{width:48px;height:32px;border-radius:6px}.dt-img-rounded-sm{width:36px;height:24px;border-radius:5px}.dt-avatar-name{display:flex;align-items:center;gap:8px}.dt-name-text{color:#1e293b}.dt-overdue{color:#dc2626;font-weight:500}.dt-none{color:#94a3b8}.dt-link{position:relative;display:inline-block;max-width:100%;padding:1px 2px;vertical-align:bottom;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#2563eb;text-decoration:none;border-radius:3px;cursor:pointer}.dt-link:hover{text-decoration:underline;color:#1d4ed8}.dt-link:focus-visible{outline:2px solid #3b82f6;outline-offset:-2px;text-decoration:underline}.dt-card-detail-value .dt-link,.dt-card-name .dt-link{white-space:normal;overflow-wrap:anywhere}.dt-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dt-tags{display:flex;align-items:center;gap:4px}.dt-tags-more{font-size:.75rem;font-weight:600;color:#475569;background:#f1f5f9;border-radius:999px;padding:2px 7px;cursor:default;-webkit-user-select:none;user-select:none;border:1px solid #e2e8f0}.dt-tags-more:focus-visible{outline:2px solid #60a5fa;outline-offset:2px;border-radius:999px}.dt-tag-tooltip{position:fixed;z-index:9999;pointer-events:none;background:#1e293b;border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;gap:5px;box-shadow:0 4px 6px #0000000f,0 10px 24px #00000024;transform:translate(-50%) translateY(-100%);animation:dt-tip-in .12s ease;max-width:220px}@keyframes dt-tip-in{0%{opacity:0;transform:translate(-50%) translateY(calc(-100% + 4px))}to{opacity:1;transform:translate(-50%) translateY(-100%)}}.dt-cell-star{margin-right:6px}.dt-actions-cell{display:flex;align-items:center;justify-content:center}.dt-bulk-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;align-self:flex-start;padding:10px 14px;margin-bottom:8px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px}.dt-bulk-count{font-size:.875rem;font-weight:600;color:#1e40af;white-space:nowrap;flex-shrink:0}.dt-bulk-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:1;min-width:0}.dt-bulk-actions ui-select{max-width:180px;min-width:120px}.dt-bulk-hint{font-size:.8125rem;line-height:1.35;color:#475569}.dt-card-cb{display:flex;align-items:center;padding:0 0 6px}.dt-card-selected{background:#eff6ff!important;border-color:#bfdbfe!important}.dt-th-cb{width:44px;padding:0 10px!important;text-align:center!important;border-right:1px solid #e2e8f0;background:#f8fafc}.dt-td-cb{width:44px;padding:0 10px!important;text-align:center!important;border-right:1px solid #f1f5f9}.dt-row-selected{background:#eff6ff!important}.dt-row-selected:hover{background:#dbeafe!important}.dt-state-cell{padding:0!important;border:none!important;background:#fff!important}@media(max-width:1024px){th{padding:10px 12px}td{padding:11px 12px}.dt-sort-btn{padding:4px 0}.dt-td-actions{padding:6px}.dt-bulk-bar{align-self:stretch}}@media(max-width:768px){th{padding:9px 10px;font-size:.8125rem}td{padding:10px;font-size:.8125rem}.dt-sk-search{width:100%}}@media(max-width:640px){.dt-header{flex-direction:column;align-items:stretch}.dt-header-left,.dt-header-right{width:100%}.dt-table-wrap{display:none}.dt-sk-search{width:100%}.dt-sk-toolbar{flex-direction:column;align-items:stretch;gap:8px}.dt-sk-toolbar-right{align-self:flex-end}.dt-bulk-bar{align-self:stretch;padding:10px 12px;row-gap:8px}.dt-bulk-count{flex:1}.dt-bulk-actions{width:100%}.dt-bulk-hint{flex-basis:100%}.dt-bulk-actions ui-select{max-width:100%;flex:1}}.dt-confirm-msg{margin:0;font-size:.9375rem;color:#334155;line-height:1.5;overflow-wrap:anywhere;word-break:break-word;white-space:pre-line}.dt-confirm-details{margin:10px 0 0;padding-left:20px;font-size:.875rem;color:#64748b;line-height:1.5;overflow-wrap:anywhere;word-break:break-word}.dt-confirm-details li+li{margin-top:4px}ui-pagination{flex-shrink:0}.dt-phone-controls{display:flex;flex-direction:column;gap:8px;margin-bottom:8px;flex-shrink:0}.dt-phone-sort{display:flex;align-items:center;gap:8px}.dt-phone-sort-label{font-size:.8125rem;font-weight:600;color:#64748b;flex-shrink:0}.dt-phone-sort-select{flex:1;min-width:0;min-height:44px;box-sizing:border-box;padding:0 12px;font-family:inherit;font-size:1rem;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px}.dt-phone-filters{display:flex;flex-wrap:wrap;gap:8px}.dt-card-list{display:none;flex-direction:column;gap:8px;flex:1;min-height:0;overflow-y:auto}@media(max-width:640px){.dt-card-list{display:flex;padding-bottom:8px}}.dt-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;contain:layout style;padding:14px 16px;display:flex;flex-direction:column;gap:10px;transition:background .1s}.dt-card:has(.mm-dropdown){position:relative;z-index:1}.dt-card-clickable{cursor:pointer}.dt-card-clickable:active{background:#f8fafc}.dt-card-clickable:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.dt-card-header{display:flex;align-items:center;gap:10px}.dt-card-title{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.dt-card-name{min-width:0;font-weight:600;color:#1e293b;font-size:.9375rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dt-card-name-plain{flex:1}.dt-card-actions{margin-left:auto;flex-shrink:0}.dt-card-badges{display:flex;flex-wrap:wrap;gap:6px}.dt-card-tags{display:flex;flex-wrap:wrap;gap:4px}.dt-card-details{display:flex;flex-direction:column;gap:5px}.dt-card-detail-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:.8125rem}.dt-card-detail-label{color:#64748b;flex-shrink:0}.dt-card-detail-value{color:#334155;font-weight:500;text-align:right;min-width:0;overflow-wrap:anywhere;word-break:break-word}.dt-card-sk{gap:12px}.dt-card-sk-header{display:flex;align-items:center;gap:10px}.dt-card-sk-badges{display:flex;gap:6px}.dt-card-sk-rows{display:flex;flex-direction:column;gap:8px}\n"]
10692
11045
  }]
10693
11046
  }],
10694
11047
  ctorParameters: () => [],
@@ -10741,6 +11094,14 @@ i0.ɵɵngDeclareClassMetadata({
10741
11094
  required: false
10742
11095
  }]
10743
11096
  }],
11097
+ retryLabel: [{
11098
+ type: i0.Input,
11099
+ args: [{
11100
+ isSignal: true,
11101
+ alias: "retryLabel",
11102
+ required: false
11103
+ }]
11104
+ }],
10744
11105
  lockedColumn: [{
10745
11106
  type: i0.Input,
10746
11107
  args: [{
@@ -10773,6 +11134,14 @@ i0.ɵɵngDeclareClassMetadata({
10773
11134
  required: false
10774
11135
  }]
10775
11136
  }],
11137
+ showSearch: [{
11138
+ type: i0.Input,
11139
+ args: [{
11140
+ isSignal: true,
11141
+ alias: "showSearch",
11142
+ required: false
11143
+ }]
11144
+ }],
10776
11145
  countsEndpoint: [{
10777
11146
  type: i0.Input,
10778
11147
  args: [{
@@ -10865,6 +11234,10 @@ i0.ɵɵngDeclareClassMetadata({
10865
11234
  type: i0.Output,
10866
11235
  args: ["rowClick"]
10867
11236
  }],
11237
+ linkClick: [{
11238
+ type: i0.Output,
11239
+ args: ["linkClick"]
11240
+ }],
10868
11241
  rowClickableFn: [{
10869
11242
  type: i0.Input,
10870
11243
  args: [{
@@ -14535,6 +14908,7 @@ var PhoneNumberPickerComponent = class PhoneNumberPickerComponent {
14535
14908
  "min",
14536
14909
  "max",
14537
14910
  "maxDecimals",
14911
+ "step",
14538
14912
  "valueType",
14539
14913
  "showErrors",
14540
14914
  "disabled"
@@ -14615,7 +14989,8 @@ var PhoneNumberPickerComponent = class PhoneNumberPickerComponent {
14615
14989
  "height",
14616
14990
  "width",
14617
14991
  "radius",
14618
- "mb"
14992
+ "mb",
14993
+ "ariaLabel"
14619
14994
  ]
14620
14995
  },
14621
14996
  {
@@ -17908,6 +18283,7 @@ var TextareaInputComponent = class TextareaInputComponent {
17908
18283
  this.hint = input("", ...ngDevMode ? [{ debugName: "hint" }] : /* istanbul ignore next */ []);
17909
18284
  this.hintAsDescription = input(false, ...ngDevMode ? [{ debugName: "hintAsDescription" }] : /* istanbul ignore next */ []);
17910
18285
  this.error = input("", ...ngDevMode ? [{ debugName: "error" }] : /* istanbul ignore next */ []);
18286
+ this.monospace = input(false, ...ngDevMode ? [{ debugName: "monospace" }] : /* istanbul ignore next */ []);
17911
18287
  this.showErrors = input(false, ...ngDevMode ? [{ debugName: "showErrors" }] : /* istanbul ignore next */ []);
17912
18288
  this._disabledInput = input(false, {
17913
18289
  ...ngDevMode ? { debugName: "_disabledInput" } : /* istanbul ignore next */ {},
@@ -18063,6 +18439,13 @@ var TextareaInputComponent = class TextareaInputComponent {
18063
18439
  isRequired: false,
18064
18440
  transformFunction: null
18065
18441
  },
18442
+ monospace: {
18443
+ classPropertyName: "monospace",
18444
+ publicName: "monospace",
18445
+ isSignal: true,
18446
+ isRequired: false,
18447
+ transformFunction: null
18448
+ },
18066
18449
  showErrors: {
18067
18450
  classPropertyName: "showErrors",
18068
18451
  publicName: "showErrors",
@@ -18115,6 +18498,7 @@ var TextareaInputComponent = class TextareaInputComponent {
18115
18498
  }
18116
18499
  <textarea
18117
18500
  class="ta-input"
18501
+ [class.ta-mono]="monospace()"
18118
18502
  [id]="_inputId"
18119
18503
  [placeholder]="placeholder()"
18120
18504
  [value]="_value()"
@@ -18138,7 +18522,7 @@ var TextareaInputComponent = class TextareaInputComponent {
18138
18522
  </div>
18139
18523
  `,
18140
18524
  isInline: true,
18141
- styles: [":host{display:block}.ta-field{display:flex;flex-direction:column;gap:6px}.ta-head{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:4px;row-gap:2px}.ta-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.ta-required{color:#ef4444;margin-left:2px}.ta-hint-inline{font-size:.75rem;color:#64748b;font-weight:400;margin-left:4px}.ta-head .ta-hint-inline{margin-left:0;line-height:1}.ta-input{width:100%;box-sizing:border-box;padding:9px 12px;font-size:.875rem;font-family:inherit;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;resize:vertical;transition:border-color .15s,box-shadow .15s}.ta-input::placeholder{color:#94a3b8}.ta-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.ta-input:read-only{background:#f8fafc;cursor:default}.ta-error .ta-input{border-color:#ef4444}.ta-error .ta-input:focus{box-shadow:0 0 0 3px #ef44441f}.ta-disabled .ta-input{opacity:.5;cursor:not-allowed}.ta-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.ta-desc-error{color:#ef4444}@media(max-width:480px){.ta-input{font-size:1rem}}\n"],
18525
+ styles: [":host{display:block}.ta-field{display:flex;flex-direction:column;gap:6px}.ta-head{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:4px;row-gap:2px}.ta-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.ta-required{color:#ef4444;margin-left:2px}.ta-hint-inline{font-size:.75rem;color:#64748b;font-weight:400;margin-left:4px}.ta-head .ta-hint-inline{margin-left:0;line-height:1}.ta-input{width:100%;box-sizing:border-box;padding:9px 12px;font-size:.875rem;font-family:inherit;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;resize:vertical;transition:border-color .15s,box-shadow .15s}.ta-input::placeholder{color:#94a3b8}.ta-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.ta-input:read-only{background:#f8fafc;cursor:default}.ta-input.ta-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace}@media(min-width:481px){.ta-input.ta-mono{font-size:.8125rem}}.ta-error .ta-input{border-color:#ef4444}.ta-error .ta-input:focus{box-shadow:0 0 0 3px #ef44441f}.ta-disabled .ta-input{opacity:.5;cursor:not-allowed}.ta-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.ta-desc-error{color:#ef4444}@media(max-width:480px){.ta-input{font-size:1rem}}\n"],
18142
18526
  changeDetection: i0.ChangeDetectionStrategy.OnPush
18143
18527
  });
18144
18528
  }
@@ -18188,6 +18572,7 @@ i0.ɵɵngDeclareClassMetadata({
18188
18572
  }
18189
18573
  <textarea
18190
18574
  class="ta-input"
18575
+ [class.ta-mono]="monospace()"
18191
18576
  [id]="_inputId"
18192
18577
  [placeholder]="placeholder()"
18193
18578
  [value]="_value()"
@@ -18210,7 +18595,7 @@ i0.ɵɵngDeclareClassMetadata({
18210
18595
  }
18211
18596
  </div>
18212
18597
  `,
18213
- styles: [":host{display:block}.ta-field{display:flex;flex-direction:column;gap:6px}.ta-head{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:4px;row-gap:2px}.ta-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.ta-required{color:#ef4444;margin-left:2px}.ta-hint-inline{font-size:.75rem;color:#64748b;font-weight:400;margin-left:4px}.ta-head .ta-hint-inline{margin-left:0;line-height:1}.ta-input{width:100%;box-sizing:border-box;padding:9px 12px;font-size:.875rem;font-family:inherit;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;resize:vertical;transition:border-color .15s,box-shadow .15s}.ta-input::placeholder{color:#94a3b8}.ta-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.ta-input:read-only{background:#f8fafc;cursor:default}.ta-error .ta-input{border-color:#ef4444}.ta-error .ta-input:focus{box-shadow:0 0 0 3px #ef44441f}.ta-disabled .ta-input{opacity:.5;cursor:not-allowed}.ta-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.ta-desc-error{color:#ef4444}@media(max-width:480px){.ta-input{font-size:1rem}}\n"]
18598
+ styles: [":host{display:block}.ta-field{display:flex;flex-direction:column;gap:6px}.ta-head{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:4px;row-gap:2px}.ta-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.ta-required{color:#ef4444;margin-left:2px}.ta-hint-inline{font-size:.75rem;color:#64748b;font-weight:400;margin-left:4px}.ta-head .ta-hint-inline{margin-left:0;line-height:1}.ta-input{width:100%;box-sizing:border-box;padding:9px 12px;font-size:.875rem;font-family:inherit;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;resize:vertical;transition:border-color .15s,box-shadow .15s}.ta-input::placeholder{color:#94a3b8}.ta-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.ta-input:read-only{background:#f8fafc;cursor:default}.ta-input.ta-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace}@media(min-width:481px){.ta-input.ta-mono{font-size:.8125rem}}.ta-error .ta-input{border-color:#ef4444}.ta-error .ta-input:focus{box-shadow:0 0 0 3px #ef44441f}.ta-disabled .ta-input{opacity:.5;cursor:not-allowed}.ta-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.ta-desc-error{color:#ef4444}@media(max-width:480px){.ta-input{font-size:1rem}}\n"]
18214
18599
  }]
18215
18600
  }],
18216
18601
  ctorParameters: () => [],
@@ -18295,6 +18680,14 @@ i0.ɵɵngDeclareClassMetadata({
18295
18680
  required: false
18296
18681
  }]
18297
18682
  }],
18683
+ monospace: [{
18684
+ type: i0.Input,
18685
+ args: [{
18686
+ isSignal: true,
18687
+ alias: "monospace",
18688
+ required: false
18689
+ }]
18690
+ }],
18298
18691
  showErrors: [{
18299
18692
  type: i0.Input,
18300
18693
  args: [{
@@ -20151,6 +20544,7 @@ var DocumentSendOptionsComponent = class DocumentSendOptionsComponent {
20151
20544
  "min",
20152
20545
  "max",
20153
20546
  "maxDecimals",
20547
+ "step",
20154
20548
  "valueType",
20155
20549
  "showErrors",
20156
20550
  "disabled"
@@ -21346,6 +21740,7 @@ var VideoLinkSettingsComponent = class VideoLinkSettingsComponent {
21346
21740
  "min",
21347
21741
  "max",
21348
21742
  "maxDecimals",
21743
+ "step",
21349
21744
  "valueType",
21350
21745
  "showErrors",
21351
21746
  "disabled"
@@ -22752,6 +23147,7 @@ var SendEmailComponent = class SendEmailComponent {
22752
23147
  "min",
22753
23148
  "max",
22754
23149
  "maxDecimals",
23150
+ "step",
22755
23151
  "valueType",
22756
23152
  "showErrors",
22757
23153
  "disabled"
@@ -22777,6 +23173,7 @@ var SendEmailComponent = class SendEmailComponent {
22777
23173
  "hint",
22778
23174
  "hintAsDescription",
22779
23175
  "error",
23176
+ "monospace",
22780
23177
  "showErrors",
22781
23178
  "disabled"
22782
23179
  ],
@@ -24395,6 +24792,7 @@ var SendTextComponent = class SendTextComponent {
24395
24792
  "min",
24396
24793
  "max",
24397
24794
  "maxDecimals",
24795
+ "step",
24398
24796
  "valueType",
24399
24797
  "showErrors",
24400
24798
  "disabled"
@@ -24420,6 +24818,7 @@ var SendTextComponent = class SendTextComponent {
24420
24818
  "hint",
24421
24819
  "hintAsDescription",
24422
24820
  "error",
24821
+ "monospace",
24423
24822
  "showErrors",
24424
24823
  "disabled"
24425
24824
  ],
@@ -26443,6 +26842,7 @@ var BulkMessagePanelComponent = class BulkMessagePanelComponent {
26443
26842
  "min",
26444
26843
  "max",
26445
26844
  "maxDecimals",
26845
+ "step",
26446
26846
  "valueType",
26447
26847
  "showErrors",
26448
26848
  "disabled"
@@ -26468,6 +26868,7 @@ var BulkMessagePanelComponent = class BulkMessagePanelComponent {
26468
26868
  "hint",
26469
26869
  "hintAsDescription",
26470
26870
  "error",
26871
+ "monospace",
26471
26872
  "showErrors",
26472
26873
  "disabled"
26473
26874
  ],
@@ -27464,7 +27865,8 @@ var FileInputComponent = class FileInputComponent {
27464
27865
  "height",
27465
27866
  "width",
27466
27867
  "radius",
27467
- "mb"
27868
+ "mb",
27869
+ "ariaLabel"
27468
27870
  ]
27469
27871
  }],
27470
27872
  changeDetection: i0.ChangeDetectionStrategy.OnPush
@@ -29197,12 +29599,26 @@ var DropdownComponent = class DropdownComponent {
29197
29599
  this.activeValue = input("", ...ngDevMode ? [{ debugName: "activeValue" }] : /* istanbul ignore next */ []);
29198
29600
  this.variant = input("button", ...ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []);
29199
29601
  this.menuWidth = input("200px", ...ngDevMode ? [{ debugName: "menuWidth" }] : /* istanbul ignore next */ []);
29602
+ this.ariaLabel = input("", ...ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []);
29200
29603
  this.itemClick = output();
29201
29604
  this.open = signal(false, ...ngDevMode ? [{ debugName: "open" }] : /* istanbul ignore next */ []);
29202
29605
  this.loading = signal(false, ...ngDevMode ? [{ debugName: "loading" }] : /* istanbul ignore next */ []);
29203
29606
  this._loaded = signal(null, ...ngDevMode ? [{ debugName: "_loaded" }] : /* istanbul ignore next */ []);
29204
29607
  this._id = Math.random().toString(36).slice(2);
29608
+ this._host = inject(ElementRef);
29609
+ this._cdr = inject(ChangeDetectorRef);
29610
+ this._pendingFocus = null;
29611
+ this._typeahead = "";
29612
+ this._typeaheadTimer = null;
29613
+ this._destroyed = false;
29614
+ this.triggerId = `ui-dd-trigger-${this._id}`;
29615
+ this.menuId = `ui-dd-menu-${this._id}`;
29616
+ this._ariaLabel = computed(() => this.ariaLabel().trim() || null, ...ngDevMode ? [{ debugName: "_ariaLabel" }] : /* istanbul ignore next */ []);
29205
29617
  this.displayItems = computed(() => this.open() ? this._loaded() ?? this.items() : [], ...ngDevMode ? [{ debugName: "displayItems" }] : /* istanbul ignore next */ []);
29618
+ inject(DestroyRef).onDestroy(() => {
29619
+ this._destroyed = true;
29620
+ if (this._typeaheadTimer) clearTimeout(this._typeaheadTimer);
29621
+ });
29206
29622
  effect(() => {
29207
29623
  if (_activeDropdownId() !== this._id) untracked(() => {
29208
29624
  if (this.open()) this.open.set(false);
@@ -29217,27 +29633,137 @@ var DropdownComponent = class DropdownComponent {
29217
29633
  loader().then((items) => {
29218
29634
  this._loaded.set(items);
29219
29635
  this.loading.set(false);
29636
+ if (!this._destroyed && this._pendingFocus && this.open()) this._focusPending();
29220
29637
  });
29221
29638
  } else if (!isOpen) this._loaded.set(null);
29222
29639
  });
29223
29640
  }
29224
29641
  toggle(event) {
29225
29642
  event.stopPropagation();
29226
- const next = !this.open();
29227
- this.open.set(next);
29228
- if (next) _activeDropdownId.set(this._id);
29229
- else if (_activeDropdownId() === this._id) _activeDropdownId.set("");
29643
+ this._setOpen(!this.open());
29230
29644
  }
29231
29645
  select(item) {
29232
- this.open.set(false);
29646
+ if (item.disabled) return;
29647
+ this._setOpen(false);
29233
29648
  this.itemClick.emit(item);
29649
+ this._focusTrigger();
29234
29650
  }
29235
29651
  close() {
29236
- if (this.open()) {
29237
- this.open.set(false);
29652
+ if (this.open()) this._setOpen(false);
29653
+ }
29654
+ onTriggerKeydown(event) {
29655
+ if (event.ctrlKey || event.metaKey || event.altKey) return;
29656
+ switch (event.key) {
29657
+ case "Enter":
29658
+ case " ":
29659
+ event.preventDefault();
29660
+ if (this.open()) this._setOpen(false);
29661
+ else this._openAndFocus("first");
29662
+ break;
29663
+ case "ArrowDown":
29664
+ event.preventDefault();
29665
+ if (this.open()) {
29666
+ this._pendingFocus = "first";
29667
+ this._focusPending();
29668
+ } else this._openAndFocus("first");
29669
+ break;
29670
+ case "ArrowUp":
29671
+ event.preventDefault();
29672
+ if (this.open()) {
29673
+ this._pendingFocus = "last";
29674
+ this._focusPending();
29675
+ } else this._openAndFocus("last");
29676
+ break;
29677
+ case "Tab": this.close();
29678
+ }
29679
+ }
29680
+ onTriggerKeyup(event) {
29681
+ if (event.key === " ") event.preventDefault();
29682
+ }
29683
+ onMenuKeydown(event) {
29684
+ if (event.ctrlKey || event.metaKey || event.altKey) return;
29685
+ const items = this._enabledItems();
29686
+ const current = items.indexOf(document.activeElement);
29687
+ switch (event.key) {
29688
+ case "ArrowDown":
29689
+ event.preventDefault();
29690
+ if (items.length) items[current < 0 ? 0 : (current + 1) % items.length].focus();
29691
+ return;
29692
+ case "ArrowUp":
29693
+ event.preventDefault();
29694
+ if (items.length) items[current <= 0 ? items.length - 1 : current - 1].focus();
29695
+ return;
29696
+ case "Home":
29697
+ event.preventDefault();
29698
+ items[0]?.focus();
29699
+ return;
29700
+ case "End":
29701
+ event.preventDefault();
29702
+ items[items.length - 1]?.focus();
29703
+ return;
29704
+ case "Tab":
29705
+ this._focusTrigger();
29706
+ this.close();
29707
+ return;
29708
+ }
29709
+ if (event.key.length === 1 && (event.key !== " " || this._typeahead)) {
29710
+ event.preventDefault();
29711
+ this._typeaheadFocus(event.key.toLowerCase(), items, current);
29712
+ }
29713
+ }
29714
+ onEscape(event) {
29715
+ if (!this.open()) return;
29716
+ event.stopPropagation();
29717
+ this._setOpen(false);
29718
+ this._focusTrigger();
29719
+ }
29720
+ _setOpen(next) {
29721
+ if (this.open() === next) return;
29722
+ this.open.set(next);
29723
+ if (next) _activeDropdownId.set(this._id);
29724
+ else {
29725
+ this._pendingFocus = null;
29726
+ this._typeahead = "";
29238
29727
  if (_activeDropdownId() === this._id) _activeDropdownId.set("");
29239
29728
  }
29240
29729
  }
29730
+ _openAndFocus(which) {
29731
+ this._pendingFocus = which;
29732
+ this._setOpen(true);
29733
+ this._focusPending();
29734
+ }
29735
+ _focusPending() {
29736
+ this._cdr.detectChanges();
29737
+ if (this.loading() || this.loader() !== null && this._loaded() === null) return;
29738
+ const items = this._enabledItems();
29739
+ const target = this._pendingFocus === "last" ? items[items.length - 1] : items[0];
29740
+ this._pendingFocus = null;
29741
+ target?.focus();
29742
+ }
29743
+ _typeaheadFocus(char, items, current) {
29744
+ this._typeahead += char;
29745
+ if (this._typeaheadTimer) clearTimeout(this._typeaheadTimer);
29746
+ this._typeaheadTimer = setTimeout(() => {
29747
+ this._typeahead = "";
29748
+ this._typeaheadTimer = null;
29749
+ }, 500);
29750
+ const single = this._typeahead.length === 1 || [...this._typeahead].every((c) => c === this._typeahead[0]);
29751
+ const needle = single ? this._typeahead[0] : this._typeahead;
29752
+ const start = single ? current + 1 : Math.max(current, 0);
29753
+ for (let i = 0; i < items.length; i++) {
29754
+ const el = items[(start + i) % items.length];
29755
+ if ((el.querySelector("span")?.textContent ?? "").trim().toLowerCase().startsWith(needle)) {
29756
+ el.focus();
29757
+ return;
29758
+ }
29759
+ }
29760
+ }
29761
+ _enabledItems() {
29762
+ return Array.from(this._host.nativeElement.querySelectorAll(".dd-menu .dd-item:not(:disabled)"));
29763
+ }
29764
+ _focusTrigger() {
29765
+ this._host.nativeElement.querySelector(".dd-trigger")?.focus();
29766
+ }
29241
29767
  static {
29242
29768
  this.ɵfac = i0.ɵɵngDeclareFactory({
29243
29769
  minVersion: "12.0.0",
@@ -29304,26 +29830,36 @@ var DropdownComponent = class DropdownComponent {
29304
29830
  isSignal: true,
29305
29831
  isRequired: false,
29306
29832
  transformFunction: null
29833
+ },
29834
+ ariaLabel: {
29835
+ classPropertyName: "ariaLabel",
29836
+ publicName: "ariaLabel",
29837
+ isSignal: true,
29838
+ isRequired: false,
29839
+ transformFunction: null
29307
29840
  }
29308
29841
  },
29309
29842
  outputs: { itemClick: "itemClick" },
29310
- host: { listeners: { "document:click": "close()" } },
29843
+ host: { listeners: {
29844
+ "document:click": "close()",
29845
+ "keydown.escape": "onEscape($event)"
29846
+ } },
29311
29847
  ngImport: i0,
29312
29848
  template: `
29313
29849
  <div class="dd-wrapper">
29314
29850
  @if (variant() === 'badge') {
29315
- <button class="dd-trigger dd-trigger-badge" [class.dd-active]="active()" [attr.aria-expanded]="open()" aria-haspopup="menu" (click)="toggle($event)">
29851
+ <button class="dd-trigger dd-trigger-badge" [class.dd-active]="active()" [attr.id]="triggerId" [attr.aria-label]="_ariaLabel()" [attr.aria-expanded]="open()" aria-haspopup="menu" [attr.aria-controls]="open() ? menuId : null" (click)="toggle($event)" (keydown)="onTriggerKeydown($event)" (keyup)="onTriggerKeyup($event)">
29316
29852
  {{ label() }}
29317
29853
  <svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" aria-hidden="true"><polyline points="6 9 12 15 18 9"/></svg>
29318
29854
  </button>
29319
29855
  } @else {
29320
- <button class="dd-trigger dd-trigger-btn" [class.dd-active]="active()" [attr.aria-expanded]="open()" aria-haspopup="menu" (click)="toggle($event)">
29856
+ <button class="dd-trigger dd-trigger-btn" [class.dd-active]="active()" [attr.id]="triggerId" [attr.aria-label]="_ariaLabel()" [attr.aria-expanded]="open()" aria-haspopup="menu" [attr.aria-controls]="open() ? menuId : null" (click)="toggle($event)" (keydown)="onTriggerKeydown($event)" (keyup)="onTriggerKeyup($event)">
29321
29857
  {{ label() }}
29322
29858
  <svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" aria-hidden="true"><polyline points="6 9 12 15 18 9"/></svg>
29323
29859
  </button>
29324
29860
  }
29325
29861
  @if (open()) {
29326
- <div class="dd-menu" role="menu" [style.min-width]="menuWidth()" (click)="$event.stopPropagation()">
29862
+ <div class="dd-menu" role="menu" [attr.id]="menuId" [attr.aria-label]="_ariaLabel()" [attr.aria-labelledby]="_ariaLabel() ? null : triggerId" [style.min-width]="menuWidth()" (click)="$event.stopPropagation()" (keydown)="onMenuKeydown($event)">
29327
29863
  @if (loading()) {
29328
29864
  <div class="dd-loading">
29329
29865
  <span class="dd-spinner"></span>
@@ -29331,7 +29867,7 @@ var DropdownComponent = class DropdownComponent {
29331
29867
  </div>
29332
29868
  } @else {
29333
29869
  @for (item of displayItems(); track item.value) {
29334
- <button class="dd-item" role="menuitem" [class.dd-item-active]="activeValue() === item.value" (click)="select(item)">
29870
+ <button type="button" class="dd-item" role="menuitem" tabindex="-1" [disabled]="item.disabled === true" [class.dd-item-active]="activeValue() === item.value" (click)="select(item)">
29335
29871
  <span>{{ item.label }}</span>
29336
29872
  @if (item.count !== undefined) {
29337
29873
  <span class="dd-count">{{ item.count }}</span>
@@ -29344,7 +29880,7 @@ var DropdownComponent = class DropdownComponent {
29344
29880
  </div>
29345
29881
  `,
29346
29882
  isInline: true,
29347
- styles: [":host{display:inline-flex}.dd-wrapper{position:relative;display:inline-flex}.dd-trigger{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-family:inherit;transition:all .15s ease}.dd-trigger:focus-visible{outline:2px solid #60a5fa;outline-offset:2px}.dd-trigger-badge{padding:6px 14px;border-radius:999px;border:1px solid #e2e8f0;background:#fff;font-size:.8125rem;font-weight:500;color:#64748b}.dd-trigger-badge:hover{background:#f8fafc;border-color:#94a3b8}.dd-trigger-badge.dd-active{background:#1e293b;color:#fff;border-color:#1e293b}.dd-trigger-btn{padding:6px 12px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;font-size:.8125rem;font-weight:500;color:#334155}.dd-trigger-btn:hover{background:#f8fafc;border-color:#94a3b8}.dd-trigger-btn.dd-active{background:#1e293b;color:#fff;border-color:#1e293b}.dd-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:9999;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 16px #0000001f;max-height:300px;overflow-y:auto;padding:4px;max-width:calc(100vw - 32px)}.dd-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 12px;border:none;background:none;font-size:.8125rem;font-weight:500;color:#374151;cursor:pointer;font-family:inherit;border-radius:6px;text-align:left;transition:background .1s;border-bottom:1px solid #f1f5f9;min-height:44px}.dd-item:last-child{border-bottom:none}.dd-item:hover{background:#f8fafc}.dd-item:focus-visible{outline:2px solid #60a5fa;outline-offset:-2px}.dd-item.dd-item-active{background:#eff6ff;color:#2563eb}.dd-count{font-size:.6875rem;font-weight:700;background:#f1f5f9;color:#64748b;padding:1px 7px;border-radius:999px;flex-shrink:0}.dd-loading{display:flex;align-items:center;gap:8px;padding:12px;color:#64748b;font-size:.8125rem}.dd-spinner{width:14px;height:14px;border-radius:50%;flex-shrink:0;border:2px solid #e2e8f0;border-top-color:#64748b;animation:dd-spin .6s linear infinite}@keyframes dd-spin{to{transform:rotate(360deg)}}@media(max-width:768px){.dd-trigger-badge,.dd-trigger-btn{min-height:44px}.dd-menu{max-height:50vh;left:auto;right:0}}\n"],
29883
+ styles: [":host{display:inline-flex}.dd-wrapper{position:relative;display:inline-flex}.dd-trigger{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-family:inherit;transition:all .15s ease}.dd-trigger:focus-visible{outline:2px solid #60a5fa;outline-offset:2px}.dd-trigger-badge{padding:6px 14px;border-radius:999px;border:1px solid #e2e8f0;background:#fff;font-size:.8125rem;font-weight:500;color:#64748b}.dd-trigger-badge:hover{background:#f8fafc;border-color:#94a3b8}.dd-trigger-badge.dd-active{background:#1e293b;color:#fff;border-color:#1e293b}.dd-trigger-btn{padding:6px 12px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;font-size:.8125rem;font-weight:500;color:#334155}.dd-trigger-btn:hover{background:#f8fafc;border-color:#94a3b8}.dd-trigger-btn.dd-active{background:#1e293b;color:#fff;border-color:#1e293b}.dd-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:9999;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 16px #0000001f;max-height:300px;overflow-y:auto;padding:4px;max-width:calc(100vw - 32px)}.dd-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 12px;border:none;background:none;font-size:.8125rem;font-weight:500;color:#374151;cursor:pointer;font-family:inherit;border-radius:6px;text-align:left;transition:background .1s;border-bottom:1px solid #f1f5f9;min-height:44px}.dd-item:last-child{border-bottom:none}.dd-item:hover{background:#f8fafc}.dd-item:focus-visible{outline:2px solid #60a5fa;outline-offset:-2px}.dd-item.dd-item-active{background:#eff6ff;color:#2563eb}.dd-item:disabled{opacity:.5;cursor:not-allowed;background:none}.dd-count{font-size:.6875rem;font-weight:700;background:#f1f5f9;color:#64748b;padding:1px 7px;border-radius:999px;flex-shrink:0}.dd-loading{display:flex;align-items:center;gap:8px;padding:12px;color:#64748b;font-size:.8125rem}.dd-spinner{width:14px;height:14px;border-radius:50%;flex-shrink:0;border:2px solid #e2e8f0;border-top-color:#64748b;animation:dd-spin .6s linear infinite}@keyframes dd-spin{to{transform:rotate(360deg)}}@media(max-width:768px){.dd-trigger-badge,.dd-trigger-btn{min-height:44px}.dd-menu{max-height:50vh;left:auto;right:0}}\n"],
29348
29884
  changeDetection: i0.ChangeDetectionStrategy.OnPush
29349
29885
  });
29350
29886
  }
@@ -29360,22 +29896,25 @@ i0.ɵɵngDeclareClassMetadata({
29360
29896
  selector: "ui-dropdown",
29361
29897
  standalone: true,
29362
29898
  changeDetection: ChangeDetectionStrategy.OnPush,
29363
- host: { "(document:click)": "close()" },
29899
+ host: {
29900
+ "(document:click)": "close()",
29901
+ "(keydown.escape)": "onEscape($event)"
29902
+ },
29364
29903
  template: `
29365
29904
  <div class="dd-wrapper">
29366
29905
  @if (variant() === 'badge') {
29367
- <button class="dd-trigger dd-trigger-badge" [class.dd-active]="active()" [attr.aria-expanded]="open()" aria-haspopup="menu" (click)="toggle($event)">
29906
+ <button class="dd-trigger dd-trigger-badge" [class.dd-active]="active()" [attr.id]="triggerId" [attr.aria-label]="_ariaLabel()" [attr.aria-expanded]="open()" aria-haspopup="menu" [attr.aria-controls]="open() ? menuId : null" (click)="toggle($event)" (keydown)="onTriggerKeydown($event)" (keyup)="onTriggerKeyup($event)">
29368
29907
  {{ label() }}
29369
29908
  <svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" aria-hidden="true"><polyline points="6 9 12 15 18 9"/></svg>
29370
29909
  </button>
29371
29910
  } @else {
29372
- <button class="dd-trigger dd-trigger-btn" [class.dd-active]="active()" [attr.aria-expanded]="open()" aria-haspopup="menu" (click)="toggle($event)">
29911
+ <button class="dd-trigger dd-trigger-btn" [class.dd-active]="active()" [attr.id]="triggerId" [attr.aria-label]="_ariaLabel()" [attr.aria-expanded]="open()" aria-haspopup="menu" [attr.aria-controls]="open() ? menuId : null" (click)="toggle($event)" (keydown)="onTriggerKeydown($event)" (keyup)="onTriggerKeyup($event)">
29373
29912
  {{ label() }}
29374
29913
  <svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" aria-hidden="true"><polyline points="6 9 12 15 18 9"/></svg>
29375
29914
  </button>
29376
29915
  }
29377
29916
  @if (open()) {
29378
- <div class="dd-menu" role="menu" [style.min-width]="menuWidth()" (click)="$event.stopPropagation()">
29917
+ <div class="dd-menu" role="menu" [attr.id]="menuId" [attr.aria-label]="_ariaLabel()" [attr.aria-labelledby]="_ariaLabel() ? null : triggerId" [style.min-width]="menuWidth()" (click)="$event.stopPropagation()" (keydown)="onMenuKeydown($event)">
29379
29918
  @if (loading()) {
29380
29919
  <div class="dd-loading">
29381
29920
  <span class="dd-spinner"></span>
@@ -29383,7 +29922,7 @@ i0.ɵɵngDeclareClassMetadata({
29383
29922
  </div>
29384
29923
  } @else {
29385
29924
  @for (item of displayItems(); track item.value) {
29386
- <button class="dd-item" role="menuitem" [class.dd-item-active]="activeValue() === item.value" (click)="select(item)">
29925
+ <button type="button" class="dd-item" role="menuitem" tabindex="-1" [disabled]="item.disabled === true" [class.dd-item-active]="activeValue() === item.value" (click)="select(item)">
29387
29926
  <span>{{ item.label }}</span>
29388
29927
  @if (item.count !== undefined) {
29389
29928
  <span class="dd-count">{{ item.count }}</span>
@@ -29395,7 +29934,7 @@ i0.ɵɵngDeclareClassMetadata({
29395
29934
  }
29396
29935
  </div>
29397
29936
  `,
29398
- styles: [":host{display:inline-flex}.dd-wrapper{position:relative;display:inline-flex}.dd-trigger{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-family:inherit;transition:all .15s ease}.dd-trigger:focus-visible{outline:2px solid #60a5fa;outline-offset:2px}.dd-trigger-badge{padding:6px 14px;border-radius:999px;border:1px solid #e2e8f0;background:#fff;font-size:.8125rem;font-weight:500;color:#64748b}.dd-trigger-badge:hover{background:#f8fafc;border-color:#94a3b8}.dd-trigger-badge.dd-active{background:#1e293b;color:#fff;border-color:#1e293b}.dd-trigger-btn{padding:6px 12px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;font-size:.8125rem;font-weight:500;color:#334155}.dd-trigger-btn:hover{background:#f8fafc;border-color:#94a3b8}.dd-trigger-btn.dd-active{background:#1e293b;color:#fff;border-color:#1e293b}.dd-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:9999;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 16px #0000001f;max-height:300px;overflow-y:auto;padding:4px;max-width:calc(100vw - 32px)}.dd-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 12px;border:none;background:none;font-size:.8125rem;font-weight:500;color:#374151;cursor:pointer;font-family:inherit;border-radius:6px;text-align:left;transition:background .1s;border-bottom:1px solid #f1f5f9;min-height:44px}.dd-item:last-child{border-bottom:none}.dd-item:hover{background:#f8fafc}.dd-item:focus-visible{outline:2px solid #60a5fa;outline-offset:-2px}.dd-item.dd-item-active{background:#eff6ff;color:#2563eb}.dd-count{font-size:.6875rem;font-weight:700;background:#f1f5f9;color:#64748b;padding:1px 7px;border-radius:999px;flex-shrink:0}.dd-loading{display:flex;align-items:center;gap:8px;padding:12px;color:#64748b;font-size:.8125rem}.dd-spinner{width:14px;height:14px;border-radius:50%;flex-shrink:0;border:2px solid #e2e8f0;border-top-color:#64748b;animation:dd-spin .6s linear infinite}@keyframes dd-spin{to{transform:rotate(360deg)}}@media(max-width:768px){.dd-trigger-badge,.dd-trigger-btn{min-height:44px}.dd-menu{max-height:50vh;left:auto;right:0}}\n"]
29937
+ styles: [":host{display:inline-flex}.dd-wrapper{position:relative;display:inline-flex}.dd-trigger{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font-family:inherit;transition:all .15s ease}.dd-trigger:focus-visible{outline:2px solid #60a5fa;outline-offset:2px}.dd-trigger-badge{padding:6px 14px;border-radius:999px;border:1px solid #e2e8f0;background:#fff;font-size:.8125rem;font-weight:500;color:#64748b}.dd-trigger-badge:hover{background:#f8fafc;border-color:#94a3b8}.dd-trigger-badge.dd-active{background:#1e293b;color:#fff;border-color:#1e293b}.dd-trigger-btn{padding:6px 12px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;font-size:.8125rem;font-weight:500;color:#334155}.dd-trigger-btn:hover{background:#f8fafc;border-color:#94a3b8}.dd-trigger-btn.dd-active{background:#1e293b;color:#fff;border-color:#1e293b}.dd-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:9999;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 16px #0000001f;max-height:300px;overflow-y:auto;padding:4px;max-width:calc(100vw - 32px)}.dd-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 12px;border:none;background:none;font-size:.8125rem;font-weight:500;color:#374151;cursor:pointer;font-family:inherit;border-radius:6px;text-align:left;transition:background .1s;border-bottom:1px solid #f1f5f9;min-height:44px}.dd-item:last-child{border-bottom:none}.dd-item:hover{background:#f8fafc}.dd-item:focus-visible{outline:2px solid #60a5fa;outline-offset:-2px}.dd-item.dd-item-active{background:#eff6ff;color:#2563eb}.dd-item:disabled{opacity:.5;cursor:not-allowed;background:none}.dd-count{font-size:.6875rem;font-weight:700;background:#f1f5f9;color:#64748b;padding:1px 7px;border-radius:999px;flex-shrink:0}.dd-loading{display:flex;align-items:center;gap:8px;padding:12px;color:#64748b;font-size:.8125rem}.dd-spinner{width:14px;height:14px;border-radius:50%;flex-shrink:0;border:2px solid #e2e8f0;border-top-color:#64748b;animation:dd-spin .6s linear infinite}@keyframes dd-spin{to{transform:rotate(360deg)}}@media(max-width:768px){.dd-trigger-badge,.dd-trigger-btn{min-height:44px}.dd-menu{max-height:50vh;left:auto;right:0}}\n"]
29399
29938
  }]
29400
29939
  }],
29401
29940
  ctorParameters: () => [],
@@ -29456,6 +29995,14 @@ i0.ɵɵngDeclareClassMetadata({
29456
29995
  required: false
29457
29996
  }]
29458
29997
  }],
29998
+ ariaLabel: [{
29999
+ type: i0.Input,
30000
+ args: [{
30001
+ isSignal: true,
30002
+ alias: "ariaLabel",
30003
+ required: false
30004
+ }]
30005
+ }],
29459
30006
  itemClick: [{
29460
30007
  type: i0.Output,
29461
30008
  args: ["itemClick"]
@@ -30679,6 +31226,14 @@ var BarRowComponent = class BarRowComponent {
30679
31226
  this.valueText = input("", ...ngDevMode ? [{ debugName: "valueText" }] : /* istanbul ignore next */ []);
30680
31227
  this.locale = input("en-US", ...ngDevMode ? [{ debugName: "locale" }] : /* istanbul ignore next */ []);
30681
31228
  this.labelId = "ui-bar-row-label-" + nextBarRowId++;
31229
+ this.barValue = computed(() => {
31230
+ const v = this.value();
31231
+ return typeof v === "number" && !Number.isNaN(v) ? v : 0;
31232
+ }, ...ngDevMode ? [{ debugName: "barValue" }] : /* istanbul ignore next */ []);
31233
+ this.barMax = computed(() => {
31234
+ const m = this.max();
31235
+ return typeof m === "number" && Number.isFinite(m) && m > 0 ? m : 0;
31236
+ }, ...ngDevMode ? [{ debugName: "barMax" }] : /* istanbul ignore next */ []);
30682
31237
  this.countText = computed(() => {
30683
31238
  if (this.count()) return this.count();
30684
31239
  const v = this.value();
@@ -30765,7 +31320,7 @@ var BarRowComponent = class BarRowComponent {
30765
31320
  template: `
30766
31321
  <div class="br">
30767
31322
  <span class="br-label" [attr.id]="labelId">{{ label() }}</span>
30768
- <ui-progress-bar class="br-bar" [value]="value()" [max]="max()" [variant]="variant()"
31323
+ <ui-progress-bar class="br-bar" [value]="barValue()" [max]="barMax()" [variant]="variant()"
30769
31324
  [ariaLabelledby]="label() ? labelId : ''" [valueText]="effectiveValueText()" />
30770
31325
  <span class="br-value">
30771
31326
  <span class="br-count">{{ countText() }}</span>
@@ -30809,7 +31364,7 @@ i0.ɵɵngDeclareClassMetadata({
30809
31364
  template: `
30810
31365
  <div class="br">
30811
31366
  <span class="br-label" [attr.id]="labelId">{{ label() }}</span>
30812
- <ui-progress-bar class="br-bar" [value]="value()" [max]="max()" [variant]="variant()"
31367
+ <ui-progress-bar class="br-bar" [value]="barValue()" [max]="barMax()" [variant]="variant()"
30813
31368
  [ariaLabelledby]="label() ? labelId : ''" [valueText]="effectiveValueText()" />
30814
31369
  <span class="br-value">
30815
31370
  <span class="br-count">{{ countText() }}</span>
@@ -33447,6 +34002,7 @@ var KpiCardComponent = class KpiCardComponent {
33447
34002
  this.highlight = input(false, ...ngDevMode ? [{ debugName: "highlight" }] : /* istanbul ignore next */ []);
33448
34003
  this.clickable = input(false, ...ngDevMode ? [{ debugName: "clickable" }] : /* istanbul ignore next */ []);
33449
34004
  this.valueColor = input("default", ...ngDevMode ? [{ debugName: "valueColor" }] : /* istanbul ignore next */ []);
34005
+ this.background = input("", ...ngDevMode ? [{ debugName: "background" }] : /* istanbul ignore next */ []);
33450
34006
  this.progress = input(null, ...ngDevMode ? [{ debugName: "progress" }] : /* istanbul ignore next */ []);
33451
34007
  this.progressMax = input(100, ...ngDevMode ? [{ debugName: "progressMax" }] : /* istanbul ignore next */ []);
33452
34008
  this.progressSize = input(58, ...ngDevMode ? [{ debugName: "progressSize" }] : /* istanbul ignore next */ []);
@@ -33539,6 +34095,13 @@ var KpiCardComponent = class KpiCardComponent {
33539
34095
  isRequired: false,
33540
34096
  transformFunction: null
33541
34097
  },
34098
+ background: {
34099
+ classPropertyName: "background",
34100
+ publicName: "background",
34101
+ isSignal: true,
34102
+ isRequired: false,
34103
+ transformFunction: null
34104
+ },
33542
34105
  progress: {
33543
34106
  classPropertyName: "progress",
33544
34107
  publicName: "progress",
@@ -33601,7 +34164,7 @@ var KpiCardComponent = class KpiCardComponent {
33601
34164
  },
33602
34165
  ngImport: i0,
33603
34166
  template: `
33604
- <div class="kpi-card" [class.highlight]="highlight()" [class.clickable]="clickable()">
34167
+ <div class="kpi-card" [class.highlight]="highlight()" [class.clickable]="clickable()" [style.background]="background() || null">
33605
34168
  @if (iconSvg()) {
33606
34169
  <div [class]="'kpi-icon ' + color() + '-icon'" aria-hidden="true" [innerHTML]="iconSvg()"></div>
33607
34170
  }
@@ -33616,7 +34179,8 @@ var KpiCardComponent = class KpiCardComponent {
33616
34179
  }
33617
34180
  <span class="kpi-value"
33618
34181
  [class.green-value]="highlight() || valueColor() === 'green'"
33619
- [class.blue-value]="valueColor() === 'blue'">{{ value() }}</span>
34182
+ [class.blue-value]="valueColor() === 'blue'"
34183
+ [class.red-value]="valueColor() === 'red'">{{ value() }}</span>
33620
34184
  @if (subtitle()) {
33621
34185
  <span class="kpi-subtitle">{{ subtitle() }}</span>
33622
34186
  }
@@ -33627,7 +34191,7 @@ var KpiCardComponent = class KpiCardComponent {
33627
34191
  </div>
33628
34192
  `,
33629
34193
  isInline: true,
33630
- styles: [":host{display:block;height:100%}.kpi-card{position:relative;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:4px;min-width:0;height:100%;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}:host(:focus){outline:none}:host(:focus-visible) .kpi-card{outline:2px solid #3b82f6;outline-offset:2px}.kpi-card.clickable{cursor:pointer}.kpi-card.clickable:hover{border-color:#93c5fd;box-shadow:0 2px 8px #3b82f614}.kpi-card.clickable:hover .kpi-arrow{color:#3b82f6;transform:translate(2px)}.kpi-arrow{position:absolute;bottom:14px;right:14px;color:#94a3b8;transition:color .15s ease,transform .15s ease}.kpi-icon{flex-shrink:0;width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:8px}.green-icon{background:#dcfce7;color:#16a34a}.blue-icon{background:#dbeafe;color:#2563eb}.amber-icon{background:#fef3c7;color:#d97706}.orange-icon{background:#ffedd5;color:#c2410c}.red-icon{background:#fee2e2;color:#dc2626}.slate-icon{background:#f1f5f9;color:#475569}.kpi-label{font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.kpi-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;min-height:36px;margin-bottom:4px}.kpi-ring{flex-shrink:0}.kpi-value{font-size:1.5rem;font-weight:700;color:#111827;line-height:1.1}.kpi-value.green-value{color:#16a34a}.kpi-value.blue-value{color:#3b82f6}.kpi-subtitle{font-size:.75rem;color:#64748b;margin-top:2px}\n"],
34194
+ styles: [":host{display:block;height:100%}.kpi-card{position:relative;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:4px;min-width:0;height:100%;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}:host(:focus){outline:none}:host(:focus-visible) .kpi-card{outline:2px solid #3b82f6;outline-offset:2px}.kpi-card.clickable{cursor:pointer}.kpi-card.clickable:hover{border-color:#93c5fd;box-shadow:0 2px 8px #3b82f614}.kpi-card.clickable:hover .kpi-arrow{color:#3b82f6;transform:translate(2px)}.kpi-arrow{position:absolute;bottom:14px;right:14px;color:#94a3b8;transition:color .15s ease,transform .15s ease}.kpi-icon{flex-shrink:0;width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:8px}.green-icon{background:#dcfce7;color:#16a34a}.blue-icon{background:#dbeafe;color:#2563eb}.amber-icon{background:#fef3c7;color:#d97706}.orange-icon{background:#ffedd5;color:#c2410c}.red-icon{background:#fee2e2;color:#dc2626}.slate-icon{background:#f1f5f9;color:#475569}.kpi-label{font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.kpi-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;min-height:36px;margin-bottom:4px}.kpi-ring{flex-shrink:0}.kpi-value{font-size:1.5rem;font-weight:700;color:#111827;line-height:1.1}.kpi-value.green-value{color:#16a34a}.kpi-value.blue-value{color:#3b82f6}.kpi-value.red-value{color:#dc2626}.kpi-subtitle{font-size:.75rem;color:#64748b;margin-top:2px}\n"],
33631
34195
  dependencies: [{
33632
34196
  kind: "component",
33633
34197
  type: ProgressRingComponent,
@@ -33668,7 +34232,7 @@ i0.ɵɵngDeclareClassMetadata({
33668
34232
  "(keydown.space)": "onActivateKey($event)"
33669
34233
  },
33670
34234
  template: `
33671
- <div class="kpi-card" [class.highlight]="highlight()" [class.clickable]="clickable()">
34235
+ <div class="kpi-card" [class.highlight]="highlight()" [class.clickable]="clickable()" [style.background]="background() || null">
33672
34236
  @if (iconSvg()) {
33673
34237
  <div [class]="'kpi-icon ' + color() + '-icon'" aria-hidden="true" [innerHTML]="iconSvg()"></div>
33674
34238
  }
@@ -33683,7 +34247,8 @@ i0.ɵɵngDeclareClassMetadata({
33683
34247
  }
33684
34248
  <span class="kpi-value"
33685
34249
  [class.green-value]="highlight() || valueColor() === 'green'"
33686
- [class.blue-value]="valueColor() === 'blue'">{{ value() }}</span>
34250
+ [class.blue-value]="valueColor() === 'blue'"
34251
+ [class.red-value]="valueColor() === 'red'">{{ value() }}</span>
33687
34252
  @if (subtitle()) {
33688
34253
  <span class="kpi-subtitle">{{ subtitle() }}</span>
33689
34254
  }
@@ -33693,7 +34258,7 @@ i0.ɵɵngDeclareClassMetadata({
33693
34258
  }
33694
34259
  </div>
33695
34260
  `,
33696
- styles: [":host{display:block;height:100%}.kpi-card{position:relative;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:4px;min-width:0;height:100%;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}:host(:focus){outline:none}:host(:focus-visible) .kpi-card{outline:2px solid #3b82f6;outline-offset:2px}.kpi-card.clickable{cursor:pointer}.kpi-card.clickable:hover{border-color:#93c5fd;box-shadow:0 2px 8px #3b82f614}.kpi-card.clickable:hover .kpi-arrow{color:#3b82f6;transform:translate(2px)}.kpi-arrow{position:absolute;bottom:14px;right:14px;color:#94a3b8;transition:color .15s ease,transform .15s ease}.kpi-icon{flex-shrink:0;width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:8px}.green-icon{background:#dcfce7;color:#16a34a}.blue-icon{background:#dbeafe;color:#2563eb}.amber-icon{background:#fef3c7;color:#d97706}.orange-icon{background:#ffedd5;color:#c2410c}.red-icon{background:#fee2e2;color:#dc2626}.slate-icon{background:#f1f5f9;color:#475569}.kpi-label{font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.kpi-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;min-height:36px;margin-bottom:4px}.kpi-ring{flex-shrink:0}.kpi-value{font-size:1.5rem;font-weight:700;color:#111827;line-height:1.1}.kpi-value.green-value{color:#16a34a}.kpi-value.blue-value{color:#3b82f6}.kpi-subtitle{font-size:.75rem;color:#64748b;margin-top:2px}\n"]
34261
+ styles: [":host{display:block;height:100%}.kpi-card{position:relative;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:4px;min-width:0;height:100%;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}:host(:focus){outline:none}:host(:focus-visible) .kpi-card{outline:2px solid #3b82f6;outline-offset:2px}.kpi-card.clickable{cursor:pointer}.kpi-card.clickable:hover{border-color:#93c5fd;box-shadow:0 2px 8px #3b82f614}.kpi-card.clickable:hover .kpi-arrow{color:#3b82f6;transform:translate(2px)}.kpi-arrow{position:absolute;bottom:14px;right:14px;color:#94a3b8;transition:color .15s ease,transform .15s ease}.kpi-icon{flex-shrink:0;width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:8px}.green-icon{background:#dcfce7;color:#16a34a}.blue-icon{background:#dbeafe;color:#2563eb}.amber-icon{background:#fef3c7;color:#d97706}.orange-icon{background:#ffedd5;color:#c2410c}.red-icon{background:#fee2e2;color:#dc2626}.slate-icon{background:#f1f5f9;color:#475569}.kpi-label{font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.kpi-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;min-height:36px;margin-bottom:4px}.kpi-ring{flex-shrink:0}.kpi-value{font-size:1.5rem;font-weight:700;color:#111827;line-height:1.1}.kpi-value.green-value{color:#16a34a}.kpi-value.blue-value{color:#3b82f6}.kpi-value.red-value{color:#dc2626}.kpi-subtitle{font-size:.75rem;color:#64748b;margin-top:2px}\n"]
33697
34262
  }]
33698
34263
  }],
33699
34264
  propDecorators: {
@@ -33761,6 +34326,14 @@ i0.ɵɵngDeclareClassMetadata({
33761
34326
  required: false
33762
34327
  }]
33763
34328
  }],
34329
+ background: [{
34330
+ type: i0.Input,
34331
+ args: [{
34332
+ isSignal: true,
34333
+ alias: "background",
34334
+ required: false
34335
+ }]
34336
+ }],
33764
34337
  progress: [{
33765
34338
  type: i0.Input,
33766
34339
  args: [{
@@ -33844,6 +34417,950 @@ const KPI_ICONS = {
33844
34417
  "calendar": "<svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\"/><line x1=\"16\" y1=\"2\" x2=\"16\" y2=\"6\"/><line x1=\"8\" y1=\"2\" x2=\"8\" y2=\"6\"/><line x1=\"3\" y1=\"10\" x2=\"21\" y2=\"10\"/></svg>",
33845
34418
  "activity": "<svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"22 12 18 12 15 21 9 3 6 12 2 12\"/></svg>"
33846
34419
  };
34420
+ const US_MAP_VIEWBOX = "192 9 1028 746";
34421
+ const US_STATE_PATHS = [
34422
+ {
34423
+ id: "AK",
34424
+ name: "Alaska",
34425
+ path: "M456.18,521.82l-0.1,4.96l-0.1,4.94l-0.1,4.92l-0.1,4.9l-0.1,4.88l-0.1,4.86l-0.1,4.84l-0.1,4.82l-0.1,4.8l-0.1,4.78l-0.1,4.77l-0.09,4.75l-0.1,4.73l-0.09,4.71l-0.09,4.7l-0.09,4.68l-0.09,4.66l-0.09,4.65l-0.09,4.64l-0.09,4.62l-0.09,4.61l-0.09,4.59l-0.09,4.58l-0.09,4.56l-0.09,4.55l-0.09,4.54l-0.09,4.53l-0.09,4.51l-0.09,4.5l-0.09,4.49l-0.09,4.48l-0.09,4.47l1.8,0.66l1.79,0.65l0.57,-1.23l1.93,0.97l1.69,0.85l1.09,-1.06l1.18,-1.14l1.58,-0.07l1.77,-0.09l1.18,-0.06l0,0.98l-0.44,1.63l-0.37,1.36l0.98,1.25l0.1,0.13l1.34,0.72l1.25,0.67l0.57,1.87l1.38,1.43l1.05,1.09l1.01,1.04l1.45,1.48l1.02,1.04l1.37,1.38l0.82,0.82l0.41,1.61l0.5,1.93l-0.27,1.15l0.65,0.17l1.23,-1.31l1.16,-0.82l1.43,-1.02l0.96,-0.69l1.82,-0.08l0.81,-1.96l-0.08,-2.71l0.92,0.02l0.53,-0.38l0.21,-0.8l-0.61,-1.07l1.71,-0.57l1.24,-0.41l1.74,-1.07l1.7,-1.05l0.86,0.73l0.85,0.7l1.69,1.69l0.13,0.42l-0.07,0.83l-0.12,0.83l1.09,2.27l0.3,0.25l0.83,0.28l1.01,0.72l0.46,0.64l1.46,0.99l0.26,0.43l0.17,0.7l0.26,0.6l0.29,0.42l0.29,0.61l0.65,0.7l1.21,0.75l0.84,0.52l1.18,0.73l1.25,1.55l1.09,1.35l1.23,1.32l-0.1,1.12l1.27,1.64l1.37,2.09l1.07,1.86l0.75,1.03l0.92,1.5l1.13,1.83l1.29,2.08l0.97,1.32l1.28,1.86l0.65,1.11l-0.32,0.82l-0.4,1.01l1.5,0.35l1.04,0.24l-0.17,1.11l-0.22,1.46l1.2,0.47l0.81,0.32l-0.1,0.77l0.5,0.81l0.19,1.4l1.4,-0.21l0.62,-0.09l0.9,0.55l1.18,0.72l1.18,0.67l1.01,0.57l1.29,0.27l1.6,0.42l0.87,1.07l1.46,0.35l0.68,1.54l1.69,0.42l0.92,-0.48l0.41,0.61l0.35,0.72l0.17,0.93l0,0.92l-0.33,0.81l-0.23,0.86l-0.12,0.91l0.02,0.96l0.15,1.01l0.25,0.87l0.67,1.59l0.27,0.99l0.09,0.67l-0.9,2.47l-0.28,1.16l0.09,0.5l-0.71,1.25l-1.37,1.78l-0.6,1.01l-0.37,-0.28l-2,-0.06l-0.91,-2.02l-0.53,-1.59l-0.7,-1.36l-0.01,-0.32l0.43,-0.99l1.88,-0.96l-0.01,-0.31l-0.75,-0.14l-0.21,-0.32l-0.34,-1.51l-0.07,-1.35l-0.13,-0.89l-0.49,-1.79l-0.59,-1.07l-1.44,-2.07l-0.15,-0.54l0.49,-0.74l0.28,-0.67l-2,1.3l-2.77,1.42l-1.17,0.92l-0.23,0.35l-0.07,0.28l0.29,0.75l-0.01,0.25l-0.21,0.48l-0.19,1.32l-0.52,1.42l-0.3,0.31l-1.17,-0.42l-0.34,-0.42l-0.7,-1.74l0.1,-0.49l0.38,-0.43l0.49,-0.91l0.6,-1.39l1.06,-3.5l0.87,-0.09l1.48,-0.8l-2.44,-0.14l-0.37,-0.15l-0.36,-0.44l-0.35,-0.73l-0.55,-0.79l-0.94,-0.22l-0.42,-0.28l-0.68,-0.97l-0.44,-0.42l-0.26,-0.55l-0.09,-0.67l-0.2,-0.32l-0.64,-0.07l-0.36,-0.21l-0.22,-1.72l-1.27,-0.35l-0.54,-0.35l-0.89,-1.02l-0.26,-0.51l-0.1,-0.43l0.11,-1.21l-0.1,-0.22l-0.71,0.17l-4.59,-1.56l0.08,-2.47l-1.02,-3.19l-0.96,-1.26l0.14,-0.52l0.17,-0.28l0.39,-0.03l1.76,0.85l1.67,1.03l0.2,-0.18l-2.71,-2.23l-0.68,-0.68l-0.21,-0.85l-0.04,-0.46l0.19,-0.26l2.4,0.06l0.13,-0.19l-2.46,-0.55l-0.49,0.03l-0.47,1.04l-0.24,0.25l-0.52,-0.02l-0.18,-0.14l-0.69,-1.19l-0.63,-0.82l-1.15,-1.12l-0.25,-0.83l-0.12,-1.24l0.08,-1.18l0.73,-2.73l0.33,-0.49l0.08,-0.3l-0.27,0.06l-0.24,0.27l-0.66,1.29l-0.64,2.08l-0.58,0.73l-0.39,-0.15l-0.63,-0.8l-1.27,-0.95l-1.42,-0.19l-0.94,-1l-1.45,-2.83l-0.24,-1.44l-0.18,-0.35l-0.73,-0.44l-0.46,-0.68l-0.82,-3.5l-0.98,-2.42l-0.27,-1.29l0.02,-1.29l-0.12,-0.14l-0.26,1.02l-0.06,0.53l-0.55,0.17l0.56,1l0.15,0.5l-0.26,-0.03l-0.53,0.15l0.97,1.7l0.52,2.67l0.69,1.96l0.46,1.59l0.23,1.21l0.31,1.16l0.82,2.54l0.12,0.51l-0.07,0.42l-0.21,0.51l-0.4,0.21l-1.29,-0.28l-0.51,-0.62l-0.73,-1.14l-0.98,-0.5l-2.37,0.36l-0.19,-0.08l-0.02,-0.96l0.21,-1.71l-0.24,-0.68l-1.31,-2.46l0,-0.49l1.65,-1.21l-0.83,-0.06l-0.65,0.47l-0.27,-0.28l-0.45,-1.6l-0.28,-0.59l-0.13,-0.12l-0.02,1.53l0.31,0.79l0.06,0.46l-0.02,0.65l-0.16,0.47l-0.3,0.29l-0.31,0.08l-0.58,-0.31l-0.65,-0.59l-0.56,-0.27l-0.21,-0.24l-0.28,-0.67l-0.44,-0.5l-2.08,-0.59l-1.25,-0.73l-0.1,0.2l0.4,0.81l0.05,0.48l-0.31,0.15l-0.54,0.79l0.16,0.1l0.58,-0.27l0.66,0.01l1.1,0.44l1,0.59l0.37,0.33l0.16,0.51l0.13,0.18l0.99,0.57l0.06,0.31l-0.6,0.95l1.28,-0.14l0.76,0.31l1,1.41l0.35,0.79l0.08,1.03l-0.19,0.31l-0.37,0.22l-2.62,0.42l-0.91,1.27l-0.2,0.02l-0.73,-0.32l-1.34,-0.96l-1.66,-0.9l-3.78,-2.72l-0.1,-0.13l-0.07,-0.54l-0.26,-0.27l-0.51,-0.23l-0.71,-0.7l-0.91,-1.17l-0.56,-0.92l-0.22,-0.66l-0.53,-0.76l-1.68,-1.57l-0.88,-0.6l-0.77,-0.34l-0.67,-0.07l-0.18,-0.21l0.31,-0.35l0.04,-0.21l-1.47,-0.32l-1.4,-0.74l-3.54,-2.1l-1.82,-1.32l-1.06,-0.63l-0.45,-0.36l-0.2,-0.29l0.26,-0.3l0.71,-0.31l0.48,-0.35l0.76,-1.33l0.06,-0.43l-0.4,-0.97l-0.18,-0.88l0.01,-0.49l0.09,-0.48l0.12,-0.32l0.32,-0.31l0.22,-0.15l0.28,0.11l0.88,1.22l0.12,0.44l-0.04,1.66l0.25,1.94l0.08,-0.14l0.08,-0.64l0.05,-1.23l0.1,-0.59l0.19,-0.57l0.32,-0.3l1,0.18l0.46,-0.1l-1.95,-0.88l-1.22,-1.65l-0.22,-0.17l-0.67,-0.08l-0.71,0.66l-1.84,2.16l-0.51,0.38l-2.31,1.18l-1.56,0.22l-1.75,-0.22l-1.49,-0.42l-3.7,-1.98l-0.57,-0.46l0.9,-1.15l0.04,-0.37l-0.27,-1.21l-0.24,-0.35l-0.35,-0.2l-0.1,0.13l-0.01,0.36l0.08,0.66l-0.29,0.34l-0.64,0.36l-1.08,0.35l-3.28,-1.07l-3.36,-0.92l-3.01,-0.28l-4.29,0.45l-2.31,0.53l-1.33,-0.01l-1.27,-0.18l-0.08,-0.45l0.6,-0.23l-0.02,-0.33l-0.68,-1.05l-1.08,-0.68l-1.48,-0.3l-0.84,-0.35l-0.19,-0.39l-0.51,-0.39l-0.82,-0.39l-0.33,-0.63l0.41,-1.87l0.36,-1.12l0.33,-0.76l0.8,-1.25l-0.26,0.08l-1.1,0.88l-0.97,0.92l-0.93,1.22l-0.54,0.55l-0.68,0.49l-1,-0.2l-1.31,-0.89l-1.14,-0.49l-0.97,-0.1l-0.38,-0.17l0.72,-0.66l0.42,-0.54l0.59,-0.88l0.15,-0.44l-3.54,-0.41l-0.09,-0.49l0.02,-0.36l-0.09,-0.3l-0.5,-0.26l-0.73,0.11l-1.21,0.48l-0.47,-0.47l0.2,-0.23l0.4,-0.15l0.84,-0.76l-1.01,-0.51l-0.49,-0.53l-0.23,-0.42l0.14,-1.46l0.35,-0.91l2.4,-0.72l-0.71,-0.41l-1.48,0l-1.05,0.69l-1.27,1.01l-0.82,0.35l-0.38,-0.32l-0.52,-0.14l-0.67,0.03l-0.47,0.24l-0.27,0.46l-0.29,0.3l-0.31,0.14l-0.21,-0.07l-0.27,-0.52l-0.64,-0.37l-0.29,-0.41l-0.21,0.22l-0.29,0.69l-0.27,0.34l-1.17,0.26l-0.61,-0.13l-0.65,-0.96l-0.08,-0.32l0.33,-0.75l1.92,-2.9l-0.16,0l-0.57,0.43l-1.17,1.12l-0.5,0.32l-0.81,-0.03l-0.36,-0.17l-0.46,0.05l-0.57,0.27l-0.38,0.32l-0.2,0.37l0.1,0.08l0.85,-0.36l0.47,-0.07l0.11,0.23l-0.77,1.32l-0.51,1.28l-0.4,0.29l-0.57,-0.11l-0.65,0.06l-0.05,0.37l1.08,1.17l0.41,0.19l0.51,0.43l0.05,0.38l-0.31,0.99l-0.2,0.38l-0.27,0.18l-0.97,-0.13l-0.32,0.07l-0.72,0.56l-0.38,0.49l0.11,0.06l0.61,-0.37l0.84,-0.15l1.08,0.08l0.82,-0.15l0.57,-0.38l0.5,0.17l0.44,0.72l0.09,0.6l-0.25,0.48l-0.45,0.32l-0.65,0.15l-0.43,0.28l-0.21,0.41l-0.16,0.63l-0.11,0.84l0.01,1.53l-0.14,0.19l-0.25,0.09l-0.35,-0.01l-0.35,0.32l-0.94,1.94l-0.28,0.19l-0.29,-0.25l-0.28,-0.01l-0.27,0.24l-0.55,0.15l-0.83,0.05l-0.69,-0.13l-1.18,-0.57l-0.47,-0.36l-0.33,-0.55l-1.16,0.41l-0.26,-0.26l-0.53,-1.47l-0.16,0.07l-0.3,1.49l-0.27,0.5l-0.8,1.01l-0.59,1.83l-0.12,0.04l-0.1,-0.28l-0.22,-1.72l-0.18,-0.39l-0.73,0.89l-0.11,0.34l0.02,1.26l-0.17,0.17l-1.17,-0.82l-0.3,-0.07l-0.09,0.1l0.31,1.02l-0.09,0.34l-1.99,1.65l-0.45,-0.12l-0.27,-0.22l-0.32,-0.01l-1.21,0.55l-0.31,-0.07l-0.37,-0.46l-0.2,-0.01l-0.16,0.41l-0.12,0.83l-0.52,0.74l-1.51,1.11l-0.43,0.54l-0.38,0.77l-0.21,0.05l-0.72,-0.62l-0.87,-0.46l-0.15,0.15l0.21,0.53l-0.1,0.29l-0.41,0.06l-0.5,-0.11l-0.58,-0.28l-0.88,0.11l-1.18,0.5l-0.91,-0.15l-1.12,-1.25l-0.34,-0.13l-0.07,-0.32l0.37,-0.83l0.45,-0.6l0.31,-0.26l1.32,-0.67l1.42,-0.12l0.93,-0.39l1.19,-0.9l0.66,-0.71l1.36,-1.88l-0.06,-0.17l-0.23,-0.14l-2.65,1.59l-0.38,0.13l-0.47,-0.08l-1.81,-1l-0.36,-0.37l-0.15,-0.96l0.82,-2.02l0.51,-0.96l1.14,-1.44l1.44,-1.51l0.56,-1.03l1.02,-2.82l0.14,-1.33l-0.06,-1.65l0.12,-0.96l0.3,-0.27l2.93,-1.13l1.44,-0.95l2.71,-1.34l0.68,0.1l0.43,0.63l0.53,0.53l0.62,0.42l0.86,0.07l1.1,-0.29l1.64,0.35l3.29,1.48l0.72,0.14l0.04,-0.14l-0.44,-0.82l-2.3,-0.71l-0.94,-0.56l-2.55,-2.28l-0.54,-0.83l0.3,-0.32l0.71,-0.21l0.27,-0.25l0.16,-0.48l0.47,-0.62l0.78,-0.78l1.13,-0.71l2.1,-1.01l-0.76,-0.14l-1.43,0.07l-0.54,0.17l-1.04,0.77l-0.44,0.57l-0.67,1.14l-0.25,0.2l-1,0.06l-2.69,-0.21l-0.37,-0.67l-0.24,-0.13l-0.34,0.04l-2.65,1.26l-0.98,0.69l-0.75,0.83l-1.06,0.54l-1.37,0.25l-1.06,0.39l-1.18,0.9l-0.46,0.75l-0.07,0.37l0.09,1.22l-0.29,0.19l-0.62,0.01l-1.08,0.65l-2.38,2.04l-0.39,0.81l-0.03,0.29l0.24,0.71l-0.3,0.39l-0.68,0.59l-1.45,0.88l-0.91,0.28l-0.55,-0.06l-0.51,-0.23l-0.84,-0.83l-0.75,-0.16l-0.06,0.09l0.92,0.9l0.91,1.11l0.54,0.89l0.17,0.66l-0.08,0.65l-0.34,0.63l-0.92,1.04l-0.79,0.23l-1.94,0.06l-0.65,0.18l-0.22,0.18l1.22,0.68l0.08,0.27l-0.33,0.93l-0.39,0.26l-1.17,0.41l-1,0.01l-0.13,-0.13l0.3,-0.73l-0.02,-0.19l-0.34,-0.21l-0.56,0.21l-1.47,0.9l-0.17,0.16l0.42,0.37l-0.14,0.23l-0.83,0.68l-0.38,0.48l-0.56,0.47l-2.36,1.31l0.09,0.43l-0.78,1.35l-0.51,1.21l0.28,0.59l1.66,0.91l0.83,0.29l0.94,0.6l1.65,1.47l0.49,0.86l0.04,0.38l-0.12,0.38l-0.3,0.5l-0.74,0.91l-1.63,1.27l-0.7,0.32l-1.01,0.18l-0.35,0.19l-1.46,1.21l-0.46,0.71l-0.06,0.67l-0.31,0.43l-1.74,0.65l0.03,0.17l0.56,0.17l-0.35,0.77l-0.28,1.1l-0.31,0.14l-0.99,-0.17l-1.34,0.22l-0.11,0.11l-0.16,0.8l-3.41,0.01l-0.99,1.39l-0.46,0.4l-1.5,0.87l-0.88,0.3l-0.96,0.1l-0.54,0.29l-0.13,0.47l-0.33,0.37l-0.92,0.54l-0.54,0.79l-0.31,0.08l-1.51,-0.07l-0.34,0.21l-0.36,1.13l-0.28,-0.02l-0.47,-0.37l-0.72,0.08l-1.78,1.02l-0.43,0.41l-0.01,0.26l0.19,0.3l0.21,0.85l-0.12,0.52l-0.87,1.34l-0.25,0.18l-0.79,0.22l-0.45,0.75l-0.65,-0.22l-0.57,0.05l-0.46,0.47l-0.44,0.24l-0.43,0l-0.6,0.32l-0.78,0.65l-0.68,0.38l-0.57,0.1l-0.53,-0.05l-0.48,-0.21l-0.47,0l-0.46,0.2l-0.48,0.37l-0.57,1.2l-0.51,0.48l-0.27,0.05l-0.5,-0.19l-0.72,-0.43l-0.81,-0.07l-1.43,0.5l-0.53,0.5l0.78,0.3l0.36,0.25l-0.04,0.16l-0.45,0.07l-0.71,-0.16l-0.46,0.04l-0.59,0.22l-1.39,0.08l-0.55,0.15l-1.3,1.24l-0.19,0.3l0.11,0.1l0.59,-0.03l0.6,0.38l0.27,0.38l0.14,0.43l0.05,0.77l0.1,0.13l-1.52,0.96l-0.47,0.44l-0.27,0.14l-0.12,-0.18l0.14,-1.4l-0.05,-0.25l-0.29,-0.09l-0.38,0.37l-0.98,1.48l-0.87,0.66l-5.65,0.93l-0.87,0.3l-0.35,0.85l-0.39,0.72l-0.48,0.53l-0.49,0.29l-0.02,-0.29l0.53,-2.15l-0.01,-0.45l-0.46,-0.4l-0.24,-0.01l-0.34,0.05l-0.63,0.35l-0.34,0.04l-0.39,-0.13l-0.78,0.3l-1.95,1.09l-1.14,0.12l-0.35,0.24l-0.64,0.7l-0.37,0.22l-0.45,-0.08l-0.53,-0.38l-0.51,0.06l-0.5,0.5l-0.42,0.14l-0.92,-0.68l-0.52,0.19l-0.77,0.61l-0.73,0.35l-0.7,0.08l-1.72,-0.16l-0.63,-0.33l-0.08,-0.25l0.27,-0.95l0.44,-0.63l0.33,-0.26l0.4,-0.21l0.49,0.09l0.85,0.44l-0.04,-0.26l-0.26,-0.36l-0.71,-0.68l-0.76,-0.45l-0.51,0.04l-0.75,0.2l-0.56,0.31l-0.36,0.42l-0.69,1.49l-0.28,0.38l-2.64,2.25l-0.98,0.65l-0.74,-0.26L274.9,725l-0.69,0.55l-0.56,0.2l-0.43,-0.14l-0.31,-0.22l-0.18,-0.29l0.1,-0.2l0.38,-0.12l0.03,-0.58l-0.32,-1.04l-0.25,-0.59l-0.71,-0.25l-0.22,0.38l-0.31,2.15l-0.16,0.46l-0.61,0.47l-1.36,0.35l-0.35,-0.16l-0.72,-1.59l-0.94,-0.53l-0.18,0.41l-0.01,0.93l-0.47,0.74l-0.94,0.56l-0.66,0.21l-0.38,-0.13l0.12,-0.53l0.62,-0.94l0.32,-0.84l0.02,-0.73l0.16,-0.52l0.3,-0.31l1.61,-0.66l0.6,0l0.23,0.33l0.36,0.14l0.5,-0.05l0.37,-0.25l0.25,-0.46l0.74,-0.47l1.23,-0.49l1.55,-1.1l1.87,-1.72l2.01,-1.38l2.16,-1.04l2.23,-0.7l4.28,-0.67l0.27,0.17l-0.49,0.44l0.16,0.39l0.37,0.14l1.49,0.09l0.65,-0.21l0.09,0.37l-0.3,0.37l-0.96,0.22l-0.06,0.36l0.84,1.96l0.33,0.35l0.33,0.05l0.19,-0.18l0.18,-1.22l0.48,-0.13l0.88,0.15l0.52,0.29l0.17,0.43l0.42,0.42l0.67,0.41l0.47,0.03l0.27,-0.35l-0.2,-0.54l-1.14,-1.35l-0.28,-0.52l0.05,-0.62l0.38,-0.71l0.7,-1.02l1.03,-1.34l0.85,-0.9l1.5,-0.9l0.96,-0.39l2.51,-1.32l4.43,-0.93l1.25,-0.96l1.63,-1.01l0.65,-0.19l-0.11,0.5l0.08,0.49l0.83,0.5l0.56,0.23l0.29,-0.03l0.18,-0.46l0.07,-0.9l0.15,-0.83l0.23,-0.76l0.26,-0.58l0.83,-0.96l1.15,-1.05l1.52,-1.18l0.9,-0.49l0.79,-0.19l0.83,-0.48l1.5,-1.24l0.43,-0.17l0.92,-0.12l0.29,0.19l0.11,0.41l0.18,0.28l0.83,0.39l0.65,-0.21l-0.06,-0.19l-0.45,-0.21l-0.26,-0.28l-0.1,-0.95l-0.46,-0.66l0,-0.63l0.3,-0.92l0.95,-2.12l0.55,-2.27l0.7,-1.22l0.97,-0.29l2,0.07l-1.01,-0.82l-0.42,-0.09l-0.68,-0.43l0.01,-1.49l0.22,-1.04l0.73,-1.1l2.2,-1.67l2.24,-1.02l-0.24,-0.17l-0.16,-0.47l1.46,-2.65l1.37,-2.36l-1.6,1.92l-1.7,1.38l-4.4,1.09l-3.07,1.03l-1.38,0.11l-0.77,-0.59l-0.34,-1.67l-0.26,-0.63l-0.27,-1.1l0.49,-1.25l0.58,-0.82l0.88,0.03l0.86,0.64l0.82,0.21l-0.88,-1.11l-1.37,-1.1l-0.75,0.1l-0.81,1.14l-0.9,0.71l-0.56,-0.44l-0.3,-0.43l0.03,1.11l-0.83,1.5l-0.42,1.07l0.04,3.07l-0.38,1.14l-1.37,0.26l-0.8,-1.18l-1.28,-4.17l-0.5,-1.22l-1.25,-2.11l-0.6,0.12l-0.89,0.7l-0.73,0.08l-1.47,-1.68l-0.59,-1.16l-0.5,-1.35l-1.34,0.36l-1.22,0.52l-1.51,0.93l-0.81,-0.21l-2.47,0.5l-0.24,-0.04l-0.45,0.49l-0.37,0.18l-0.52,1.02l-3.21,0.08l-2.84,-1.23l1.19,-0.33l1.28,-0.17l1.29,-0.87l-0.04,-1.62l0.12,-0.79l0.26,-0.97l1.43,-1.09l-1.13,-0.28l-0.85,0.3l-0.42,-1.2l0.2,-2.1l1.08,-1l0.59,-0.83l0.63,-1.19l0.3,-1.08l-0.12,-2l-0.7,-4.35l-0.01,-3.13l-0.91,-1.9l1.64,-2.3l1.69,-2.05l1.67,-0.69l-0.07,-0.18l-0.77,-0.19l-0.54,0.01l-0.65,0.64l-0.62,0.46l-2.26,2.58l-1.34,1.19l-0.73,0.25l0.86,0.82l0.03,0.51l-0.09,1.12l-0.6,1.23l-0.45,0.65l-1.18,-0.37l-1.35,0.76l-2.83,0.46l-3.58,-0.29l-1.65,-0.54l-1.37,-1.81l0.23,-0.76l0.26,-0.64l-1.84,-2.98l-0.75,-2.67l-0.99,-0.34l-0.7,-0.86l-0.75,-1.24l0.31,-0.73l0.32,-0.49l-0.52,-0.56l-0.82,-0.2l-0.86,-0.54l3.3,-2.2l1.41,-1.72l0.76,-0.08l0.79,0.56l1,1.13l0.93,0.63l0.27,0.47l0.19,0.8l-0.73,1.04l-0.6,0.7l0.52,-0.09l1.64,-0.89l1.26,-0.83l0.43,0.24l0.24,0.28l0.22,1.28l0.34,1.34l1.76,-0.7l1.16,-1.16l-0.49,-0.78l-0.7,-0.58l-1.92,-1.04l0.61,-0.25l1.3,0.41l0.6,-0.24l-0.38,-0.67l-0.52,-0.65l-2.2,1.06l-3.2,-0.99l-1.98,-1.55l-2.28,-0.49l-0.3,-0.28l-0.29,-0.61l1.59,-0.78l1.07,-0.38l0.15,-0.36l-0.5,-0.2l-1.06,0.02l-0.28,-0.66l0.34,-0.9l-0.18,0.04l-0.53,0.39l-0.47,-0.41l-0.34,-0.55l0.37,-0.37l0.66,-0.47l-0.19,-0.15l-0.46,0l-0.65,0.67l-0.1,0.67l-0.28,0.92l-0.76,-0.04l-0.58,-0.29l-0.16,-1.06l0.14,-2.12l-1.06,-0.9l0,-1.1l1.16,-1.06l-0.14,-0.77l-0.75,-0.46l-1.13,0.37l-0.24,-0.71l0.12,-0.66l0.25,-0.92l0.29,-0.02l0.16,0.25l2.02,0.06l0.25,-0.19l-1.25,-1.22l-0.17,-0.94l0.75,-0.27l1.11,0.3l1.69,-0.02l-0.39,-1.06l0.01,-0.51l0.1,-0.82l0.65,-1.24l2.71,-2.49l2.5,-2.01l0.72,-0.43l0.89,-0.08l0.67,0.46l0.62,0.77l0.22,-0.19l-0.2,-0.3l-0.03,-1.14l1.2,-0.1l0.97,-0.99l0.14,-0.33l-0.83,0.29l-0.95,0.6l0.05,-0.86l0.35,-1.91l0.82,-1.67l0.47,-0.72l0.81,-0.58l1.79,0.19l0.26,0.24l0.16,-0.34l-0.71,-1.4l0.67,-0.75l0.5,-0.35l2.25,-0.12l1.06,0.53l1.18,1.21l0.54,1.25l-0.26,0.49l-0.29,0.25l-0.52,0.22l-0.23,0.22l0.02,0.23l0.78,-0.44l1.2,-0.47l0.47,0.47l0.28,0.71l0.49,0.12l1.68,-0.08l0.93,-0.32l1.33,-1.13l1.51,-0.56l2.53,-2.37l0.83,-1.03l0.66,-0.02l0.52,0.25l0.14,1.06l0.49,0.42l3.25,0.58l1.74,-0.03l1.36,-0.65l1.56,-1.28l0.94,-0.89l0.66,-1.3l0.01,-1.88l-0.07,-1.58l0.27,-3.53l-1,-2.62l-0.94,-0.94l-0.72,-0.08l0.86,-1.3l1.44,0.52l1.03,-0.04l0.95,-0.5l0.38,-0.46l0.64,-0.98l0.15,-1.17l-0.06,-0.67l-0.37,-0.81l-0.39,-1.16l-0.36,-0.44l-0.38,-0.07l-2.34,1.54l-1.12,-0.24l-0.73,-0.58l-1.01,0.96l-2.26,0.48l-1.33,0.73l-2.65,1.97l-0.8,0.99l-0.65,-0.12l0.12,-2.31l-1.6,-2.67l-0.84,0.53l0.18,0.75l0.36,0.6l0.75,0.42l-0.52,0.54l-0.49,0.77l-0.6,-1.01l-1.14,-1.54l-1.34,-1l-3.91,-1.02l-2.89,0.44l-0.16,-0.31l-0.22,-0.17l-0.51,0.16l-0.32,0.42l-0.37,0.22l-0.55,-0.05l-1,-0.48l-1.81,-1.33l-4.25,-2.44l-0.99,-1.02l-0.54,-1.87l0.35,-1.05l0.59,-0.31l0.43,-1.53l-0.75,-0.68l-1.1,-2.74l-0.36,-1.14l0.17,-0.06l0.24,0.35l0.55,0.38l1.58,0.16l0.95,-1.26l1.23,-0.06l0.96,0.51l-0.11,-0.46l-0.17,-0.38l-2.42,-1.54l-0.43,0.11l-4.31,-2.78l-2.98,-3.43l-0.16,-0.53l-0.02,-1.06l0.81,-0.78l0.65,-0.28l-0.15,0.53l-0.09,0.53l2.5,-0.5l1.6,-1.2l2.17,0.39l0.62,-0.28l0.91,-0.63l1.37,-1.14l1.54,-0.35l1.1,-0.4l1.28,-0.04l0.78,0.97l0.28,0.18l1.75,0.68l0.68,-0.11l0.32,-0.14l0.29,-0.29l-1.39,-1.74l0.38,-0.62l0.37,-0.41l2.47,-0.8l1.71,0l0.83,0.28l2.97,-1.12l1.48,-0.14l2.61,0.36l2.09,0.49l0.38,0.81l-1.07,-0.45l-0.52,-0.02l0.29,0.32l0.26,0.59l-0.28,0.57l-1.18,1.6l-0.34,1.45l-0.58,0.34l-0.62,0.53l1.57,2.65l3.29,1.04l1.91,0.11l0.88,0.9l0.82,0.37l2.46,0.3l1.67,0.9l0.79,0.02l2.43,-2.68l0.77,-0.33l0.57,0.71l0.81,0.67l0.66,-0.17l0.28,0.92l0.19,-1.72l-0.17,-0.71l-2.4,-1.82l-1.94,0.12l-0.4,-0.79l0.51,-1.23l-1.09,-3.65l-0.63,-0.85l-0.93,-0.27l-0.19,-1.22l-0.02,-1.52l0.95,-0.37l0.79,-0.07l0.55,0.63l0.28,2.05l0.64,0.46l-0.68,1.79l0.45,1.93l1.61,2.09l1.76,-0.18l1.13,0.3l0.6,0.5l1.32,1.83l0.81,0.38l2.83,-0.11l0.36,-1.39l0.02,-1.07l-0.47,-0.78l-1.81,-0.31l-1.13,-1.38l-1.25,0l-2.58,1.06l-0.94,-0.9l-0.47,-1.03l-0.88,-1.15l0.28,-1.68l1.4,-1.65l0.91,-0.73l-0.44,-0.81l-1.41,-0.85l-2.77,-0.21l0.04,-0.67l0.19,-0.69l-1.43,1.07l-1.03,-0.58l-1.53,-0.25l-2.95,-2.08l-0.76,-1.79l-0.15,-1.33l0.04,-3.52l-0.53,-2.36l-5.56,-9.18l-2.89,-2.78l-1.04,-2.45l-0.87,-0.79l-0.91,-0.5l-1.05,-1.02l1.08,-0.51l0.66,-0.08l-0.85,0.62l0.39,0.35l0.87,-0.24l0.56,-0.44l1.3,-2.19l1.69,-3.41l0.28,-1.47l3.98,1.52l2.78,0.56l0.99,-0.06l3.58,0.43l1,-0.15l1.99,-0.76l2.53,-1.64l2.43,-2.41l0.47,-0.7l0.05,0.23l0.18,-0.08l0.47,-1.04l0.91,-2.51l1.46,-2.21l4.89,-4.65l2.15,-1.8l0.78,-0.87l0.73,-0.6l0.21,0.8l0.13,0.25l0.02,0.36l-0.36,0.07l-0.71,0.58l-0.86,0.29l-0.24,0.2l0.45,0.06l1.43,-0.19l0.89,-0.45l3.91,-0.27l2.43,-1.46l0.18,-0.41l3.48,-1.74l0.38,0.19l0.39,0.4l-1.18,1.42l0.47,0.55l-0.95,1.8l1.05,0.28l0.03,0.94l0.23,-0.75l0.24,-1.09l0.33,-1.05l0.33,-0.7l0.66,0.5l1.85,-0.42l-2,-0.56l-0.8,-2.02l-0.67,-0.17l2.83,-2.04l2.39,-1.09l0.45,0.13l0.16,0.34l-0.06,0.48l-0.51,0.21l-0.56,0.45l0.09,0.53l0.28,0.14l1.07,-0.18l0.55,-0.4l2.08,0.5l0.69,-0.22l0.23,-0.32l2.72,0.5l0.55,-0.15l1.98,-1.03l1.9,-1.36l0.9,-0.77l1.69,-2.1l1.35,-1.32l2.02,-1.19l0.38,0.27l-0.62,0.2l-0.51,0.57l0.37,0.96l3.31,2.46l0.9,0.27l0.17,1.13l-0.49,0.96l-1.15,0.96l-2.13,0.8l0.5,0.55l0.19,1.1l0.54,0.23l0.99,-0.22l0.84,-0.5l1.86,-1.8l0.67,-1.07l0.4,-0.23l1.19,0.5l0.6,0.72l0.62,1.19l-0.47,0.96l-0.43,0.52l0.91,0.97l1.13,0.36l1,0.82l1.77,-1.05l1.26,-0.08l1.14,0.23l1.6,-0.48l2.37,1.36l0.68,-0.16l0.99,0.32l0.99,0.74l0.29,0.68l-1.35,1.15l-0.39,1.34l0.32,0.63l0.72,0.21l-0.02,0.81l0.43,0.26l2.31,0.27l-0.23,0.35l-0.18,0.44l-0.86,0.91l4.04,1.14l0.63,-0.49l0.88,-0.11l1.91,-0.54l0.64,0.42l0.7,0.89l0.72,0.26l0.71,-0.08l1.75,-0.94l1.87,0.16l0.72,0.46l0.83,-0.07l2.3,1.56l0.88,0.25l1.03,1.81l0.62,0.11l0.78,-0.64l0.61,0.08l0.53,0.74l0.96,0.31l0.35,1.12l0.46,0.44l3.65,1.14l1.88,-0.21l2.68,0.31l1.26,0.61l1.37,0.04l2.1,2.03l1.17,0.37l0.2,0.45l3.35,0.67l1.24,-0.9l2.08,-0.14l1.9,-0.72l1.05,0.06l1.21,0.26l0.47,-0.08l0.35,-0.34l2.92,1.54l1.61,1.68l0.69,1.21l3.47,1.81l1,0.98l0.67,1.06l0.41,0.12l0.3,-0.3l1.24,0.12L456.18,521.82zM293.12,552.84l-0.27,0.01l0.09,-0.23l0.91,-0.41l1.55,-0.38l-0.1,0.16l-0.89,0.39L293.12,552.84zM245.5,580.41l-0.03,0.4l0.71,0.2l0.91,0.51l0.94,0.74l1.1,0.26l1.73,-0.63l0.9,0l0.86,0.13l0.77,0.58l0.64,0.89l0.2,0.46l0.05,0.7l-0.09,0.8l0.07,0.62l1.36,1.21l0.93,0.62l0.12,0.44l0.05,0.57l0.72,0.67l0.93,0.17l0.45,0.3l1.5,0.53l1.69,1.18l-0.79,1.34l-0.82,0.43l-1.65,-0.79l-1.78,-0.38l-0.97,0.49l-0.92,0.73l-0.4,0.88l-0.49,0.3l-0.42,0.06l-0.12,-0.6l0.15,-1.67l-0.13,-0.52l-0.21,-0.37l-0.67,-0.78l-0.74,-0.61l-0.48,-0.21l-0.17,-0.66l0.08,-0.84l-0.2,-0.52l-0.47,-0.8l-0.52,-0.69l-1.78,-1.73l-0.65,-0.38l-0.75,-0.16l-0.92,0.16l-0.98,0.38l-0.93,0.21l-0.82,-0.18l-0.64,-0.56l-0.46,-0.9l-0.18,-0.58l0.1,-0.84l0.3,-0.77l0.38,-0.71l1.05,-1.67l0.79,-0.11L245.5,580.41zM401.55,660.75l-0.96,0.03l-0.41,-0.24l-0.04,-0.22l0.26,-0.75l0.02,-0.33l0.49,-0.08l0.51,0.42l0.12,0.39L401.55,660.75zM219.3,623.28l1.16,1.52l1.01,0.28l0.48,1.08l0.08,0.76l-1,-0.9l-1.7,-0.62l-1.53,-2.79l-0.64,-0.75l0.6,-1l1.08,-0.21l-0.11,1.62L219.3,623.28zM370.14,664.16l-0.37,0l0.59,-0.68l0.54,-1.41l0.42,0.27l0.05,0.28l-0.96,1.39L370.14,664.16zM403.05,666.67l-0.04,0.4l-0.27,0.36l0.16,0.73l-0.51,1.17l-0.22,0.76l-0.26,0.46l-0.23,0.17l-0.2,-0.13l-0.02,-0.27l0.16,-0.41l-0.5,-0.03l-0.05,-1.07l0.31,-0.31l0.14,-0.44l0.06,-0.3l0.45,-1.32l0.13,-0.08l0.01,0.32l0.1,0.1l0.19,-0.11l0.31,-0.58l0.11,-0.06L403.05,666.67zM412.56,667.51l0.13,0.43l1.45,0.01l0.41,0.11l0.15,0.21l-0.22,0.27l-0.59,0.33l-1.69,0.53l-1.4,0.75l-0.17,-0.09l-0.17,-0.96l-0.21,-0.4l-0.11,-0.54l0.02,-0.2l0.27,-0.35l0.53,-0.5l0.36,-0.17L412.56,667.51zM422.05,669.92l-0.27,0.36l-0.65,-0.17l-0.34,-0.26l1.24,-0.9l0.18,0.21L422.05,669.92zM266.1,640.66l0.44,0.93l0.34,0.15l1.18,0.12l0.36,0.28l0.3,0.43l0.1,0.55l-0.21,0.85l-0.41,0.69l-0.26,1.07l-0.18,0.44l0.42,0.78l-0.06,0.87l-0.16,0.9l-1.39,-0.1l-1.31,-0.35l-1.3,0.25l-0.36,0.36l-0.02,0.7l-0.36,0.07l-0.24,-0.23l-0.36,-0.76l-0.51,-0.47l-1.94,-1.08l-2.06,-2.55l-1,-0.71l-0.73,-1.63l-0.51,-1.94l0.75,-0.05l0.71,0.08l2.93,1.19l0.74,-1.04l0.48,-0.17l1.06,-0.03l1.09,-0.37l0.39,0.14l0.33,0.37l0.96,-0.13l0.47,0.05L266.1,640.66zM401.55,676.29l-0.86,0.14l-0.16,-0.47l0.55,-1.07l0.41,-0.6l0.28,-0.13l1.08,-1.17l1.15,-0.82l1.1,-1.25l1.16,-1.83l0.25,-0.7l0.47,-0.03l0.71,0.54l0.41,0.7l-0.26,0.51l-2.75,2.5l-0.24,0.34l-0.31,0.9l-0.24,0.3l-0.35,0.12l-0.28,0.38l-0.21,0.65l-0.34,0.32l-0.47,-0.02l-0.34,0.15l-0.21,0.32L401.55,676.29zM399.74,672.26l-0.44,0.43l-1.47,-0.43l0.4,-0.88l1.2,-0.46l1.16,1.02L399.74,672.26zM425.76,678.07l-0.37,0.07l0.61,-0.96l0.8,-1.06l0.73,-0.65l0.92,-0.24l-0.13,0.5l-1.23,0.86L425.76,678.07zM297.65,677.72l-0.62,0.1l-0.57,-0.26l-0.11,-1.56l0.37,0.04l0.98,-0.77l1.84,-0.37l0.43,0.01L297.65,677.72zM362.51,691.8l-0.24,0.06l-0.5,-0.54l-0.3,-0.54l0.3,-0.33l1.22,-0.61l0.53,0.06l0.2,0.16l0.05,0.25l-0.09,0.35l-0.3,0.41L362.51,691.8zM362.77,693.73l0.27,0.16l0.42,-0.84l0.21,0l0.82,0.88l0.59,-0.08l0.23,0.97l0.32,0.13l0.32,-0.07l0.17,0.09l-0.2,0.96l-0.82,0.89l-0.35,0.2l-0.41,-0.32l-0.15,-0.12l-0.23,-0.48l-0.14,-0.58l-0.13,-0.03l-0.61,0.57l-0.03,0.32l0.15,0.51l-0.08,0.29l-0.58,0.06l-0.54,-0.16l-0.74,0.32l-0.12,-0.29l0.01,-0.75l-0.22,0.05l-0.45,0.85l-0.43,0.52l-0.71,0.38l-0.17,0.21l-0.47,-0.04l-0.73,0.19l-0.42,-0.11l-2.39,-1.37l-0.54,-0.45l2.43,-1.92l1.23,-0.7l0.62,0.14l0.59,0.37l0.34,0.01l0.18,-0.99l-0.48,-0.83l0.07,-0.31l1.38,-0.31l0.47,0.14l0.5,0.34l0.45,0.5L362.77,693.73zM502.66,703.44l2.03,0.24l1.47,-0.16l1.47,2.16l0.94,1.76l0.56,1.24l0.35,1.2l0.44,1.16l-0.02,0.17l-0.83,-0.75l-0.66,-1.58l-0.32,-0.61l-0.3,-0.27l-0.33,-0.58l-0.66,-1.51l-0.05,-0.43l-0.28,-0.39l-0.31,-0.15l-0.33,0.09l-0.11,0.16l0.11,1.06l0.33,1.17l1.61,2.5l1.06,1.41l0.22,0.47l0.21,1.33l-0.39,0.63l0.59,1.2l0,0.24l-0.1,0.24l-1.38,0.63l-1.17,2.35l-1.35,1.41l-0.64,0.25l-0.33,-0.21l-0.32,-0.5l-0.21,-0.68l-0.1,-0.85l0.33,-0.56l0.56,-2.84l-0.03,-0.92l-0.93,-1.24l-0.57,-1.02l-0.35,-1.45l-0.66,-3.85l-0.28,-1.23l-0.36,-1.02l-0.43,-0.81l-0.34,-0.9l-0.25,-0.98l0.06,-0.39l0.71,0.49l0.89,1.39L502.66,703.44zM505.52,702.28l-0.04,0.38l-1.08,0.02l-1.12,-0.49l-0.57,-0.69l0.09,-0.33l1,-0.35l0.99,0.63L505.52,702.28zM494.29,702.56l1.19,1.42l0.02,0.34l-0.19,1.01l-0.61,0.31l0.19,0.39l0.47,0.28l0.32,-0.26l1.14,-1.46l0.36,-0.31l0.22,-0.04l1.48,0.36l1.31,0.61l0.4,0.52l0.26,0.93l-0.25,2.04l-1.04,0.4l-0.5,-0.01l-0.54,-0.27l-0.83,0.74l0.73,0.51l2.17,0.03l0.71,1.11l0.23,0.87l-0.39,1.63l-1.25,-0.39l-1.13,-0.89l-2.28,-1.23l-0.53,-0.04l-0.35,0.25l-0.07,0.81l0.09,1.74l-0.56,0.92l-1.78,-0.33l-0.74,-1.29l-0.71,-2.07l-2.49,-2.39l-0.67,-0.48l-0.91,-1.46l0.31,-1.19l0.08,-0.68l0.45,-0.19l0.66,-0.54l0.34,-1.15l0.63,0.9l0.84,0.86l-0.02,-0.83l0.36,-0.68l0.79,0l0.37,-0.15l0.5,-0.64l0.74,-0.35L494.29,702.56zM357.81,701.13l-0.07,0.82l0.34,-0.05l1.34,-0.65l0.67,-0.15l0.83,0.08l0.6,0.48l0.09,0.31l-0.11,0.34l-0.63,0.63l-0.05,0.46l0.44,0.93l1.32,0.66l0.13,0.28l-0.05,0.3l-1.16,1.26l-0.4,0.28l-0.26,0.04l-1.7,-0.51l-1.52,-0.7l-0.63,-0.18l-0.25,0.11l-0.52,0.36l0.3,0.18l1.38,0.32l0.4,0.7l0.15,0.49l0.03,0.52l-0.31,0.17l-0.62,0.06l-0.72,-0.11l-0.98,0.44l-0.59,0.58l-1.81,-0.11l-1.49,0.66l-0.55,0.35l-0.25,0.49l-0.57,0.29l-1.22,0.19l0.64,0.45l0.06,0.3l-0.05,0.39l-0.15,0.32l-1.16,1.36l-1.94,0.95l-0.43,-0.13l-0.16,-0.18l-0.12,-0.26l0.03,-0.24l2.64,-2.11l-0.07,-0.14l-0.59,-0.18l-0.85,-0.84l-0.75,0.33l-0.15,-0.04l0.28,-0.55l0.56,-0.62l-0.04,-0.21l-0.21,-0.21l-0.54,-0.2l-0.87,-0.18l-0.67,0.06l-0.48,0.29l-0.06,0.15l0.9,0.11l0.21,0.23l0.18,0.39l0.08,0.42l-0.02,0.46l-0.29,0.58l-0.55,0.69l-0.6,-0.24l-0.99,-1.91l-0.14,-2.58l-0.76,-2.09l0.03,-0.46l0.51,-1.12l1.38,-1.48l1.25,-0.26l0.95,-0.56l0.84,-0.08l0.5,0.1l0.63,0.42l0.17,0.69l-0.21,0.27l0.04,0.17l0.42,0.46l0.3,1.43l0.41,1.29l0.33,0.55l0.48,0.38l-0.4,-1l-0.14,-1.18l0.2,-2.27l-0.06,-0.62l0.33,-0.11l0.85,0.23l0.03,-0.34l-0.79,-0.91l-0.46,-0.72l-0.13,-0.53l0.08,-0.43l0.6,-0.55l0.31,-0.13l0.3,-0.03l0.56,0.23l0.23,0.24l0.51,1.55l0.28,0.5l0.29,0.05l0.31,-0.19l0.32,-0.44l0.3,-0.25l0.28,-0.05l0.79,0.34l0.29,-0.03l0.19,-0.34l0.09,-0.64l0.24,-0.2l0.12,-0.46l-0.34,-0.77l0.55,-0.13l1.63,0.79l0.64,0.69L357.81,701.13zM355.16,700.32l-0.28,0.38l-0.19,-0.14l-0.36,-0.55l-0.79,-0.84l-0.33,-0.55l0.01,-0.21l0.34,-0.18l0.97,0.73l0.37,0.59L355.16,700.32zM500.93,715.66l0.76,1.6l0.56,1.24l0.52,1.5l0.9,3.11l0.41,1.17l0.14,0.65l0.17,1.7l-0.09,0.37l-0.21,0.35l-0.02,0.49l0.27,1.29l0.11,1.97l-0.14,1.12l-0.22,0.18l-0.58,-0.34l-0.49,-0.58l-0.37,-0.61l-0.93,-1.94l-0.29,-0.91l-0.05,-0.66l0.11,-0.49l0.26,-0.31l0.44,-0.82l-0.07,-0.13l-0.35,0.2l-0.73,0.14l-0.68,-0.61l-0.52,-0.31l0.05,-1.15l-0.15,-0.32l-0.98,0.4l-0.39,-0.3l-0.1,-0.43l-0.01,-0.64l0.17,-0.57l0.88,-1.46l-0.11,-0.26l-0.46,-0.04l-0.62,-0.46l-0.34,-1.58l-0.68,-0.88l-0.38,0.1l-0.76,2.6l-0.41,0.58l-1.21,0.41l0.22,-0.72l0.09,-0.64l-0.5,-1.92l-0.04,-0.75l0.27,-0.56l0.85,-0.26l0.44,-0.34l0.33,-0.55l0.07,-0.52l0.61,-1.4l0.3,-0.28l0.82,-0.02l1.8,1.44l0.54,0.2L500.93,715.66zM221.06,676.61l-1.02,0.38l-0.63,-0.5l-0.04,-0.56l0.07,-0.21l2.25,0.19L221.06,676.61zM355.36,711.31l-1.09,0.32l-0.18,-0.05l-0.78,0.86l-0.55,0.34l-0.52,-0.86l0.35,-1.15l0.68,-0.7l2.76,0.69l0.18,0.25l-0.02,0.19l-0.23,0.12L355.36,711.31zM514.17,720.12l0.57,0.43l0.26,-0.51l0.55,-0.01l1.04,0.37l0.65,0.61l0.39,0.72l0.06,0.44l-0.03,1.01l0.15,1.03l-0.01,0.54l-0.11,0.45l-0.21,0.37l-0.25,0.06l-0.86,-0.87l-1.02,-1.61l-0.72,-0.46l-0.02,0.17l0.22,0.47l0.62,0.86l0.14,0.53l0.44,0.63l0.21,0.49l0.15,0.65l0.03,0.57l-0.08,0.5l-0.16,0.33l-0.25,0.16l-1.4,-0.05l-0.81,0.38l-0.98,-0.12l-0.25,-0.28l-0.18,-0.48l-0.15,-1.17l-0.35,-1.67l-0.02,-1.3l-0.69,-1.14l-0.58,-0.68l-0.8,-0.59l-0.54,-0.6l0.11,-0.51l0.76,-0.42l1.29,0.01L514.17,720.12zM509.25,722.78l0.59,1l0.76,-0.13l0.48,0.75l0.39,1.14l-0.19,0.76l-0.35,-0.15l-0.35,0.45l-0.15,1.45l0.19,1.43l-0.03,1.43l-0.36,1.48l-0.04,0.98l-0.16,0.3l-0.19,0.11l-0.26,-0.25l-0.37,-0.19l-0.41,0.85l-0.55,0.04l-0.56,-1.84l0.24,-3.13l0.88,-0.68l-0.59,-0.82l-1.2,-0.92l0.07,-0.56l-0.95,-1.54l-0.07,-0.38l0.07,-1.33l0.74,-1.22l1.05,-0.27l0.77,0.46l0.44,0.41L509.25,722.78zM519.69,726.87l-0.07,0.22l-1.04,0.05l-0.39,-0.15l-0.18,-0.62l0.06,-0.59l0.21,-0.47l0.23,-0.89l0.13,-1.47l1.64,1.52l0.52,0.69l0.32,0.87l-0.52,0.37l-0.64,0.21L519.69,726.87zM221.45,685.41l0.92,0.63l0.63,0.02l0.45,0.32l-0.03,0.36l-1.12,0.42l-0.34,-0.17l-0.73,-1.23L221.45,685.41zM344.25,718.72l-0.4,-0.03l-0.54,-0.49l0.16,-0.45l0.95,-0.42l0.84,0.23l0.01,0.32l-0.1,0.34l-0.1,0.19l-0.31,0.17L344.25,718.72zM340.22,719.23l-0.61,0.25l-0.16,-0.15l0.02,-0.29l0.21,-0.43l0.33,-0.41l1,-0.72l0.96,-0.43l0.43,0.11l0.09,0.39l-0.66,0.67L340.22,719.23zM525.36,732.63l0.02,2.46l-0.34,-0.11l-0.31,0.02l-0.61,0.4l-0.68,-0.1l-0.33,-0.25l-0.14,-0.31l0.07,-0.74l-0.4,-0.38l-1.26,-0.06l-0.48,-0.14l-0.31,-0.75l-0.13,-1l0.17,-0.39l0.61,-0.31l0.4,-1.26l0.26,-0.18l0.85,-2.5l0.53,0.13l1.02,1.4l1.3,2.04L525.36,732.63zM519.71,731l-0.42,0.08l-0.51,-0.19l-1.26,-1.12l-0.05,-0.35l0.14,-0.41l0.62,-0.78l0.26,-0.2l1.61,-0.03l0.53,0.16l0.14,0.33l0,0.35l-0.14,0.37l-0.01,0.37l0.12,0.38l-0.16,0.4L519.71,731zM513.16,730.07l1.58,0.22l1.43,-0.12l0.53,0.58l0.37,0.62l0.23,0.59l0.09,0.56l-0.01,0.4l-0.15,0.44l0.05,0.14l2.9,1.21l1.43,1.38l0.59,0.74l0.35,0.63l0.68,1.59l1.32,1.81l0.66,0.53l0.39,0.54l-0.2,0.04l-0.86,-0.35l-1.89,-1.14l-0.14,0.06l-0.11,0.7l-0.23,0.62l-0.38,0.46l0.34,0.1l1.43,-0.38l1.31,1.15l0.49,0.19l0.53,0.85l0.04,0.34l-0.22,0.68l-0.18,0.28l0.08,0.18l0.35,0.07l1.33,-0.29l0.27,0.3l0,2.58l0.27,0.93l0.03,0.43l-0.11,0.58l0.03,0.48l0.16,0.48l0.05,0.44l-0.25,1.17l-0.35,0.22l-0.59,0.05l-0.49,-0.29l-0.73,-0.94l-0.75,-1.49l-0.26,-0.2l-0.85,-0.17l-0.16,-0.17l-0.53,0.01l-0.42,-0.6l-0.02,-0.83l-0.38,-0.82l0.01,-0.38l-0.37,-0.13l-0.29,0.26l0.22,0.82l-0.13,0.66l-0.68,-0.22l-1.24,-1.98l-1.35,-1.57l-0.51,-0.36l0.1,-0.49l0.59,-0.3l0.5,-0.01l0.08,-0.29l-1.14,-1.53l0,-0.46l0.32,-0.83l-0.49,-0.31l-1.27,0.34l-0.46,-0.14l-0.41,-0.62l-0.25,-0.55l-1.12,-0.03l-0.42,0.1l-0.78,-0.8l-0.36,-0.52l0.11,-0.28l0.64,-0.52l0.39,0.04l0.78,0.47l0.29,-0.04l0.7,-0.73l0.07,-0.62l0.52,-0.54l-0.12,-0.53l-0.37,-0.89l-0.69,-0.21l-1.35,0.63l-1.15,0.91l-0.5,-0.3l-0.14,-0.51l1.21,-1.47l0.52,-0.8l-0.14,-0.45l-0.45,-0.56l-0.13,-1.47L513.16,730.07zM535.53,740.97l-0.15,1.64l-0.43,1.7l-0.8,0.96l-0.64,-0.14l-0.52,-0.67l-0.42,0.08l-0.46,-0.11l-0.3,-0.57l0.17,-0.79l-0.26,-0.58l-0.18,0.54l-0.36,0.51l-0.95,0.7l-0.59,1.24l-0.26,0.8l-0.47,-0.81l-0.42,-1.97l-0.1,-0.84l0.62,-1.33l0.83,-1.29l-0.11,-3.64l2.79,-2.07l0.28,0.07l1.08,1.27l1.19,1.81l0.34,0.83l0.14,1.49L535.53,740.97zM331.44,726.91l-0.4,0.4l-0.61,-0.15l-0.32,-0.21l-0.04,-0.42l1.18,-1.04l0.25,-0.12l0.16,0.08l-0.02,0.51L331.44,726.91zM516.06,741.67l0.21,0.4l0.03,0.26l-1.15,1.05l-0.01,0.2l-0.25,0.62l-0.24,0.24l-0.41,0.68l-0.82,0.76l0,-2.13l-0.93,-1.18l0.82,-0.67l0.57,0.14l0.94,0.01l0.88,-0.6L516.06,741.67zM288.05,725.36l0.12,0.04l0.28,-0.05l0.72,-0.68l0.18,0l-0.06,0.25l-0.44,0.74l0.17,1.17l0.27,0.61l-0.08,0.17l-1.08,0.13l-0.7,-0.45l-0.42,0l-0.45,0.28l-0.15,-0.47l0.31,-2.01l0.14,-0.33l0.58,-0.58l0.61,-0.18l0.21,0.15l0.13,0.32l-0.02,0.3L288.05,725.36zM291.03,725.72l-0.38,1.1l-0.95,-0.99l-0.21,-0.43l0.26,-0.22l1.08,0.19L291.03,725.72zM520.42,750.96l0.22,0.18l0.2,-0.15l0.31,-0.55l0.61,0.06l0.45,0.14l0.28,0.2l-0.09,0.77l-0.02,1.24l-0.22,0.46l-0.2,0.63l-0.89,-0.3l-0.75,-0.74l-1.1,-1.28l-0.63,-0.94l-0.07,-0.41l-0.38,-0.28l-0.8,-1.64l-0.48,-1.3l-0.63,-0.11l-0.81,-0.32l-0.35,-0.71l0.17,-0.65l1.09,-0.39l1.78,1.54l0.3,0.68l0.66,0.78l0.19,1.13l0.34,0.43L520.42,750.96zM294.07,729.59l-0.57,0.2l-0.25,0.36l-0.42,0.08l-0.4,0.25L291,731.7l-0.54,0.16l0.82,-1.13l0.18,-0.38l0.07,-0.26l0.06,-0.99l0.3,0.12l0.31,-0.14l0.72,-0.72l0.49,0.03l0.73,-0.88l0.29,-0.02l0.1,0.17l-0.36,0.55l0.35,0.67l-0.25,0.51L294.07,729.59zM533.04,747.24l1.03,1.83l0.1,0.67l-0.8,0.31l-0.65,-0.04l-0.35,-0.19l-0.11,-0.3l0.13,-0.98L531.9,748l-0.51,-0.15l-0.41,0.37l-0.1,-0.95l0.27,-0.71l-0.26,-0.92l-0.06,-0.7l0.09,-0.23l0.44,-0.02l0.97,0.65L533.04,747.24zM297.08,729.94l-0.3,1.13l-0.16,0.15l-0.15,-0.36l-0.54,0.23l-0.2,-0.31l0.2,-0.37l0.04,-0.32l0.35,0.05l0.21,-0.55l0,-0.25l0.29,-0.47l0.27,-0.06L297.08,729.94zM297.76,732.8l-0.28,0.01l-0.19,-0.21l-0.12,-0.88l0.05,-0.35l0.53,0.39l0.09,0.64L297.76,732.8zM264.05,724.25l0.15,2.56l0.22,0.55l0.44,0.39l0.65,0.45l0.33,0.46l0.23,0.63l-0.02,0.25l-2,-1.55l-1.79,0.99l-0.48,0.06l-4.04,-1.05l-0.87,0.03l-0.65,0.3l-1.27,0.99l-0.6,0.35l-0.58,0.15l-1.14,0.02l-1.24,-0.41l-0.61,-0.35l-0.18,-0.7l0.03,-1.26l0.1,-0.33l0.29,-0.52l1.34,-0.45l0.49,-0.3l2.2,-2.25l0.52,-0.25l0.47,0.04l1.17,0.53l1.27,-0.48l2.59,-0.56l0.53,0l1.63,0.42l0.39,0.31l0.25,0.43L264.05,724.25zM273.17,728.72l-0.21,0.02l-0.45,-0.58l-0.12,-0.38l-0.02,-0.54l1.34,-0.43l0.24,0.05l0.11,0.46l-0.05,0.33l-0.56,0.84L273.17,728.72zM269.41,734.49l-0.8,0.12l-0.67,-0.52l-0.49,-0.77l0.12,-0.73l1.32,0.84l0.25,0.3L269.41,734.49zM243.56,731.26l-0.39,0l-0.04,-0.17l0.14,-0.63l0.02,-1.06l0.63,-0.2l0.35,0.01l0.09,0.19l0.16,0.84l0.32,0.31l0.23,0.24l-0.56,0.08L243.56,731.26zM240.98,731.49l-0.39,0.15l-0.27,-0.02l-0.15,-0.2l-0.9,-0.09l-0.14,-0.15l-0.13,-0.95l0.11,-0.44l0.25,-0.29l0.48,-0.19l0.7,-0.09l0.59,0.24l0.82,1.09l0.36,0.6l0.01,0.31l-0.45,0.15L240.98,731.49zM233.88,731.91l0.15,0.77l0.75,-0.23l0.63,-0.44l0.58,-0.63l0.32,-0.22l0.18,0.49l0.7,0.8l-0.98,0.6l-1.78,0.8l-0.73,0.68l-0.14,0.35l1.44,0.15l0.37,0.16l0.16,0.36l-0.48,0.22l-0.83,0.07l-0.83,0.39l-1.81,0.55l-0.83,0.67l-0.77,0.11l-0.93,-0.21l-1.77,0.04l-1.14,0.21l-0.33,0.2l-0.35,0.03l-0.36,-0.13l-0.47,0.1l-0.57,0.33l-0.42,0.1l-0.59,-0.14l-0.36,0.09l-0.34,-0.12l-0.74,-0.86l-0.13,-0.4l1.03,-0.39l0.66,-0.03l0.93,0.19l1.08,-0.32l2.07,-0.22l0.7,-0.26l0.85,-1.41l0.5,-0.13l0.41,-0.54l1,0.33l0.25,0.83l0.13,0.14l0.1,-0.04l0.22,-0.53l0.64,-0.22l-0.21,-0.37l-0.82,-0.65l-0.63,-0.38l-0.45,-0.12l-0.3,-0.31l-0.15,-0.51l0,-0.45l0.15,-0.4l0.37,-0.39l0.59,-0.37l0.58,-0.13l1.13,0.13l1.05,-0.04l0.52,0.1l0.33,0.26L233.88,731.91zM236.46,735.42l-0.13,0l-0.11,-0.41l0.09,-0.32l0.21,-0.19l0.55,-0.42l0.33,-0.11l0.37,0.01l0.05,0.17l-0.49,0.54l-0.5,0.31L236.46,735.42zM220.27,736.07l-3.03,0.64l-1.18,0.81l-0.98,0.83l-0.69,0.4l-0.39,-0.02l-0.5,0.14l-1.08,0.44l-0.38,-0.03l-3.28,0.77l-0.2,-0.04l0.28,-0.4l1.04,-0.34l0.73,-0.39l0.93,-0.74l0.45,-0.23l0.27,-0.44l0.37,-0.94l0.27,-0.31l0.82,-0.53l0.55,-0.25l0.6,0.05l1.08,0.5l0.59,-0.21l0.24,-0.23l-0.2,-0.35l0.08,-0.46l0.33,-0.74l0.55,-0.57l0.77,-0.4l0.93,-0.2l1.1,0l0.73,0.22l1.07,1.12l0.09,0.38l-0.55,0.59l-0.4,0.59L220.27,736.07zM203.62,738.08l-0.33,0.51l-0.19,0.16l-1.18,-0.74l-0.89,-0.2l0.02,-0.36l0.18,-0.26l1.5,0.03l0.55,0.19l0.28,0.36L203.62,738.08zM193.68,738.64l-0.69,0.24l-0.1,-0.22l0.1,-0.57l0.45,-0.31l1.23,-0.58l0.55,0.39l0.11,0.31l-0.14,0.34l-0.39,0.37l-0.37,0.12l-0.36,-0.13L193.68,738.64zM158.15,733.39l-4.65,-1.29l-0.51,-0.66l0.76,0.07l0.84,0.21l1.92,0.06l2.27,0.3l1.86,0l1.56,0.13l0.68,-0.55l-1.07,-0.86l-0.12,-0.38l0.71,-0.1l0.68,-0.29l1.36,-0.11l0.73,1.12l0.03,0.57l-0.32,0.53l-0.44,0.51l-1.02,-0.06l-0.26,0.25l0.13,1.07l-2.15,0.02L158.15,733.39zM177.73,737.48l-0.69,-0.04l-0.59,-0.46l0.59,-0.59l0.47,-0.26l0.78,-0.23l0.64,0.48l0.35,0.81L177.73,737.48zM167.99,735.79l1.41,1.19l2.05,0.73l0.69,0.42l-0.05,0.16l-1.38,-0.28l-0.41,-0.25l-1.25,-0.14l-0.79,-0.25l-1.64,-0.98l-1.43,-0.35l-0.33,-0.22l-0.33,-0.42l-0.32,-0.62l0.08,-0.28l0.49,0.07l1.05,0.84l0.2,-0.14l1.15,0.06L167.99,735.79zM146.91,729.17l-0.36,0.31l-0.62,-0.76l-0.14,-0.46l0.09,-0.37l0.48,-0.47l0.64,0.27l0.28,0.4l0.17,0.59l-0.01,0.32L146.91,729.17zM141.44,728.94l-0.15,0.46l0.97,0.35l0.2,0.36l-0.38,0.87l-0.23,0.19l-0.17,0l-0.26,-0.34l-0.58,0.28l-2.23,0.32l-0.28,-0.85l-1.45,0.5l1.81,-2.15l0.99,-0.01l0.43,-0.15l0.25,-0.76l0.91,-1.04l0.81,0.42l0.17,0.67l-0.16,0.32L141.44,728.94zM136.01,728.92l-0.31,0.07l-0.49,-0.06l-1.18,-0.71l-0.78,-0.29l-0.89,-0.29l-0.74,-0.05l0.02,-0.38l0.14,-0.25l3.05,0.5l0.8,-0.1l0.6,-0.31l0.76,-0.74l0.41,-0.14l0.17,0.09l0.23,0.53l-0.34,0.41l-0.52,0.25l-0.28,0.33L136.01,728.92zM129.62,727.12l-0.38,0.36l-0.19,-0.1l-0.76,-1.22l-0.05,-0.32l0.8,-0.05l0.31,-0.18l0.08,-0.38l-0.26,-0.7l-0.6,-1.02l-0.13,-0.6l0.34,-0.18l0.5,0.02l1.34,0.57l0.37,1.09l0.42,0.51l1.19,0.75l-0.8,0.03l-0.51,0.15l-1.01,1L129.62,727.12zM145.93,731.74l-0.82,-0.01l-0.66,-0.98l0.38,-0.65l0.76,1L145.93,731.74zM143.52,731.03l-0.85,0.55l-0.23,-0.52l0.32,-1.13l0.41,-0.15l0.47,1.12L143.52,731.03z"
34426
+ },
34427
+ {
34428
+ id: "AL",
34429
+ name: "Alabama",
34430
+ path: "M955.38,371.42l0.81,2.77l0.81,2.77l0.81,2.77l0.81,2.77l0.81,2.77l0.81,2.77l0.82,2.77l0.82,2.77l0.82,2.77l0.82,2.77l0.82,2.77l0.83,2.77l0.83,2.77l0.83,2.77l0.83,2.77l0.83,2.77l0.62,1.23l0.62,2.04l3.4,5.85l1.09,2.5l-0.1,1.1l0.44,0.87l0.98,0.64l-0.05,0.89l-1.07,1.14l-0.64,1.31l-0.31,2.21l0,0.01l-0.68,3.91l0.26,2.31l1.47,3.01l0,0l0.4,1.36l0.02,6.24l0.96,3.9l1.46,2.44l-6.18,0.75l-6.2,0.72l-6.2,0.7l-6.21,0.68l-6.21,0.66l-6.21,0.63l-6.21,0.61l-6.21,0.59l-0.12,1.62l0.27,1.52l0.81,1.39l3.05,2.51l0.32,0.65l-0.29,2.18l0.23,1.51l-0.22,0.82l-0.62,0.75l-0.11,0.78l-0.44,0.26l-1.9,2.51l-7.38,1.43l0.36,-0.56l1.56,-0.25l2.14,-0.93l-0.56,-1.19l-0.97,-1.28l-0.8,-0.08l-0.59,-0.75l-0.2,-2.5l-0.63,-1.42l-1.34,-1.4l-0.38,0.33l-0.66,2.65l-0.44,3.44l-0.27,1.12l-2.2,0.27l-1.97,-0.07l-0.96,0.14l-0.64,-4.58l-0.55,-4.18l-0.55,-4.18l-0.55,-4.17l-0.55,-4.17l-0.55,-4.17l-0.55,-4.17l-0.55,-4.17l0.12,-4.16l0.12,-4.15l0.12,-4.15l0.12,-4.15l0.11,-4.15l0.11,-4.15l0.11,-4.15l0.11,-4.15l0.11,-4.14l0.1,-4.14l0.1,-4.14l0.1,-4.14l0.1,-4.14l0.09,-4.14l0.09,-4.14l0.09,-4.14l0.02,-1.05l-0.01,-0.36l0.02,-0.54l-1.74,-1.32l-0.34,-0.26l-0.25,-0.25l0.23,-0.04l2.93,-0.22l2.93,-0.23l2.93,-0.23l2.93,-0.24l2.93,-0.24l2.93,-0.25l2.93,-0.25l2.93,-0.26l2.93,-0.26l2.93,-0.27l2.93,-0.27l2.93,-0.28l2.92,-0.28l2.92,-0.29l2.92,-0.29L955.38,371.42zM920.01,481.61l-1.67,0.63l-2.54,0.17l-0.53,-0.12l0.99,-0.41l2.96,-0.68L920.01,481.61z"
34431
+ },
34432
+ {
34433
+ id: "AR",
34434
+ name: "Arkansas",
34435
+ path: "M879.39,356.05L879.34,356.46L879.77,357.32L879.81,357.82L879.56,358.15L878.95,358.37L878.51,358.62L878.44,359L878.43,359.18L878.49,359.6L878.6,359.97L878.34,360.49L876.35,361.85L875.57,363.5L876,365.42L875.4,367.43L873.73,369.53L873.12,371.8L873.55,374.24L872.78,376.28L870.8,377.92L870.16,378.9L870.17,378.97L870.22,379.66L870.46,380.2L869.83,381.27L868.14,382.43L867.26,383.52L867.19,384.53L866.8,385.04L866.05,385.31L865.68,386.83L865.52,390.35L864.69,392.4L863.2,392.99L862.43,393.82L862.38,394.9L861.55,396.2L859.92,397.7L859.43,399.08L860.08,400.31L860,400.83L859.5,401.28L857.68,401.98L857.38,402.3L857.21,402.64L857.62,403.27L857.89,404.23L857.71,405.89L857.3,406.6L856.9,407.28L855.4,408.51L855.02,409.43L855.74,410.02L855.73,410.71L854.99,411.49L855.26,412.29L855.47,412.82L856.21,413.28L856.54,414.64L856.12,416.43L856.29,417.87L857.22,419.02L857.44,419.52L856.79,423.52L856.87,424.07L853.19,424.28L849.81,424.45L846.44,424.62L843.06,424.78L839.69,424.93L836.31,425.08L832.93,425.22L829.56,425.36L826.18,425.48L822.8,425.61L819.43,425.72L816.05,425.83L812.67,425.93L809.3,426.02L805.92,426.11L802.54,426.19L802.45,423.17L802.35,420.14L802.26,417.12L802.17,414.09L801.19,413.6L799.46,413.38L798.59,413.57L797.53,413.45L796.84,413.96L796.37,414.06L795.99,413.96L795.75,413.52L794.97,413.22L793.98,412.15L793.99,409.73L794,407.31L794.01,404.88L794.02,402.46L794.03,400.04L794.04,397.62L794.06,395.19L794.07,392.77L794.08,390.35L794.09,387.93L794.1,385.51L794.11,383.09L794.12,380.67L794.13,378.25L794.14,375.83L794.15,373.41L793.69,370.32L793.23,367.23L792.77,364.14L792.32,361.05L791.86,357.96L791.41,354.87L790.96,351.78L790.51,348.69L795.5,348.61L800.5,348.51L805.5,348.4L810.5,348.27L815.5,348.12L820.5,347.96L825.49,347.79L830.49,347.6L835.48,347.39L840.48,347.17L845.47,346.93L850.47,346.68L855.46,346.41L860.45,346.13L865.44,345.83L870.43,345.52L871.34,347.2L872.19,348.28L872.38,349.1L872.28,349.95L871.07,351.83L869.92,352.74L869.32,353.68L868.47,354.59L867.21,357.04L870.17,356.81L873.13,356.57L876.09,356.32z"
34436
+ },
34437
+ {
34438
+ id: "AZ",
34439
+ name: "Arizona",
34440
+ path: "M533.89,321.1L532.76,328.9L531.63,336.7L530.5,344.5L529.37,352.31L528.24,360.12L527.11,367.93L525.98,375.74L524.85,383.56L523.72,391.38L522.58,399.2L521.45,407.03L520.32,414.87L519.18,422.7L518.05,430.54L516.91,438.39L515.77,446.26L511.45,445.64L504.73,444.66L498.01,443.64L491.3,442.6L484.59,441.54L477.88,440.45L469.46,435.65L461.08,430.82L452.73,425.95L444.44,421.04L436.18,416.09L427.97,411.1L419.8,406.08L411.67,401.01L412.82,399.96L414.68,396.92L414.79,396.73L414.79,396.73L417.4,397.04L418.79,396.46L419.82,395.1L420.29,393.59L420.21,391.95L419.35,390.56L417.72,389.42L417.13,387.07L417.59,383.49L418.31,381.66L419.29,381.57L420.36,380.9L421.51,379.64L422.46,378.2L423.22,376.57L423.75,374.43L424.03,371.78L426.34,368.9L428.36,367.25L431.87,365.43L432.7,364.84L432.83,364.25L432.85,364.18L432.4,363.22L430.05,360.98L429.16,359.53L429.28,358.39L429.25,358.36L429.12,357.22L427.17,352.16L426.72,349.5L427.11,347.68L427.14,347.54L429.09,339.87L428.62,336.97L428.7,335.41L429.39,333.62L429.54,332.44L429.27,331.34L429.53,329.49L429.94,327.22L429.44,325.6L429.42,324.92L430.2,323.46L431.19,322.83L432.65,322.55L434.24,322.68L435.96,323.21L437.13,324.18L437.77,325.58L438.51,326.38L439.37,326.59L440.71,325.81L442.16,323.87L442.52,323.79L444.44,314.41L446.17,305.87L451.63,306.97L457.09,308.04L462.55,309.09L468.02,310.13L473.49,311.15L478.97,312.15L484.44,313.13L489.92,314.09L495.41,315.03L500.9,315.95L506.39,316.86L511.88,317.74L517.38,318.61L522.88,319.46L528.38,320.29z"
34441
+ },
34442
+ {
34443
+ id: "CA",
34444
+ name: "California",
34445
+ path: "M371.75,174.28l-1.09,4.03l-1.09,4.03l-1.09,4.03l-1.09,4.03l-1.09,4.03l-1.09,4.03l-1.09,4.03l-1.09,4.02l-1.09,4.03l-1.09,4.02l-1.09,4.02l-1.09,4.02l-1.09,4.02l-1.09,4.02l-1.09,4.02l-1.09,4.02l2.98,4.56l3,4.56l3.02,4.56l3.05,4.55l3.07,4.54l3.09,4.54l3.11,4.53l3.13,4.53l2.41,3.75l2.42,3.75l2.44,3.75l2.45,3.74l2.46,3.74l2.48,3.74l2.49,3.73l2.5,3.73l3.46,5.32l3.48,5.31l3.51,5.3l3.53,5.3l3.56,5.29l3.59,5.28l3.62,5.28l3.9,5.63l-0.39,1.82l0.45,2.66l1.95,5.06l0.13,1.14l0.03,0.03l-0.12,1.14l0.89,1.45l2.36,2.25l0.44,0.95l-0.01,0.07l-0.13,0.6l-0.83,0.59l-3.5,1.82l-2.02,1.65l-2.31,2.87l-0.28,2.66l-0.52,2.14l-0.76,1.62l-0.95,1.44l-1.15,1.26l-1.07,0.67l-0.98,0.09l-0.72,1.83l-0.46,3.58l0.59,2.36l1.64,1.14l0.86,1.39l0.08,1.64l-0.47,1.5l-1.03,1.37l-1.39,0.58l-2.61,-0.31l0,0l-0.11,0.19l-2.16,-0.21l-5.38,-0.65l-5.39,-0.67l-5.38,-0.69l-5.38,-0.7l-5.38,-0.72l-5.38,-0.74l-5.38,-0.76l-5.38,-0.77l-0.01,-0.15l0.44,-2.41l-0.65,-1.04l-1.22,0.26l0.24,-3.21l0.62,-1.39l0.21,-1.45l-0.19,-3.74l-1.69,-4.89l-4.56,-6.68l-2.53,-2.49l-1.78,-2.8l-1.32,-0.98l-1.81,-0.63l-0.79,0.87l-1.93,-1.21l0.94,-2.39l-1.17,-3.95l-1.57,-0.8l-4.25,-0.84l-5.11,-3.34l-1.36,-1.55l-0.04,-2.16l-2.15,-2.43l-2.98,-2.62l-2.02,-0.11l-2.43,-0.93l-3.22,-2.19l-2.03,-0.72l-4.14,-0.74l-1.44,-0.67l-0.97,-1.94l-1.29,-1.19l0.85,-1.82l0.29,-1.78l0.6,-1.28l0.15,-3.13l1.28,-2.58l-0.18,-1.11l-0.63,-0.99l-2.33,-1.86l-0.09,-1.53l0.98,-1.82l-0.33,-1.47l-1.82,-1.8l-1.25,-3.28l-2.13,-2.21l-0.34,-2.78l-1.13,-1.98l-0.15,-1.51l-2.06,-5.84l-2.58,-4.85l0.07,-2.34l0.73,-3.02l1.97,-1.4l1.24,-1.37l0.35,-1.49l0.09,-1.14l-0.71,-2.24l-4.53,-2.54L303,265.5l0.82,-3.6l-0.46,-4.07l0.68,-2.35l0.53,-2.61l1.33,-0.21l0.98,0.51l-0.41,0.98l-0.19,1.92l0.81,1.73l0.99,0.94l0.67,1.64l0.68,0.64l0.8,0.34l-0.19,-0.98l-0.31,-0.68l-0.05,-1.93l-0.42,-2.57l-0.88,-1.61l0.04,-2.45l-0.38,-0.69l-0.09,-0.94l1.5,-0.64l1.85,-0.22l2.25,0.46l6.14,2.16l1.5,-0.19l1.04,0.51l0.83,0.16l-1.52,-1.09l-1.01,-0.08l-1.08,-0.45l-2.26,-0.53l-0.83,-0.52l-0.78,-1l-0.63,-0.26l-2.42,0.63l-0.87,-0.42l-1.77,-1.99l-0.89,-0.47l-1.75,0.31l-1.18,3.25l-0.27,2.6l-0.99,-0.02l-0.76,-1.33l-1.45,-1.09l-1.06,-1.33l-1.37,-2.29l-0.8,-0.93l-1.56,1.08l0.16,-0.66l1.06,-1.48l0.69,-2.82l1.02,2.73l-0.05,-1.72l-0.79,-2.11l-0.82,-0.9l-0.31,-3.45l-2.24,-2.71l-1.33,-3.67l-3.05,-6.35l1.05,-4.41l0.06,-5.98l1.68,-2.88l0.6,-2.23l0.24,-3.58l-0.27,-2.07l-2.08,-6.11l-2.43,-4.46l0.29,-2.69l0.58,-2.62l1.49,-2.02l1.42,-2.17l0.68,-0.48l0.1,0.32l-0.3,0.47l0.44,0.31l0.52,-0.99l0.47,-0.45l-0.5,-0.24l0.16,-0.32l0.52,-0.56l2.08,-2.78l1.15,-3.98l2.69,-4.47l0.46,-1.61l0.37,-3.67l-0.06,-2.29l-0.82,-1.88l1.25,-1.95l0.61,-2.05l-0.15,-0.43l4.31,1.38l4.17,1.32l4.18,1.31l4.18,1.3l4.19,1.28l4.19,1.27l4.19,1.26l4.2,1.25l4.2,1.23l4.2,1.22l4.21,1.21l4.21,1.2l4.21,1.19l4.22,1.17l4.22,1.16L371.75,174.28zM327.88,344.91l3.35,2.08l2.11,0l0.21,0.63l-0.36,0.4l-4.66,-0.35l-1.21,-0.95l0.09,-0.83l-0.25,-0.89L327.88,344.91zM319.97,344.03l-0.97,-0.2l-1.4,-0.63l0.65,-0.36l0.91,-0.14l0.18,0.34L319.97,344.03zM324.06,347.59l-1.34,-0.04l-0.88,-0.55l-0.96,-2.47l3.3,0.61l1.15,1.27l0.12,0.3L324.06,347.59zM351.66,367.08l0.52,1.82l-1.27,-0.53l-1.4,-0.26l-0.2,-0.97l-0.11,-1.31l-0.2,-0.38l-0.92,-0.35l-0.04,-0.13l0.04,-0.61l0.34,-0.21l2.62,2.09L351.66,367.08zM330.94,365.63l-0.82,-0.17l-1.06,-0.49l-0.26,-1.31l0.93,0.16l0.8,0.38l0.43,1.09L330.94,365.63zM348.58,379.15l-1.11,-0.07l-1.07,-0.74l-0.49,-2.35l-0.7,-1.92l0.72,-0.31l0.51,1.8l1.67,2.96L348.58,379.15z"
34446
+ },
34447
+ {
34448
+ id: "CO",
34449
+ name: "Colorado",
34450
+ path: "M662.79,267.67L662.52,271.83L662.26,275.99L661.99,280.15L661.73,284.31L661.47,288.47L661.21,292.63L660.94,296.79L660.68,300.95L660.42,305.11L660.15,309.27L659.89,313.42L659.63,317.58L659.36,321.74L659.1,325.9L658.84,330.06L658.58,334.22L654.18,333.92L649.79,333.62L645.4,333.29L641,332.96L634.29,332.43L627.58,331.87L620.86,331.28L614.16,330.67L607.45,330.02L600.75,329.35L594.04,328.65L587.35,327.92L580.65,327.17L573.96,326.38L567.27,325.57L560.59,324.73L553.91,323.87L547.23,322.97L540.56,322.05L533.89,321.1L534.68,315.6L535.48,310.1L536.27,304.6L537.07,299.1L537.86,293.6L538.66,288.1L539.45,282.6L540.25,277.11L541.04,271.61L541.84,266.11L542.63,260.61L543.43,255.11L544.22,249.61L545.02,244.11L545.81,238.61L546.61,233.1L551.85,233.85L557.09,234.58L562.33,235.29L567.58,235.99L572.83,236.66L578.08,237.32L583.33,237.96L588.59,238.58L593.85,239.18L599.11,239.77L604.37,240.34L609.63,240.88L614.9,241.41L620.17,241.93L625.43,242.42L630.7,242.9L634.89,243.26L639.09,243.61L643.28,243.96L647.47,244.29L651.66,244.61L655.86,244.92L660.05,245.21L664.25,245.5L664.07,248.27L663.88,251.04L663.7,253.82L663.52,256.59L663.33,259.36L663.15,262.13L662.97,264.9z"
34451
+ },
34452
+ {
34453
+ id: "CT",
34454
+ name: "Connecticut",
34455
+ path: "M1162.77,173.18L1163.09,174.33L1163.54,175.94L1163.87,177.11L1164.33,178.72L1164.84,180.55L1165.32,182.24L1165.73,183.72L1165.92,184.61L1166.2,185.97L1165.93,186.6L1166.06,187.88L1164.61,188.15L1162.37,189.1L1159.46,190.67L1157.63,190.69L1156.08,191.94L1150.17,193.72L1148.8,193.63L1147.57,195.53L1145.22,197.07L1139.53,202.05L1138.91,202.89L1137.73,201.74L1136.79,200.84L1137.91,199.67L1138.76,198.77L1139.55,197.93L1140.07,197.39L1139.36,196.68L1138.66,195.98L1138.27,193.9L1137.89,191.81L1137.5,189.73L1137.11,187.65L1136.72,185.57L1136.34,183.49L1135.95,181.41L1135.56,179.32L1136.92,179.04L1138.29,178.75L1139.66,178.47L1141.03,178.18L1142.39,177.89L1143.76,177.59L1145.13,177.3L1146.49,177.01L1146.66,177.56L1147.33,177.31L1147.3,176.8L1149.22,176.33L1151.15,175.85L1153.08,175.37L1155,174.89L1156.92,174.41L1158.85,173.92L1160.77,173.44L1162.69,172.95z"
34456
+ },
34457
+ {
34458
+ id: "DC",
34459
+ name: "District of Columbia",
34460
+ path: "M1092.78,261.54L1092.27,261.05L1091.35,260.78L1090.97,260.69L1092.02,258.91L1093.2,260.01L1094.47,261.2L1093.34,263.3z"
34461
+ },
34462
+ {
34463
+ id: "DE",
34464
+ name: "Delaware",
34465
+ path: "M1115.45,235.44L1114.9,236.36L1114.58,237.88L1113.53,239.87L1113.89,240.96L1114.31,241.69L1114.57,243.36L1115.85,244.76L1118.26,246.98L1119.54,250.98L1121.55,253.4L1124.42,256.09L1126.26,256.61L1126.62,257.78L1126.32,259.91L1125.53,261.04L1126.79,260.56L1127.54,260.85L1128.55,262.34L1128.76,263.38L1126.94,263.82L1123.17,264.69L1119.4,265.56L1117.68,265.95L1117.64,265.96L1117.6,265.97L1117.56,265.98L1117.52,265.98L1117.48,265.99L1117.44,266L1117.4,266.01L1117.37,266.02L1116.42,262.62L1115.48,259.23L1114.53,255.83L1113.59,252.44L1112.65,249.04L1111.71,245.64L1110.77,242.25L1109.83,238.85L1110.7,236.82L1111.12,236.17L1111.76,235.74L1113.82,235.18z"
34466
+ },
34467
+ {
34468
+ id: "FL",
34469
+ name: "Florida",
34470
+ path: "M1045.28,455.26l1.22,1.86l2.7,7.99l1.4,2.7l2.95,7.43l4.04,7.01l5.48,8.37l8.43,9.85l1.06,1.43l-0.63,1.47l-0.03,1.42l0.28,2.08l0.59,1.98l1.21,2.33l2.16,3.51l-0.97,-0.61l-3.11,-5.04l-0.8,-3.13l-0.46,-4.56l-0.49,0.2l-0.16,1.53l0.07,1.76l-0.44,0.76l-1.2,-2.5l-0.15,-1.19l0.56,-1.52l-0.32,-0.46l-1.41,-0.49l-0.46,-1.07l-0.01,-1.13l-0.84,-0.46l-0.57,0.13l0.84,2.65l0.89,1.56l1.43,3.87l1.64,2.21l1.06,1.91l12.16,20.24l2.49,2.41l1.09,1.86l1.51,4.02l1.12,5.31l0.33,10.02l0.86,6.73l-0.24,-0.17l-0.26,-0.68l-0.34,-0.04l-0.68,3.27l-1.18,3.05l0.2,4.39l-0.42,2.29l-2.01,2.69l-1.5,0.2l-3.37,2.33l-2.65,-0.01l-2.9,1.48l-2.04,0.23l-1.5,-1.84l0.03,-0.94l0.31,-0.99l0.75,-0.34l3.06,1.68l0.36,-0.98l-1,-0.93l-1.66,-0.33l-1.26,-0.46l-3.12,-4.48l-2.95,-2.94l-0.76,-2.16l-4.35,-0.69l-3.32,-1.58l-2.52,-3.35l-2.13,-6.31l-1.42,-0.52l-0.63,-0.42l0.9,-2.6l1.03,-2.22l-0.99,0.67l-0.67,0.87l-0.72,1.94l-0.69,0.39l-0.71,-0.17l-1.3,-3.29l-0.43,-4.23l0.83,-1.73l-1.66,0.21l-1.62,0.86l0.47,1.36l-0.12,0.81l-1.28,-0.01l-1.02,-0.35l-1.51,-1.26l-2.17,-2.51l-4.72,-7.11l-0.86,-0.98l-1.35,-0.95l0.51,-0.43l0.98,-0.36l1.78,-3.78l1.48,-2.35l0.38,-1.52l-0.2,-0.6l-0.93,-0.77l-0.92,0.94l-0.48,-0.16l-1.44,-1.63l-1.19,-0.34l-0.72,0.5l1.04,1.35l0.82,0.44l0.03,2.19l-0.2,0.74l-0.6,0.72l-1.13,-0.17l-0.47,0.61l-0.73,-0.47l-0.78,-0.85l-0.94,-1.45l0.6,-9.01l0.92,-5.81l-0.74,-6.36l-0.01,-0.96l-0.4,-1.66l-2.85,-3.32l-11.46,-7.45l-9.32,-9.47l-7.31,-3.05l-5.03,1.54l-0.79,0.91l-0.25,1.09l0.48,1.14l-0.41,0.55l-1.39,0.12l-1.83,0.51l-4.52,3.39l-1.73,0.11l-1.47,0.91l-1.11,0.68l-3.02,0.66l-2.52,0.93l-1.16,-0.2l-0.92,-1.53l-0.2,-1.67l0.74,1.21l1.03,0.89l0.37,-0.45l0.05,-0.91l-1.11,-1.63l-3.19,-1.89l-3.71,-2.88l1.03,-0.01l0.18,-0.73l-1.14,-0.8l0.31,-1.11l0.6,-1.2l-1.38,0.33l-1.17,0.92l0.07,0.97l-0.16,0.79l-0.69,-0.04l-1.36,-0.8l-6.48,-1.95l-5.56,-0.91l4.07,-1.11l2.3,0.28l-0.36,-0.77l-0.6,-0.45l-1.84,-0.45l-2.23,0.49l-1.46,-0.15l-1.39,0.79l-1.5,1.11l-1.37,0.63l-5.5,1.25l-4.45,1.19l0.65,-0.85l0.72,-0.58l2.59,-1.03l0.24,-1.63l-0.78,-1.46l-0.66,0.44l-0.62,1.27l-0.99,-0.77l-1,0.1l-0.09,1.93l-1.16,1.4l-0.46,1.34l-3.68,1.36l-0.52,-0.29l0.99,-1.32l-0.15,-0.67l-0.76,0.44l0.11,-0.78l0.62,-0.75l0.22,-0.82l-0.23,-1.51l0.29,-2.18l-0.32,-0.65l-3.05,-2.51l-0.81,-1.39l-0.27,-1.52l0.12,-1.62l6.21,-0.59l6.21,-0.61l6.21,-0.63l6.21,-0.66l6.21,-0.68l6.2,-0.7l6.2,-0.72l6.18,-0.75l1,1.66l1.97,3.45l0.16,0.84l1.82,-0.09l3.09,-0.17l3.09,-0.18l3.09,-0.19l3.09,-0.19l3.09,-0.2l3.09,-0.2l3.09,-0.21l3.09,-0.21l3.09,-0.22l3.09,-0.22l3.09,-0.23l3.09,-0.24l3.09,-0.24l3.09,-0.25l3.09,-0.25l3.09,-0.26l0.13,0.73l0.68,1.07l0.33,1.29l0.33,0.59l0.67,0.3l0.98,-0.05l0.86,-0.89l0.36,-1.72l-0.13,-1.84l-0.69,-2.01l-0.21,-1.75l0.32,-1.1l0.53,-0.34l0.41,-0.63l0.39,-0.18l1.1,0.13l4.19,0.84L1045.28,455.26zM982.99,488.77l-1.86,1.04l-2.19,-0.33l1.3,-0.27l0.98,0.12l2.27,-1.44l1.15,-1.02l1.42,-0.51L982.99,488.77zM1083.9,527.61l0.61,1.58l-2.5,-3.49l-3.3,-5.58l-2,-4.4l1.03,1.1l1.25,2.44L1083.9,527.61zM1048.56,550.12l0.17,1.32l-1.36,-2.05l-1.05,-2.33l1.09,0.64L1048.56,550.12zM1049.84,552.19l-0.63,0.7l-1.52,-0.21l-0.91,-0.65l-0.57,-1.45l1.51,1.4l0.51,0.29L1049.84,552.19zM1088.32,576.1l-3.34,4.93l0.27,-1.14l1.2,-2.54l0.33,-1.15l0.95,-0.86l0.79,-1.39l-0.17,-1.43l1.27,-1.25l0.45,-0.23L1088.32,576.1zM1083.99,582.38l-0.53,0.2l0.65,-1.1l0.24,0.03L1083.99,582.38zM1080.44,585.29l-0.39,0.06l0.14,-0.35l0.7,-0.78l0.33,0.2l0.02,0.33L1080.44,585.29zM1076.35,587.99l-0.85,0.69l-1.04,-0.23l0.98,-0.71l3.09,-1.1l-1.08,0.91L1076.35,587.99zM1070.61,590.46l-0.54,0.56l-0.32,-0.09l-0.11,-0.68l-1.12,-1.35l-0.03,-0.4l2.25,1.14l0.12,0.39L1070.61,590.46zM1066.01,592.38l-1.3,0.44l0.94,-1.06l0.13,-1.41l0.8,0.95l0.09,0.64L1066.01,592.38zM1061.73,594.34l-0.52,0.13l-0.1,-0.34l0.84,-0.57l0.6,-0.06l0.05,0.48L1061.73,594.34z"
34471
+ },
34472
+ {
34473
+ id: "GA",
34474
+ name: "Georgia",
34475
+ path: "M1052.54,424.61l-0.65,2.03l-2.1,1.55l-0.71,0.07l-0.52,0.44l0.47,0.78l0.67,0.51l0.07,0.57l-0.48,0.86l-1.17,0.41l-0.53,0.98l0.35,0.79l0.47,0.39l0.05,0.81l-1.24,1.02l-0.19,0.83l0.72,0.12l0.49,-0.32l0.41,0.1l-0.61,1.44l-0.61,0.92l-0.47,1.55l-1.56,0.66l0.14,0.45l0.99,0.26l0.95,0.98l-1.12,2.27l-0.93,-0.02l-0.63,-0.36l-0.09,1.66l0.28,0.84l-0.06,1.81l-0.22,2.2l-0.24,0.93l0.34,1.6l0.49,1.52l-3.27,0.32l-4.19,-0.84l-1.1,-0.13l-0.39,0.18l-0.41,0.63l-0.53,0.34l-0.32,1.1l0.21,1.75l0.69,2.01l0.13,1.84l-0.36,1.72l-0.86,0.89l-0.98,0.05l-0.67,-0.3l-0.33,-0.59l-0.33,-1.29l-0.68,-1.07l-0.13,-0.73l-3.09,0.26l-3.09,0.25l-3.09,0.25l-3.09,0.24l-3.09,0.24l-3.09,0.23l-3.09,0.22l-3.09,0.22l-3.09,0.21l-3.09,0.21l-3.09,0.2l-3.09,0.2l-3.09,0.19l-3.09,0.19l-3.09,0.18l-3.09,0.17l-1.82,0.09l-0.16,-0.84l-1.97,-3.45l-1,-1.66l-1.46,-2.44l-0.96,-3.9l-0.02,-6.24l-0.4,-1.36l0,0l-1.47,-3.01l-0.26,-2.31l0.68,-3.91l0,-0.01l0.31,-2.21l0.64,-1.31l1.07,-1.14l0.05,-0.89l-0.98,-0.64l-0.44,-0.87l0.1,-1.1l-1.09,-2.5l-3.4,-5.85l-0.62,-2.04l-0.62,-1.23l-0.83,-2.77l-0.83,-2.77l-0.83,-2.77l-0.83,-2.77l-0.83,-2.77l-0.82,-2.77l-0.82,-2.77l-0.82,-2.77l-0.82,-2.77l-0.82,-2.77l-0.81,-2.77l-0.81,-2.77l-0.81,-2.77l-0.81,-2.77l-0.81,-2.77l-0.81,-2.77l5.92,-0.62l5.92,-0.64l5.91,-0.66l5.91,-0.68l5.49,-0.79l5.48,-0.81l5.48,-0.83l5.48,-0.85l-0.11,0.04l-0.68,1.62l-2.26,3.18l-0.41,2.25l3.78,1.91l0.01,0.02l2.34,1.64l1.52,0.56l1.47,0.02l0.99,0.51l0.76,1.48l0,0l5.33,7.07l0,0l4.96,3.31l2.05,1.68l1.18,1.75l4.22,2.52l1.54,1.47l0.26,1.25l0.59,0.83l0.91,0.4l0.97,1.01l1.03,1.62l1.74,1.27l2.45,0.92l2.11,2.67l1.78,4.41l1.49,2.49l1.8,0.84l2.86,3.54l1.11,2.21l0.3,2.05l1.39,1.41L1052.54,424.61zM1046.05,449.68l0.02,5.53l-0.68,-1.85l-0.33,-1.85l0.47,-1.2L1046.05,449.68z"
34476
+ },
34477
+ {
34478
+ id: "HI",
34479
+ name: "Hawaii",
34480
+ path: "M590.47,592.69l-1.45,-0.14l-0.31,-0.72l-0.93,-0.95l0.01,-0.8l-0.7,-1.32l0.06,-0.94l1.58,-0.55l2.31,0.37l2.33,2.02l-0.12,1.15l-0.41,0.58l-0.82,0.35l-0.86,0.75L590.47,592.69zM581.2,586.6l-0.63,0.31l-0.29,-0.38l0.28,-0.52l0.75,-0.4l1.04,-0.01l1.33,-0.23l0.44,0.58l-0.73,0.27l-0.51,0.53l-1.03,-0.33L581.2,586.6zM602.65,611.73l0.31,0.36l0.53,0.3l-0.57,1.04l0.14,0.95l-0.04,0.46l-0.85,-0.16l-1.26,-0.8l-0.33,-0.69l-0.1,-1.02l-0.73,-0.33l0.26,-0.54l0,-0.22l-0.51,-0.21l-0.09,0.9l-1.08,-0.81l-0.27,-0.34l0.25,-0.9l-0.04,-2.15l0.41,-0.49l0.12,-0.89l1.73,1.13l1.94,-0.15l0.7,0.39l-0.18,2.64l-0.41,0.45l-0.11,0.67L602.65,611.73zM606.71,619.52l2.02,2.13l0.64,0.29l0.17,0.56l1.76,1.65l0.25,0.35l-0.85,0.29l-1.64,-0.41l-1.36,-1.85l-2.77,-2.48l0.48,-0.36l0.53,-0.1l0.49,-0.53L606.71,619.52zM611.98,628.99l0.12,0.43l1.4,0.6l0.92,0.54l0.81,1.86l0.08,0.9l0.49,1.28l0,0.65l-0.64,0.29l-1.65,0.02l-1.54,-0.9l-1.09,-0.3l-1.02,-0.92l-0.21,-0.4l0.69,-1.11l0.52,-1.36l-0.79,-0.42l-0.49,-0.98l-0.08,-1.55l0.35,-0.62l1.13,-0.52l0.86,0.5l0.2,0.93L611.98,628.99zM606.59,627.73l-0.9,-0.18l-0.58,-0.71l0.46,-0.91l0.12,-1.53l1.34,0.73l0.43,0.81l0.1,0.59l0,0.87L606.59,627.73zM604.57,659.11l-0.93,0.18l-0.58,-0.52l-1.31,-2.94l0.23,-0.86l2.49,-2.88l1.06,-3.08l0.53,-2.57l1.41,-0.44l1.45,-0.05l2.06,-0.64l0.58,-2.4l1.04,-0.92l0.61,0.18l1.3,3.09l3.17,5.57l0.19,2.35l-0.91,1.67l0.71,0.84l-0.37,1.34l0.56,1.84l0.03,0.83l-1.14,0.44l-3.48,-0.13l-3.39,-1.49l-3.88,-0.16L604.57,659.11z"
34481
+ },
34482
+ {
34483
+ id: "IA",
34484
+ name: "Iowa",
34485
+ path: "M853.82,212.6L854.91,214.06L856.72,215.33L857.78,216.55L858.1,217.72L859.23,218.93L861.19,220.16L862.35,221.29L862.72,222.3L862.77,223.91L862.51,226.11L861.93,227.72L861.02,228.74L860.39,230.13L860.02,231.88L858.63,233.56L856.22,235.17L853.48,236.34L850.42,237.05L848.66,238.4L848.2,240.41L848.55,242.05L849.72,243.32L850.43,244.69L850.67,246.17L850.03,248.68L848.5,252.21L846.71,254.54L844.67,255.66L843.81,257.2L844.14,259.17L844.02,260.3L843.17,260.73L841.62,259.63L841.32,258.83L840.07,258.05L839.86,257.53L838.91,257.1L838,255.53L833.73,255.75L829.46,255.97L825.19,256.17L820.92,256.36L816.65,256.54L812.38,256.71L808.11,256.87L803.84,257.01L799.56,257.14L795.29,257.26L791.02,257.37L786.74,257.47L782.47,257.55L778.19,257.62L773.92,257.68L769.69,257.72L768.65,256.07L768.09,254.54L768.44,253.82L768.51,251.33L768.29,247.09L767.88,244.7L767.27,244.16L767.2,243.42L767.66,242.48L767.52,241.84L766.78,241.51L766.55,240.7L766.83,239.41L766.65,238.62L766.01,238.34L765.75,237.89L765.86,237.3L765.51,236.91L764.72,236.73L764.41,235.28L764.56,232.54L764.26,230.6L763.52,229.46L763.15,228.39L763.14,227.39L762.36,225.81L760.81,223.66L759.81,220.82L759.37,217.31L758.27,215.34L757.78,215.22L757.37,213.38L756.92,212.56L756.85,211.93L755.49,210.34L755.41,209.73L755.59,208.96L756.48,207.47L757.3,205.01L757.5,203.36L758.15,202.12L758.17,201.43L758.07,200.53L757.71,199.74L756.65,199.15L756.52,198.91L756.42,198L756.87,197.43L757,196.78L756.89,195.99L756.26,194.62L755.98,193.22L758.34,193.15L763.62,193.17L768.9,193.17L774.18,193.14L779.46,193.1L784.74,193.04L790.02,192.96L795.3,192.87L800.58,192.75L805.86,192.61L811.14,192.46L816.42,192.29L821.7,192.09L826.97,191.88L832.25,191.65L837.52,191.41L842.88,191.12L843.06,192.5L843.43,193.49L844.13,194.26L845.16,194.83L845.39,196L844.82,197.78L844.71,199.96L845.07,202.53L845.69,204.83L846.59,206.87L848.47,208.28L851.33,209.09L853.08,210.48L853.7,212.44z"
34486
+ },
34487
+ {
34488
+ id: "ID",
34489
+ name: "Idaho",
34490
+ path: "M526.08,151.01L525.51,154.45L524.93,157.89L524.36,161.32L523.79,164.76L523.21,168.2L522.64,171.63L522.07,175.07L521.49,178.51L520.92,181.94L520.35,185.37L519.77,188.8L519.2,192.23L518.63,195.67L518.06,199.1L517.49,202.52L516.91,205.96L513.85,205.44L510.79,204.92L507.73,204.39L504.67,203.86L501.61,203.31L498.55,202.77L495.5,202.21L492.44,201.65L489.39,201.09L486.34,200.52L483.29,199.94L480.24,199.35L477.19,198.76L474.14,198.17L471.09,197.56L468.05,196.95L462,195.72L455.95,194.47L449.91,193.19L443.88,191.89L437.85,190.56L431.82,189.21L425.81,187.83L419.79,186.43L420.93,181.59L422.06,176.75L423.19,171.91L424.32,167.07L425.46,162.22L426.59,157.38L427.73,152.53L428.97,147.2L429,147.09L430.75,144.04L431.34,142.5L431.29,141.53L431.67,140.71L432.47,140.01L432.66,139.09L432.26,137.95L431.23,137.01L429.57,136.28L428.95,134.91L429.36,132.88L431.38,130.1L435,126.55L437.14,123.93L437.79,122.26L440.3,118.62L444.65,113.02L446.68,109.25L446.41,107.33L445.34,105.3L443.45,103.17L442.3,100.93L442.1,99.88L441.87,98.59L441.95,97.03L442.54,96.26L442.58,94.69L442.06,92.32L441.97,90.76L442.19,90.28L442.35,90.1L443.16,86.59L443.97,83.09L444.79,79.58L445.6,76.07L446.41,72.56L447.23,69.05L448.04,65.53L448.86,62.01L449.68,58.5L450.49,54.98L451.31,51.46L452.13,47.93L452.94,44.41L453.76,40.88L454.58,37.35L455.38,33.84L460.05,34.93L466.24,36.35L469.75,37.14L468.53,42.58L467.31,48.03L466.08,53.48L464.86,58.92L465.96,61.48L466.83,63.1L467.26,64.73L468.07,66.52L468.18,67.11L468.22,68.85L467.66,69.97L468.01,71.31L467.77,71.89L467.24,72.09L467.12,72.17L467.11,72.29L467.23,72.53L468.6,74.04L469.86,76L471.66,77.56L472.16,78.35L474.16,82.16L475.12,84.51L476.28,86.32L476.65,88.19L477.86,90.01L478.08,90.85L478.16,91.04L478.35,91.1L479.37,90.94L479.6,91.09L479.94,91.78L479.85,92.7L480.12,93.15L480.66,93.49L481.31,93.69L483.49,93.68L483.94,93.77L484.12,94L484.12,94.5L483.93,95.29L483.5,96.36L482.64,97.35L482.53,98.4L481.54,100.71L480.74,102.21L480.38,103.77L479.6,104.55L479.71,105.68L479.15,107.27L479.27,107.73L479.86,108.64L479.75,110.7L479.54,111.04L478.04,111.54L477.47,111.97L477.15,112.66L477.3,114.89L476.49,115.93L476.21,116.92L476.29,117.2L477.42,117.99L478.69,119.49L479.12,119.84L479.46,119.87L480.18,119.6L481.05,118.94L482.66,118.42L484.71,117.02L484.89,116.55L485.08,116.31L485.3,116.37L485.79,116.71L486.66,117.98L487.47,118.75L487.6,118.91L487.63,119.22L487.38,120.26L487.73,121.19L487.62,122.57L487.88,124.03L487.94,125.74L488.93,128.12L489.4,129.77L490.1,130.62L490.45,131.52L490.64,132.55L490.63,133.35L489.87,134.66L489.89,135.27L490.21,136L491.39,137.74L491.65,137.91L493.03,138.01L493.72,138.4L494.31,139.26L494.84,140.51L495.11,141.7L494.99,143.04L495.47,144.64L495.33,145.95L495.69,146.6L496.48,147.55L497.28,148.18L497.63,148.28L497.92,148.13L498.13,147.43L498.6,146.95L499.86,146.4L500.92,146.61L504.82,147.99L505.11,148L505.33,147.82L506.23,146.77L506.86,146.41L507.73,146.42L510.15,147.15L513.05,147.49L514.48,148.09L516.73,148.03L519.18,148.79L519.54,148.65L519.66,148.43L519.51,147.95L519.62,147.07L520.3,146.12L520.63,145.27L521.22,144.86L521.95,144.7L522.49,144.83L522.94,145.39L523.41,146.28L524.12,148.6L524.56,149.46L525.14,150.25z"
34491
+ },
34492
+ {
34493
+ id: "IL",
34494
+ name: "Illinois",
34495
+ path: "M900.5,209.48L900.8,212.94L901.31,215.79L901.93,217.02L902.58,217.91L903.27,218.45L904.16,220.25L905.26,223.31L906.2,225.3L906.87,226.09L907.4,232.01L908,238.65L908.59,245.29L909.19,251.93L909.79,258.57L910.38,265.2L910.98,271.84L911.54,278.11L911.54,278.21L910.81,278.96L910.37,280.18L910.63,281.43L910.51,282.36L910,282.95L910.39,284.3L911.69,286.4L912.55,288.51L912.97,290.64L912.91,292.2L912.1,293.68L911.47,296.79L910.81,298.07L909.89,298.56L909.15,299.76L908.56,301.68L907.84,302.64L907,302.66L906.4,303.06L906.06,303.83L906.18,304.59L906.76,305.35L906.66,306.11L905.88,306.87L905.92,307.2L906.2,307.38L906.13,307.72L905.63,308.09L905.4,309.15L905.58,310.84L905.37,311.71L904.81,311.8L904.78,312.27L905.88,314.11L905.37,314.56L904.52,316.22L904.47,317.99L905.22,319.85L903.89,321.52L900.48,323L898.7,324.19L898.57,325.11L898.93,326.47L899.78,328.26L900.01,329.52L899.62,330.27L897.06,330L892.33,328.69L889.26,328.99L887.83,330.89L887.39,332.28L887.66,333.37L886.3,332.12L885.42,331.58L885.26,331.64L885.09,331.81L885.05,332.23L885.11,332.53L885.27,332.86L885.21,333.09L885.02,333.12L884.08,332.66L882.87,331.26L881.39,328.91L880.97,326.98L881.59,325.49L881.48,323.97L880.64,322.43L880.17,320.9L880.06,319.38L878.14,317.23L874.42,314.44L871.72,312.74L870.02,312.14L868,310.74L865.65,308.56L864.37,306.85L864.15,305.63L864.95,302.28L867.38,294.94L867.65,294.08L867.72,293.76L867.57,293.46L867.28,293.18L866.01,292.42L863.64,291.85L861.47,291.58L859.81,292.54L858.21,290.9L856.68,286.66L853.28,282.29L848.02,277.77L844.96,274.67L844.07,272.99L843.24,270.45L842.47,267.04L842.36,264.19L843.17,260.73L844.02,260.3L844.14,259.17L843.81,257.2L844.67,255.66L846.71,254.54L848.5,252.21L850.03,248.68L850.67,246.17L850.43,244.69L849.72,243.32L848.55,242.05L848.2,240.41L848.66,238.4L850.42,237.05L853.48,236.34L856.22,235.17L858.63,233.56L860.02,231.88L860.39,230.13L861.02,228.74L861.93,227.72L862.51,226.11L862.77,223.91L862.72,222.3L862.35,221.29L861.19,220.16L859.23,218.93L858.1,217.72L857.78,216.55L856.72,215.33L854.91,214.06L853.82,212.6L861.38,212.2L868.79,211.76L876.19,211.29L883.6,210.78L891,210.23L898.4,209.65z"
34496
+ },
34497
+ {
34498
+ id: "IN",
34499
+ name: "Indiana",
34500
+ path: "M952.11,221.76L952.94,228.96L953.78,236.15L954.61,243.34L955.44,250.52L956.27,257.71L957.1,264.9L957.93,272.08L958.81,279.4L958.56,279.64L958.28,280.64L958.83,281.55L958.91,282.33L958.51,282.99L958.73,283.42L959.58,283.62L959.97,284.27L959.91,285.37L958.31,286.68L955.13,288.32L954.46,288.77L953.88,288.99L953.59,288.95L953.59,288.95L953.13,288.77L952.46,288.34L951.39,288.24L949.71,288.6L949.15,289.71L949.71,291.58L949.3,293.12L947.9,294.31L946.97,295.79L946.5,297.53L945.58,298.66L944.19,299.18L943.21,300.86L942.63,303.7L941.85,305.51L940.87,306.28L939.42,306.27L937.49,305.48L936.33,304.58L935.93,303.56L935.32,302.87L934.79,302.59L934.46,302.62L934.46,302.78L934.62,303.06L934.48,303.39L933.37,303.62L932.93,304.1L933.16,304.84L932.97,305.4L932.35,305.79L932.08,306.54L932.16,307.68L931.8,308.76L931.01,309.79L929.69,309.6L927.82,308.21L926.06,308.03L924.38,309.05L923.19,310.32L922.46,311.84L921.67,312.28L920.36,311.3L917.36,310.06L915.84,309.87L914.8,310.34L914.03,310.25L913.74,309.85L913.52,309.7L913.33,309.92L913.43,311.25L913.25,312.11L912.79,312.5L912.4,312.26L912.05,311.38L911.41,311.15L910.47,311.55L909.48,311.5L908.57,311.04L908.27,311.13L908.05,311.4L908.21,312.43L908.1,313.27L907.7,313.84L907.07,314.02L906.21,313.82L905.88,314.11L904.78,312.27L904.81,311.8L905.37,311.71L905.58,310.84L905.4,309.15L905.63,308.09L906.13,307.72L906.2,307.38L905.92,307.2L905.88,306.87L906.66,306.11L906.76,305.35L906.18,304.59L906.06,303.83L906.4,303.06L907,302.66L907.84,302.64L908.56,301.68L909.15,299.76L909.89,298.56L910.81,298.07L911.47,296.79L912.1,293.68L912.91,292.2L912.97,290.64L912.55,288.51L911.69,286.4L910.39,284.3L910,282.95L910.51,282.36L910.63,281.43L910.37,280.18L910.81,278.96L911.54,278.21L911.54,278.11L910.98,271.84L910.38,265.2L909.79,258.57L909.19,251.93L908.59,245.29L908,238.65L907.4,232.01L906.87,226.09L906.99,226.24L907.67,226.74L908.2,227.02L908.57,227.03L908.82,227.5L909.79,227.71L911.51,227.67L913.06,227.32L914.44,226.67L917.73,224.3L921.83,223.89L926.85,223.36L931.88,222.82L936.9,222.26L941.92,221.68L946.93,221.09L951.95,220.48z"
34501
+ },
34502
+ {
34503
+ id: "KS",
34504
+ name: "Kansas",
34505
+ path: "M790.34,337.58L786.22,337.64L782.1,337.68L777.98,337.72L773.86,337.75L769.74,337.76L765.62,337.77L761.5,337.76L757.38,337.75L753.26,337.72L749.14,337.68L745.02,337.63L740.9,337.58L736.78,337.51L732.67,337.43L728.55,337.34L724.43,337.24L720.31,337.13L716.19,337.01L712.07,336.88L707.95,336.74L703.84,336.59L699.72,336.42L695.6,336.25L691.49,336.07L687.37,335.87L683.26,335.67L679.14,335.45L675.03,335.23L670.91,334.99L666.8,334.75L662.69,334.49L658.58,334.22L658.84,330.06L659.1,325.9L659.36,321.74L659.63,317.58L659.89,313.42L660.15,309.27L660.42,305.11L660.68,300.95L660.94,296.79L661.21,292.63L661.47,288.47L661.73,284.31L661.99,280.15L662.26,275.99L662.52,271.83L662.79,267.67L666.36,267.91L669.94,268.13L673.51,268.35L677.09,268.56L680.67,268.76L684.25,268.95L687.83,269.13L691.41,269.31L694.98,269.48L698.56,269.64L702.14,269.79L705.73,269.93L709.31,270.06L712.89,270.19L716.47,270.31L720.05,270.42L723.63,270.52L727.21,270.61L730.79,270.69L734.38,270.77L737.96,270.84L741.54,270.9L745.13,270.95L748.71,270.99L752.29,271.03L755.88,271.06L759.46,271.07L763.04,271.08L766.63,271.09L770.21,271.08L773.79,271.07L776.87,271.04L780.84,273.88L781.88,273.9L783.1,273.44L784.03,274.08L784.68,275.85L784.6,276.75L783.79,276.8L782.79,277.87L781.6,279.98L781.92,281.94L783.76,283.76L784.99,285.59L785.62,287.45L786.84,288.88L789.55,290.39L789.53,291.24L789.58,294.14L789.63,297.04L789.68,299.93L789.73,302.83L789.78,305.72L789.83,308.62L789.88,311.51L789.93,314.41L789.98,317.31L790.04,320.2L790.09,323.1L790.14,325.99L790.19,328.89L790.24,331.79L790.29,334.68z"
34506
+ },
34507
+ {
34508
+ id: "KY",
34509
+ name: "Kentucky",
34510
+ path: "M998.81,288.4l0.49,0.55l0.68,3.23l-0.02,0.66l-0.39,1.42l0.14,0.7l0.67,1.03l2.23,2.28l0.33,0.96l0.88,0.86l0.84,1.35l2.45,2.8l3.48,2.09l2.52,0.3l-5.8,6.35l-2.75,2.39l-2.67,1.99l-0.2,0.3l-0.4,1.81l-1.54,1.77l-0.87,1.76l-2.45,1.72l-1.62,2.1l-4.47,2.46l-2.56,0.99l-1.66,1.29l-0.13,0.07l-0.13,0.07l-0.13,0.07l-0.13,0.07l-0.13,0.07l-0.13,0.07l-0.13,0.07l-0.13,0.07l-6.2,0.61l-6.2,0.59l-6.2,0.56l-6.2,0.54l-6.2,0.52l-6.21,0.49l-6.21,0.47l-6.21,0.44l-5.92,0.73l-5.92,0.7l-5.93,0.68l-5.93,0.66l-0.59,-0.64l-1.58,-0.01l-2.42,-0.03l-0.09,0l0.91,2.21l0.19,1.98l-0.05,0.03l-2.8,0.24l-3.09,0.26l-3.09,0.26l-3.09,0.25l-3.09,0.24l-3.09,0.24l-3.09,0.23l-3.55,0.26l0.8,-2.01l0.79,-0.58l0.36,-0.13l0.93,0.29l0.44,0.09l0.9,-0.76l0.68,-2.06l0.32,-2.15l-0.04,-2.24l-0.7,-1.74l-0.27,-1.08l0.44,-1.39l1.43,-1.9l3.07,-0.3l4.72,1.3l2.56,0.27l0.39,-0.75l-0.23,-1.27l-0.85,-1.79l-0.36,-1.35l0.14,-0.92l1.77,-1.19l3.41,-1.48l1.33,-1.67l-0.75,-1.86l0.05,-1.76l0.84,-1.67l0.51,-0.44l0.33,-0.29l0.85,0.2l0.63,-0.19l0.4,-0.57l0.11,-0.84l-0.16,-1.03l0.22,-0.27l0.31,-0.09l0.91,0.46l0.99,0.05l0.94,-0.41l0.64,0.24l0.34,0.88l0.4,0.24l0.46,-0.4l0.18,-0.86l-0.1,-1.32l0.19,-0.22l0.21,0.16l0.3,0.39l0.77,0.09l1.04,-0.47l1.52,0.18l3,1.24l1.31,0.98l0.8,-0.44l0.72,-1.53l1.2,-1.27l1.67,-1.02l1.76,0.19l1.86,1.39l1.33,0.18l0.79,-1.03l0.36,-1.08l-0.08,-1.13l0.27,-0.76l0.62,-0.38l0.19,-0.56l-0.24,-0.74l0.44,-0.48l1.11,-0.23l0.14,-0.33l-0.16,-0.28l0,-0.15l0.33,-0.03l0.53,0.28l0.62,0.69l0.39,1.02l1.16,0.9l1.93,0.79l1.45,0.01l0.98,-0.77l0.78,-1.81l0.58,-2.84l0.98,-1.68l1.39,-0.52l0.92,-1.13l0.46,-1.75l0.93,-1.47l1.4,-1.2l0.42,-1.53l-0.57,-1.87l0.56,-1.11l1.69,-0.36l1.07,0.1l0.67,0.43l0.46,0.18h0l0.29,0.04l0.58,-0.22l0.67,-0.45l3.18,-1.64l1.6,-1.31l0.06,-1.1l-0.39,-0.65l-0.84,-0.19l-0.22,-0.43l0.4,-0.66l-0.08,-0.79l-0.55,-0.91l0.28,-1l0.24,-0.24l0.87,-0.85l1,-0.21l0.89,0.66l1.16,0.05l1.42,-0.56l1.39,0.09l1.35,0.74l1.38,1.51l1.4,2.27l2.16,1.22l2.91,0.16l2.2,0.67l1.49,1.19l1.13,0.29l1.17,-0.91l1.29,-0.56l1.4,0.26l1.95,0.9l2.62,-0.63l3.27,-2.15l2.07,-0.22l0.88,1.73l1.77,1.68l2.66,1.64L998.81,288.4zM882.52,344.65l-1.25,0.13l-0.07,-0.26l0.04,-0.62l0.08,-0.28l0.25,-0.07l0.29,-0.01l0.45,0.55L882.52,344.65z"
34511
+ },
34512
+ {
34513
+ id: "LA",
34514
+ name: "Louisiana",
34515
+ path: "M891.95,485.19l-1.27,0.69l-7.27,-1.81l-1.89,-1.73l-1.59,-0.29l-1.94,-0.1l-1.93,2.41l-1.39,3.17l2.6,1.53l2.19,0.67l3.49,-0.91l1.85,-1.62l1.6,-0.06l0.74,-0.36l0.64,-0.83l1.4,0.52l0.09,0.61l-0.91,0.93l-1.17,0.81l-0.68,0.91l1.51,1.64l2.23,0.43l0.81,-0.31l0.37,-1.99l1.25,-1.35l1.84,0.14l-0.2,0.81l0.31,0.73l0.93,1.21l0.04,1.83l0.2,0.43l-1.91,0.95l-1.45,0.38l-1.1,1.14l0.66,0.57l-1.16,0.62l-0.83,-0.16l-0.39,0.23l-0.08,0.65l-0.58,0.64l1.03,1.75l1.94,1.05l1.41,1.39l5.41,1.56l1.27,-0.15l1.41,1.87l1.06,0.6l1,0.27l-0.01,1.36l-1.66,1.12l-0.38,1.21l-0.39,0.7l-0.85,-0.78l-0.85,-0.55l-1.73,1.99l-0.87,0.46l0.3,-2.03l-0.76,-0.73l-1.21,-1.92l-1.64,-1.13l-1.12,-0.33l-0.9,-0.72l-1.05,-0.24l-0.87,0.14l-1.51,-0.35l-0.17,-1.06l-0.47,-0.77l-1.22,-0.86l-5.65,-1.41l0.01,0.74l0.42,0.53l0.82,0.32l1,0.65l0.13,2.12l-0.35,0.93l-0.09,1.29l-0.28,1.33l-0.61,1.07l-1.47,0.8l-0.71,-0.54l-1.26,-2.74l-1.58,-0.79l-2.43,0.04l-1.61,0.73l-1.64,2.82l-1.42,0.53l-5.05,-1.13l-5.78,-1.84l0.11,-0.72l0.88,-0.28l1.72,0.2l-0.13,-0.73l-1.87,-2.3l-0.38,-1.06l0.16,-1.33l-0.57,0.06l-0.99,1.16l-3.65,-0.76l-1.05,-1.07l-2.26,-3.06l-2.98,0.04l-1.43,-1.85l-2.39,0.91l-1.19,0.94l-1.02,1.42l0.45,0.7l1.13,1.09l-0.47,0.57l-3.44,0.95l-8.1,-0.59l-2.39,-0.76l-3.22,-1.68l-4.42,-1.31l-2.11,-0.17l-2.05,0.35l-6,0.31l-1.38,0.42l-1.17,0.65l-0.79,-0.67l-0.38,-1.21l0.69,-0.21l0.76,-0.74l0.67,-1.44l0.06,-0.86l-0.5,-0.55l1.25,-2.27l0.3,-0.81l-0.3,-3.81l-0.61,-1.37l0.05,-0.8l0.56,-2.1l-0.14,-1.91l1.01,-2.32l0.75,-1.22l0.82,-2.48l0.16,-1.59l0.34,-1.2l-0.29,-1.27l0.59,-0.94l-0.44,-1.29l-0.17,-1.71l-0.77,-0.64l-1.39,-2.49l0.01,-1.11l-1.45,-2.33l-0.05,-0.81l-1.36,-1.2l-0.28,-0.78l-0.19,-3.27l-0.38,-0.95l-1.18,-1.85l-2.7,-2.67l-0.06,-2.83l-0.06,-2.83l-0.06,-2.83l-0.06,-2.83l-0.06,-2.83l-0.06,-2.83l-0.06,-2.83l-0.06,-2.83l3.38,-0.08l3.38,-0.09l3.38,-0.09l3.38,-0.1l3.38,-0.11l3.38,-0.11l3.38,-0.12l3.38,-0.13l3.38,-0.13l3.38,-0.14l3.38,-0.15l3.38,-0.15l3.38,-0.16l3.38,-0.17l3.37,-0.17l3.68,-0.21l0.17,1.09l0.94,0.6l0.11,1.17l-0.71,1.74l0.07,1.18l0.86,0.62l0,0.71l-0.87,0.79l-0.09,0.81l0.68,0.83l0.34,0.99l0,1.14l0.92,1.44l1.36,0.88l0.92,1.08l0.11,0.61l0.09,0.57l-0.15,0.84l-1.01,1.28l-0.78,0.93l-0.48,0.35l-0.24,0.62l0,1.31l-1.13,1.74l-2.37,2.07l-1.51,2.55l-0.66,3.03l-0.75,1.94l-0.85,0.86l-0.37,1.58l0.11,2.32l-0.51,1.31l-1.13,0.3l-0.18,1.34l0.78,2.38l-0.23,1.02l-0.76,0.83l-0.04,0.62l4.61,-0.21l4.63,-0.24l4.63,-0.25l4.63,-0.26l4.63,-0.28l4.63,-0.29l4.63,-0.3l4.63,-0.31l-0.39,2.61l-1.12,3.57l0.01,0.91l0.43,1.11l0.04,0.64l0.57,0.91l1.18,0.87l1.08,1.36l1.05,2.49l0.31,1.16l0.84,1.59l0.4,0.28l0.54,0.15L891.95,485.19zM897.91,487.2l0.15,1.04l-0.99,-0.45l-1.42,0.06l0.6,-0.4l0.41,-0.38l0.19,-0.39l1.69,-1.43l-0.43,0.99L897.91,487.2zM906.12,492.79l-0.49,0.76l0.27,-3.46l-0.98,-2.82l0.9,1.2l0.38,1.48L906.12,492.79zM905.08,495.02l-0.97,1.26l0.01,-0.45l0.69,-1.24l0.52,-0.5L905.08,495.02zM848.42,503.32l-0.71,0.36l-3.34,-1.8l-0.24,-0.83l1.57,-0.83l0.98,0.02l1.59,0.92l0.58,0.25l0.28,0.39l-0.12,0.63L848.42,503.32z"
34516
+ },
34517
+ {
34518
+ id: "MA",
34519
+ name: "Massachusetts",
34520
+ path: "M1173.41,150.21l-0.05,1.21l0.77,0.97l0.62,1.05l1.04,0.91l0.64,-0.07l0.61,-0.39l0.5,-0.09l0.45,0.38l0.02,0.61l-0.73,0.36l-1.15,1.4l-1.15,0.74l-0.29,1.38l-0.55,1.65l-1.23,2.68l0.98,0.44l3.06,-0.06l1.49,0.41l3.07,3.49l-0.32,0.53l0.04,0.79l2.01,0.54l1.38,2.74l1.69,0.58l2.28,0l2.31,-1.62l1.78,-1.83l-0.37,-0.96l-2.01,-1.9l-0.64,-0.98l-1.2,-0.41l-0.2,0.7l-0.87,-0.58l-0.2,-0.41l0.54,-0.38l0.72,-0.12l0.93,0.16l2.82,1.89l1.54,3.11l0.74,2.04l-0.03,0.78l-0.65,0.03l-1.12,0.48l-5.22,2.69l-0.96,1.31l-2.53,1.84l-0.32,-0.46l-0.1,-1.12l-0.8,-2.13l-0.58,0.06l-3.38,4.81l-1.64,0.7l-1.14,1.44l-0.48,-0.49l-1,-2.6l0.26,-2.49l-0.46,0.17l-0.66,1.05l-0.81,-0.8l-0.73,-0.35l-0.72,-0.34l-0.2,-0.81l-0.31,-1.22l-0.73,-0.05l-0.49,-1.47l-0.32,-0.95l-1.2,0.35l-0.98,0.29l-1.58,0.46l-1.64,0.48l-1.2,0.35l-0.08,-0.23l-1.92,0.49l-1.92,0.49l-1.92,0.48l-1.92,0.48l-1.92,0.48l-1.93,0.48l-1.92,0.47l-1.93,0.47l0.04,0.52l-0.67,0.25l-0.17,-0.56l-1.37,0.29l-1.37,0.29l-1.37,0.29l-1.37,0.29l-1.37,0.29l-1.37,0.29l-1.37,0.29l-1.37,0.28l-0.56,-0.42l0.05,-1.94l0.05,-1.94l0.05,-1.94l0.05,-1.94l0.05,-1.94l0.04,-1.94l0.04,-1.94l0.04,-1.94l1.58,-0.34l1.58,-0.34l1.58,-0.34l1.58,-0.35l1.58,-0.35l1.58,-0.35l1.58,-0.35l1.58,-0.35l2.28,-0.52l2.28,-0.53l2.28,-0.53l2.27,-0.54l2.27,-0.54l2.27,-0.54l2.27,-0.55l2.27,-0.55l1.22,-0.97l1.16,-2.14l0.89,-0.64l1.33,-1.45l0.74,-0.44L1173.41,150.21zM1187.32,180.98l-4.14,2.32l-0.9,-0.47l1.02,-0.63l0.94,-2l0.87,-0.45l1.72,0.49L1187.32,180.98zM1196.58,180.85l-1.14,0.71l-3.1,0.05l2.17,-1.36l0.32,-0.35l0.02,-1.07l-0.11,-0.5l1.52,1.85L1196.58,180.85z"
34521
+ },
34522
+ {
34523
+ id: "MD",
34524
+ name: "Maryland",
34525
+ path: "M1109.83,238.85l0.94,3.4l0.94,3.4l0.94,3.4l0.94,3.4l0.94,3.4l0.94,3.4l0.94,3.4l0.95,3.39l0.04,-0.01l0.04,-0.01l0.04,-0.01l0.04,-0.01l0.04,-0.01l0.04,-0.01l0.04,-0.01l0.04,-0.01l1.72,-0.39l3.77,-0.87l3.77,-0.88l1.82,-0.44l0.13,0.64l0.01,0.99l-0.31,0.47l-0.21,-0.96l-0.36,-0.27l-0.36,0.52l-0.19,0.54l0.31,1.89l-0.1,1.01l-1.05,0.54l-0.56,2.71l-0.74,1.63l-0.18,0.96l-1.55,0.59l-2.5,0.93l-0.45,1.13l-1.4,-0.13l-1.97,0.49l0.07,-1.41l0.31,-1.3l-1.29,-0.93l-0.65,-0.01l-0.74,-0.33l0.52,-1.14l0.13,-1.11l-0.5,-1.2l0.1,-1.01l-0.48,0.26l-0.6,1.18l-0.43,0.51l-0.51,-0.81l-0.31,0.28l-0.1,0.66l-0.45,0.45l-1.3,-0.58l-1.83,-0.59l-1.27,-1.43l-0.79,-1.15l0.02,-2.4l1.03,-0.65l1.54,0.05l1.91,-0.43l-0.38,-0.45l-0.66,0.23l-2.42,-1.41l-0.89,-0.98l-1.18,-0.06l-0.27,1.19l-0.5,0.41l0.18,-2.51l0.88,-0.3l1.19,-0.95l-0.69,-1.28l-0.98,-0.41l-1.36,1.08l-0.19,-0.96l0.02,-1.29l1.15,-0.25l1.09,0.18l0.42,-2.17l-0.16,-0.9l-1.13,1.6l-0.93,-2.71l0.8,-2.99l1.07,-1.46l1.66,-0.34l1.64,-0.57l-1.17,-0.25l-1.14,-0.02l0.58,-1.24l0.65,-0.34l0.47,-1.08l-1.6,0.5l-0.2,-1.79l-0.72,0.53l-0.91,0.38l-0.21,0.82l0.35,1.21l-0.1,0.87l-0.6,0.81l-1.14,0.78l-0.32,-0.85l-0.5,-0.3l0.26,1.91l-0.19,0.71l-1.3,-1.56l-0.2,0.42l0.14,0.49l-0.04,0.92l-0.69,0.62l0.29,1.1l-0.17,0.67l-2.74,-0.41l0.01,0.34l1.88,1.77l1.2,0.48l0.38,1.1l-0.69,1.14l-1.42,-0.54l-0.2,0.1l0.98,1.24l0.69,1.12l-0.21,1.11l0.34,1.24l0.15,1.16l-0.05,1.05l1.6,4.44l1,1.08l0.98,1.03l0.63,1.03l-0.73,0.33l-1.42,-0.65l-1.22,-0.47l-1.76,-1.96l-0.4,-0.84l-0.46,-0.64l0.5,1.58l0.84,1.71l4.87,3.17l1.08,1.39l0.83,1.09l0.11,1.2l-1.22,-0.6l-1.13,-0.86l-2.64,-0.67l-3.17,-0.1l-2.29,-2.41l0.25,1.15l-0.17,1.06l-1.29,-0.97l-0.87,-0.88l-0.46,-1.07l-1.27,0.35l-1.15,1.26l-1.36,0.04l-0.55,-1.86l0.14,-1.08l0.97,-2.68l1.13,-1.5l0.28,-1.69l-0.72,-2.38l0.56,1.76l1.13,-2.1l-1.27,-1.19l-1.18,-1.1l-1.04,1.77l-1.27,-0.31l-2.27,-1.44l-3.32,-0.66l-0.57,-0.56l-0.09,-0.72l0.2,-1.08l-1.14,-0.78l-2.47,-0.49l-1.14,-0.6l-0.24,-0.13l-0.3,-0.98l-0.42,-0.57l-0.55,-0.17l-0.18,-0.41l0.18,-0.65l-0.44,-0.57l-1.06,-0.49l-0.44,-0.53l0.18,-0.58l-0.52,-0.15l-1.21,0.29l-1.3,-0.25l-1.39,-0.78l-1.44,0.11l-2.23,1.5l-1.32,0.52l-0.49,0.69l-0.1,1.05l-0.5,0.61l-1.34,0.27l-0.22,0.01l-1.59,-0.03l-1.2,-0.41l-0.25,-0.22l0.02,-0.55l-0.25,-0.2l-0.34,0.02l-0.25,0.36l-0.14,0.99l-2.17,3.05l-1.37,-0.27l-0.48,0.11l-3.03,4.28l-1.02,0.78l-1.88,2.03l-0.47,-2.8l-0.47,-2.81l-0.47,-2.81l-0.47,-2.81l3.9,-0.72l3.89,-0.73l3.89,-0.74l3.89,-0.75l3.89,-0.76l3.89,-0.77l3.88,-0.78l3.88,-0.79l3.88,-0.8l3.88,-0.81l3.88,-0.82l3.87,-0.83l3.87,-0.84l3.87,-0.85l3.87,-0.86L1109.83,238.85zM1127.65,273.11l-0.44,0.17l0.28,-0.86l0.67,-3.98l0.38,-1.41l-0.06,2.7l-0.6,2.61L1127.65,273.11z"
34526
+ },
34527
+ {
34528
+ id: "ME",
34529
+ name: "Maine",
34530
+ path: "M1172.07,47.54l0.21,0.43l0.91,0.6l1.13,0.25l0.79,-0.04l0.86,-0.27l2.01,-1.8l2.53,-1.55l1.31,-1.12l0.08,-0.7l0.62,-0.43l1.16,-0.16l2.51,0.89l3.1,1.55l2.45,1.22l1.07,3.13l1.11,3.32l1.17,3.5l0.83,2.5l1.15,3.43l0.92,2.72l1.2,3.55l0.64,1.9l0.44,0.47l0.08,0.8l0.05,0.4l0.11,0.29l0.23,0.34l0.15,0.53l-0.09,0.55l0.05,0.59l0.25,0.91l0.44,0.47l0.54,0.18l0.37,-0.12l0.58,0.17l0.8,0.38l1.09,0.2l1.02,-0.14l0.63,-0.34l0.91,0.06l0.54,0.71l0.09,0.8l-0.34,0.5l-0.4,0.43l0.1,0.6l0.44,0.52l0.52,0.41l0.69,0.8l0.1,0.85l-0.13,0.79l0.07,0.75l0.49,0.5l1.05,0.54l0.75,0.61l0.92,0.17l0.27,-0.42l0.17,-0.5l0.22,-0.4l0.6,0l0.71,0.02l0.78,0.04l0.13,0.68l0.78,0.95l1.02,1.99l-0.19,1.12l0.52,1.23l1.52,-0.1l0.47,0.27l0.22,0.44l-2.03,4.25l-2.77,0.4l-1.14,1.32l-1.41,0.73l-0.19,1.66l-0.72,0.57l-1.15,0.27l-1.1,-0.1l-0.68,0.44l-0.2,2.94l-0.92,0.04l-0.04,1.05l-0.31,0.55l-0.54,0.56l-0.93,-0.98l-0.71,-0.99l-0.61,-0.07l-0.79,-0.06l-0.72,0.24l-0.43,0.31l-0.38,0.9l-0.68,0.89l-0.82,-0.3l-0.77,-0.66l-0.03,1.46l-0.21,1.59l0.61,1.59l0.03,1.05l-0.69,-0.07l-0.87,-0.66l-1.91,-0.15l-1.34,0.48l0,-0.99l0.88,-1.69l-0.47,-0.13l-0.57,0.38l-0.33,-0.1l0.08,-1.32l-0.36,-1.31l-0.43,0.63l-0.3,1.6l-1.41,1.63l0.64,1.81l-0.5,4.26l0.41,1.62l-0.67,1.6l-1.04,1.51l-1.92,0.24l-1.11,1.38l-0.38,1.31l-0.57,0.35l-0.74,-1.3l-0.36,-0.36l0.1,2.21l-0.49,0.28l-0.63,-1.4l-0.54,-0.89l-0.47,1.04l0.18,2.35l-0.55,-0.04l-0.4,-0.77l-0.43,-0.14l0.15,0.97l0.57,1.27l-0.05,0.78l-0.61,-0.23l-0.69,-0.49l-0.68,0.72l-0.7,0.42l-0.19,-0.65l-0.09,-0.83l-1.38,0.88l-1.38,1.99l-0.82,2.43l0.59,0.19l0.74,0.48l-1.54,3.84l-1.7,3.54l-0.59,5.14l-0.61,0.76l-0.42,1.03l-1.83,-1.65l-0.71,-1.55l-1.96,-1.51l-0.93,-1.16l-0.6,-1.42l-0.37,-1.61l-0.79,-2.35l-0.79,-2.35l-0.79,-2.35l-0.79,-2.35l-0.79,-2.35l-0.79,-2.35l-0.79,-2.35l-0.79,-2.35l-0.79,-2.35l-0.79,-2.35l-0.79,-2.35l-0.79,-2.35l-0.79,-2.35l-0.79,-2.35l-0.79,-2.35l-0.71,-2.1l0.28,-0.43l0.75,-0.87l0.63,-0.08l0.77,0.77l0.6,0.49l0.45,-0.32l0.18,-0.98l-0.35,-1.19l0.35,-1l0.66,-0.33l0.65,-0.16l0.2,-0.5l-0.2,-0.57l-0.5,-0.87l-0.24,-1.15l1.03,-2.45l1.57,-1.92l0.49,-0.87l-0.2,-1.43l0.71,-1.75l0.32,-0.98l-0.07,-0.75l-0.54,-0.79l-0.46,-1.68l-0.2,-2.11l-0.17,-2.31l0.45,-2.26l1.05,-2.63l-0.39,-2.93l-0.42,-3.1l1.16,-3.48l1.3,-3.95l0.74,-2.25l1.31,-4.08l0.92,-2.91l0.5,-1.36l0.47,-1.58l1.53,-0.04l1.52,-0.04l0.38,1.97L1172.07,47.54zM1204.73,106.9l-0.76,0.7l-1.03,0.13l0.37,1.12l0.02,0.44l-1.26,-0.24l-0.51,-0.25l-0.43,-1.5l0.51,-1.71l0.55,-0.78l1.06,0.09l1.22,1.35L1204.73,106.9zM1198.97,111.9l-0.45,0.6l-0.66,0.06l-0.35,-1.05l0.08,-0.41l0.17,-0.23l0.41,0.2L1198.97,111.9z"
34531
+ },
34532
+ {
34533
+ id: "MI",
34534
+ name: "Michigan",
34535
+ path: "M872.31,89.88l-0.05,0.38l0.56,0.07l-0.08,0.19l-0.57,0.38l-1.64,0.82l-1.12,0.31l-0.6,-0.2l-0.09,-0.46l0.41,-0.71l-0.03,-0.34l-0.47,0.04l0.09,-0.27l0.66,-0.58l5.63,-3.85l2.42,-1.44l1.31,-0.5l0.23,0.17l-1.35,1.39l-0.19,0.54l0.08,0.34l-0.42,0.71l-4.13,2.72L872.31,89.88zM884.76,105.02l-0.22,0.75l0.09,0.43l-1.7,2.07l-0.57,1.27l-0.55,0.24l-0.52,-0.79l-0.05,-0.66l0.42,-0.54l0.39,-0.75l-0.03,-0.99l-0.2,-0.34l-0.49,0.93l0.33,0.16l0.11,0.14l-0.08,0.33l-2.17,-0.29l-0.7,-0.64l0.03,-0.97l0.61,-1.29l2.34,-2.83l1.06,-0.82l3.1,-1.43l1.74,-0.42l1.77,-0.16l1.32,0.26l0.87,0.68l-0.71,0.57l-3.46,0.74l-0.08,0.15l0.7,0.35l0.15,0.28l-0.55,0.82L884.76,105.02zM945.65,114.44l0.51,0.23l0.38,0.46l0.98,1.27l0.52,0.88l0.42,1.35l0.23,0.44l0.08,0.81l-0.47,0.62l-0.09,0.45l0.38,0.39l1.84,-0.12l0.89,0.32l0.38,0.44l-0.14,0.56l0.19,0.55l0.53,0.54l1.58,0.71l0.42,0.38l-0.04,0.47l-0.4,0.35l-0.75,0.24l-5.72,-0.12l-1.67,0.07l-0.2,0.34l-0.15,0.07l-0.28,-0.05l-0.48,0.04l-0.27,-0.17l-0.27,-0.54l-0.54,-0.3l-0.79,-0.06l-0.61,0.51l-0.57,1.78l0.16,0.3l0.01,1.1l0.24,0.27l0.02,0.25l-0.19,0.23l-0.46,0.03l-0.73,-0.17l-2.95,-2.23l-2.15,-1.03l-2.58,-0.64l-2.01,-0.23l-1.44,0.19l-1.11,0.79l-0.78,1.39l-1.36,0.9l-1.94,0.4l-1.03,0.46l-0.11,0.53l-0.71,0.09l-1.3,-0.35l-1.31,0l-1.31,0.36l-0.92,0.61l-0.86,1.69l-0.12,0.8l-0.68,0.75l-1.88,1.27l-0.06,0.4l-0.92,1.31l-0.26,0.7l0.07,0.65l-0.36,0l-0.78,-0.66l-0.13,-0.98l0.53,-1.3l0.52,-0.66l0.51,-0.01l0.26,-0.58l0,-1.14l-0.24,-0.55l-0.97,0.33l-0.47,0.51l-0.65,0.16l-0.82,-0.18l-0.64,0.69l-0.46,1.55l-0.63,1.05l-0.8,0.55l-0.62,-0.45l-0.44,-1.45l-0.12,-1.17l0.2,-1.44l-0.2,-0.26l-0.31,0.48l-0.42,1.23l-0.46,2.63l-0.38,0.88l-0.58,0.41l-0.83,1.64l-1.08,2.88l-1.26,2.81l-1.45,2.74l-0.89,1.48l-0.32,0.23l-0.11,0.48l0.04,1.09l-0.78,-0.23l-0.72,-0.82l-0.47,-0.86l-0.12,-0.92l0.71,-2.37l0.05,-0.38l-0.12,-0.2l-0.53,-0.21l-1.1,0.51l-1.14,0.18l-0.38,-0.12l-0.18,-0.38l-0.04,-0.61l0.17,-0.75l0.57,-1.41l-0.11,-1.28l0.25,-0.76l-0.43,-1.33l0.02,-0.65l-0.55,-0.67l-1.38,-0.82l-3.13,-0.98l0.18,-1.42l-0.17,-0.59l-0.82,-0.83l-3.25,-0.78l-2.19,-0.29l-2.13,0.16l-1.55,-0.26l-1.72,0.01l-1.15,-0.54l-1.14,-0.54l-1.14,-0.55l-1.14,-0.55l-1.98,-0.39l-1.98,-0.4l-1.98,-0.4l-1.98,-0.4l-1.98,-0.4l-1.97,-0.41l-1.97,-0.41l-1.97,-0.41l-0.49,-0.91l-0.49,-0.91l-0.49,-0.91l-0.49,-0.91l-0.91,-0.34l-0.48,-0.18l-0.38,-0.47l-0.78,0.26l-0.36,-0.79l0.07,-0.18l1.01,-0.28l2.82,-1.35l2.38,-1.58l1.93,-1.81l2.48,-1.2l3.02,-0.59l2.14,-0.75l1.25,-0.91l1.64,-1.71l0.95,-0.54l1.23,-0.24l0.89,-0.68l0.54,-1.13l1.09,-1.32l1.63,-1.51l0.95,-0.64l0.27,0.24l0.13,0.48l-0.01,0.72l0.48,0.54l0.97,0.36l0.47,0.55l-0.02,0.73l0.3,0.6l0.63,0.46l0.25,1.1l-0.13,1.74l0.06,1.11l0.25,0.49l0.23,0.27l0.31,-0.3l0.37,-0.64l0.12,-0.38l0.07,-0.39l2.41,-1.95l0.49,-0.13l0.88,0.37l3.92,0.28l1.57,0.31l1.7,0.85l0.58,0.33l2.27,3.02l1.01,1.17l0.59,0.29l0.36,0.46l0.37,1.1l0.34,0.31l2.91,-0.04l1.29,-0.33l0.75,-0.54l0.91,0.21l1.08,0.95l0.99,0.2l0.9,-0.56l0.89,-0.07l0.88,0.4l0.42,0.32l0.25,-0.04l1.48,-1.77l1.83,-1.62l2.47,-1.81l1.45,-0.85l0.44,0.12l2.37,-0.78l2.18,-0.29l2.93,-0.02l2.64,-0.67l2.35,-1.31l2.11,-0.83l1.88,-0.35l0.75,0.2l-0.38,0.75l-0.1,1.22l0.17,1.69l-0.03,1.08l-0.23,0.48l0.02,0.43l0.27,0.38l1.88,0.04l1.04,0.43l1.12,-0.11l1.19,-0.65l0.98,0.07l0.78,0.79l0.99,0.03l0.86,-0.75l0.59,-0.67l0.54,-0.33L945.65,114.44zM949.53,117.16l0.07,0.48l-0.49,-0.05l-0.44,-0.27l-0.38,-0.5l-0.57,-1.29l-0.73,-0.88l0.76,-1.2l0.52,-0.2l0.61,0.17l0.16,0.62l-0.29,1.07l0.16,1.04L949.53,117.16zM950.06,119.72l-0.2,0.15l-0.89,-0.77l-0.23,-0.51l0.06,-0.46l0.3,-0.06l0.54,0.34l0.33,0.44l0.13,0.53L950.06,119.72zM960.29,123.6l0.22,0.48l-0.27,0.78l-1.04,0.52l-2.21,0.26l-1.47,-0.09l-0.73,-0.43l-0.18,-0.25l-0.02,-0.59l0.31,-0.08l0.51,0.25l0.68,-0.23l0.85,-0.71l0.43,-0.5l0.01,-0.3l-0.37,-0.52l0.21,-0.27l1.2,0.05l0.49,0.31l0.96,1.15L960.29,123.6zM944.52,130.05l2.03,0.06l0.17,-0.2l0.64,0.52l0.15,0.48l-0.19,0.45l-0.32,0.27l-0.45,0.1l-0.77,-0.33l-1.32,-0.97L944.52,130.05zM941.4,131.08l1.17,0.27l2.16,1.12l2,0.56l1.82,0l1.37,0.31l0.92,0.63l0.7,0.75l0.49,0.87l0.93,0.4l1.37,-0.06l1.11,0.25l0.86,0.56l4.53,1.13l1.92,0.65l1.11,0.74l0.36,0.53l-0.01,0.57l0.18,0.58l0.9,1.06l0.29,0.06l0.25,0.54l0.21,1.01l0.31,0.65l0.42,0.29l-0.2,0.17l-1.41,-0.4l-0.73,0.28l-0.24,0.81l0.05,0.73l0.33,0.64l1.99,1.8l0.71,1.8l0.4,2.24l-0.09,0.91l0.09,1.96l0.28,3.01l0.11,1.03l-0.43,1.08l-1.34,1.65l-0.06,-0.27l-0.38,-0.02l-0.37,0.27l-0.39,1.31l-0.17,2.31l-0.41,1.3l-0.66,0.29l-0.37,0.38l-0.08,0.47l-0.7,0.41l-1.32,0.34l-0.83,0.81l-0.42,2.02l0.15,0.92l-0.16,1.19l0.15,0.98l0.47,0.77l1.2,0.67l1.92,0.57l1.1,-0.02l0.7,-0.44l0.59,-1.45l0.68,-0.63l0.89,-0.35l0.26,-0.66l1.14,-2.88l-0.08,-0.6l-0.58,-0.15l0.06,-0.18l0.69,-0.21l0.57,-0.45l0.44,-0.69l0.85,-0.59l2.13,-1.01l1.08,-0.97l0.74,-0.24l1.16,0.27l1.59,0.77l1.35,1.26l1.12,1.75l1.79,4.69l2.46,7.64l1.54,4.25l0.62,0.86l0.31,0.43l-0.23,6.3l-0.55,2.67l-1.41,1.71l-1.41,1.66l-1.67,2.68l-2.05,1.5l-1.04,0.86l-0.18,0.48l-0.29,-0.1l-0.42,1.38l-0.29,1.87l-0.02,1.42l0.3,0.73l-0.4,0.55l-0.71,1.03l-0.11,0.35l0.13,0.53l-0.14,0.29l-0.41,0.05l-0.27,0.3l-0.62,1.06l-0.96,2.69l-0.15,0.49l-0.15,0.16l-5.47,0.96l-5.48,0.94l-5.48,0.92l-5.48,0.9l-0.17,-1.29l-5.01,0.61l-5.02,0.59l-5.02,0.58l-5.02,0.56l-5.02,0.54l-5.02,0.53l-4.1,0.42l1,-0.73l1.62,-1.62l0.85,-1.38l0.77,-1.79l0.69,-2.19l1.53,-3.33l0.7,-1.99l0.61,-2.49l0.38,-2.58l0.16,-2.68l-0.09,-2.75l-0.33,-2.82l-0.75,-2.8l-1.16,-2.77l-0.62,-1.42l-0.22,-0.37l-1.93,-3.5l-2.26,-4.93l-0.02,-0.44l1.29,-3.22l0,-0.41l-0.43,-2.45l-0.47,-1.2l-0.99,-1.58l-0.02,-0.42l1.44,-2.3l0.83,-1.72l0.7,-2.06l0.34,-2.35l-0.01,-2.65l-0.2,-1.74l-0.38,-0.84l-0.04,-0.68l0.29,-0.51l1.7,-0.8l0.48,-1.1l-0.07,-1.83l0.26,-0.94l0.6,-0.05l0.51,-0.43l0.42,-0.82l0.65,-0.29l0.87,0.23l1.04,-1.25l1.2,-2.75l0.98,-1.57l0.76,-0.4l0.18,0.22l-0.41,0.83l-0.06,0.86l0.3,0.9l-0.06,0.91l-0.23,1.26l0.27,0.35l-0.42,2.03l0.08,0.98l0.48,0.7l0.43,-0.31l0.39,-1.33l0.08,-0.69l-0.23,-0.06l0.02,-0.55l0.26,-1.04l0.28,-0.51l0.3,0.02l0.15,0.53l-0.01,1.04l-0.57,2.52l-0.08,0.76l0.22,0.19l0.85,-1.64l0.58,-2.52l0.44,-1.93l0,-1.02l-0.5,-2.59l-0.08,-1.07l0.16,-0.77l0.78,-0.94l1.41,-1.11l1.44,-0.67l1.47,-0.24l1,-0.38l0.53,-0.51l-0.25,-0.33l-1.03,-0.14l-0.82,-0.49l-0.63,-0.83l-0.3,-1.01l0.03,-1.18l0.49,-1.21l0.96,-1.25l0.24,-0.86l-0.47,-0.48l0.44,-0.24l1.35,-0.01l0.91,-0.26l0.47,-0.51L941.4,131.08zM929.61,136.77l-0.52,0.17l-0.44,-0.21l-0.05,-1.05l0.33,-1.88l0.44,-0.9l0.76,0.25l-0.12,0.24l0.37,1.93l-0.16,0.89L929.61,136.77zM924.21,148.66l-0.15,0.34l-0.44,0.02l-0.38,-0.27l-0.45,-0.94l0.09,-0.23l0.87,0.05l0.34,0.38L924.21,148.66z"
34536
+ },
34537
+ {
34538
+ id: "MN",
34539
+ name: "Minnesota",
34540
+ path: "M804.97,77.87l1.79,-0.33l1.54,0.03l1.55,0.07l0.84,0.15l2.42,0.91l1.59,0.76l2.3,1.42l1.27,0.62l0.66,1.54l0.78,1.99l1,-0.04l0.7,-1.21l1.9,-0.29l2.54,0.72l2.31,2.25l3.28,1.95l2,0.95l1.98,-0.1l2.46,-1.17l2.56,-2.15l1.9,-0.45l1.15,0.13l0.74,1.53l0.83,0.55l2.06,-0.3l4.34,0.04l3.41,-0.65l0.84,0.85l0.79,1.37l1.43,0.35l1.87,-0.58l3.01,0.1l-0.4,0.26l-0.44,-0.02l-0.55,0.38l-0.67,0.77l-1.58,1.14l-2.5,1.52l-2.91,1.42l-5.93,2.59l-3.65,2.52l-1.6,1.48l-6.18,7.29l-3.79,3.89l-6.21,5.48l-0.58,0.69l-0.02,0.61l-0.28,0l-1.01,1.3l-0.42,0.83l-1.04,0.27l0.13,3.23l0.13,3.23l0.13,3.23l0.13,3.23l-0.5,0.35l-0.62,0.78l-0.89,0.22l-4.11,2.82l-0.66,0.79l-0.7,1.8l-1.31,2.05l-0.31,1.08l0.11,1.43l2.16,1.08l0.83,1.08l0.43,1.34l-0.01,1.18l-0.99,2.34l-0.16,0.93l0.21,2.81l-0.51,0.9l0.52,2.26l0.06,0.79l-0.25,2.51l-0.21,0.74l0.47,1.28l0.05,0.14l2.08,1.73l1.74,0.93l1.54,0.26l1.22,0.72l0.91,1.18l1.2,0.75l1.48,0.32l1.54,0.95l2.4,2.38l1.24,2.06l2.07,1.42l3.32,1.46l2.2,1.31l1.07,1.16l0.83,3.06l0.88,6.55l-5.35,0.28l-5.27,0.25l-5.28,0.23l-5.28,0.21l-5.28,0.19l-5.28,0.17l-5.28,0.15l-5.28,0.14l-5.28,0.12l-5.28,0.1l-5.28,0.08l-5.28,0.06l-5.28,0.04l-5.28,0.02l-5.28,0l-5.28,-0.02l0.02,-5.01l0.02,-5.01l0.03,-5.01l0.02,-5.02l0.02,-5.02l0.03,-5.02l0.03,-5.02l0.02,-5.02l-1.19,-1.67l-2.61,-1.37l-0.65,-0.81l-1.2,-2.02l-0.47,-0.87l-0.08,-0.67l0.59,-0.74l2.39,-2.14l0.76,-0.99l0.38,-0.97l0.56,-2.23l-0.21,-1.72l0.17,-2.67l-0.47,-2.01l-0.1,-1l-0.29,-1.24l-1.74,-3.28l-0.4,-2.64l-0.43,-1.3l-0.11,-3.34l0.06,-0.94l0.37,-1.81l-0.73,-1.23l-0.1,-1.01l-0.27,-7.97l-0.22,-1.14l0.1,-3.7l-1.29,-3.91l-0.62,-1.33l-0.3,-1.61l0.03,-0.77l-1.05,-2.67l-0.68,-2.94l0.1,-2.54l-0.2,-1.92l0.1,-1.49l-0.17,-2.25l0.24,-1.27l0.04,-1.98l-1.37,-7.07l1.82,0.02l6.35,0.06l6.35,0.03l6.34,0l6.35,-0.03l3.51,0l0.01,-4.78l0.01,-3.77l3.2,0.42l0.96,0.68l0.31,0.32l-0.08,1.04l0.3,3.15l0.62,2.62l1.39,3.14l0,0.01l0.13,1.23l0.46,0.77l0.82,0.71l3.1,0.82l5.39,0.91l3.07,1.1l0.75,1.3l1.45,0.49l2.14,-0.31l1.49,-0.59L804.97,77.87zM804.97,77.87l-0.05,0.01l0.07,-0.03L804.97,77.87z"
34541
+ },
34542
+ {
34543
+ id: "MO",
34544
+ name: "Missouri",
34545
+ path: "M843.17,260.73L842.36,264.19L842.47,267.04L843.24,270.45L844.07,272.99L844.96,274.67L848.02,277.77L853.28,282.29L856.68,286.66L858.21,290.9L859.81,292.54L861.47,291.58L863.64,291.85L866.01,292.42L867.28,293.18L867.57,293.46L867.72,293.76L867.65,294.08L867.38,294.94L864.95,302.28L864.15,305.63L864.37,306.85L865.65,308.56L868,310.74L870.02,312.14L871.72,312.74L874.42,314.44L878.14,317.23L880.06,319.38L880.17,320.9L880.64,322.43L881.48,323.97L881.59,325.49L880.97,326.98L881.39,328.91L882.87,331.26L884.08,332.66L885.02,333.12L885.21,333.09L885.27,332.86L885.11,332.53L885.05,332.23L885.09,331.81L885.26,331.64L885.42,331.58L886.3,332.12L887.66,333.37L888.36,335.11L888.41,337.35L888.09,339.5L887.4,341.56L886.5,342.32L886.07,342.23L885.14,341.94L884.78,342.07L883.99,342.65L883.18,344.67L883.16,344.72L882.82,344.94L882.56,344.75L882.52,344.65L882.31,344.09L881.86,343.54L881.57,343.55L881.32,343.62L881.24,343.9L881.2,344.52L881.27,344.78L881.68,346.41L881.5,347.62L880.66,348.15L880.57,348.82L881.13,349.55L881.16,349.89L880.98,350.19L880.38,350.32L879.93,350.52L879.6,351.15L880.41,352.27L880.37,353.68L879.48,355.4L879.39,356.05L876.09,356.32L873.13,356.57L870.17,356.81L867.21,357.04L868.47,354.59L869.32,353.68L869.92,352.74L871.07,351.83L872.28,349.95L872.38,349.1L872.19,348.28L871.34,347.2L870.43,345.52L865.44,345.83L860.45,346.13L855.46,346.41L850.47,346.68L845.47,346.93L840.48,347.17L835.48,347.39L830.49,347.6L825.49,347.79L820.5,347.96L815.5,348.12L810.5,348.27L805.5,348.4L800.5,348.51L795.5,348.61L790.51,348.69L790.46,345.91L790.42,343.14L790.38,340.36L790.34,337.58L790.29,334.68L790.24,331.79L790.19,328.89L790.14,325.99L790.09,323.1L790.04,320.2L789.98,317.31L789.93,314.41L789.88,311.51L789.83,308.62L789.78,305.72L789.73,302.83L789.68,299.93L789.63,297.04L789.58,294.14L789.53,291.24L789.55,290.39L786.84,288.88L785.62,287.45L784.99,285.59L783.76,283.76L781.92,281.94L781.6,279.98L782.79,277.87L783.79,276.8L784.6,276.75L784.68,275.85L784.03,274.08L783.1,273.44L781.88,273.9L780.84,273.88L776.87,271.04L776.6,270.84L775.36,268.95L774.85,266.68L773.86,265.21L772.39,264.53L771.46,263.04L771.06,260.73L770.12,258.41L769.69,257.72L773.92,257.68L778.19,257.62L782.47,257.55L786.74,257.47L791.02,257.37L795.29,257.26L799.56,257.14L803.84,257.01L808.11,256.87L812.38,256.71L816.65,256.54L820.92,256.36L825.19,256.17L829.46,255.97L833.73,255.75L838,255.53L838.91,257.1L839.86,257.53L840.07,258.05L841.32,258.83L841.62,259.63z"
34546
+ },
34547
+ {
34548
+ id: "MS",
34549
+ name: "Mississippi",
34550
+ path: "M908.91,376.13l1.74,1.32l-0.02,0.54l0.01,0.36l-0.02,1.05l-0.09,4.14l-0.09,4.14l-0.09,4.14l-0.1,4.14l-0.1,4.14l-0.1,4.14l-0.1,4.14l-0.11,4.14l-0.11,4.15l-0.11,4.15l-0.11,4.15l-0.11,4.15l-0.12,4.15l-0.12,4.15l-0.12,4.15l-0.12,4.16l0.55,4.17l0.55,4.17l0.55,4.17l0.55,4.17l0.55,4.17l0.55,4.18l0.55,4.18l0.64,4.58l-5.64,0.81l-2.57,-0.95l-1.05,-0.14l-0.62,0.08l-2.8,1.27l-3.23,1.05l-0.79,-0.2l-1.11,0.04l-2.19,2.91l-1.46,0.79l-0.48,-0.15l-0.54,-0.15l-0.4,-0.28l-0.84,-1.59l-0.31,-1.16l-1.05,-2.49l-1.08,-1.36l-1.18,-0.87l-0.57,-0.91l-0.04,-0.64l-0.43,-1.11l-0.01,-0.91l1.12,-3.57l0.39,-2.61l-4.63,0.31l-4.63,0.3l-4.63,0.29l-4.63,0.28l-4.63,0.26l-4.63,0.25l-4.63,0.24l-4.61,0.21l0.04,-0.62l0.76,-0.83l0.23,-1.02l-0.78,-2.38l0.18,-1.34l1.13,-0.3l0.51,-1.31l-0.11,-2.32l0.37,-1.58l0.85,-0.86l0.75,-1.94l0.66,-3.03l1.51,-2.55l2.37,-2.07l1.13,-1.74l0,-1.31l0.24,-0.62l0.48,-0.35l0.78,-0.93l1.01,-1.28l0.15,-0.84l-0.09,-0.57l-0.11,-0.61l-0.92,-1.08l-1.36,-0.88l-0.92,-1.44l0,-1.14l-0.34,-0.99l-0.68,-0.83l0.09,-0.81l0.87,-0.79l0,-0.71l-0.86,-0.62l-0.07,-1.18l0.71,-1.74l-0.11,-1.17l-0.94,-0.6l-0.17,-1.09l-0.08,-0.55l0.65,-4l-0.22,-0.5l-0.93,-1.15l-0.17,-1.44l0.42,-1.79l-0.32,-1.36l-0.75,-0.46l-0.21,-0.53l-0.26,-0.8l0.74,-0.78l0.01,-0.69l-0.72,-0.59l0.39,-0.92l1.5,-1.24l0.4,-0.68l0.42,-0.71l0.18,-1.66l-0.27,-0.96l-0.41,-0.63l0.16,-0.34l0.3,-0.32l1.82,-0.7l0.5,-0.45l0.08,-0.52l-0.65,-1.24l0.49,-1.37l1.63,-1.51l0.84,-1.3l0.04,-1.08l0.77,-0.83l1.49,-0.58l0.83,-2.05l0.16,-3.52l0.36,-1.52l0.76,-0.27l0.38,-0.51l0.07,-1.01l0.88,-1.09l1.69,-1.17l0.63,-1.07l-0.24,-0.54l-0.05,-0.69l4.66,-0.29l4.86,-0.32l4.85,-0.33l4.85,-0.35l4.85,-0.36l4.85,-0.38l4.85,-0.39L908.91,376.13zM910.63,483.23l-0.22,0.27l-1.76,-0.33l-1.08,-0.35l-0.22,-0.42l2.96,0.55L910.63,483.23z"
34551
+ },
34552
+ {
34553
+ id: "MT",
34554
+ name: "Montana",
34555
+ path: "M640.59,133.06L640.16,138.25L639.72,143.43L639.29,148.62L638.86,153.8L638.85,153.87L638.84,153.94L638.83,154.01L638.82,154.08L638.7,154.07L638.57,154.05L638.45,154.04L638.32,154.03L634.86,153.72L631.39,153.4L627.93,153.07L624.47,152.73L621.01,152.39L617.55,152.04L614.09,151.67L610.63,151.31L607.17,150.93L603.72,150.54L600.26,150.15L596.8,149.74L593.35,149.33L589.9,148.91L586.44,148.48L582.99,148.05L579.54,147.6L576.1,147.15L572.65,146.69L569.2,146.22L565.76,145.74L562.31,145.25L558.87,144.76L555.43,144.26L551.99,143.74L548.55,143.22L545.11,142.7L541.67,142.16L538.24,141.62L534.8,141.06L531.37,140.5L527.94,139.93L527.48,142.7L527.01,145.47L526.54,148.24L526.08,151.01L525.14,150.25L524.56,149.46L524.12,148.6L523.41,146.28L522.94,145.39L522.49,144.83L521.95,144.7L521.22,144.86L520.63,145.27L520.3,146.12L519.62,147.07L519.51,147.95L519.66,148.43L519.54,148.65L519.18,148.79L516.73,148.03L514.48,148.09L513.05,147.49L510.15,147.15L507.73,146.42L506.86,146.41L506.23,146.77L505.33,147.82L505.11,148L504.82,147.99L500.92,146.61L499.86,146.4L498.6,146.95L498.13,147.43L497.92,148.13L497.63,148.28L497.28,148.18L496.48,147.55L495.69,146.6L495.33,145.95L495.47,144.64L494.99,143.04L495.11,141.7L494.84,140.51L494.31,139.26L493.72,138.4L493.03,138.01L491.65,137.91L491.39,137.74L490.21,136L489.89,135.27L489.87,134.66L490.63,133.35L490.64,132.55L490.45,131.52L490.1,130.62L489.4,129.77L488.93,128.12L487.94,125.74L487.88,124.03L487.62,122.57L487.73,121.19L487.38,120.26L487.63,119.22L487.6,118.91L487.47,118.75L486.66,117.98L485.79,116.71L485.3,116.37L485.08,116.31L484.89,116.55L484.71,117.02L482.66,118.42L481.05,118.94L480.18,119.6L479.46,119.87L479.12,119.84L478.69,119.49L477.42,117.99L476.29,117.2L476.21,116.92L476.49,115.93L477.3,114.89L477.15,112.66L477.47,111.97L478.04,111.54L479.54,111.04L479.75,110.7L479.86,108.64L479.27,107.73L479.15,107.27L479.71,105.68L479.6,104.55L480.38,103.77L480.74,102.21L481.54,100.71L482.53,98.4L482.64,97.35L483.5,96.36L483.93,95.29L484.12,94.5L484.12,94L483.94,93.77L483.49,93.68L481.31,93.69L480.66,93.49L480.12,93.15L479.85,92.7L479.94,91.78L479.6,91.09L479.37,90.94L478.35,91.1L478.16,91.04L478.08,90.85L477.86,90.01L476.65,88.19L476.28,86.32L475.12,84.51L474.16,82.16L472.16,78.35L471.66,77.56L469.86,76L468.6,74.04L467.23,72.53L467.11,72.29L467.12,72.17L467.24,72.09L467.77,71.89L468.01,71.31L467.66,69.97L468.22,68.85L468.18,67.11L468.07,66.52L467.26,64.73L466.83,63.1L465.96,61.48L464.86,58.92L466.08,53.48L467.31,48.03L468.53,42.58L469.75,37.14L472.43,37.74L478.63,39.1L484.83,40.43L491.04,41.74L497.26,43.01L498.66,43.3L503.48,44.26L509.71,45.47L515.94,46.66L522.18,47.82L528.42,48.94L534.67,50.04L540.93,51.11L547.19,52.15L553.45,53.16L558.18,53.91L559.72,54.14L565.99,55.1L572.27,56.02L578.56,56.91L584.84,57.77L591.13,58.61L597.43,59.41L603.73,60.19L610.03,60.93L616.33,61.65L622.64,62.33L628.95,62.99L635.27,63.62L641.58,64.21L646.3,64.64L645.95,68.92L645.59,73.21L645.23,77.5L644.87,81.79L644.51,86.08L644.15,90.36L643.8,94.64L643.44,98.92L643.08,103.19L642.72,107.46L642.37,111.73L642.01,116L641.66,120.27L641.3,124.53L640.95,128.8z"
34556
+ },
34557
+ {
34558
+ id: "NC",
34559
+ name: "North Carolina",
34560
+ path: "M1122.2,308.31l-0.08,1.79l0.47,0.91l1.16,0.79l1.59,2.27l1.58,3.18l-1.41,-1.11l-1.34,-0.46l-1.96,-0.14l-1.85,-0.61l0.43,1.37l0.18,1.54l-1.36,-0.18l-0.97,-0.31l1.11,1.44l-1.76,-0.12l-1.08,0.34l-0.41,1.58l-0.77,1.07l-1.36,0.59l-2.4,-0.85l-1.02,-1.43l-0.66,-1.7l0.33,2.11l0.84,2.09l0.22,1.68l2.1,-0.14l1.84,-0.68l2.58,-0.49l1.61,-0.68l0.89,-0.75l2.52,-0.08l0.62,1.95l0.16,2.04l0.33,2.14l0.67,-0.16l0.64,-0.85l-0.45,-3.86l1.89,-1.89l0.76,-0.07l0.98,1.05l0.52,1.18l0.63,1.63l0.07,2.69l-2.73,3.78l-1.82,3.33l-1.13,0.85l-1.88,0.08l-2.2,-0.25l-1.04,0.08l-0.71,0.4l-0.65,-0.76l-0.64,-1.5l-0.91,-0.35l-0.59,0.19l-0.05,1.75l-1.81,0.88l-2.74,-0.13l-3.02,-0.82l1.49,1.25l7.35,1.35l0.87,0.36l0.88,0.61l-0.68,1.41l-0.45,1.51l0.13,1.08l-0.12,0.73l-2.32,2.39l-1.54,0l-4.44,-2.46l2.3,2.46l1.62,0.91l2.89,0.05l4.94,-2.17l1.94,0.78l-0.94,2.34l-1.07,1.73l-1.78,0.55l-1.52,0.73l-0.26,1.08l-1.13,0.31l-1.77,0.44l-2.74,0.68l-1.57,0.09l-1.7,2.46l-0.74,0.44l-1.2,-0.14l-0.8,-1.52l-0.67,-0.69l0.61,3.03l0.37,0.77l0.53,0.53l-2.15,2.16l-1.97,2.54l-0.74,0.73l-0.76,1.23l-1.4,3.37l-0.06,2.26l-0.24,2.56l-0.31,-1.07l-0.24,-1.85l-0.92,-1.99l0.46,3.9l-0.42,1.94l-7.18,1.29l-2.71,1.46l-3.14,-2.14l-2.94,-2.03l-2.93,-2.03l-2.93,-2.04l-2.92,-2.04l-2.91,-2.05l-2.91,-2.05l-2.9,-2.06l-2.57,0.37l-2.57,0.37l-2.57,0.37l-2.57,0.36l-2.57,0.36l-2.57,0.36l-2.57,0.35l-2.57,0.35l-0.39,-1.71l-0.27,-1.21l-1.95,-1.82l-1.14,-1.07l-1.84,1.39l-0.19,-0.5l-0.08,-0.94l-0.23,-0.29l-0.59,-0.13l-2.88,0.35l-2.88,0.34l-2.88,0.33l-2.88,0.33l-2.88,0.32l-2.88,0.32l-2.88,0.32l-2.88,0.31l-0.69,-0.1l-1.18,0.92l-3.23,1.6l-1.53,1.22l-0.62,0.03l-2.75,1.36l-2.76,1.35l-0.33,0.05l-5.48,0.85l-5.48,0.83l-5.48,0.81l-5.49,0.79l0.08,-4.79l0.33,-1.14l0.49,-0.31l1.88,-0.26l1.13,-0.7l0.68,-2.97l2.09,-2.54l1,-0.71l1.55,-0.65l3.74,-1.06l3.78,-2.73l2.65,-2.46l2.25,-0.9l0.62,-0.86l0.38,-1.05l0.14,-1.38l0.21,-0.31l1.35,-0.1l0.85,-1.3l0.9,-0.81l0.93,-0.52l0.6,-0.1l0.28,0.31l0.31,0.96l0.26,0.29l0.42,-0.03l0.54,-0.31l0.67,-0.75l1.67,-2.27l1.19,-0.96l1.94,-0.74l1.62,0.81l0.82,-0.49l1.92,-4.43l0.9,-0.89l0.72,-0.41l1.31,-0.27l-0.16,-1.11l0.19,-1.74l-0.12,-1.15l0.54,-1.81l0.36,0.29l6.41,-0.97l6.41,-1l6.41,-1.02l6.4,-1.05l6.4,-1.07l6.4,-1.1l6.39,-1.13l6.39,-1.15l6.38,-1.18l6.38,-1.2l6.37,-1.23l6.37,-1.25l6.36,-1.28l6.36,-1.3l6.35,-1.33L1122.2,308.31zM1123.55,308.02l0.55,-0.13l3.32,6.58l5.23,6.79l0.73,1.21l-1.08,-0.96l-3.75,-4.43l-2.26,-3.3L1123.55,308.02zM1131.42,322.08l-0.17,0.5l-1.72,-2.13l1.38,0.5l0.36,0.59L1131.42,322.08zM1136.1,335.07l-2.25,1.14l-0.25,-0.14l2.45,-1.86l-0.14,-4.56l-0.34,-2.03l-1.22,-3.45l-0.16,-0.74l0.71,1.04l1.15,3.21l0.43,2.54l0.05,3.83L1136.1,335.07zM1132.11,337.11l-2.89,2.28l-0.39,-0.01l1.88,-1.59L1132.11,337.11zM1121.83,351.88l-0.39,0.35l1.05,-3.07l2.49,-4.16l0.76,-0.72l-2.04,3.54L1121.83,351.88zM1121,351.78l-0.39,0.14l-0.76,-0.09l-1.07,-0.25l-0.29,-0.29l0.96,-0.08L1121,351.78z"
34561
+ },
34562
+ {
34563
+ id: "ND",
34564
+ name: "North Dakota",
34565
+ path: "M757,138.56L753.36,138.53L749.72,138.49L746.08,138.45L742.43,138.39L738.79,138.33L735.15,138.25L731.51,138.17L727.86,138.08L724.22,137.97L720.58,137.86L716.94,137.74L713.3,137.61L709.66,137.47L706.02,137.33L702.38,137.17L698.74,137L695.1,136.82L691.46,136.64L687.83,136.44L684.19,136.24L680.55,136.02L676.92,135.8L673.28,135.57L669.65,135.33L666.01,135.08L662.38,134.81L658.75,134.55L655.11,134.27L651.48,133.98L647.85,133.68L644.22,133.37L640.59,133.06L640.95,128.8L641.3,124.53L641.66,120.27L642.01,116L642.37,111.73L642.72,107.46L643.08,103.19L643.44,98.92L643.8,94.64L644.15,90.36L644.51,86.08L644.87,81.79L645.23,77.5L645.59,73.21L645.95,68.92L646.3,64.64L647.9,64.78L654.23,65.32L660.55,65.83L666.88,66.31L673.21,66.75L679.54,67.17L685.88,67.56L692.21,67.92L698.55,68.25L704.88,68.55L711.22,68.82L717.57,69.06L723.91,69.27L730.25,69.46L736.59,69.61L742.94,69.73L747.46,69.8L748.83,76.87L748.79,78.85L748.55,80.13L748.72,82.37L748.61,83.87L748.82,85.79L748.72,88.33L749.4,91.27L750.45,93.94L750.41,94.7L750.71,96.31L751.33,97.64L752.63,101.56L752.53,105.26L752.75,106.4L753.02,114.37L753.12,115.38L753.85,116.61L753.48,118.42L753.43,119.36L753.54,122.7L753.97,124.01L754.37,126.65L756.11,129.93L756.39,131.17L756.49,132.17L756.96,134.17L756.79,136.84z"
34566
+ },
34567
+ {
34568
+ id: "NE",
34569
+ name: "Nebraska",
34570
+ path: "M757.78,215.22L758.27,215.34L759.37,217.31L759.81,220.82L760.81,223.66L762.36,225.81L763.14,227.39L763.15,228.39L763.52,229.46L764.26,230.6L764.56,232.54L764.41,235.28L764.72,236.73L765.51,236.91L765.86,237.3L765.75,237.89L766.01,238.34L766.65,238.62L766.83,239.41L766.55,240.7L766.78,241.51L767.52,241.84L767.66,242.48L767.2,243.42L767.27,244.16L767.88,244.7L768.29,247.09L768.51,251.33L768.44,253.82L768.09,254.54L768.65,256.07L769.69,257.72L770.12,258.41L771.06,260.73L771.46,263.04L772.39,264.53L773.86,265.21L774.85,266.68L775.36,268.95L776.6,270.84L776.87,271.04L773.79,271.07L770.21,271.08L766.63,271.09L763.04,271.08L759.46,271.07L755.88,271.06L752.29,271.03L748.71,270.99L745.13,270.95L741.54,270.9L737.96,270.84L734.38,270.77L730.79,270.69L727.21,270.61L723.63,270.52L720.05,270.42L716.47,270.31L712.89,270.19L709.31,270.06L705.73,269.93L702.14,269.79L698.56,269.64L694.98,269.48L691.41,269.31L687.83,269.13L684.25,268.95L680.67,268.76L677.09,268.56L673.51,268.35L669.94,268.13L666.36,267.91L662.79,267.67L662.97,264.9L663.15,262.13L663.33,259.36L663.52,256.59L663.7,253.82L663.88,251.04L664.07,248.27L664.25,245.5L660.05,245.21L655.86,244.92L651.66,244.61L647.47,244.29L643.28,243.96L639.09,243.61L634.89,243.26L630.7,242.9L631.18,237.35L631.66,231.81L632.13,226.26L632.61,220.72L633.08,215.17L633.56,209.62L634.04,204.07L634.51,198.52L640.16,199.01L645.8,199.47L651.44,199.92L657.09,200.34L662.74,200.75L668.39,201.13L674.04,201.49L679.69,201.83L685.35,202.15L691,202.44L696.66,202.71L702.32,202.97L707.97,203.2L713.63,203.41L719.29,203.59L725.76,203.79L730.56,207.23L733.46,208.33L734.86,207.38L737.87,206.88L742.49,206.82L745.39,207.32L746.6,208.39L748.96,209.6L752.48,210.94L754.59,212.38L755.28,213.92L756.51,214.91z"
34571
+ },
34572
+ {
34573
+ id: "NH",
34574
+ name: "New Hampshire",
34575
+ path: "M1173.38,145.74L1173.46,148.72L1173.41,150.21L1171.53,150.64L1170.79,151.07L1169.46,152.53L1168.56,153.17L1167.41,155.31L1166.19,156.28L1163.92,156.83L1161.64,157.38L1159.37,157.92L1157.09,158.46L1154.82,158.99L1152.54,159.53L1150.27,160.05L1147.99,160.58L1147.52,159.88L1146.27,158.74L1145.91,158.22L1145.79,157.56L1145.81,155.71L1146.03,155.07L1146.13,153.97L1145.62,149.81L1145.5,147.36L1144.72,143.02L1144.74,141.69L1144.92,140.82L1145.03,138.65L1145.76,136.7L1145.97,134.49L1146.42,132.49L1146.28,131.42L1146.36,129.01L1145.77,124.91L1146.06,124.16L1147.99,123.05L1148.53,122.46L1150.28,120.22L1150.79,119.35L1151.04,118.53L1151.07,117.34L1151.23,116.97L1151.11,116.34L1149.63,113.96L1149.34,113.02L1150.22,109.62L1149.39,108L1149.52,107.51L1149.87,102.93L1150.73,100.61L1152.82,100.72L1153.83,100.38L1154.4,99.49L1155.11,101.6L1155.9,103.95L1156.69,106.31L1157.48,108.66L1158.27,111.01L1159.05,113.36L1159.84,115.71L1160.63,118.06L1161.43,120.42L1162.21,122.77L1163.01,125.11L1163.8,127.46L1164.59,129.81L1165.38,132.16L1166.17,134.5L1166.96,136.85L1167.33,138.46L1167.94,139.88L1168.87,141.04L1170.84,142.55L1171.55,144.09z"
34576
+ },
34577
+ {
34578
+ id: "NJ",
34579
+ name: "New Jersey",
34580
+ path: "M1134.34,204.02l0.14,1.75l-0.77,3.81l-0.49,0.96l-0.63,0.9l-0.53,0.45l-0.43,0.68l-0.44,1.02l-0.2,1.87l0.76,1.47l3.3,-0.2l0.73,-0.69l0.71,1.01l0.63,1.49l0.18,1.74l-0.11,1.84l0.12,2.22l0.46,3.32l0.2,3.04l-0.29,-0.87l-0.55,-3.62l-0.43,0.5l-0.16,0.91l0.15,4.81l-0.75,2.76l-0.83,1.99l-1.35,0.03l0.61,1.27l-0.18,0.78l0.05,1.53l-0.53,1.15l-0.74,0.08l-0.87,0.91l-0.29,0.61l0.2,0.98l-0.49,1.02l-1.44,5.05l-1.87,1.83l-0.57,-0.07l0.08,-2.24l-0.11,-2.22l-1.54,-0.61l-1.38,-0.19l-1.43,0.4l-1.98,-1.28l-2.34,-0.73l-3.62,-2.6l-0.12,-0.92l-0.42,-1.5l0.32,-2.59l0.45,-1.87l0.95,-1.13l3.12,-1.65l0.52,-1.52l0.23,-1.23l0.67,-0.93l1.58,-1.79l2.51,-2.31l-5.29,-4.49l-1.03,-0.09l-1.67,-2.41l-1.38,-0.45l-0.4,-0.34l-0.53,-2.02l-0.16,-1.19l0.02,-0.73l0.9,-0.82l0.32,-1.31l-0.13,-0.61l-1.23,-1.71l-0.14,-0.59l1.23,-1.49l1.42,-2.7l0.58,-2.73l0.3,-0.82l0.44,-0.65l1.12,-1l1.85,0.6l1.85,0.6l1.85,0.6l1.86,0.6l1.86,0.59l1.86,0.59l1.86,0.59L1134.34,204.02zM1137.64,233.24l-1.16,3.75l-0.2,-0.62l1.45,-4.66L1137.64,233.24z"
34581
+ },
34582
+ {
34583
+ id: "NM",
34584
+ name: "New Mexico",
34585
+ path: "M640.16,344.04L639.41,343.99L638.9,350.22L638.39,356.46L637.88,362.69L637.37,368.92L636.86,375.16L636.34,381.4L635.83,387.64L635.32,393.88L634.8,400.12L634.29,406.37L633.78,412.62L633.26,418.87L632.75,425.12L632.23,431.38L631.72,437.64L631.2,443.9L626.93,443.57L622.66,443.22L618.39,442.86L614.13,442.5L609.86,442.12L605.59,441.73L601.33,441.33L597.07,440.92L592.8,440.5L588.54,440.07L584.28,439.63L580.02,439.18L575.76,438.71L571.51,438.24L567.25,437.76L563,437.26L562.88,437.26L564.34,441.51L564.34,441.51L566.5,442.92L566.36,442.86L562.19,442.35L558.02,441.83L553.85,441.29L549.69,440.75L545.52,440.2L541.36,439.63L537.19,439.06L533.04,438.48L532.69,440.97L532.34,443.46L531.99,445.96L531.64,448.45L524.9,447.54L518.18,446.61L515.77,446.26L516.91,438.39L518.05,430.54L519.18,422.7L520.32,414.87L521.45,407.03L522.58,399.2L523.72,391.38L524.85,383.56L525.98,375.74L527.11,367.93L528.24,360.12L529.37,352.31L530.5,344.5L531.63,336.7L532.76,328.9L533.89,321.1L540.56,322.05L547.23,322.97L553.91,323.87L560.59,324.73L567.27,325.57L573.96,326.38L580.65,327.17L587.35,327.92L594.04,328.65L600.75,329.35L607.45,330.02L614.16,330.67L620.86,331.28L627.58,331.87L634.29,332.43L641,332.96L640.79,335.73L640.58,338.5L640.37,341.27z"
34586
+ },
34587
+ {
34588
+ id: "NV",
34589
+ name: "Nevada",
34590
+ path: "M446.17,305.87L444.44,314.41L442.52,323.79L442.16,323.87L440.71,325.81L439.37,326.59L438.51,326.38L437.77,325.58L437.13,324.18L435.96,323.21L434.24,322.68L432.65,322.55L431.19,322.83L430.2,323.46L429.42,324.92L429.44,325.6L429.94,327.22L429.53,329.49L429.27,331.34L429.54,332.44L429.39,333.62L428.7,335.41L428.62,336.97L429.09,339.87L427.14,347.54L427.11,347.68L423.21,342.05L419.59,336.77L416,331.49L412.44,326.2L408.91,320.9L405.39,315.6L401.91,310.29L398.46,304.98L395.95,301.25L393.46,297.52L390.98,293.78L388.52,290.04L386.06,286.3L383.63,282.56L381.2,278.81L378.79,275.06L375.66,270.53L372.56,266L369.47,261.46L366.4,256.92L363.36,252.37L360.33,247.82L357.33,243.26L354.35,238.69L355.44,234.67L356.52,230.65L357.61,226.62L358.7,222.6L359.78,218.58L360.87,214.55L361.96,210.53L363.04,206.5L364.13,202.48L365.22,198.45L366.31,194.42L367.4,190.4L368.49,186.37L369.57,182.34L370.66,178.31L371.75,174.28L377.74,175.89L383.73,177.47L389.72,179.02L395.72,180.55L401.73,182.06L407.75,183.54L413.77,185L419.79,186.43L425.81,187.83L431.82,189.21L437.85,190.56L443.88,191.89L449.91,193.19L455.95,194.47L462,195.72L468.05,196.95L467.36,200.36L466.68,203.77L465.99,207.17L465.31,210.58L464.63,213.99L463.94,217.39L463.26,220.8L462.57,224.2L461.89,227.61L461.21,231.01L460.52,234.42L459.84,237.82L459.16,241.22L458.47,244.63L457.79,248.03L457.11,251.43L456.42,254.84L455.74,258.24L455.06,261.64L454.37,265.04L453.69,268.45L453.01,271.85L452.32,275.25L451.64,278.65L450.96,282.05L450.27,285.46L449.59,288.86L448.91,292.26L448.23,295.66L447.54,299.07L446.86,302.47z"
34591
+ },
34592
+ {
34593
+ id: "NY",
34594
+ name: "New York",
34595
+ path: "M1049.12,104.45l-0.02,-0.01L1049.12,104.45L1049.12,104.45zM1135.37,163.36l-0.04,1.94l-0.04,1.94l-0.04,1.94l-0.05,1.94l-0.05,1.94l-0.05,1.94l-0.05,1.94l-0.05,1.94l0.56,0.42l0.39,2.08l0.39,2.08l0.39,2.08l0.39,2.08l0.39,2.08l0.39,2.08l0.39,2.08l0.39,2.08l0.7,0.71l0.7,0.71l-0.51,0.54l-0.8,0.84l-0.85,0.9l-1.11,1.17l0.94,0.91l1.18,1.15l-0.53,0.73l-1.29,2.33l-0.93,1.31l-0.89,0.57l-0.39,0.99l-0.52,0.71l0.17,-2.04l0.29,-1.76l-0.2,-3.22l-0.79,-2.45l-0.96,-0.85l-0.9,-0.5l1.46,2.25l0.88,2.98l0.01,0.09l-1.81,-0.59l-1.86,-0.59l-1.86,-0.59l-1.86,-0.59l-1.86,-0.6l-1.85,-0.6l-1.85,-0.6l-1.85,-0.6l-0.54,-0.73l-0.74,-0.49l-3.17,-0.4l-0.92,-0.55l-0.9,-0.82l-0.75,-1.09l-0.54,-1.21l-0.25,-1.01l-0.05,-1.17l-0.84,-0.59l-0.18,-0.7l-0.54,-0.37l-2.09,-0.4l-0.84,-1.05l-1.51,-0.83l-2.23,0.51l-2.23,0.51l-2.23,0.5l-2.23,0.5l-2.23,0.5l-2.24,0.5l-2.24,0.49l-2.24,0.49l-2.24,0.48l-2.24,0.48l-2.24,0.48l-2.24,0.48l-2.24,0.47l-2.24,0.47l-2.24,0.46l-2.24,0.46l-2.24,0.46l-2.24,0.45l-2.25,0.45l-2.24,0.45l-2.25,0.44l-2.25,0.44l-2.25,0.44l-2.25,0.43l-2.25,0.43l-2.25,0.43l-2.25,0.42l-2.25,0.42l-2.25,0.42l-2.25,0.41l-2.25,0.41l-2.25,0.41l-0.53,-2.95l-0.53,-2.95l-0.02,-0.12l0.86,-0.71l2.75,-2.56l1.29,-1.73l1.42,-1.5l1.54,-1.28l1.13,-1.48l0.73,-1.69l0.9,-1.32l1.08,-0.96l0.5,-0.89l-0.06,-0.82l-0.43,-1.05l-0.8,-1.27l-0.28,-1.07l0.24,-0.86l-0.01,-0.55l-0.27,-0.23l-2.68,-0.3l-0.6,-3.79l-0.05,-0.1l0.12,-0.07l5.5,-2.78l3.59,-1.29l4.48,-1.04l5.54,-0.26l2.24,0.32l1.52,0.69l1.58,-0.06l1.64,-0.8l2.36,-0.65l3.09,-0.49l1.68,-0.12l0.27,0.25l0.19,-0.13l0.11,-0.52l0.71,-0.7l2.12,-1.28l0.34,0.1l0.38,-0.5l0.42,-1.1l0.94,-1.32l1.44,-1.53l1.4,-0.94l1.36,-0.35l0.85,-0.49l0.35,-0.63l0.04,-0.5l-0.27,-0.36l-0.02,-0.46l0.03,-0.24l-0.11,-0.17l-0.25,-0.34l-0.55,-1.88l-0.46,-0.83l-0.51,-0.58l-0.57,-0.32l-0.04,-0.46l0.7,-0.73l0.05,0.53l0.25,0.11l0.33,-0.32l0.62,-1.34l0,-0.45l0.5,-0.58l0.29,-0.78l-0.51,0.01l-1.11,0.46l-0.31,-0.15l0.4,-1.05l-0.23,-0.5l-0.24,-0.18l-0.4,0l-1.13,1.1l-0.38,0.16l-0.15,-0.41l-0.88,-0.8l1.43,-2.08l5.31,-6.09l0.48,-0.86l0.09,-0.69l-0.29,-0.52l-0.21,-0.1l0.06,-0.16l4.71,-7.39l2.8,-3.57l2.47,-2.2l1.98,-1.24l1.48,-0.24l0.8,-0.3l0.71,-0.17l3.59,-0.87l6.41,-1.58l6.41,-1.61l3.78,-0.96l0.48,1.41l0.11,1.78l0.74,1.78l0.62,3.95l1.73,2.74l0.28,2.05l0.6,2.13l-0.04,0.57l-0.45,1.43l-0.14,1.33l0.05,1.29l0.22,0.79l1.55,3.35l0.52,1.52l0.22,0.91l0.15,3.05l0.17,0.84l0.23,0.19l0.21,-0.05l0.43,-1.07l0.26,-0.21l0.44,0.13l1.28,1.13l0.58,2.46l0.42,1.79l0.47,1.99l0.7,2.99l0.51,2.19l0.47,1.99l0.36,1.53l0.07,1.17L1135.37,163.36zM1082.33,141.06l-0.45,0.29l-0.18,-0.23l0.03,-0.26l0.34,-0.39l0.68,-0.15l-0.03,0.26L1082.33,141.06zM1081.36,147.84l-0.22,0.12l-0.08,-0.47l0.17,-0.36l0.43,-0.23l0.04,0.24L1081.36,147.84zM1043.26,177.7l-0.35,0.84l-0.49,0.02l-0.4,-0.18l-0.21,-0.45l-0.03,-0.61l0.37,-0.34l1.19,0.01l0.08,0.23L1043.26,177.7zM1157.24,198.3l-0.79,1.7l1.09,-0.14l0.79,-0.65l0.63,-1.05l1.68,-1.64l1.56,-0.94l0.5,-0.24l1.01,0.57l1.42,-1.06l1.54,-0.8l-6.13,5.48l-1.35,0.79l-1.8,1.62l-1.77,1.27l-1.35,0.65l-6.38,4.49l-0.55,0.2l-0.67,-0.1l-5.49,2.85l-2.36,0.76l-2.07,1.02l1.34,-1.51l-0.07,-0.42l-0.47,-0.23l-0.84,0.31l-0.6,1.36l-1.32,0.73l-0.59,-1.17l0.24,-1.08l0.41,-1.07l1.04,-1.78l1.78,-1.4l0.82,-1.04l0.88,0.51l-0.08,-0.97l0.4,-0.67l0.52,-0.44l1.41,-0.36l0.72,-0.34l0.47,-0.45l0.55,-0.2l1.65,0.03l1.48,-0.51l1.07,-0.89l1.21,-0.52l3.31,-1l3.21,-1.29l1.13,-1.11l2.22,-2.86l1.44,-1.02l-1.84,3.12L1157.24,198.3zM1132.27,215.28l-0.76,0.28l0.28,-2.26l1.21,-1.3l0.57,0.07l0.2,0.72l-0.05,0.68l-0.73,1.2L1132.27,215.28z"
34596
+ },
34597
+ {
34598
+ id: "OH",
34599
+ name: "Ohio",
34600
+ path: "M1026.65,234.45L1024.84,235.74L1024.63,236.69L1025.42,237.71L1025.99,239.11L1026.33,240.89L1025.88,244.99L1024.63,251.43L1024.11,255.43L1024.34,257L1023.17,259.29L1020.61,262.32L1018.76,264.18L1017.64,264.9L1016.62,265.02L1015.72,264.54L1014.89,265.1L1014.11,266.7L1013.3,267.6L1012.44,267.78L1011.85,268.83L1011.52,270.75L1011.1,271.89L1010.6,272.26L1010.71,273.18L1011.42,274.68L1011.47,275.25L1011.21,275.31L1010.96,275.26L1010.42,275.7L1009.89,276.68L1009.65,276.74L1009.45,276.62L1009.08,275.5L1008.41,274.77L1007.46,274.43L1006.4,275.68L1005.24,278.51L1004.81,280.3L1005.26,281.43L1005.65,283.11L1005.37,283.87L1004.55,284.26L1004.03,285.28L1003.8,286.94L1002.76,288.13L1000.91,288.83L998.81,288.4L998.66,288.37L996,286.73L994.23,285.04L993.34,283.32L991.27,283.53L988,285.68L985.39,286.31L983.44,285.41L982.03,285.15L980.74,285.71L979.57,286.62L978.44,286.33L976.94,285.14L974.74,284.47L971.83,284.32L969.67,283.1L968.27,280.83L966.89,279.32L965.54,278.58L964.15,278.49L962.73,279.05L961.57,279L960.68,278.34L959.67,278.56L958.81,279.4L957.93,272.08L957.1,264.9L956.27,257.71L955.44,250.52L954.61,243.34L953.78,236.15L952.94,228.96L952.11,221.76L957.59,220.86L963.07,219.94L968.55,219L974.02,218.03L974.17,217.88L974.14,217.95L974.42,218.31L975.95,218.34L977.03,218.65L977.92,219.23L980.98,220.17L981.98,220.88L982.92,221.21L983.8,221.17L984.35,220.82L984.58,220.16L984.99,220.06L985.56,220.52L987.26,220.86L987.34,221.03L983,222.69L982.13,223.29L983.3,223.45L984.42,223.21L985.5,222.56L986.81,222.4L988,222.45L988.33,222.21L988.47,222.09L990.62,223.12L991.38,223.2L992.12,222.94L992.83,222.32L994.46,221.41L997,220.21L999.52,219.49L1002,219.26L1003.52,218.79L1004.81,217.74L1007.51,214.53L1010.76,211.77L1016.21,208.09L1021.57,205.01L1021.88,206.85L1022.28,209.15L1022.68,211.45L1023.07,213.75L1023.47,216.04L1023.86,218.34L1024.26,220.64L1024.65,222.94L1025.05,225.24L1025.44,227.54L1025.84,229.84L1026.23,232.13z"
34601
+ },
34602
+ {
34603
+ id: "OK",
34604
+ name: "Oklahoma",
34605
+ path: "M790.51,348.69L790.96,351.78L791.41,354.87L791.86,357.96L792.32,361.05L792.77,364.14L793.23,367.23L793.69,370.32L794.15,373.41L794.14,375.83L794.13,378.25L794.12,380.67L794.11,383.09L794.1,385.51L794.09,387.93L794.08,390.35L794.07,392.77L794.06,395.19L794.04,397.62L794.03,400.04L794.02,402.46L794.01,404.88L794,407.31L793.99,409.73L793.98,412.15L789.76,411.08L788.7,410.38L786.76,409.59L785.01,407.93L781.57,405.89L780.27,405.4L779.86,405.46L779.16,406.49L777.35,407.31L776.36,407.35L774.56,407.06L774.22,406.8L773.96,406.18L773.24,405.76L772.71,406.09L770.11,406.96L769.72,407.57L768.25,407.6L766.79,407.16L763.11,408.52L761.84,409.58L760.52,409.95L759.83,410.98L759.43,410.83L758.05,409.55L756.63,409.16L754.7,407.88L754.64,406.76L754.43,406.62L754.08,406.49L753.65,406.59L752.8,407.54L752.31,407.78L751.82,407.74L749.95,407.08L749.17,405.93L748.78,405.57L748.35,405.5L747.54,405.83L747.07,407.09L746.71,407.42L745.92,407.63L745.96,408.26L745.24,409.99L744.86,410.33L744.37,410.26L743.87,409.83L743.5,409.21L743.35,408.68L743.65,407.3L743.49,406.84L743.12,406.69L742.19,407.33L741.38,407.29L740.34,407.92L739.69,408.11L739.1,407.94L738.16,406.87L736.5,406.17L735.88,404.92L735.59,404.56L735.24,404.46L734.88,404.49L734.28,404.88L732.33,406.47L731.45,406.97L730.69,407.06L729.98,406.88L729.53,406.46L729.47,404.8L729.06,404.29L727.31,403.22L726.96,402.23L726.82,400.87L724.68,401.03L722.05,400.83L720.83,401.99L720.21,402.2L719.47,401.94L717.39,400.26L715.13,400.52L713.86,400.3L710.75,399L708.29,398.81L707.27,398.56L706.74,398.27L706.56,396.42L705.64,394.83L705.33,394.39L703.71,393.24L703.44,393.19L703.25,393.43L702.83,394.64L702.33,394.68L700.42,394.26L698.64,394.55L697.68,393.91L694.45,390.93L693.13,390.14L692.06,389.86L692.17,387.2L692.29,384.53L692.4,381.87L692.51,379.21L692.63,376.55L692.74,373.89L692.85,371.23L692.97,368.57L693.08,365.91L693.19,363.25L693.31,360.59L693.42,357.93L693.54,355.27L693.65,352.62L693.76,349.96L693.88,347.3L690.52,347.15L687.16,346.99L683.8,346.82L680.44,346.65L677.08,346.47L673.72,346.28L670.36,346.09L667,345.89L663.65,345.68L660.29,345.47L656.93,345.25L653.58,345.02L650.22,344.78L646.87,344.54L643.51,344.29L640.16,344.04L640.37,341.27L640.58,338.5L640.79,335.73L641,332.96L645.4,333.29L649.79,333.62L654.18,333.92L658.58,334.22L662.69,334.49L666.8,334.75L670.91,334.99L675.03,335.23L679.14,335.45L683.26,335.67L687.37,335.87L691.49,336.07L695.6,336.25L699.72,336.42L703.84,336.59L707.95,336.74L712.07,336.88L716.19,337.01L720.31,337.13L724.43,337.24L728.55,337.34L732.67,337.43L736.78,337.51L740.9,337.58L745.02,337.63L749.14,337.68L753.26,337.72L757.38,337.75L761.5,337.76L765.62,337.77L769.74,337.76L773.86,337.75L777.98,337.72L782.1,337.68L786.22,337.64L790.34,337.58L790.38,340.36L790.42,343.14L790.46,345.91z"
34606
+ },
34607
+ {
34608
+ id: "OR",
34609
+ name: "Oregon",
34610
+ path: "M347.77,70.79L349.42,70.71L350.46,71.47L351.66,72.89L352.24,76.28L352.21,81.61L352.02,83.34L352.86,84.68L354.19,85.13L359.37,87.47L360.18,87.65L360.18,87.65L361.21,87.75L364.82,86.78L368.31,87.13L372.2,88.4L374.45,89.62L375.07,90.8L377.14,91.5L382.43,91.81L388.15,92.57L391.33,92.58L395.13,91.85L403.32,91.8L407.19,92.56L409.33,92.27L409.89,91.98L410.15,92.04L414.17,93.07L418.19,94.09L422.21,95.09L426.24,96.08L430.27,97.06L434.3,98.03L438.34,98.99L442.1,99.88L442.3,100.93L443.45,103.17L445.34,105.3L446.41,107.33L446.68,109.25L444.65,113.02L440.3,118.62L437.79,122.26L437.14,123.93L435,126.55L431.38,130.1L429.36,132.88L428.95,134.91L429.57,136.28L431.23,137.01L432.26,137.95L432.66,139.09L432.47,140.01L431.67,140.71L431.29,141.53L431.34,142.5L430.75,144.04L429,147.09L428.97,147.2L427.73,152.53L426.59,157.38L425.46,162.22L424.32,167.07L423.19,171.91L422.06,176.75L420.93,181.59L419.79,186.43L413.77,185L407.75,183.54L401.73,182.06L395.72,180.55L389.72,179.02L383.73,177.47L377.74,175.89L371.75,174.28L367.53,173.13L363.31,171.97L359.09,170.8L354.87,169.61L350.66,168.42L346.45,167.21L342.25,165.98L338.05,164.75L333.85,163.5L329.66,162.24L325.47,160.97L321.28,159.69L317.1,158.39L312.92,157.08L308.75,155.76L304.43,154.38L303.26,151.15L303.64,147.03L304,145.35L305.62,141.12L305.62,139.1L305.1,135.59L306.6,133.17L307.8,131.79L311.73,125.35L312.32,124.91L313.01,125.15L314.61,124.35L314.14,123.9L313.11,124.19L314.75,121.67L316.36,119.57L317.18,118.89L319.94,111.24L322.31,105.48L323.72,103.78L324.09,101.68L325.28,99.05L325.93,96.22L331.83,83.47L332.12,81.8L333.31,79.81L334.64,73.97L336.87,67.68L336.71,66.74L336.78,65.8L337.21,65.79L337.68,66.96L341.22,68.07L343.75,67.92L344.48,68.46L345.07,69.92L346.2,70.53z"
34611
+ },
34612
+ {
34613
+ id: "PA",
34614
+ name: "Pennsylvania",
34615
+ path: "M1119.53,199.27L1118.42,200.27L1117.97,200.92L1117.67,201.74L1117.09,204.47L1115.67,207.17L1114.43,208.66L1114.57,209.25L1115.8,210.96L1115.93,211.57L1115.61,212.88L1114.71,213.7L1114.69,214.43L1114.86,215.63L1115.38,217.65L1115.79,217.99L1117.16,218.44L1118.83,220.85L1119.86,220.94L1125.15,225.43L1122.64,227.74L1121.06,229.53L1120.39,230.46L1119.19,232.77L1116.87,233.99L1115.71,235.02L1115.45,235.44L1113.82,235.18L1111.76,235.74L1111.12,236.17L1110.7,236.82L1109.83,238.85L1105.96,239.72L1102.09,240.58L1098.23,241.42L1094.35,242.26L1090.48,243.09L1086.61,243.91L1082.73,244.72L1078.85,245.52L1074.96,246.31L1071.08,247.09L1067.19,247.86L1063.31,248.62L1059.42,249.37L1055.53,250.11L1051.63,250.84L1047.74,251.56L1045.54,251.97L1043.34,252.37L1041.14,252.76L1038.94,253.16L1036.74,253.55L1034.54,253.94L1032.33,254.32L1030.13,254.7L1029.69,252.17L1029.25,249.63L1028.82,247.1L1028.38,244.57L1027.94,242.04L1027.51,239.5L1027.07,236.97L1026.65,234.45L1026.23,232.13L1025.84,229.84L1025.44,227.54L1025.05,225.24L1024.65,222.94L1024.26,220.64L1023.86,218.34L1023.47,216.04L1023.07,213.75L1022.68,211.45L1022.28,209.15L1021.88,206.85L1021.57,205.01L1024.41,203.36L1025.63,202.37L1026.87,201.39L1027.5,200.84L1028.23,200.31L1032.82,196.56L1032.85,196.68L1033.38,199.63L1033.91,202.58L1036.16,202.17L1038.42,201.76L1040.67,201.35L1042.92,200.93L1045.17,200.51L1047.42,200.09L1049.67,199.66L1051.92,199.23L1054.17,198.79L1056.41,198.35L1058.66,197.91L1060.91,197.47L1063.15,197.02L1065.39,196.57L1067.64,196.12L1069.88,195.66L1072.12,195.2L1074.37,194.73L1076.61,194.26L1078.85,193.79L1081.09,193.32L1083.33,192.84L1085.56,192.36L1087.8,191.87L1090.04,191.38L1092.27,190.89L1094.51,190.4L1096.74,189.9L1098.98,189.39L1101.21,188.89L1103.44,188.38L1105.67,187.87L1107.19,188.7L1108.03,189.75L1110.12,190.15L1110.66,190.52L1110.83,191.21L1111.67,191.8L1111.72,192.98L1111.97,193.98L1112.51,195.19L1113.26,196.28L1114.16,197.1L1115.08,197.65L1118.25,198.05L1118.99,198.54z"
34616
+ },
34617
+ {
34618
+ id: "RI",
34619
+ name: "Rhode Island",
34620
+ path: "M1173.67,177.22l-0.45,0.71l-0.87,-0.65l-0.57,-0.82l-0.6,-0.39l-0.55,-0.06l0.98,1.87l-0.6,1.77l0.79,3.93l-0.83,1.96l-3.7,2.12l-1.21,0.22l-0.13,-1.28l0.27,-0.63l-0.28,-1.36l-0.18,-0.89l-0.42,-1.48l-0.47,-1.69l-0.51,-1.83l-0.45,-1.62l-0.33,-1.17l-0.45,-1.61l-0.32,-1.15l1.2,-0.35l1.64,-0.48l1.58,-0.46l0.98,-0.29l1.2,-0.35l0.32,0.95l0.49,1.47l0.73,0.05l0.31,1.22l0.2,0.81l0.72,0.34l0.73,0.35L1173.67,177.22zM1174.84,181.85l-0.63,0.81l-0.92,0.15l0.23,-0.92l-0.15,-1.21l0.08,-1.4l0.14,-0.46l0.42,-0.49L1174.84,181.85zM1172.88,182.55l-0.34,0.52l-0.45,-0.99l-0.02,-1.28l0.31,-0.11l0.33,0.59L1172.88,182.55z"
34621
+ },
34622
+ {
34623
+ id: "SC",
34624
+ name: "South Carolina",
34625
+ path: "M1087.93,376.29L1087.7,376.42L1083.51,380.61L1082.34,382.32L1079.39,388.61L1079.03,392.35L1077.93,391.01L1077.92,389.86L1077.77,388.94L1077.13,391.09L1078.62,393.77L1077.96,395.02L1075.68,397.55L1074.28,398.15L1072.75,399.03L1072.6,401.14L1070.71,403.4L1069.57,404.46L1067.1,404.38L1068.15,406.04L1067.52,407.55L1066.2,408.86L1064.44,409.87L1063.35,409.97L1062.49,410.5L1061.92,411.48L1060.3,412.6L1058.39,412.46L1056.27,412.55L1055.2,413.23L1057.28,413.69L1058.52,414.67L1058.57,416.27L1058.16,416.97L1057.07,417.99L1056.5,417.97L1056.05,417.29L1055.39,415.82L1054.87,416.24L1054.89,416.97L1054.45,417.31L1052.29,415.16L1052.69,417.01L1053.54,418.34L1054.26,418.97L1054.92,419.3L1055.19,419.94L1054.26,421.76L1053.71,422.23L1052.66,422.67L1052.21,423.78L1052.54,424.61L1048.44,423.47L1047.05,422.07L1046.75,420.02L1045.64,417.81L1042.78,414.27L1040.98,413.42L1039.49,410.94L1037.71,406.53L1035.6,403.86L1033.15,402.94L1031.41,401.67L1030.38,400.05L1029.41,399.04L1028.5,398.65L1027.91,397.82L1027.65,396.57L1026.11,395.1L1021.89,392.57L1020.71,390.82L1018.67,389.14L1013.71,385.83L1013.71,385.83L1008.38,378.76L1008.38,378.76L1007.62,377.28L1006.63,376.77L1005.15,376.75L1003.64,376.19L1001.3,374.55L1001.28,374.53L997.5,372.62L997.9,370.37L1000.17,367.19L1000.84,365.57L1000.96,365.54L1001.29,365.48L1004.05,364.13L1006.8,362.78L1007.42,362.74L1008.95,361.53L1012.17,359.92L1013.35,359L1014.04,359.11L1016.93,358.8L1019.81,358.48L1022.69,358.16L1025.58,357.84L1028.46,357.51L1031.34,357.17L1034.23,356.83L1037.11,356.49L1037.7,356.62L1037.93,356.91L1038,357.85L1038.19,358.34L1040.03,356.95L1041.17,358.02L1043.13,359.84L1043.4,361.05L1043.79,362.76L1046.36,362.41L1048.93,362.06L1051.5,361.7L1054.08,361.34L1056.65,360.98L1059.22,360.61L1061.79,360.24L1064.36,359.87L1067.26,361.92L1070.16,363.97L1073.08,366.02L1076,368.06L1078.92,370.09L1081.85,372.12L1084.79,374.15z"
34626
+ },
34627
+ {
34628
+ id: "SD",
34629
+ name: "South Dakota",
34630
+ path: "M757,138.56L756.45,140.78L756.07,141.75L755.31,142.74L752.92,144.88L752.33,145.62L752.41,146.29L752.88,147.16L754.08,149.17L754.73,149.99L757.35,151.35L758.54,153.02L758.51,158.05L758.49,163.07L758.46,168.09L758.44,173.1L758.41,178.12L758.39,183.13L758.36,188.14L758.34,193.15L755.98,193.22L756.26,194.62L756.89,195.99L757,196.78L756.87,197.43L756.42,198L756.52,198.91L756.65,199.15L757.71,199.74L758.07,200.53L758.17,201.43L758.15,202.12L757.5,203.36L757.3,205.01L756.48,207.47L755.59,208.96L755.41,209.73L755.49,210.34L756.85,211.93L756.92,212.56L757.37,213.38L757.78,215.22L756.51,214.91L755.28,213.92L754.59,212.38L752.48,210.94L748.96,209.6L746.6,208.39L745.39,207.32L742.49,206.82L737.87,206.88L734.86,207.38L733.46,208.33L730.56,207.23L725.76,203.79L719.29,203.59L713.63,203.41L707.97,203.2L702.32,202.97L696.66,202.71L691,202.44L685.35,202.15L679.69,201.83L674.04,201.49L668.39,201.13L662.74,200.75L657.09,200.34L651.44,199.92L645.8,199.47L640.16,199.01L634.51,198.52L634.99,192.96L635.46,187.41L635.94,181.85L636.41,176.29L636.89,170.73L637.37,165.17L637.85,159.6L638.32,154.03L638.45,154.04L638.57,154.05L638.7,154.07L638.82,154.08L638.83,154.01L638.84,153.94L638.85,153.87L638.86,153.8L639.29,148.62L639.72,143.43L640.16,138.25L640.59,133.06L644.22,133.37L647.85,133.68L651.48,133.98L655.11,134.27L658.75,134.55L662.38,134.81L666.01,135.08L669.65,135.33L673.28,135.57L676.92,135.8L680.55,136.02L684.19,136.24L687.83,136.44L691.46,136.64L695.1,136.82L698.74,137L702.38,137.17L706.02,137.33L709.66,137.47L713.3,137.61L716.94,137.74L720.58,137.86L724.22,137.97L727.86,138.08L731.51,138.17L735.15,138.25L738.79,138.33L742.43,138.39L746.08,138.45L749.72,138.49L753.36,138.53z"
34631
+ },
34632
+ {
34633
+ id: "TN",
34634
+ name: "Tennessee",
34635
+ path: "M986.1,331.59L990.13,331.05L998.75,329.88L1004.86,329.01L1009.87,328.29L1012.83,327.85L1016.55,327.3L1017.31,326.71L1019.18,326.5L1021.71,326.2L1021.17,328.01L1021.29,329.16L1021.1,330.91L1021.26,332.02L1019.95,332.28L1019.24,332.69L1018.33,333.58L1016.41,338.01L1015.59,338.5L1013.97,337.69L1012.03,338.43L1010.84,339.39L1009.17,341.65L1008.5,342.4L1007.96,342.71L1007.53,342.75L1007.27,342.46L1006.96,341.5L1006.67,341.19L1006.07,341.29L1005.14,341.81L1004.25,342.61L1003.39,343.92L1002.04,344.02L1001.82,344.33L1001.69,345.7L1001.3,346.76L1000.68,347.61L998.43,348.52L995.77,350.97L991.99,353.7L988.26,354.76L986.71,355.41L985.71,356.11L983.62,358.65L982.93,361.62L981.81,362.32L979.93,362.58L979.44,362.89L979.11,364.03L979.04,368.82L973.13,369.5L967.21,370.16L961.3,370.8L955.38,371.42L952.46,371.71L949.53,372.01L946.61,372.3L943.68,372.58L940.76,372.86L937.83,373.13L934.9,373.4L931.98,373.66L929.05,373.92L926.12,374.17L923.19,374.42L920.27,374.66L917.34,374.9L914.41,375.13L911.48,375.36L908.55,375.58L908.32,375.61L908.57,375.87L908.91,376.13L903.96,376.54L899.1,376.93L894.25,377.31L889.4,377.67L884.54,378.02L879.69,378.36L874.83,378.68L870.17,378.97L870.16,378.9L870.8,377.92L872.78,376.28L873.55,374.24L873.12,371.8L873.73,369.53L875.4,367.43L876,365.42L875.57,363.5L876.35,361.85L878.34,360.49L878.6,359.97L878.49,359.6L878.43,359.18L878.44,359L878.51,358.62L878.95,358.37L879.56,358.15L879.81,357.82L879.77,357.32L879.34,356.46L879.39,356.05L879.48,355.4L880.37,353.68L880.41,352.27L879.6,351.15L879.93,350.52L880.38,350.32L880.98,350.19L881.16,349.89L881.13,349.55L880.57,348.82L880.66,348.15L881.5,347.62L881.68,346.41L881.27,344.78L882.52,344.65L882.56,344.75L882.82,344.94L883.16,344.72L883.18,344.67L886.74,344.41L889.83,344.17L892.92,343.94L896.01,343.69L899.1,343.44L902.19,343.19L905.28,342.93L908.08,342.69L908.13,342.65L907.95,340.67L907.04,338.46L907.13,338.46L909.56,338.49L911.14,338.5L911.73,339.14L917.65,338.48L923.58,337.8L929.5,337.09L935.42,336.36L941.63,335.92L947.83,335.45L954.04,334.96L960.24,334.44L966.44,333.9L972.65,333.34L978.84,332.75L985.04,332.14L985.18,332.07L985.31,332L985.44,331.94L985.58,331.87L985.71,331.8L985.84,331.73L985.97,331.66z"
34636
+ },
34637
+ {
34638
+ id: "TX",
34639
+ name: "Texas",
34640
+ path: "M793.98,412.15l0.99,1.07l0.79,0.3l0.23,0.43l0.38,0.11l0.47,-0.1l0.7,-0.51l1.05,0.12l0.87,-0.19l1.73,0.22l0.97,0.49l0.09,3.02l0.09,3.03l0.09,3.03l0.09,3.03l0.06,2.83l0.06,2.83l0.06,2.83l0.06,2.83l0.06,2.83l0.06,2.83l0.06,2.83l0.06,2.83l2.7,2.67l1.18,1.85l0.38,0.95l0.19,3.27l0.28,0.78l1.36,1.2l0.05,0.81l1.45,2.33l-0.01,1.11l1.39,2.49l0.77,0.64l0.17,1.71l0.44,1.29l-0.59,0.94l0.29,1.27l-0.34,1.2l-0.16,1.59l-0.82,2.48l-0.75,1.22l-1.01,2.32l0.14,1.91l-0.56,2.1l-0.05,0.8l0.61,1.37l0.3,3.81l-0.3,0.81l-1.25,2.27l-0.93,-0.03l-1.96,3.75l1.22,2.05l-0.06,0.75l-4.1,0.52l-9.25,4.35l-3.61,2.31l0.18,-0.76l4.36,-2.99l-1.56,-0.42l-2.49,0.77l-0.9,-0.27l1.03,-2.43l-0.37,-2.13l-1.77,-0.03l-1.11,1.71l-0.79,-0.06l-1.04,-0.72l-0.79,0.24l0.63,3.85l1.14,1.57l0.96,2.01l-2.54,2.53l-2.36,2.09l-0.24,2l-2.38,2.62l-2.25,1.49l-5.3,3.49l-1.52,0.75l-2.4,1.62l-3.32,1.21l-3.19,1.91l-1.08,0.29l2.04,-1.62l2.41,-1.6l-2.07,0.22l-3.19,-0.75l-1.95,-0.05l-0.02,0.58l-1.49,0.82l-1.53,-1.22l-0.66,-0.82l-0.31,-0.71l-0.65,-0.17l-0.63,0.32l2.26,4.98l0.98,0.22l1.08,0.5l-1.36,1.15l-1.46,0.87l-2.29,0.57l-1.92,-1.83l-0.44,2.27l-0.27,2.27l-0.66,0.58l-1.05,0.82l-0.56,-0.63l-0.26,-0.88l-0.67,0.78l-0.98,0.58l-1.61,0.1l-1.21,0.3l0.02,0.94l0.27,0.95l2.15,-0.72l-0.8,2.42l-2,2.38l-1.62,0.54l-2.46,-0.39l-0.61,0.23l-0.55,0.49l2.81,3.81l-1.93,5.65l-1.22,2.04l-0.83,0.25l-0.89,0.04l-3.17,-1.89l-1.71,-1.45l1.46,3.88l4.17,1.2l0.19,1.46l-0.04,1.25l-0.85,1.45l-0.81,1.93l0.55,1.36l0.61,3.36l0.54,1.55l0.55,4.68l0.64,2.04l3.75,7.52l1.3,0.08l0.2,0.81l-0.14,1.55l-2.79,0.41l-1.18,0.67l-0.24,0.6l-0.18,0.32l-0.36,-0.04l-1.32,-0.45l-2.99,-2.17l-4.37,-1.4l-5.76,-0.63l-3.92,-1.16l-2.07,-1.67l-2.18,-1.02l-2.29,-0.37l-1.88,-0.93l-1.47,-1.5l-2.18,-1l-2.89,-0.5l-1.85,-1.15l-1.22,-2.7l0,-0.04l-1.02,-4.48l-1.37,-2.83l-2.73,-3.55l-0.25,-0.46v0l0,-0.57l0.43,-1.99l-0.25,-1.45l-0.86,-1.21l-0.16,-1.25l0.54,-1.29l0.09,-1.57l-0.35,-1.85l-1.74,-2.05l-3.11,-2.25l-2.59,-3.21l-2.06,-4.17l-2.08,-2.92l-2.11,-1.67l-1.4,-1.99l-0.69,-2.3l-0.17,-1.32l0.34,-0.35l-1.22,-2.58l-2.76,-4.81l-1.54,-3.49l-0.33,-2.17l-1.76,-2.66l-3.18,-3.15l-1.71,-2.03l-0.37,-1.36l-0.01,0l-4.97,-4.19l-1.36,-2.52l-1.13,-0.84l-1.35,0l-0.68,-0.28v-0.55l-0.44,-0.05l-0.87,0.45l-2.76,-0.07l-4.65,-0.6l-3.32,-0.89l-2,-1.17l-1.46,0.04l-0.92,1.25l-1.83,0.72l-2.74,0.18l-2.51,2.26l-2.29,4.34l-1.08,2.82l0.14,1.3l-0.59,0.89l-1.32,0.49l-1.4,1.21l-1.48,1.92l-1.62,0.86l-1.76,-0.21l-3.13,-1.83l-4.49,-3.45l-3.55,-2.21l-2.63,-0.95l-2.25,-1.62l-1.87,-2.29l-1.77,-1.57l-1.67,-0.86l-1.8,-2.51l-1.94,-4.17l-0.86,-3.16l0.31,-3.21l-2.32,-7.29l-1.29,-3.18l-1.04,-1.51l-2.14,-1.89l-3.23,-2.28l-4.18,-4.34l-5.11,-6.41l-3.66,-3.93l-2.23,-1.45l-1.82,-2.32l-1.4,-3.19l-1.47,-2.09l-0.17,-0.11l-2.16,-1.4h0l-1.46,-4.26l0.12,0.01l4.25,0.49l4.26,0.49l4.26,0.47l4.26,0.46l4.26,0.45l4.26,0.44l4.26,0.43l4.26,0.42l4.26,0.41l4.26,0.4l4.27,0.39l4.27,0.38l4.27,0.37l4.27,0.36l4.27,0.35l4.27,0.33l0.52,-6.26l0.51,-6.26l0.52,-6.26l0.51,-6.25l0.52,-6.25l0.51,-6.25l0.51,-6.25l0.51,-6.24l0.51,-6.24l0.51,-6.24l0.51,-6.24l0.51,-6.24l0.51,-6.23l0.51,-6.23l0.51,-6.23l0.51,-6.23l0.75,0.04l3.35,0.26l3.35,0.25l3.35,0.24l3.36,0.23l3.36,0.23l3.36,0.22l3.36,0.21l3.36,0.21l3.36,0.2l3.36,0.19l3.36,0.19l3.36,0.18l3.36,0.17l3.36,0.17l3.36,0.16l3.36,0.15l-0.11,2.66l-0.11,2.66l-0.11,2.66l-0.11,2.66l-0.11,2.66l-0.11,2.66l-0.11,2.66l-0.12,2.66l-0.11,2.66l-0.11,2.66l-0.11,2.66l-0.11,2.66l-0.11,2.66l-0.11,2.66l-0.11,2.66l-0.11,2.66l1.07,0.28l1.32,0.79l3.23,2.98l0.96,0.65l1.78,-0.29l1.9,0.42l0.51,-0.04l0.42,-1.2l0.19,-0.24l0.27,0.05l1.62,1.15l0.31,0.44l0.92,1.59l0.18,1.85l0.53,0.29l1.01,0.25l2.47,0.19l3.11,1.3l1.27,0.22l2.26,-0.26l2.08,1.67l0.74,0.26l0.62,-0.21l1.23,-1.16l2.63,0.2l2.14,-0.16l0.14,1.36l0.35,0.98l1.75,1.08l0.41,0.51l0.05,1.65l0.45,0.43l0.72,0.18l0.75,-0.09l0.89,-0.5l1.95,-1.59l0.59,-0.39l0.36,-0.03l0.35,0.09l0.29,0.36l0.62,1.25l1.66,0.7l0.94,1.07l0.59,0.17l0.65,-0.19l1.04,-0.63l0.81,0.04l0.93,-0.64l0.37,0.15l0.15,0.46l-0.29,1.38l0.15,0.53l0.37,0.62l0.5,0.43l0.49,0.07l0.38,-0.34l0.72,-1.73l-0.04,-0.63l0.79,-0.21l0.36,-0.33l0.47,-1.25l0.81,-0.34l0.43,0.07l0.39,0.36l0.78,1.15l1.88,0.66l0.49,0.04l0.49,-0.24l0.85,-0.94l0.44,-0.11l0.35,0.13l0.2,0.14l0.06,1.12l1.93,1.28l1.42,0.39l1.38,1.29l0.4,0.15l0.68,-1.04l1.33,-0.36l1.27,-1.06l3.68,-1.36l1.46,0.43l1.47,-0.03l0.38,-0.6l2.61,-0.87l0.53,-0.33l0.72,0.42l0.26,0.62l0.34,0.26l1.79,0.3l0.99,-0.04l1.81,-0.82l0.7,-1.03l0.41,-0.06l1.3,0.49l3.44,2.04l1.75,1.66l1.94,0.79l1.06,0.71L793.98,412.15zM784.68,513.12l-0.99,0.23l4.27,-3.51l0.89,-1.16l1.15,0.04l-1.89,1.96L784.68,513.12zM750.41,535.55l-0.74,0.09l0.92,-1.21l1.48,-0.6l3.26,-2.32l1.32,-0.15l0.69,-0.8l0.3,-0.12l-0.2,0.99l-2.61,1.39L750.41,535.55zM745.35,541.16l-0.44,0.05l0.99,-1.84l0.19,-0.74l1.61,-2.32l0.84,-0.34l0.34,1l-1.65,1.63L745.35,541.16zM738.34,554.67l-0.65,1.29l0.2,-1.94l1.7,-4.38l3.4,-5.74l1.41,-0.95l-3.91,6.3L738.34,554.67zM741.7,580.59l-0.3,1.05l-1.63,-4.95l-2.58,-11.17l-0.01,-6.34l0.46,-2.17l0.57,8.96l2.88,11.42L741.7,580.59z"
34641
+ },
34642
+ {
34643
+ id: "UT",
34644
+ name: "Utah",
34645
+ path: "M516.91,205.96L516.46,208.7L516,211.44L515.54,214.19L515.08,216.93L514.63,219.67L514.17,222.42L513.71,225.16L513.25,227.9L517.41,228.59L521.58,229.27L525.75,229.94L529.92,230.6L534.09,231.24L538.26,231.87L542.43,232.49L546.61,233.1L545.81,238.61L545.02,244.11L544.22,249.61L543.43,255.11L542.63,260.61L541.84,266.11L541.04,271.61L540.25,277.11L539.45,282.6L538.66,288.1L537.86,293.6L537.07,299.1L536.27,304.6L535.48,310.1L534.68,315.6L533.89,321.1L528.38,320.29L522.88,319.46L517.38,318.61L511.88,317.74L506.39,316.86L500.9,315.95L495.41,315.03L489.92,314.09L484.44,313.13L478.97,312.15L473.49,311.15L468.02,310.13L462.55,309.09L457.09,308.04L451.63,306.97L446.17,305.87L446.86,302.47L447.54,299.07L448.23,295.66L448.91,292.26L449.59,288.86L450.27,285.46L450.96,282.05L451.64,278.65L452.32,275.25L453.01,271.85L453.69,268.45L454.37,265.04L455.06,261.64L455.74,258.24L456.42,254.84L457.11,251.43L457.79,248.03L458.47,244.63L459.16,241.22L459.84,237.82L460.52,234.42L461.21,231.01L461.89,227.61L462.57,224.2L463.26,220.8L463.94,217.39L464.63,213.99L465.31,210.58L465.99,207.17L466.68,203.77L467.36,200.36L468.05,196.95L471.09,197.56L474.14,198.17L477.19,198.76L480.24,199.35L483.29,199.94L486.34,200.52L489.39,201.09L492.44,201.65L495.5,202.21L498.55,202.77L501.61,203.31L504.67,203.86L507.73,204.39L510.79,204.92L513.85,205.44z"
34646
+ },
34647
+ {
34648
+ id: "VA",
34649
+ name: "Virginia",
34650
+ path: "M1078.91,254.04l1.14,0.6l2.47,0.49l1.14,0.78l-0.2,1.08l0.09,0.72l0.57,0.56l3.32,0.66l2.27,1.44l1.27,0.31l0.38,0.09l0.92,0.27l0.5,0.49l0.26,2.52l-0.53,1.39l-1.04,1.2l-1.28,2.01l-0.08,1.62l0.09,2.99l0.9,0.83l0.76,0.11l1.95,-1.09l1.14,0.06l3.14,2.96l4.78,0.41l1.82,0.5l1.73,1.52l2.24,0.6l1.89,1.17l0.26,0.98l-0.28,1.29l0.13,1.63l-0.45,1.14l-1.57,0.46l-1.02,-0.05l-6.38,-4.44l-0.73,-0.38l-2.54,-2.5l-2.57,-1.08l-0.69,0.18l3.81,2.21l1.74,1.74l2.91,2.33l1.91,0.84l1.62,1.6l1.32,0.63l3.36,0.57l-0.88,1.13l1.88,0.38l0.55,1.35l0.2,1.63l-2.52,-0.11l0.18,1.19l0.36,0.65l-0.93,0.8l-1.63,-0.46l-4.72,-3.44l0.15,0.56l0.45,0.59l2.8,2.27l2.33,1.22l1.83,0.38l1.59,1.09l0.64,0.73l0.58,1.2l-0.77,1.07l-0.99,0.71l-1.25,-0.62l-0.98,-0.73l-1.99,-1.17l-0.87,-1.61l-1.24,0.36l-5.74,-1.05l-4.29,0.64l0.5,0.35l0.6,0.18l3.49,-0.18l1.55,0.72l2.97,0.29l1.68,-0.11l1.25,2.58l2.66,1.39l0.59,1.33l1.57,-0.18l2.41,-1.96l1.85,0.09l2.61,-0.17l0.82,0.97l0.9,1.99l1.42,2.15l1.1,2.18l-0.55,0.13l-1.36,0.29l-4.36,0.94l-6.35,1.33l-6.36,1.3l-6.36,1.28l-6.37,1.25l-6.37,1.23l-6.38,1.2l-6.38,1.18l-6.39,1.15l-6.39,1.13l-6.4,1.1l-6.4,1.07l-6.4,1.05l-6.41,1.02l-6.41,1l-6.41,0.97l-0.36,-0.29l-2.53,0.3l-1.87,0.22l-0.76,0.58l-3.72,0.56l-2.97,0.44l-5.01,0.73l-6.11,0.86l-8.61,1.18l-4.03,0.53l1.66,-1.29l2.56,-0.99l4.47,-2.46l1.62,-2.1l2.45,-1.72l0.87,-1.76l1.54,-1.77l0.4,-1.81l0.2,-0.3l2.67,-1.99l2.75,-2.39l5.8,-6.35l0.24,0.68l-0.12,0.8l0.7,0.8l0.68,1.33l0.79,0.76l0.92,0.55l1.45,0.4l1.78,0.82l1.31,0.1l0.42,-0.1l1.23,-1.26l1.07,-0.74l1.03,-1.32l2.41,1.19l0.86,-0.14l2.01,-1.02l1.96,-0.51l0.46,-0.29l0.63,-0.76l-0.2,-1.29l0.11,-0.36l0.3,-0.21l0.39,-0.1l0.97,0.32l0.88,-0.14l3.46,-2.12l0.3,0.06l0.59,0.6l1.48,-1.16l0.82,-0.98l0.21,-1.3l0.59,-1.34l-0.26,-0.51l-0.64,-0.6l0.4,-1.74l0.72,-1.78l2.89,-5.52l0.67,-3.16l1.21,-2.17l0.24,-1.6l0.91,-1.7l0.25,-3.21l0.39,-0.71l0.7,-0.23l0.8,0.25l0.63,0.47l0.51,0.86l2.02,0.46l1.59,-0.19l0.99,-0.79l0.44,-1.2l0.48,-2.18l0.6,-1.35l0.25,-1.61l0.35,-1.15l0.72,-0.82l2.11,-0.36l0.9,-1.13l0.63,-1.21l0.44,-0.44l0.6,-0.06l1.57,-2.05l1.8,-4.01l0.1,-2.33l0.33,-1.72l-0.07,-1.69l0.31,-0.99l2.54,1.34l1.47,0.78l3.34,1.75l2.22,1.16l0.39,-1.93L1078.91,254.04zM1127.21,273.28l0.44,-0.17l0,0l-1.07,3.72l-0.7,0.53L1127.21,273.28zM1120.65,276.69l0.45,-1.13l2.5,-0.93l1.55,-0.59l-1.83,9.4l0.52,1.53l-0.65,0.68l-1.07,0.68l-0.96,1.21l-0.55,1.21l-0.1,2.95l-0.69,3.45l-1.16,-1.11l-0.47,-1.07l-0.27,-3.01l0.43,-5.12l0.98,-3.35l0.94,-1.69L1120.65,276.69z"
34651
+ },
34652
+ {
34653
+ id: "VT",
34654
+ name: "Vermont",
34655
+ path: "M1147.99,160.58L1146.42,160.93L1144.84,161.28L1143.26,161.64L1141.68,161.98L1140.1,162.33L1138.53,162.68L1136.95,163.02L1135.37,163.36L1134.61,162.15L1134.54,160.98L1134.18,159.46L1133.71,157.46L1133.2,155.27L1132.5,152.29L1132.04,150.29L1131.62,148.5L1131.04,146.04L1129.77,144.91L1129.33,144.78L1129.07,144.99L1128.63,146.06L1128.42,146.11L1128.19,145.92L1128.02,145.08L1127.87,142.03L1127.65,141.12L1127.13,139.6L1125.58,136.25L1125.36,135.47L1125.31,134.18L1125.45,132.85L1125.9,131.42L1125.94,130.85L1125.33,128.72L1125.06,126.68L1123.33,123.94L1122.71,119.99L1121.98,118.21L1121.87,116.43L1121.39,115.02L1124,114.34L1130.39,112.68L1136.78,110.98L1143.15,109.26L1149.52,107.51L1149.39,108L1150.22,109.62L1149.34,113.02L1149.63,113.96L1151.11,116.34L1151.23,116.97L1151.07,117.34L1151.04,118.53L1150.79,119.35L1150.28,120.22L1148.53,122.46L1147.99,123.05L1146.06,124.16L1145.77,124.91L1146.36,129.01L1146.28,131.42L1146.42,132.49L1145.97,134.49L1145.76,136.7L1145.03,138.65L1144.92,140.82L1144.74,141.69L1144.72,143.02L1145.5,147.36L1145.62,149.81L1146.13,153.97L1146.03,155.07L1145.81,155.71L1145.79,157.56L1145.91,158.22L1146.27,158.74L1147.52,159.88z"
34656
+ },
34657
+ {
34658
+ id: "WA",
34659
+ name: "Washington",
34660
+ path: "M442.1,99.88l-3.77,-0.89l-4.04,-0.96l-4.03,-0.97l-4.03,-0.98l-4.03,-0.99l-4.02,-1l-4.02,-1.02l-4.02,-1.03l-0.26,-0.06l-0.56,0.29l-2.13,0.29l-3.87,-0.76l-8.2,0.05l-3.8,0.73l-3.18,-0.01l-5.72,-0.76l-5.29,-0.3l-2.07,-0.7l-0.62,-1.18l-2.25,-1.22l-3.89,-1.27l-3.49,-0.35l-3.61,0.97l-1.03,-0.1l0,0l-0.81,-0.18l-5.18,-2.34l-1.32,-0.45l-0.84,-1.34l0.19,-1.72l0.03,-5.34l-0.58,-3.38l-1.2,-1.43l-1.05,-0.76l-1.65,0.08l-0.37,-0.43l-0.68,-0.29l-1.24,-1.56l-0.56,-1.35l-2.78,-0.79l-0.35,-0.87l-3.29,-0.28l-0.72,-1.01l-1.82,-0.08l1.05,-1.87l0.73,-2.54l0.87,-2.42l-0.16,1.92l0.44,2.23l1.18,-2l1.2,-2.6l-0.68,-1.36l-1.43,-1.31l0.21,-2.71l4.64,-0.89l-1.95,-1.12l-0.52,-1.23l-0.98,-0.44l-0.31,0.72l-0.64,0.87l0.06,-1.41l0.39,-1.56l0.42,-2.74l-0.26,-4.72l0.79,-5.76l-0.34,-3.08l-1.49,-3.33l-0.12,-1.7l0.69,-3.98l1.25,-2.78l0.23,-2.17l1.07,0.48l2.4,2.54l3.23,2.42l0.81,1.27l1.55,1.24l9.48,4.13l0.67,0.1l1.47,-0.26l0.52,0.25l0.99,1.94l0.67,0.4l0.96,0.21l0.78,-0.07l1.5,-0.66l0.04,0.43l-0.31,0.94l0.01,1.48l0.34,2.02l0,1.19l-2.7,2.54l-0.36,-0.04l0.26,-1.06l-0.17,-0.27l-4.92,4.18l-1.93,2.1l-0.46,1.08l-0.16,0.66l0.42,0.3l1.15,0.08l1.9,-0.54l0.14,-0.2l-1.59,-0.09l-0.72,-0.19l0.45,-1.13l0.34,-0.5l1.49,-1.43l1.33,-0.72l1.77,-0.66l1.1,-0.65l0.97,-1.15l2.07,-1.1l0.43,-0.35l0.32,-1.33l0.18,-0.22l0.71,0.41l-0.36,2.34l-0.49,0.94l-1.74,0.8l-0.3,0.38l-0.26,1.74l-0.26,0.1l-0.47,-0.36l-0.19,0.06l0.76,2.2l-0.01,1.53l-0.32,1.27l-1.08,2.3l-0.5,0.28l-0.61,-0.34l-0.64,-1.01l-0.27,0.18l-1.25,1.66l-0.18,-0.23l0.24,-2.35l-0.18,-0.24l-1.64,0.6l-0.83,0.81l-0.93,1.41l-0.81,0.54l1.62,0.67l1.59,0.14l0.98,1.1l0.4,0.15l1.32,-0.39l0.48,-0.39l1.61,-2.06l0.58,-0.28l0.68,0.19l0.76,-0.15l1.35,-0.99l0.19,-0.5l0.5,-2.98l0.59,-1.6l-0.03,-0.57l-0.27,-0.66l0.21,-0.51l0.59,-0.76l0.25,-0.77l-0.08,-0.78l0.36,-0.74l1.41,-1.41l0.39,-0.69l1.61,-1.35l-0.08,-0.76l-0.57,-1.07l-0.3,-0.88l-0.18,-1.29l-0.28,-0.5l-0.18,0.14l0,2.02l-0.16,0.09l-1.14,-1.43l-0.14,-0.73l0.08,-0.91l0.32,-0.6l0.96,-0.4l0.99,0.04l0.08,-0.56l-0.63,-2.08l-0.53,-1.02l-0.47,-0.56l-0.76,-0.34L371,23.95l0.03,-0.44l0.33,-0.49l0.47,-0.04l1.16,0.58l0.77,-0.18l0.15,-0.71l-0.08,-0.44l0.77,-2.46l0.14,-2.15l-0.14,-0.41l-0.25,-0.11L374,17.29l-0.79,-0.16l-0.27,-0.8l-0.14,-1.43l-0.03,-3.32l1.46,0.44l6.08,1.82l6.09,1.8l6.1,1.76l6.1,1.74l6.11,1.71l6.12,1.68l6.13,1.65l6.14,1.62l6.14,1.59l6.15,1.56l6.16,1.54L447.7,32l6.17,1.48l1.51,0.36l-0.8,3.52l-0.82,3.53l-0.82,3.53l-0.82,3.52l-0.82,3.52l-0.82,3.52l-0.82,3.52l-0.82,3.52l-0.82,3.52l-0.81,3.52l-0.81,3.51l-0.82,3.51l-0.81,3.51l-0.81,3.51l-0.81,3.51l-0.81,3.5l-0.16,0.18l-0.22,0.48l0.09,1.56l0.52,2.37l-0.04,1.57l-0.59,0.77l-0.08,1.56L442.1,99.88zM368.54,10.29l0.53,0.16l-0.3,0.27l-0.18,-0.12L368.54,10.29zM370.77,18.54l0.05,0.53l-0.71,0.28l-0.43,-0.05l-0.43,-0.93l-0.26,-0.17l-0.12,1.2l-0.2,0.36l-1.12,-1.1l-0.08,-0.63l0.55,-0.47l1.02,-0.34l0.31,0.02L370.77,18.54zM366.33,21.25l0.16,0.82l-1.41,-0.93l-0.53,-0.61l-0.07,-0.46l0.17,-1.37l0.24,-0.39l0.73,0.06l0.79,2.01L366.33,21.25zM368.63,23.59l-0.29,0.14l-0.68,-0.52l-0.31,-0.62l0.03,-0.65l0.64,-1.06l0.47,-0.18l0.22,0.14l-0.21,1.04l0.35,1.28L368.63,23.59zM370.41,30.6l-0.14,3.05l0.66,-1.09l1.36,2.63l-0.3,1.01l-0.34,0.27l-0.44,0l-0.29,-0.41l-0.14,-0.81l-0.33,-0.51l-0.87,-0.52l-0.25,-0.95l-0.01,-0.6l0.43,-1.6l-0.09,-0.56l-0.47,-0.26l-0.37,-0.52l-0.4,-1.33l-0.01,-0.33l0.62,-0.8l1.26,-1.27l0.8,-0.54l0.34,0.19l0.31,0.59l0.28,0.99l-0.28,0.56l-2.5,0.49l-0.15,0.25l0.95,0.64l0.3,0.4L370.41,30.6zM367.86,43.06l-0.2,0.39L367,42.71l-0.13,-0.54l0.34,-1.01l0.4,-0.61l0.19,-0.09l0.39,0.43l0.08,0.21L367.86,43.06zM368.08,47.81l-0.21,0.47l-0.68,0.21l-0.26,-0.18l0.15,-0.58l-0.13,-0.13l-0.81,0.51l0.46,-1.36l0.73,-1.36l0.27,0.05l0.11,1.06L368.08,47.81zM360.12,49.89l-0.27,0.38l-0.2,-0.08l-0.2,-1l0.13,-0.62l0.53,-0.32l0.14,1.42L360.12,49.89z"
34661
+ },
34662
+ {
34663
+ id: "WI",
34664
+ name: "Wisconsin",
34665
+ path: "M851.32,111.65l-0.48,0.38l-0.2,-0.16l0.08,-0.7l0.23,-0.42l0.38,-0.14l0.2,0.15l0.02,0.45L851.32,111.65zM847.13,114.11l-0.22,0.17l-0.61,-0.34l-0.1,-0.31l0.14,-0.32l0.27,0.06l0.41,0.44L847.13,114.11zM852.21,121.33l-0.07,0.18l0.36,0.79l0.78,-0.26l0.38,0.47l0.48,0.18l0.91,0.34l0.49,0.91l0.49,0.91l0.49,0.91l0.49,0.91l1.97,0.41l1.97,0.41l1.97,0.41l1.98,0.4l1.98,0.4l1.98,0.4l1.98,0.4l1.98,0.39l1.14,0.55l1.14,0.55l1.14,0.54l1.15,0.54l1.72,-0.01l1.55,0.26l2.13,-0.16l2.19,0.29l3.25,0.78l0.82,0.83l0.17,0.59l-0.18,1.42l3.13,0.98l1.38,0.82l0.55,0.67l-0.02,0.65l0.43,1.33l-0.25,0.76l0.11,1.28l-0.57,1.41l-0.17,0.75l0.04,0.61l0.18,0.38l0.38,0.12l1.14,-0.18l1.1,-0.51l0.53,0.21l0.12,0.2l-0.05,0.38l-0.71,2.37l0.12,0.92l0.47,0.86l0.72,0.82l0.78,0.23l0.02,0.58l-0.2,1.15l-0.81,0.97l-2.23,1.33l-0.3,0.79l0.01,0.63l-1.27,2.73l-0.59,1.65l-0.34,1.7l0.24,1.03l0.83,0.36l0.63,-0.22l0.42,-0.8l0.69,-0.75l0.96,-0.7l0.66,-0.97l0.82,-2.28l1.03,-1.36l0.6,-0.13l0.17,0.02l1.14,-0.68l0.98,0.1l0.66,0.8l0.65,0.53l0.18,0.54l-0.18,1.26l-0.42,1.35l-0.67,1.44l-0.53,2.12l-0.4,2.79l0.05,2.08l0.51,1.36l-0.24,1.28l-1,1.2l-0.75,1.55l-0.5,1.89l-0.24,1.57l0.02,1.26l0.18,0.93l0.53,1.22l0.03,0.64l-0.95,2.88l-0.31,1.39l0.02,1.07l-0.2,1.07l-0.73,2.22l-0.18,1.21l0.04,1.09l0.37,1.77l-0.06,0.61l0.09,0.45l0.26,0.29l0.05,0.56l-0.16,0.84l0.15,0.63l0.46,0.42l0.35,0.84l0.24,1.26l0.41,1.04l0.59,0.81l0.2,1.23l-0.18,1.65l0.11,3.06l0.09,1.02l-2.1,0.17l-7.4,0.58l-7.4,0.55l-7.41,0.51l-7.41,0.47l-7.41,0.44l-7.56,0.4l-0.12,-0.16l-0.62,-1.97l-1.74,-1.38l-2.86,-0.81l-1.88,-1.42l-0.9,-2.03l-0.63,-2.3l-0.35,-2.57l0.11,-2.18l0.57,-1.78l-0.23,-1.17l-1.03,-0.57l-0.7,-0.77l-0.37,-0.99l-0.19,-1.38l-0.88,-6.55l-0.83,-3.06l-1.07,-1.16l-2.2,-1.31l-3.32,-1.46l-2.07,-1.42l-1.24,-2.06l-2.4,-2.38l-1.54,-0.95l-1.48,-0.32l-1.2,-0.75l-0.91,-1.18l-1.22,-0.72l-1.54,-0.26l-1.74,-0.93l-2.08,-1.73l-0.05,-0.14l-0.47,-1.28l0.21,-0.74l0.25,-2.51l-0.06,-0.79l-0.52,-2.26l0.51,-0.9l-0.21,-2.81l0.16,-0.93l0.99,-2.34l0.01,-1.18l-0.43,-1.34l-0.83,-1.08l-2.16,-1.08l-0.11,-1.43l0.31,-1.08l1.31,-2.05l0.7,-1.8l0.66,-0.79l4.11,-2.82l0.89,-0.22l0.62,-0.78l0.5,-0.35l-0.13,-3.23l-0.13,-3.23l-0.13,-3.23l-0.13,-3.23l1.04,-0.27l0.42,-0.83l1.01,-1.3l0.28,0v0.01l0.55,0.55l1.36,0.78l1.03,0.06l1.31,-0.23l5.12,-1.68l2.14,-1.11l2.06,-1.79l0.22,-0.06l0.91,0.26l0.29,0.13l2.68,-2.08l0.9,-0.3l0.72,0.01l0.93,0.71l0.23,0.45l-0.25,0.91l-0.73,1.36l-0.33,1.13l0.07,0.89l-0.29,0.99l-0.81,1.36l0.34,0.34l2.31,-1.08l0.32,-0.39l0.03,-0.22l-0.16,-0.26l0.26,-0.13l1.93,1.18l1.28,0.64l1.06,0.28L852.21,121.33zM849.62,114.15l-0.5,0.16l-1.12,-0.13l0,-0.33l1.12,-0.52l0.5,-0.16l0.13,0.18L849.62,114.15zM847.28,117.35l-0.86,0.36l-0.37,-0.04l0.12,-0.43l0.43,-0.53l1.97,-1.38l0.36,0l0.13,0.29l-0.96,0.68l-0.35,0.35l-0.03,0.34L847.28,117.35zM909.69,144.56l-0.45,0.27l-0.87,0.01l-0.36,-0.47l0.32,-1.32l0.21,0.22l0.75,-0.06l0.27,0.1l0.11,0.31L909.69,144.56zM907.9,147.25l-0.26,0.31l-0.51,-0.14l-0.15,0.44l0.21,1.02l-0.11,0.49l-0.44,-0.03l0,0.19l0.42,0.42l0.09,0.49l-0.25,0.57l-0.26,0.28l-0.28,-0.01l-0.37,0.66l-0.46,1.33l-0.13,0.76l0.21,0.19l-0.09,0.44l-1.27,2.08l-0.54,0.24l-0.64,-0.21l-0.49,-0.53l-0.34,-0.84l-0.14,-0.66l0.06,-0.48l1.12,-1.84l0.46,-1.18l0.2,-1.29l0.51,-0.86l0.83,-0.43l0.62,-0.85l0.41,-1.27l0.56,-0.59l0.71,0.09l0.35,0.43L907.9,147.25z"
34666
+ },
34667
+ {
34668
+ id: "WV",
34669
+ name: "West Virginia",
34670
+ path: "M1047.74,251.56L1048.21,254.37L1048.68,257.17L1049.15,259.98L1049.62,262.79L1051.49,260.76L1052.51,259.97L1055.54,255.69L1056.02,255.58L1057.39,255.85L1059.55,252.8L1059.69,251.81L1059.94,251.45L1060.28,251.42L1060.53,251.63L1060.51,252.18L1060.76,252.39L1061.96,252.8L1063.55,252.84L1063.76,252.83L1065.1,252.56L1065.6,251.95L1065.71,250.9L1066.2,250.21L1067.52,249.69L1069.75,248.19L1071.19,248.08L1072.58,248.86L1073.88,249.11L1075.1,248.82L1075.62,248.97L1075.44,249.55L1075.88,250.08L1076.95,250.57L1077.39,251.13L1077.2,251.78L1077.39,252.19L1077.94,252.36L1078.36,252.94L1078.67,253.91L1078.91,254.04L1078.34,256.88L1077.95,258.8L1075.73,257.64L1072.38,255.88L1070.92,255.11L1068.38,253.76L1068.07,254.75L1068.14,256.44L1067.81,258.16L1067.71,260.49L1065.91,264.5L1064.34,266.55L1063.75,266.62L1063.31,267.06L1062.68,268.27L1061.78,269.39L1059.66,269.75L1058.95,270.57L1058.59,271.72L1058.35,273.32L1057.75,274.67L1057.26,276.85L1056.82,278.05L1055.83,278.83L1054.24,279.03L1052.22,278.57L1051.71,277.71L1051.08,277.24L1050.28,276.98L1049.58,277.22L1049.19,277.92L1048.95,281.13L1048.04,282.83L1047.81,284.43L1046.59,286.6L1045.93,289.76L1043.04,295.28L1042.31,297.06L1041.91,298.8L1042.55,299.4L1042.82,299.91L1042.22,301.25L1042.02,302.55L1041.19,303.53L1039.72,304.69L1039.13,304.09L1038.83,304.02L1035.38,306.15L1034.5,306.28L1033.52,305.96L1033.14,306.06L1032.83,306.27L1032.72,306.63L1032.92,307.92L1032.28,308.69L1031.82,308.98L1029.86,309.49L1027.86,310.51L1027,310.65L1024.59,309.46L1023.56,310.78L1022.49,311.52L1021.26,312.78L1020.84,312.89L1019.54,312.79L1017.76,311.97L1016.31,311.57L1015.39,311.02L1014.6,310.25L1013.92,308.93L1013.22,308.13L1013.35,307.33L1013.1,306.65L1010.58,306.34L1007.1,304.26L1004.65,301.45L1003.8,300.1L1002.93,299.24L1002.6,298.27L1000.36,296L999.7,294.97L999.56,294.27L999.96,292.85L999.98,292.18L999.3,288.95L998.81,288.4L1000.91,288.83L1002.76,288.13L1003.8,286.94L1004.03,285.28L1004.55,284.26L1005.37,283.87L1005.65,283.11L1005.26,281.43L1004.81,280.3L1005.24,278.51L1006.4,275.68L1007.46,274.43L1008.41,274.77L1009.08,275.5L1009.45,276.62L1009.65,276.74L1009.89,276.68L1010.42,275.7L1010.96,275.26L1011.21,275.31L1011.47,275.25L1011.42,274.68L1010.71,273.18L1010.6,272.26L1011.1,271.89L1011.52,270.75L1011.85,268.83L1012.44,267.78L1013.3,267.6L1014.11,266.7L1014.89,265.1L1015.72,264.54L1016.62,265.02L1017.64,264.9L1018.76,264.18L1020.61,262.32L1023.17,259.29L1024.34,257L1024.11,255.43L1024.63,251.43L1025.88,244.99L1026.33,240.89L1025.99,239.11L1025.42,237.71L1024.63,236.69L1024.84,235.74L1026.65,234.45L1027.07,236.97L1027.51,239.5L1027.94,242.04L1028.38,244.57L1028.82,247.1L1029.25,249.63L1029.69,252.17L1030.13,254.7L1032.33,254.32L1034.54,253.94L1036.74,253.55L1038.94,253.16L1041.14,252.76L1043.34,252.37L1045.54,251.97z"
34671
+ },
34672
+ {
34673
+ id: "WY",
34674
+ name: "Wyoming",
34675
+ path: "M634.51,198.52L634.04,204.07L633.56,209.62L633.08,215.17L632.61,220.72L632.13,226.26L631.66,231.81L631.18,237.35L630.7,242.9L625.43,242.42L620.17,241.93L614.9,241.41L609.63,240.88L604.37,240.34L599.11,239.77L593.85,239.18L588.59,238.58L583.33,237.96L578.08,237.32L572.83,236.66L567.58,235.99L562.33,235.29L557.09,234.58L551.85,233.85L546.61,233.1L542.43,232.49L538.26,231.87L534.09,231.24L529.92,230.6L525.75,229.94L521.58,229.27L517.41,228.59L513.25,227.9L513.71,225.16L514.17,222.42L514.63,219.67L515.08,216.93L515.54,214.19L516,211.44L516.46,208.7L516.91,205.96L517.49,202.52L518.06,199.1L518.63,195.67L519.2,192.23L519.77,188.8L520.35,185.37L520.92,181.94L521.49,178.51L522.07,175.07L522.64,171.63L523.21,168.2L523.79,164.76L524.36,161.32L524.93,157.89L525.51,154.45L526.08,151.01L526.54,148.24L527.01,145.47L527.48,142.7L527.94,139.93L531.37,140.5L534.8,141.06L538.24,141.62L541.67,142.16L545.11,142.7L548.55,143.22L551.99,143.74L555.43,144.26L558.87,144.76L562.31,145.25L565.76,145.74L569.2,146.22L572.65,146.69L576.1,147.15L579.54,147.6L582.99,148.05L586.44,148.48L589.9,148.91L593.35,149.33L596.8,149.74L600.26,150.15L603.72,150.54L607.17,150.93L610.63,151.31L614.09,151.67L617.55,152.04L621.01,152.39L624.47,152.73L627.93,153.07L631.39,153.4L634.86,153.72L638.32,154.03L637.85,159.6L637.37,165.17L636.89,170.73L636.41,176.29L635.94,181.85L635.46,187.41L634.99,192.96z"
34676
+ }
34677
+ ];
34678
+ const NUMBER = /-?(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?/gi;
34679
+ function pathBBox(pathData) {
34680
+ let minX = Infinity, minY = Infinity, maxX = -Infinity, maxY = -Infinity;
34681
+ let x = 0, y = 0, startX = 0, startY = 0;
34682
+ const track = (px, py) => {
34683
+ if (px < minX) minX = px;
34684
+ if (py < minY) minY = py;
34685
+ if (px > maxX) maxX = px;
34686
+ if (py > maxY) maxY = py;
34687
+ x = px;
34688
+ y = py;
34689
+ };
34690
+ const commands = pathData.match(/[MLHVCSQTAZmlhvcsqtaz][^MLHVCSQTAZmlhvcsqtaz]*/g) ?? [];
34691
+ for (const cmd of commands) {
34692
+ const type = cmd[0];
34693
+ const n = (cmd.slice(1).match(NUMBER) ?? []).map(Number);
34694
+ const rel = type === type.toLowerCase();
34695
+ switch (type.toUpperCase()) {
34696
+ case "M":
34697
+ case "L":
34698
+ case "T":
34699
+ for (let i = 0; i + 1 < n.length; i += 2) {
34700
+ const bx = rel ? x : 0, by = rel ? y : 0;
34701
+ track(bx + n[i], by + n[i + 1]);
34702
+ if (type.toUpperCase() === "M" && i === 0) {
34703
+ startX = x;
34704
+ startY = y;
34705
+ }
34706
+ }
34707
+ break;
34708
+ case "H":
34709
+ for (const v of n) track((rel ? x : 0) + v, y);
34710
+ break;
34711
+ case "V":
34712
+ for (const v of n) track(x, (rel ? y : 0) + v);
34713
+ break;
34714
+ case "C":
34715
+ for (let i = 0; i + 5 < n.length; i += 6) {
34716
+ const bx = rel ? x : 0, by = rel ? y : 0;
34717
+ track(bx + n[i], by + n[i + 1]);
34718
+ track(bx + n[i + 2], by + n[i + 3]);
34719
+ track(bx + n[i + 4], by + n[i + 5]);
34720
+ }
34721
+ break;
34722
+ case "S":
34723
+ case "Q":
34724
+ for (let i = 0; i + 3 < n.length; i += 4) {
34725
+ const bx = rel ? x : 0, by = rel ? y : 0;
34726
+ track(bx + n[i], by + n[i + 1]);
34727
+ track(bx + n[i + 2], by + n[i + 3]);
34728
+ }
34729
+ break;
34730
+ case "A":
34731
+ for (let i = 0; i + 6 < n.length; i += 7) track((rel ? x : 0) + n[i + 5], (rel ? y : 0) + n[i + 6]);
34732
+ break;
34733
+ case "Z":
34734
+ x = startX;
34735
+ y = startY;
34736
+ }
34737
+ }
34738
+ if (!Number.isFinite(minX)) return {
34739
+ minX: 0,
34740
+ minY: 0,
34741
+ maxX: 0,
34742
+ maxY: 0
34743
+ };
34744
+ return {
34745
+ minX,
34746
+ minY,
34747
+ maxX,
34748
+ maxY
34749
+ };
34750
+ }
34751
+ const ZOOM_PADDING = .15;
34752
+ const round3 = (v) => String(Math.round(v * 1e3) / 1e3);
34753
+ function zoomViewBox(stateId) {
34754
+ const id = (stateId ?? "").trim().toUpperCase();
34755
+ const state = US_STATE_PATHS.find((s) => s.id === id);
34756
+ if (!state) return US_MAP_VIEWBOX;
34757
+ const b = pathBBox(state.path);
34758
+ const w = b.maxX - b.minX, h = b.maxY - b.minY;
34759
+ const px = w * ZOOM_PADDING, py = h * ZOOM_PADDING;
34760
+ return [
34761
+ b.minX - px,
34762
+ b.minY - py,
34763
+ w + px * 2,
34764
+ h + py * 2
34765
+ ].map(round3).join(" ");
34766
+ }
34767
+ const clamp255 = (v) => Math.min(255, Math.max(0, Math.round(v)));
34768
+ function parseCssColor(input) {
34769
+ const s = (input ?? "").trim();
34770
+ let m = /^#([0-9a-f]{3,4})$/i.exec(s);
34771
+ if (m) {
34772
+ const h = m[1];
34773
+ return {
34774
+ r: parseInt(h[0] + h[0], 16),
34775
+ g: parseInt(h[1] + h[1], 16),
34776
+ b: parseInt(h[2] + h[2], 16)
34777
+ };
34778
+ }
34779
+ m = /^#([0-9a-f]{6})(?:[0-9a-f]{2})?$/i.exec(s);
34780
+ if (m) {
34781
+ const h = m[1];
34782
+ return {
34783
+ r: parseInt(h.slice(0, 2), 16),
34784
+ g: parseInt(h.slice(2, 4), 16),
34785
+ b: parseInt(h.slice(4, 6), 16)
34786
+ };
34787
+ }
34788
+ const ch = "(\\d+(?:\\.\\d+)?%?)";
34789
+ m = new RegExp(`^rgba?\\(\\s*${ch}\\s*[,\\s]\\s*${ch}\\s*[,\\s]\\s*${ch}\\s*(?:[,/]\\s*\\d*\\.?\\d+%?\\s*)?\\)$`, "i").exec(s);
34790
+ if (m) {
34791
+ const c = (t) => clamp255(t.endsWith("%") ? parseFloat(t) * 255 / 100 : parseFloat(t));
34792
+ return {
34793
+ r: c(m[1]),
34794
+ g: c(m[2]),
34795
+ b: c(m[3])
34796
+ };
34797
+ }
34798
+ return null;
34799
+ }
34800
+ const hex2 = (v) => clamp255(v).toString(16).padStart(2, "0");
34801
+ function toHex(c) {
34802
+ return `#${hex2(c.r)}${hex2(c.g)}${hex2(c.b)}`;
34803
+ }
34804
+ function mixColors(low, high, ratio) {
34805
+ const t = Number.isFinite(ratio) ? Math.min(1, Math.max(0, ratio)) : 0;
34806
+ return toHex({
34807
+ r: low.r + (high.r - low.r) * t,
34808
+ g: low.g + (high.g - low.g) * t,
34809
+ b: low.b + (high.b - low.b) * t
34810
+ });
34811
+ }
34812
+ const DEFAULT_LOW = "#e5e7eb";
34813
+ const DEFAULT_HIGH = "#1e40af";
34814
+ const DEFAULT_LOW_RGB = {
34815
+ r: 229,
34816
+ g: 231,
34817
+ b: 235
34818
+ };
34819
+ const DEFAULT_HIGH_RGB = {
34820
+ r: 30,
34821
+ g: 64,
34822
+ b: 175
34823
+ };
34824
+ const SMALL_STATE_IDS = [
34825
+ "CT",
34826
+ "DC",
34827
+ "DE",
34828
+ "HI",
34829
+ "MA",
34830
+ "MD",
34831
+ "NH",
34832
+ "NJ",
34833
+ "RI",
34834
+ "VT"
34835
+ ];
34836
+ const STATES_BY_NAME = [...US_STATE_PATHS].sort((a, b) => a.name.localeCompare(b.name, "en-US"));
34837
+ const VALID_IDS = new Set(US_STATE_PATHS.map((s) => s.id));
34838
+ let numberFormat = null;
34839
+ function formatNumber(n) {
34840
+ numberFormat ??= new Intl.NumberFormat("en-US");
34841
+ return numberFormat.format(n);
34842
+ }
34843
+ const normId = (v) => {
34844
+ const id = (v ?? "").trim().toUpperCase();
34845
+ return VALID_IDS.has(id) ? id : null;
34846
+ };
34847
+ var UsStateMapComponent = class UsStateMapComponent {
34848
+ constructor() {
34849
+ this.data = input({}, ...ngDevMode ? [{ debugName: "data" }] : /* istanbul ignore next */ []);
34850
+ this.selectedState = input(null, ...ngDevMode ? [{ debugName: "selectedState" }] : /* istanbul ignore next */ []);
34851
+ this.focusState = input(null, ...ngDevMode ? [{ debugName: "focusState" }] : /* istanbul ignore next */ []);
34852
+ this.unitSingular = input("", ...ngDevMode ? [{ debugName: "unitSingular" }] : /* istanbul ignore next */ []);
34853
+ this.unitPlural = input("", ...ngDevMode ? [{ debugName: "unitPlural" }] : /* istanbul ignore next */ []);
34854
+ this.colorLow = input(DEFAULT_LOW, ...ngDevMode ? [{ debugName: "colorLow" }] : /* istanbul ignore next */ []);
34855
+ this.colorHigh = input(DEFAULT_HIGH, ...ngDevMode ? [{ debugName: "colorHigh" }] : /* istanbul ignore next */ []);
34856
+ this.showLegend = input(true, ...ngDevMode ? [{ debugName: "showLegend" }] : /* istanbul ignore next */ []);
34857
+ this.showSmallStateButtons = input(false, ...ngDevMode ? [{ debugName: "showSmallStateButtons" }] : /* istanbul ignore next */ []);
34858
+ this.ariaLabel = input("US state map", ...ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []);
34859
+ this.maxWidth = input("42rem", ...ngDevMode ? [{ debugName: "maxWidth" }] : /* istanbul ignore next */ []);
34860
+ this.height = input("", ...ngDevMode ? [{ debugName: "height" }] : /* istanbul ignore next */ []);
34861
+ this.stateClick = output();
34862
+ this.host = inject(ElementRef);
34863
+ this.pointerDown = false;
34864
+ this.hoveredId = signal(null, ...ngDevMode ? [{ debugName: "hoveredId" }] : /* istanbul ignore next */ []);
34865
+ this.focusedId = signal(null, ...ngDevMode ? [{ debugName: "focusedId" }] : /* istanbul ignore next */ []);
34866
+ this.lastFocusedId = signal(null, ...ngDevMode ? [{ debugName: "lastFocusedId" }] : /* istanbul ignore next */ []);
34867
+ this.ringVisible = signal(false, ...ngDevMode ? [{ debugName: "ringVisible" }] : /* istanbul ignore next */ []);
34868
+ this.tipPos = signal(null, ...ngDevMode ? [{ debugName: "tipPos" }] : /* istanbul ignore next */ []);
34869
+ this.low = computed(() => parseCssColor(this.colorLow()) ?? DEFAULT_LOW_RGB, ...ngDevMode ? [{ debugName: "low" }] : /* istanbul ignore next */ []);
34870
+ this.high = computed(() => parseCssColor(this.colorHigh()) ?? DEFAULT_HIGH_RGB, ...ngDevMode ? [{ debugName: "high" }] : /* istanbul ignore next */ []);
34871
+ this.values = computed(() => {
34872
+ const out = /* @__PURE__ */ new Map();
34873
+ const raw = this.data() ?? {};
34874
+ for (const key of Object.keys(raw)) {
34875
+ const id = normId(key);
34876
+ if (!id) continue;
34877
+ const r = raw[key];
34878
+ const v = typeof r === "number" ? r : typeof r === "string" && r.trim() !== "" ? Number(r) : NaN;
34879
+ out.set(id, (out.get(id) ?? 0) + (Number.isFinite(v) && v > 0 ? v : 0));
34880
+ }
34881
+ return out;
34882
+ }, ...ngDevMode ? [{ debugName: "values" }] : /* istanbul ignore next */ []);
34883
+ this.max = computed(() => {
34884
+ let m = 0;
34885
+ for (const v of this.values().values()) if (v > m) m = v;
34886
+ return m;
34887
+ }, ...ngDevMode ? [{ debugName: "max" }] : /* istanbul ignore next */ []);
34888
+ this.views = computed(() => {
34889
+ const values = this.values();
34890
+ const max = this.max();
34891
+ const low = this.low(), high = this.high();
34892
+ return STATES_BY_NAME.map((s) => {
34893
+ const value = values.get(s.id) ?? 0;
34894
+ const valueText = this.valueText(value);
34895
+ return {
34896
+ id: s.id,
34897
+ name: s.name,
34898
+ path: s.path,
34899
+ value,
34900
+ valueText,
34901
+ label: `${s.name}, ${valueText}`,
34902
+ fill: value > 0 && max > 0 ? mixColors(low, high, value / max) : mixColors(low, high, 0)
34903
+ };
34904
+ });
34905
+ }, ...ngDevMode ? [{ debugName: "views" }] : /* istanbul ignore next */ []);
34906
+ this.smallViews = computed(() => this.views().filter((v) => SMALL_STATE_IDS.includes(v.id)), ...ngDevMode ? [{ debugName: "smallViews" }] : /* istanbul ignore next */ []);
34907
+ this.selectedId = computed(() => normId(this.selectedState()), ...ngDevMode ? [{ debugName: "selectedId" }] : /* istanbul ignore next */ []);
34908
+ this.selectedView = computed(() => this.views().find((v) => v.id === this.selectedId()) ?? null, ...ngDevMode ? [{ debugName: "selectedView" }] : /* istanbul ignore next */ []);
34909
+ this.focusRingView = computed(() => {
34910
+ const id = this.focusedId();
34911
+ return id && this.ringVisible() ? this.views().find((v) => v.id === id) ?? null : null;
34912
+ }, ...ngDevMode ? [{ debugName: "focusRingView" }] : /* istanbul ignore next */ []);
34913
+ this.viewBox = computed(() => zoomViewBox(normId(this.focusState())), ...ngDevMode ? [{ debugName: "viewBox" }] : /* istanbul ignore next */ []);
34914
+ this.tabStop = computed(() => this.lastFocusedId() ?? this.selectedId() ?? this.views()[0].id, ...ngDevMode ? [{ debugName: "tabStop" }] : /* istanbul ignore next */ []);
34915
+ this.tip = computed(() => {
34916
+ const id = this.hoveredId() ?? this.focusedId();
34917
+ return id ? this.views().find((v) => v.id === id) ?? null : null;
34918
+ }, ...ngDevMode ? [{ debugName: "tip" }] : /* istanbul ignore next */ []);
34919
+ this.gradient = computed(() => `linear-gradient(to right, ${mixColors(this.low(), this.high(), 0)}, ${mixColors(this.low(), this.high(), 1)})`, ...ngDevMode ? [{ debugName: "gradient" }] : /* istanbul ignore next */ []);
34920
+ this.maxText = computed(() => this.valueText(this.max()), ...ngDevMode ? [{ debugName: "maxText" }] : /* istanbul ignore next */ []);
34921
+ this.legendLabel = computed(() => `Colour scale from 0 to ${this.maxText()}`, ...ngDevMode ? [{ debugName: "legendLabel" }] : /* istanbul ignore next */ []);
34922
+ }
34923
+ unit(n) {
34924
+ const one = this.unitSingular().trim();
34925
+ const many = this.unitPlural().trim() || one;
34926
+ return n === 1 ? one : many;
34927
+ }
34928
+ valueText(n) {
34929
+ const unit = this.unit(n);
34930
+ return unit ? `${formatNumber(n)} ${unit}` : formatNumber(n);
34931
+ }
34932
+ opacityOf(id) {
34933
+ const selected = this.selectedId();
34934
+ const hovered = this.hoveredId();
34935
+ if (selected) return selected !== id && hovered !== id ? "0.4" : null;
34936
+ return hovered && hovered !== id ? "0.75" : null;
34937
+ }
34938
+ onHover(ev, id) {
34939
+ this.hoveredId.set(id);
34940
+ if (Number.isFinite(ev.clientX) && Number.isFinite(ev.clientY)) {
34941
+ const rect = this.host.nativeElement.querySelector(".usm-map")?.getBoundingClientRect();
34942
+ if (rect && rect.width > 0) {
34943
+ const margin = rect.width > 160 ? 80 : 0;
34944
+ const x = Math.min(rect.width - margin, Math.max(margin, ev.clientX - rect.left));
34945
+ this.tipPos.set({
34946
+ x,
34947
+ y: Math.max(0, ev.clientY - rect.top)
34948
+ });
34949
+ return;
34950
+ }
34951
+ }
34952
+ this.tipPos.set(null);
34953
+ }
34954
+ onLeave(id) {
34955
+ if (this.hoveredId() === id) this.clearHover();
34956
+ }
34957
+ clearHover() {
34958
+ this.hoveredId.set(null);
34959
+ this.tipPos.set(null);
34960
+ }
34961
+ onClick(id) {
34962
+ this.pointerDown = false;
34963
+ this.stateClick.emit(id);
34964
+ }
34965
+ onFocus(id) {
34966
+ this.focusedId.set(id);
34967
+ this.lastFocusedId.set(id);
34968
+ this.ringVisible.set(!this.pointerDown);
34969
+ this.pointerDown = false;
34970
+ if (this.hoveredId() === null) this.tipPos.set(null);
34971
+ }
34972
+ onBlur(id) {
34973
+ if (this.focusedId() === id) this.focusedId.set(null);
34974
+ }
34975
+ onKey(ev, id) {
34976
+ this.ringVisible.set(true);
34977
+ const list = this.views();
34978
+ const index = list.findIndex((v) => v.id === id);
34979
+ let target = -1;
34980
+ switch (ev.key) {
34981
+ case "Enter":
34982
+ case " ":
34983
+ case "Spacebar":
34984
+ ev.preventDefault();
34985
+ this.stateClick.emit(id);
34986
+ return;
34987
+ case "ArrowRight":
34988
+ case "ArrowDown":
34989
+ target = Math.min(list.length - 1, index + 1);
34990
+ break;
34991
+ case "ArrowLeft":
34992
+ case "ArrowUp":
34993
+ target = Math.max(0, index - 1);
34994
+ break;
34995
+ case "Home":
34996
+ target = 0;
34997
+ break;
34998
+ case "End":
34999
+ target = list.length - 1;
35000
+ break;
35001
+ default: return;
35002
+ }
35003
+ ev.preventDefault();
35004
+ this.host.nativeElement.querySelector(`[data-state="${list[target].id}"]`)?.focus();
35005
+ }
35006
+ static {
35007
+ this.ɵfac = i0.ɵɵngDeclareFactory({
35008
+ minVersion: "12.0.0",
35009
+ version: "22.2.2",
35010
+ ngImport: i0,
35011
+ type: UsStateMapComponent,
35012
+ deps: [],
35013
+ target: i0.ɵɵFactoryTarget.Component
35014
+ });
35015
+ }
35016
+ static {
35017
+ this.ɵcmp = i0.ɵɵngDeclareComponent({
35018
+ minVersion: "17.0.0",
35019
+ version: "22.2.2",
35020
+ type: UsStateMapComponent,
35021
+ isStandalone: true,
35022
+ selector: "ui-us-state-map",
35023
+ inputs: {
35024
+ data: {
35025
+ classPropertyName: "data",
35026
+ publicName: "data",
35027
+ isSignal: true,
35028
+ isRequired: false,
35029
+ transformFunction: null
35030
+ },
35031
+ selectedState: {
35032
+ classPropertyName: "selectedState",
35033
+ publicName: "selectedState",
35034
+ isSignal: true,
35035
+ isRequired: false,
35036
+ transformFunction: null
35037
+ },
35038
+ focusState: {
35039
+ classPropertyName: "focusState",
35040
+ publicName: "focusState",
35041
+ isSignal: true,
35042
+ isRequired: false,
35043
+ transformFunction: null
35044
+ },
35045
+ unitSingular: {
35046
+ classPropertyName: "unitSingular",
35047
+ publicName: "unitSingular",
35048
+ isSignal: true,
35049
+ isRequired: false,
35050
+ transformFunction: null
35051
+ },
35052
+ unitPlural: {
35053
+ classPropertyName: "unitPlural",
35054
+ publicName: "unitPlural",
35055
+ isSignal: true,
35056
+ isRequired: false,
35057
+ transformFunction: null
35058
+ },
35059
+ colorLow: {
35060
+ classPropertyName: "colorLow",
35061
+ publicName: "colorLow",
35062
+ isSignal: true,
35063
+ isRequired: false,
35064
+ transformFunction: null
35065
+ },
35066
+ colorHigh: {
35067
+ classPropertyName: "colorHigh",
35068
+ publicName: "colorHigh",
35069
+ isSignal: true,
35070
+ isRequired: false,
35071
+ transformFunction: null
35072
+ },
35073
+ showLegend: {
35074
+ classPropertyName: "showLegend",
35075
+ publicName: "showLegend",
35076
+ isSignal: true,
35077
+ isRequired: false,
35078
+ transformFunction: null
35079
+ },
35080
+ showSmallStateButtons: {
35081
+ classPropertyName: "showSmallStateButtons",
35082
+ publicName: "showSmallStateButtons",
35083
+ isSignal: true,
35084
+ isRequired: false,
35085
+ transformFunction: null
35086
+ },
35087
+ ariaLabel: {
35088
+ classPropertyName: "ariaLabel",
35089
+ publicName: "ariaLabel",
35090
+ isSignal: true,
35091
+ isRequired: false,
35092
+ transformFunction: null
35093
+ },
35094
+ maxWidth: {
35095
+ classPropertyName: "maxWidth",
35096
+ publicName: "maxWidth",
35097
+ isSignal: true,
35098
+ isRequired: false,
35099
+ transformFunction: null
35100
+ },
35101
+ height: {
35102
+ classPropertyName: "height",
35103
+ publicName: "height",
35104
+ isSignal: true,
35105
+ isRequired: false,
35106
+ transformFunction: null
35107
+ }
35108
+ },
35109
+ outputs: { stateClick: "stateClick" },
35110
+ ngImport: i0,
35111
+ template: `
35112
+ <div class="usm" [style.maxWidth]="maxWidth()" (pointerleave)="clearHover()">
35113
+ <div class="usm-map" role="group" [attr.aria-label]="ariaLabel()">
35114
+ <svg class="usm-svg" [attr.viewBox]="viewBox()" [style.height]="height() || null"
35115
+ preserveAspectRatio="xMidYMid meet" focusable="false">
35116
+ @for (s of views(); track s.id) {
35117
+ <path class="usm-state" role="button"
35118
+ [attr.data-state]="s.id"
35119
+ [attr.d]="s.path"
35120
+ [attr.fill]="s.fill"
35121
+ [attr.tabindex]="s.id === tabStop() ? 0 : -1"
35122
+ [attr.aria-label]="s.label"
35123
+ [attr.aria-pressed]="s.id === selectedId() ? 'true' : 'false'"
35124
+ [style.opacity]="opacityOf(s.id)"
35125
+ (pointerenter)="onHover($event, s.id)"
35126
+ (pointermove)="onHover($event, s.id)"
35127
+ (pointerleave)="onLeave(s.id)"
35128
+ (pointerdown)="pointerDown = true"
35129
+ (click)="onClick(s.id)"
35130
+ (keydown)="onKey($event, s.id)"
35131
+ (focus)="onFocus(s.id)"
35132
+ (blur)="onBlur(s.id)" />
35133
+ }
35134
+ @if (selectedView(); as v) {
35135
+ <path class="usm-ring usm-ring-selected" fill="none" [attr.d]="v.path" aria-hidden="true" />
35136
+ }
35137
+ @if (focusRingView(); as v) {
35138
+ <path class="usm-ring usm-ring-focus" fill="none" [attr.d]="v.path" aria-hidden="true" />
35139
+ }
35140
+ </svg>
35141
+
35142
+ @if (tip(); as t) {
35143
+ <div class="usm-tip" [class.usm-tip-fixed]="!tipPos()" aria-hidden="true"
35144
+ [style.left.px]="tipPos()?.x ?? null" [style.top.px]="tipPos()?.y ?? null">
35145
+ <span class="usm-tip-name">{{ t.name }}</span>
35146
+ <span class="usm-tip-value">{{ t.valueText }}</span>
35147
+ </div>
35148
+ }
35149
+ </div>
35150
+
35151
+ @if (showSmallStateButtons()) {
35152
+ <div class="usm-chips" role="group" aria-label="Small states">
35153
+ @for (s of smallViews(); track s.id) {
35154
+ <button type="button" class="usm-chip" [class.usm-chip-selected]="s.id === selectedId()"
35155
+ [attr.data-chip]="s.id" [attr.aria-label]="s.label" [attr.aria-pressed]="s.id === selectedId() ? 'true' : 'false'"
35156
+ (click)="stateClick.emit(s.id)">
35157
+ <span class="usm-chip-swatch" [style.background-color]="s.fill"></span>{{ s.id }}
35158
+ </button>
35159
+ }
35160
+ </div>
35161
+ }
35162
+
35163
+ @if (showLegend()) {
35164
+ <div class="usm-legend" role="img" [attr.aria-label]="legendLabel()">
35165
+ <span class="usm-legend-min">0</span>
35166
+ <span class="usm-legend-bar" [style.background-image]="gradient()"></span>
35167
+ <span class="usm-legend-max">{{ maxText() }}</span>
35168
+ </div>
35169
+ }
35170
+
35171
+ <ul class="usm-sr-only" aria-label="Values by state">
35172
+ @for (s of views(); track s.id) { <li>{{ s.label }}</li> }
35173
+ </ul>
35174
+ </div>
35175
+ `,
35176
+ isInline: true,
35177
+ styles: [":host{display:block;min-width:0}.usm{position:relative;width:100%;margin:0 auto}.usm-map{position:relative}.usm-svg{display:block;width:100%;height:auto;max-height:100%}.usm-state{stroke:#fff;stroke-width:1px;stroke-linejoin:round;vector-effect:non-scaling-stroke;cursor:pointer;outline:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:opacity .15s ease}.usm-ring{vector-effect:non-scaling-stroke;pointer-events:none;stroke-linejoin:round}.usm-ring-selected{stroke:#ea580c;stroke-width:2.5px}.usm-ring-focus{stroke:#0f172a;stroke-width:3px}.usm-tip{position:absolute;z-index:2;pointer-events:none;white-space:nowrap;transform:translate(-50%,calc(-100% - 14px));background:#0f172a;color:#fff;font-size:.875rem;line-height:1.3;border-radius:8px;padding:6px 12px;box-shadow:0 4px 12px #0f172a40}.usm-tip-fixed{left:50%;top:0;transform:translate(-50%)}.usm-tip-name{font-weight:600}.usm-tip-value{margin-inline-start:8px;color:#cbd5e1}.usm-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:12px}.usm-chip{display:inline-flex;align-items:center;gap:6px;min-width:44px;min-height:44px;padding:0 12px;font:inherit;font-size:.875rem;font-weight:600;color:#1e293b;background:#fff;border:1px solid #cbd5e1;border-radius:8px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.usm-chip:focus{outline:2px solid #0f172a;outline-offset:2px}.usm-chip-selected{border-color:#ea580c;box-shadow:inset 0 0 0 1px #ea580c}.usm-chip-swatch{width:12px;height:12px;border-radius:3px;border:1px solid rgba(15,23,42,.25)}.usm-legend{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;font-size:.75rem;color:#475569}.usm-legend-bar{flex:0 1 12rem;min-width:4rem;height:12px;border-radius:999px}.usm-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;list-style:none}@media(prefers-reduced-motion:reduce){.usm-state{transition:none}}@media(forced-colors:active){.usm-ring-selected,.usm-ring-focus{stroke:Highlight}.usm-tip{background:Canvas;color:CanvasText;border:1px solid CanvasText}.usm-tip-value{color:CanvasText}}\n"],
35178
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
35179
+ });
35180
+ }
35181
+ };
35182
+ i0.ɵɵngDeclareClassMetadata({
35183
+ minVersion: "12.0.0",
35184
+ version: "22.2.2",
35185
+ ngImport: i0,
35186
+ type: UsStateMapComponent,
35187
+ decorators: [{
35188
+ type: Component,
35189
+ args: [{
35190
+ selector: "ui-us-state-map",
35191
+ standalone: true,
35192
+ changeDetection: ChangeDetectionStrategy.OnPush,
35193
+ template: `
35194
+ <div class="usm" [style.maxWidth]="maxWidth()" (pointerleave)="clearHover()">
35195
+ <div class="usm-map" role="group" [attr.aria-label]="ariaLabel()">
35196
+ <svg class="usm-svg" [attr.viewBox]="viewBox()" [style.height]="height() || null"
35197
+ preserveAspectRatio="xMidYMid meet" focusable="false">
35198
+ @for (s of views(); track s.id) {
35199
+ <path class="usm-state" role="button"
35200
+ [attr.data-state]="s.id"
35201
+ [attr.d]="s.path"
35202
+ [attr.fill]="s.fill"
35203
+ [attr.tabindex]="s.id === tabStop() ? 0 : -1"
35204
+ [attr.aria-label]="s.label"
35205
+ [attr.aria-pressed]="s.id === selectedId() ? 'true' : 'false'"
35206
+ [style.opacity]="opacityOf(s.id)"
35207
+ (pointerenter)="onHover($event, s.id)"
35208
+ (pointermove)="onHover($event, s.id)"
35209
+ (pointerleave)="onLeave(s.id)"
35210
+ (pointerdown)="pointerDown = true"
35211
+ (click)="onClick(s.id)"
35212
+ (keydown)="onKey($event, s.id)"
35213
+ (focus)="onFocus(s.id)"
35214
+ (blur)="onBlur(s.id)" />
35215
+ }
35216
+ @if (selectedView(); as v) {
35217
+ <path class="usm-ring usm-ring-selected" fill="none" [attr.d]="v.path" aria-hidden="true" />
35218
+ }
35219
+ @if (focusRingView(); as v) {
35220
+ <path class="usm-ring usm-ring-focus" fill="none" [attr.d]="v.path" aria-hidden="true" />
35221
+ }
35222
+ </svg>
35223
+
35224
+ @if (tip(); as t) {
35225
+ <div class="usm-tip" [class.usm-tip-fixed]="!tipPos()" aria-hidden="true"
35226
+ [style.left.px]="tipPos()?.x ?? null" [style.top.px]="tipPos()?.y ?? null">
35227
+ <span class="usm-tip-name">{{ t.name }}</span>
35228
+ <span class="usm-tip-value">{{ t.valueText }}</span>
35229
+ </div>
35230
+ }
35231
+ </div>
35232
+
35233
+ @if (showSmallStateButtons()) {
35234
+ <div class="usm-chips" role="group" aria-label="Small states">
35235
+ @for (s of smallViews(); track s.id) {
35236
+ <button type="button" class="usm-chip" [class.usm-chip-selected]="s.id === selectedId()"
35237
+ [attr.data-chip]="s.id" [attr.aria-label]="s.label" [attr.aria-pressed]="s.id === selectedId() ? 'true' : 'false'"
35238
+ (click)="stateClick.emit(s.id)">
35239
+ <span class="usm-chip-swatch" [style.background-color]="s.fill"></span>{{ s.id }}
35240
+ </button>
35241
+ }
35242
+ </div>
35243
+ }
35244
+
35245
+ @if (showLegend()) {
35246
+ <div class="usm-legend" role="img" [attr.aria-label]="legendLabel()">
35247
+ <span class="usm-legend-min">0</span>
35248
+ <span class="usm-legend-bar" [style.background-image]="gradient()"></span>
35249
+ <span class="usm-legend-max">{{ maxText() }}</span>
35250
+ </div>
35251
+ }
35252
+
35253
+ <ul class="usm-sr-only" aria-label="Values by state">
35254
+ @for (s of views(); track s.id) { <li>{{ s.label }}</li> }
35255
+ </ul>
35256
+ </div>
35257
+ `,
35258
+ styles: [":host{display:block;min-width:0}.usm{position:relative;width:100%;margin:0 auto}.usm-map{position:relative}.usm-svg{display:block;width:100%;height:auto;max-height:100%}.usm-state{stroke:#fff;stroke-width:1px;stroke-linejoin:round;vector-effect:non-scaling-stroke;cursor:pointer;outline:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:opacity .15s ease}.usm-ring{vector-effect:non-scaling-stroke;pointer-events:none;stroke-linejoin:round}.usm-ring-selected{stroke:#ea580c;stroke-width:2.5px}.usm-ring-focus{stroke:#0f172a;stroke-width:3px}.usm-tip{position:absolute;z-index:2;pointer-events:none;white-space:nowrap;transform:translate(-50%,calc(-100% - 14px));background:#0f172a;color:#fff;font-size:.875rem;line-height:1.3;border-radius:8px;padding:6px 12px;box-shadow:0 4px 12px #0f172a40}.usm-tip-fixed{left:50%;top:0;transform:translate(-50%)}.usm-tip-name{font-weight:600}.usm-tip-value{margin-inline-start:8px;color:#cbd5e1}.usm-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:12px}.usm-chip{display:inline-flex;align-items:center;gap:6px;min-width:44px;min-height:44px;padding:0 12px;font:inherit;font-size:.875rem;font-weight:600;color:#1e293b;background:#fff;border:1px solid #cbd5e1;border-radius:8px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.usm-chip:focus{outline:2px solid #0f172a;outline-offset:2px}.usm-chip-selected{border-color:#ea580c;box-shadow:inset 0 0 0 1px #ea580c}.usm-chip-swatch{width:12px;height:12px;border-radius:3px;border:1px solid rgba(15,23,42,.25)}.usm-legend{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;font-size:.75rem;color:#475569}.usm-legend-bar{flex:0 1 12rem;min-width:4rem;height:12px;border-radius:999px}.usm-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;list-style:none}@media(prefers-reduced-motion:reduce){.usm-state{transition:none}}@media(forced-colors:active){.usm-ring-selected,.usm-ring-focus{stroke:Highlight}.usm-tip{background:Canvas;color:CanvasText;border:1px solid CanvasText}.usm-tip-value{color:CanvasText}}\n"]
35259
+ }]
35260
+ }],
35261
+ propDecorators: {
35262
+ data: [{
35263
+ type: i0.Input,
35264
+ args: [{
35265
+ isSignal: true,
35266
+ alias: "data",
35267
+ required: false
35268
+ }]
35269
+ }],
35270
+ selectedState: [{
35271
+ type: i0.Input,
35272
+ args: [{
35273
+ isSignal: true,
35274
+ alias: "selectedState",
35275
+ required: false
35276
+ }]
35277
+ }],
35278
+ focusState: [{
35279
+ type: i0.Input,
35280
+ args: [{
35281
+ isSignal: true,
35282
+ alias: "focusState",
35283
+ required: false
35284
+ }]
35285
+ }],
35286
+ unitSingular: [{
35287
+ type: i0.Input,
35288
+ args: [{
35289
+ isSignal: true,
35290
+ alias: "unitSingular",
35291
+ required: false
35292
+ }]
35293
+ }],
35294
+ unitPlural: [{
35295
+ type: i0.Input,
35296
+ args: [{
35297
+ isSignal: true,
35298
+ alias: "unitPlural",
35299
+ required: false
35300
+ }]
35301
+ }],
35302
+ colorLow: [{
35303
+ type: i0.Input,
35304
+ args: [{
35305
+ isSignal: true,
35306
+ alias: "colorLow",
35307
+ required: false
35308
+ }]
35309
+ }],
35310
+ colorHigh: [{
35311
+ type: i0.Input,
35312
+ args: [{
35313
+ isSignal: true,
35314
+ alias: "colorHigh",
35315
+ required: false
35316
+ }]
35317
+ }],
35318
+ showLegend: [{
35319
+ type: i0.Input,
35320
+ args: [{
35321
+ isSignal: true,
35322
+ alias: "showLegend",
35323
+ required: false
35324
+ }]
35325
+ }],
35326
+ showSmallStateButtons: [{
35327
+ type: i0.Input,
35328
+ args: [{
35329
+ isSignal: true,
35330
+ alias: "showSmallStateButtons",
35331
+ required: false
35332
+ }]
35333
+ }],
35334
+ ariaLabel: [{
35335
+ type: i0.Input,
35336
+ args: [{
35337
+ isSignal: true,
35338
+ alias: "ariaLabel",
35339
+ required: false
35340
+ }]
35341
+ }],
35342
+ maxWidth: [{
35343
+ type: i0.Input,
35344
+ args: [{
35345
+ isSignal: true,
35346
+ alias: "maxWidth",
35347
+ required: false
35348
+ }]
35349
+ }],
35350
+ height: [{
35351
+ type: i0.Input,
35352
+ args: [{
35353
+ isSignal: true,
35354
+ alias: "height",
35355
+ required: false
35356
+ }]
35357
+ }],
35358
+ stateClick: [{
35359
+ type: i0.Output,
35360
+ args: ["stateClick"]
35361
+ }]
35362
+ }
35363
+ });
33847
35364
  const PRESET_LABELS = {
33848
35365
  today: "Today",
33849
35366
  "7days": "Last 7 Days",
@@ -36019,6 +37536,7 @@ var DetailCardComponent = class DetailCardComponent {
36019
37536
  this.title = input("", ...ngDevMode ? [{ debugName: "title" }] : /* istanbul ignore next */ []);
36020
37537
  this.headingLevel = input(null, ...ngDevMode ? [{ debugName: "headingLevel" }] : /* istanbul ignore next */ []);
36021
37538
  this.titleId = input("", ...ngDevMode ? [{ debugName: "titleId" }] : /* istanbul ignore next */ []);
37539
+ this.ariaLabel = input("", ...ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []);
36022
37540
  this.subtitle = input("", ...ngDevMode ? [{ debugName: "subtitle" }] : /* istanbul ignore next */ []);
36023
37541
  this.background = input("", ...ngDevMode ? [{ debugName: "background" }] : /* istanbul ignore next */ []);
36024
37542
  this.textColor = input("", ...ngDevMode ? [{ debugName: "textColor" }] : /* istanbul ignore next */ []);
@@ -36029,6 +37547,10 @@ var DetailCardComponent = class DetailCardComponent {
36029
37547
  this.editLabel = input("Edit", ...ngDevMode ? [{ debugName: "editLabel" }] : /* istanbul ignore next */ []);
36030
37548
  this.editClick = output();
36031
37549
  }
37550
+ groupLabel() {
37551
+ if (this.showHeader() && this.title()) return this.titleId() ? null : this.title();
37552
+ return this.ariaLabel().trim() || null;
37553
+ }
36032
37554
  isOpen() {
36033
37555
  return !(this.showHeader() && this.collapsible()) || this.expanded();
36034
37556
  }
@@ -36079,6 +37601,13 @@ var DetailCardComponent = class DetailCardComponent {
36079
37601
  isRequired: false,
36080
37602
  transformFunction: null
36081
37603
  },
37604
+ ariaLabel: {
37605
+ classPropertyName: "ariaLabel",
37606
+ publicName: "ariaLabel",
37607
+ isSignal: true,
37608
+ isRequired: false,
37609
+ transformFunction: null
37610
+ },
36082
37611
  subtitle: {
36083
37612
  classPropertyName: "subtitle",
36084
37613
  publicName: "subtitle",
@@ -36144,7 +37673,7 @@ var DetailCardComponent = class DetailCardComponent {
36144
37673
  attributes: { "role": "group" },
36145
37674
  properties: {
36146
37675
  "attr.aria-labelledby": "showHeader() && title() && titleId() ? titleId() : null",
36147
- "attr.aria-label": "showHeader() && title() && !titleId() ? title() : null"
37676
+ "attr.aria-label": "groupLabel()"
36148
37677
  }
36149
37678
  },
36150
37679
  ngImport: i0,
@@ -36235,7 +37764,7 @@ i0.ɵɵngDeclareClassMetadata({
36235
37764
  host: {
36236
37765
  "role": "group",
36237
37766
  "[attr.aria-labelledby]": "showHeader() && title() && titleId() ? titleId() : null",
36238
- "[attr.aria-label]": "showHeader() && title() && !titleId() ? title() : null"
37767
+ "[attr.aria-label]": "groupLabel()"
36239
37768
  },
36240
37769
  template: `
36241
37770
  <div class="dc" [class.dc-has-text-color]="!!textColor()" [style.background]="background() || null" [style.color]="textColor() || null" [style.--dc-text]="textColor() || null">
@@ -36305,6 +37834,14 @@ i0.ɵɵngDeclareClassMetadata({
36305
37834
  required: false
36306
37835
  }]
36307
37836
  }],
37837
+ ariaLabel: [{
37838
+ type: i0.Input,
37839
+ args: [{
37840
+ isSignal: true,
37841
+ alias: "ariaLabel",
37842
+ required: false
37843
+ }]
37844
+ }],
36308
37845
  subtitle: [{
36309
37846
  type: i0.Input,
36310
37847
  args: [{
@@ -37222,7 +38759,7 @@ var SectionHeaderComponent = class SectionHeaderComponent {
37222
38759
  host: { properties: { "attr.title": "null" } },
37223
38760
  ngImport: i0,
37224
38761
  template: `
37225
- <div class="sh" [class.sh-sm]="size() === 'sm'" [class.sh-has-bg]="!!background()" [class.sh-has-text-color]="!!textColor()" [class.sh-bordered]="bordered()"
38762
+ <div class="sh" [class.sh-sm]="size() === 'sm'" [class.sh-lg]="size() === 'lg'" [class.sh-xl]="size() === 'xl'" [class.sh-has-bg]="!!background()" [class.sh-has-text-color]="!!textColor()" [class.sh-bordered]="bordered()"
37226
38763
  [style.--sh-bg]="background() || null" [style.--sh-text]="textColor() || null" [style.--sh-icon]="iconColor() || null" [style.--sh-icon-bg]="iconBackground() || null">
37227
38764
  <span class="sh-icon" aria-hidden="true"><ng-content select="[section-header-icon]" />@if (path(); as d) {<svg class="sh-glyph" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" focusable="false"><path [attr.d]="d" /></svg>}</span>
37228
38765
  <div class="sh-text">
@@ -37233,7 +38770,7 @@ var SectionHeaderComponent = class SectionHeaderComponent {
37233
38770
  </div>
37234
38771
  `,
37235
38772
  isInline: true,
37236
- styles: [":host{display:block}.sh{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;box-sizing:border-box;padding:14px 18px;background:var(--sh-bg, transparent)}.sh-has-bg{border-radius:10px}.sh-bordered{border:1px solid #e2e8f0;border-radius:10px}.sh-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;border-radius:8px;background:var(--sh-icon-bg, #f1f5f9);color:var(--sh-icon, #2563eb)}.sh-has-bg .sh-icon{background:var(--sh-icon-bg, #fff)}.sh-icon:empty{display:none}.sh-glyph,.sh-icon ::ng-deep svg{display:block;width:16px;height:16px}.sh-icon ::ng-deep [section-header-icon]~.sh-glyph{display:none}.sh-text{display:flex;flex-direction:column;gap:2px;flex:1 1 160px;min-width:0;word-break:break-word;overflow-wrap:anywhere}.sh-title{margin:0;font-size:1rem;font-weight:700;line-height:1.3;color:var(--sh-text, #0f172a)}.sh-description{margin:0;font-size:.8125rem;line-height:1.45;color:#64748b}.sh-has-bg .sh-description{color:#475569}.sh-has-text-color .sh-description{color:var(--sh-text);opacity:.8}.sh-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;flex-shrink:0;margin-left:auto}.sh-actions:empty{display:none}.sh-sm{gap:6px 10px}.sh-sm .sh-icon{width:24px;height:24px;border-radius:6px}.sh-sm .sh-glyph,.sh-sm .sh-icon ::ng-deep svg{width:14px;height:14px}.sh-sm .sh-title{font-size:.875rem}.sh-sm .sh-description{font-size:.75rem}@media(max-width:480px){.sh{padding:12px 14px}.sh-actions{flex:1 1 100%;margin-left:0;flex-shrink:1}}\n"],
38773
+ styles: [":host{display:block}.sh{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;box-sizing:border-box;padding:14px 18px;background:var(--sh-bg, transparent)}.sh-has-bg{border-radius:10px}.sh-bordered{border:1px solid #e2e8f0;border-radius:10px}.sh-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;border-radius:8px;background:var(--sh-icon-bg, #f1f5f9);color:var(--sh-icon, #2563eb)}.sh-has-bg .sh-icon{background:var(--sh-icon-bg, #fff)}.sh-icon:empty{display:none}.sh-glyph,.sh-icon ::ng-deep svg{display:block;width:16px;height:16px}.sh-icon ::ng-deep [section-header-icon]~.sh-glyph{display:none}.sh-text{display:flex;flex-direction:column;gap:2px;flex:1 1 160px;min-width:0;word-break:break-word;overflow-wrap:anywhere}.sh-title{margin:0;font-size:1rem;font-weight:700;line-height:1.3;color:var(--sh-text, #0f172a)}.sh-description{margin:0;font-size:.8125rem;line-height:1.45;color:#64748b}.sh-has-bg .sh-description{color:#475569}.sh-has-text-color .sh-description{color:var(--sh-text);opacity:.8}.sh-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;flex-shrink:0;margin-left:auto}.sh-actions:empty{display:none}.sh-sm{gap:6px 10px}.sh-sm .sh-icon{width:24px;height:24px;border-radius:6px}.sh-sm .sh-glyph,.sh-sm .sh-icon ::ng-deep svg{width:14px;height:14px}.sh-sm .sh-title{font-size:.875rem}.sh-sm .sh-description{font-size:.75rem}.sh-lg{gap:8px 14px;padding:18px 22px}.sh-lg .sh-icon{width:36px;height:36px;border-radius:10px}.sh-lg .sh-glyph,.sh-lg .sh-icon ::ng-deep svg{width:20px;height:20px}.sh-lg .sh-title{font-size:1.25rem}.sh-lg .sh-description{font-size:.9375rem}.sh-xl{gap:10px 16px;padding:22px 26px}.sh-xl .sh-icon{width:44px;height:44px;border-radius:12px}.sh-xl .sh-glyph,.sh-xl .sh-icon ::ng-deep svg{width:24px;height:24px}.sh-xl .sh-title{font-size:1.5rem}.sh-xl .sh-description{font-size:1rem}@media(max-width:480px){.sh{padding:12px 14px}.sh-lg{padding:14px 16px}.sh-xl{padding:16px 18px}.sh-xl .sh-title{font-size:1.375rem}.sh-actions{flex:1 1 100%;margin-left:0;flex-shrink:1}}\n"],
37237
38774
  changeDetection: i0.ChangeDetectionStrategy.OnPush
37238
38775
  });
37239
38776
  }
@@ -37251,7 +38788,7 @@ i0.ɵɵngDeclareClassMetadata({
37251
38788
  changeDetection: ChangeDetectionStrategy.OnPush,
37252
38789
  host: { "[attr.title]": "null" },
37253
38790
  template: `
37254
- <div class="sh" [class.sh-sm]="size() === 'sm'" [class.sh-has-bg]="!!background()" [class.sh-has-text-color]="!!textColor()" [class.sh-bordered]="bordered()"
38791
+ <div class="sh" [class.sh-sm]="size() === 'sm'" [class.sh-lg]="size() === 'lg'" [class.sh-xl]="size() === 'xl'" [class.sh-has-bg]="!!background()" [class.sh-has-text-color]="!!textColor()" [class.sh-bordered]="bordered()"
37255
38792
  [style.--sh-bg]="background() || null" [style.--sh-text]="textColor() || null" [style.--sh-icon]="iconColor() || null" [style.--sh-icon-bg]="iconBackground() || null">
37256
38793
  <span class="sh-icon" aria-hidden="true"><ng-content select="[section-header-icon]" />@if (path(); as d) {<svg class="sh-glyph" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" focusable="false"><path [attr.d]="d" /></svg>}</span>
37257
38794
  <div class="sh-text">
@@ -37261,7 +38798,7 @@ i0.ɵɵngDeclareClassMetadata({
37261
38798
  <div class="sh-actions"><ng-content select="[section-header-actions]" /></div>
37262
38799
  </div>
37263
38800
  `,
37264
- styles: [":host{display:block}.sh{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;box-sizing:border-box;padding:14px 18px;background:var(--sh-bg, transparent)}.sh-has-bg{border-radius:10px}.sh-bordered{border:1px solid #e2e8f0;border-radius:10px}.sh-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;border-radius:8px;background:var(--sh-icon-bg, #f1f5f9);color:var(--sh-icon, #2563eb)}.sh-has-bg .sh-icon{background:var(--sh-icon-bg, #fff)}.sh-icon:empty{display:none}.sh-glyph,.sh-icon ::ng-deep svg{display:block;width:16px;height:16px}.sh-icon ::ng-deep [section-header-icon]~.sh-glyph{display:none}.sh-text{display:flex;flex-direction:column;gap:2px;flex:1 1 160px;min-width:0;word-break:break-word;overflow-wrap:anywhere}.sh-title{margin:0;font-size:1rem;font-weight:700;line-height:1.3;color:var(--sh-text, #0f172a)}.sh-description{margin:0;font-size:.8125rem;line-height:1.45;color:#64748b}.sh-has-bg .sh-description{color:#475569}.sh-has-text-color .sh-description{color:var(--sh-text);opacity:.8}.sh-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;flex-shrink:0;margin-left:auto}.sh-actions:empty{display:none}.sh-sm{gap:6px 10px}.sh-sm .sh-icon{width:24px;height:24px;border-radius:6px}.sh-sm .sh-glyph,.sh-sm .sh-icon ::ng-deep svg{width:14px;height:14px}.sh-sm .sh-title{font-size:.875rem}.sh-sm .sh-description{font-size:.75rem}@media(max-width:480px){.sh{padding:12px 14px}.sh-actions{flex:1 1 100%;margin-left:0;flex-shrink:1}}\n"]
38801
+ styles: [":host{display:block}.sh{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;box-sizing:border-box;padding:14px 18px;background:var(--sh-bg, transparent)}.sh-has-bg{border-radius:10px}.sh-bordered{border:1px solid #e2e8f0;border-radius:10px}.sh-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;border-radius:8px;background:var(--sh-icon-bg, #f1f5f9);color:var(--sh-icon, #2563eb)}.sh-has-bg .sh-icon{background:var(--sh-icon-bg, #fff)}.sh-icon:empty{display:none}.sh-glyph,.sh-icon ::ng-deep svg{display:block;width:16px;height:16px}.sh-icon ::ng-deep [section-header-icon]~.sh-glyph{display:none}.sh-text{display:flex;flex-direction:column;gap:2px;flex:1 1 160px;min-width:0;word-break:break-word;overflow-wrap:anywhere}.sh-title{margin:0;font-size:1rem;font-weight:700;line-height:1.3;color:var(--sh-text, #0f172a)}.sh-description{margin:0;font-size:.8125rem;line-height:1.45;color:#64748b}.sh-has-bg .sh-description{color:#475569}.sh-has-text-color .sh-description{color:var(--sh-text);opacity:.8}.sh-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;flex-shrink:0;margin-left:auto}.sh-actions:empty{display:none}.sh-sm{gap:6px 10px}.sh-sm .sh-icon{width:24px;height:24px;border-radius:6px}.sh-sm .sh-glyph,.sh-sm .sh-icon ::ng-deep svg{width:14px;height:14px}.sh-sm .sh-title{font-size:.875rem}.sh-sm .sh-description{font-size:.75rem}.sh-lg{gap:8px 14px;padding:18px 22px}.sh-lg .sh-icon{width:36px;height:36px;border-radius:10px}.sh-lg .sh-glyph,.sh-lg .sh-icon ::ng-deep svg{width:20px;height:20px}.sh-lg .sh-title{font-size:1.25rem}.sh-lg .sh-description{font-size:.9375rem}.sh-xl{gap:10px 16px;padding:22px 26px}.sh-xl .sh-icon{width:44px;height:44px;border-radius:12px}.sh-xl .sh-glyph,.sh-xl .sh-icon ::ng-deep svg{width:24px;height:24px}.sh-xl .sh-title{font-size:1.5rem}.sh-xl .sh-description{font-size:1rem}@media(max-width:480px){.sh{padding:12px 14px}.sh-lg{padding:14px 16px}.sh-xl{padding:16px 18px}.sh-xl .sh-title{font-size:1.375rem}.sh-actions{flex:1 1 100%;margin-left:0;flex-shrink:1}}\n"]
37265
38802
  }]
37266
38803
  }],
37267
38804
  propDecorators: {
@@ -37800,6 +39337,6 @@ i0.ɵɵngDeclareClassMetadata({
37800
39337
  }]
37801
39338
  }
37802
39339
  });
37803
- export { ActionBarComponent, AlertComponent, AppShellComponent, AudioPlayerComponent, AvatarComponent, BADGE_VARIANT_STYLES, BadgeComponent, BarRowComponent, BulkMessagePanelComponent, BusinessHoursComponent, ButtonComponent, CheckboxComponent, ChipComponent, ChipGroupComponent, ColorInputComponent, ColumnFilterComponent, ColumnsComponent, ComboboxComponent, ConfirmOutletComponent, ConfirmService, ContactPickerComponent, DEFAULT_DOCUMENT_SUBJECT, DEFAULT_SIGNING_OPTIONS, DOCUMENT_PROVIDER_OPTIONS, DOCUMENT_PURPOSE_OPTIONS, DROPDOWN_GROUP, DataTableComponent, DateInputComponent, DateRangePickerComponent, DatetimeInputComponent, DetailCardComponent, DiscountSelectorComponent, DividerComponent, DocumentMergeCheckComponent, DocumentSendOptionsComponent, DocumentSignersComponent, DropdownComponent, EmptyStateComponent, ErrorComponent, ErrorStateComponent, FORGEROUTE_CONFIG, FileInputComponent, FormRowComponent, FormSectionComponent, HintComponent, IconComponent, ImagePreviewComponent, ImageRepositionComponent, ImportExportComponent, KpiCardComponent, LAYOUT_GAP_PX, ListComponent, ListItemComponent, MAX_CC, MERGE_CHECK_DEBOUNCE_MS, ModalComponent, MoreMenuComponent, MultiSelectComponent, PHONE_NUMBER_AREA_CODE_LENGTH, PHONE_NUMBER_ZIP_LENGTH, PaginationComponent, PanelInfoListComponent, PhoneNumberPickerComponent, PillTabsComponent, ProgressBarComponent, ProgressRingComponent, QrCodeComponent, QuickFilterTabsComponent, RICH_TEXT_OPTIONS, RadioComponent, RadioGroupComponent, RadioMatrixComponent, ReadonlyFieldsetComponent, RichTextEditorComponent, SEMANTIC_BADGE_MAP, SIGNER_ROLES, SIGNER_ROLE_LABEL_DEFAULT, SIGNING_LIMITS, SearchInputComponent, SectionHeaderComponent, SelectComponent, SendMessagePanelComponent, SidePanelComponent, SkeletonComponent, StackComponent, StepperComponent, TableToolbarComponent, TemplatePickerComponent, TextComponent, TextInputComponent, TextareaInputComponent, TimeInputComponent, ToastComponent, ToastService, ToggleBadgeComponent, ToggleComponent, TooltipDirective, US_STATES, UiFieldValidity, VideoPickerComponent, acceptLabel, appShellGroupsStorageKey, appendVideoLink, applyVideoLine, autoVariant, buildDefaultSchedule, buildSigners, buildVideoLink, builtInActionIcon, businessTimeOptions, countersignLine, countersignPlaceLabel, createFieldReveal, decodeFilterValues, describeDocumentSigners, digitsOnly, effectiveRoles, encodeFilterValue, encodeFilterValues, errorContextInterceptor, fileMatchesAccept, formatFileSize, formatIsoDate, formatIsoDateTime, formatTime, forwardContext, getEligibleIds, getEligibleOptions, getErrorMessage, hasMappedDataFields, humanReadableMessage, iconPath, isoKey, issueToErrors, maxLengthIssue, mergeFieldText, mergeWarningLines, messagePreviewHtml, normalizeHexColor, normalizeRoles, parseBizHours, parseCcList, parseIso, parseTime, pluralize, provideForgerouteToast, reorderItems, requiredIssue, resolveLayoutGap, resolvePreset, roleNumber, sendExistingEnvelope, serializeBizHours, signerProblems, signerRoleLabel, stripVideoLink, suggestDocumentSubject, videoMessageLine };
39340
+ export { ActionBarComponent, AlertComponent, AppShellComponent, AudioPlayerComponent, AvatarComponent, BADGE_VARIANT_STYLES, BadgeComponent, BarRowComponent, BulkMessagePanelComponent, BusinessHoursComponent, ButtonComponent, CheckboxComponent, ChipComponent, ChipGroupComponent, ColorInputComponent, ColumnFilterComponent, ColumnsComponent, ComboboxComponent, ConfirmOutletComponent, ConfirmService, ContactPickerComponent, DEFAULT_DOCUMENT_SUBJECT, DEFAULT_SIGNING_OPTIONS, DOCUMENT_PROVIDER_OPTIONS, DOCUMENT_PURPOSE_OPTIONS, DROPDOWN_GROUP, DataTableComponent, DateInputComponent, DateRangePickerComponent, DatetimeInputComponent, DetailCardComponent, DiscountSelectorComponent, DividerComponent, DocumentMergeCheckComponent, DocumentSendOptionsComponent, DocumentSignersComponent, DropdownComponent, EmptyStateComponent, ErrorComponent, ErrorStateComponent, FORGEROUTE_CONFIG, FileInputComponent, FormRowComponent, FormSectionComponent, HintComponent, IconComponent, ImagePreviewComponent, ImageRepositionComponent, ImportExportComponent, KpiCardComponent, LAYOUT_GAP_PX, ListComponent, ListItemComponent, MAX_CC, MERGE_CHECK_DEBOUNCE_MS, ModalComponent, MoreMenuComponent, MultiSelectComponent, PHONE_NUMBER_AREA_CODE_LENGTH, PHONE_NUMBER_ZIP_LENGTH, PaginationComponent, PanelInfoListComponent, PhoneNumberPickerComponent, PillTabsComponent, ProgressBarComponent, ProgressRingComponent, QrCodeComponent, QuickFilterTabsComponent, RICH_TEXT_OPTIONS, RadioComponent, RadioGroupComponent, RadioMatrixComponent, ReadonlyFieldsetComponent, RichTextEditorComponent, SEMANTIC_BADGE_MAP, SIGNER_ROLES, SIGNER_ROLE_LABEL_DEFAULT, SIGNING_LIMITS, SearchInputComponent, SectionHeaderComponent, SelectComponent, SendMessagePanelComponent, SidePanelComponent, SkeletonComponent, StackComponent, StarComponent, StepperComponent, TableToolbarComponent, TemplatePickerComponent, TextComponent, TextInputComponent, TextareaInputComponent, TimeInputComponent, ToastComponent, ToastService, ToggleBadgeComponent, ToggleComponent, TooltipDirective, US_STATES, UiFieldValidity, UsStateMapComponent, VideoPickerComponent, acceptLabel, appShellGroupsStorageKey, appendVideoLink, applyVideoLine, autoVariant, buildDefaultSchedule, buildSigners, buildVideoLink, builtInActionIcon, businessTimeOptions, countersignLine, countersignPlaceLabel, createFieldReveal, decodeFilterValues, describeDocumentSigners, digitsOnly, effectiveRoles, encodeFilterValue, encodeFilterValues, errorContextInterceptor, fileMatchesAccept, formatFileSize, formatIsoDate, formatIsoDateTime, formatTime, forwardContext, getEligibleIds, getEligibleOptions, getErrorMessage, hasMappedDataFields, humanReadableMessage, iconPath, isoKey, issueToErrors, maxLengthIssue, mergeFieldText, mergeWarningLines, messagePreviewHtml, normalizeHexColor, normalizeRoles, parseBizHours, parseCcList, parseIso, parseTime, pluralize, provideForgerouteToast, reorderItems, requiredIssue, resolveLayoutGap, resolvePreset, roleNumber, sendExistingEnvelope, serializeBizHours, signerProblems, signerRoleLabel, stripVideoLink, suggestDocumentSubject, videoMessageLine };
37804
39341
 
37805
39342
  //# sourceMappingURL=forgeroute-ui.mjs.map